CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

[HACK] L'exploit PS3 expliqué en détail

locapus
locapus
Niveau 5
29 janvier 2010 à 01:22:14

:oui: Georges Hotz a récemment publié son exploit permettant le hack de la PS3. La méthode d'application du hack est désormais connues, mais la méthode utilisée reste encore floue pour nombre de personnes. Voici une analyse plus poussée afin de mieux comprendre l'exploit.
La PS3, à l'image de la Xbox 360 , dépend d'un hyperviseur qui augmenter la sécurité. Contrairement à la Xbox 360, la PS3 permet aux utilisateurs de lancer Linux s'ils le souhaitent, mais celui-ci reste sous le contrôle de l'hyperviseur. Ce dernier ne permet pas au kernel Linux d'accèder à différents périphériques, tel que le GPU. Si une méthode permettant de compromettre l'hyperviseur est trouvée, alors l'accès direct au hardware est possibl, et d'autres bouts de code nécessitant des privilèges moindres peuvent être supervisés et contrôlés par le hacker.

Hacker l'hyperviseur n'est pas l'unique étape nécessaire au lancement de jeux pirates. Chaque jeu possède un clé de cryptage stockée dans une partie du disque nommée Rom Mark. Le fimware du lecteur vérifie cette clé et la soumet à l'hyperviseur afin de décrypter le jeu durant chaque chargement. L'hyperviseur doit donc être subverti afin de révéler la clé pour chaque jeu. Une autre approche serait de compromettre le firmware du lecteur Blu-Ray ou de passer l'extraction de la clé et juste attaché le code de décryptage afin de décrypter chaque jeu. Après cela, n'importe quelle mesure de protection dans le jeu devra être désactivée. Personne ne connait pour le moment quelles mesures d'auto-protection sont susceptibles de se dissimuler dans le cryptage d'un jeu. Certains auteurs peuvent croire uniquement dans le cryptage, d'autres peuvent implémenter des mesures telle que SecuROM.

Le code de l'hyperviseur se lance à la fois sur le CPU principal (PPE) et un de ses 7 co-processeurs Cell (SPE). Le thread SPE semble se lancer dans un mode isolé, où l'accès à son code privé et les données mémoires est bloqué, même pour l'hyperviseur. Les clés hardware ROOT utilisées pour décrypter le bootloader ainsi que l'hyperviseur sont présentes uniquement dans le hardware, probablement via l'utilisation d'Efuses. Cela peut également signifier que chaque processeur Cell possède ses propres clés uniques, et le décryptage ne dépend pas d'une seule clé unique ROOT (contrairement à certains articles qui laissaient entendre qu'il n'existait qu'une seule clé ROOT).
Le hack de Geohot a compris l'hyperviseur après le boot de Linux via la fonction "OtherOS". Il a utilisé l'exploit pour ajouter des fonctions de lecture/écriture dans la mémoire et effectuer un dump de l'hyperviseur. L'accès à lv1 est une 1ére étape nécessaire afin de préparer d'autres attaques vers le firmware ou les jeux.

Son approche est intelligente et répond au nom de "glitching attack". Ce genre d'attaque matérielle implique l'envoi d'une impulsion électrique à un moment précis afin de provoquer un comportement inattendu du hardware. Ce genre de procédé est utilisé depuis longtemps par les hackers de Smartcard afin de débloquer celles-ci. Typiquement, les hackers chronomètrent l'impulsion afin de cibler une boucle de terminaison, provoquant la continuité de cette boucle et dumper le contenu d'une ROM secrète vers un bus accessible. La zone contrôlant "l'horloge" est souvent faillible mais certaines zones transportant les données sont également des cibles intéressantes. Le temps de l'impulsion ne nécessite pas toujours d'être précis puisque le hardware est prévu pour tolérer certaines conditions n'entrant pas dans les spécifications habituelles et l'attaque peut facilement être répétée de nombreuses fois jusqu'à ce qu'elle aboutisse.

Geohot a connecté un FPGA à une zone du bus mémoire de la PS3. Il a ensuite programmé une puce avec une logique simple : envoyer une impulsion de 40ns via le pin de sortie via un bouton poussoir. Ce type de programme peut être réalisé grâce à quelques lignes de Verilog. Bien que le temps d’exécution de l’impulsion est très court (mais cela correspond tout de même à 100 cycles de l’horloge mémoire de la PS3) , le déclenchement reste extrêmement imprécis. Cependant, il a utilisé un logiciel pour paramétrer la RAM afin d’augmenter les chances de succès.

Son but était de compromettre la « hashed page table » (HTAB) afin d’obtenir un accès en lecture/écriture au segment principal qui cartographie toute la mémoire, y compris l’hyperviseur. L’exploit consiste en un module du kernel Linux qui cible diverses requêtes système de l’hyperviseur, requêtes traitant de la gestion mémoire. Il alloue, désalloue, puis essai d'employer la mémoire désallouée comme HTAB pour un segment virtuel. Si la faille arrive avec succès à désynchroniser l’hyperviseur de l’état actuelle de la RAM, cela permet à l’attaque de remplacer la HTAB active et de contrôler l’accès à n’importe partie de la mémoire. Voyons cela un peu plus en détails.

La 1ére étape consiste à allouer un buffer. L’exploit envoie ensuite une requête pour que l’hyperviseur duplique à de nombreuses reprises les cartographies de la HTAB pointant vers ce buffer. N’importe laquelle de ces cartographies peut être utilisée pour lire ou écrire dans ce buffer, ce qui est parfait puisque le kernel gère ce buffer. En terme Unix, voyez cela comme de multiples fichiers gérés dans un fichier mémoire temporaire. Chaque fichier peut être fermé, mais temps qu’il subsiste un fichier ouvert, les fichiers restent accessibles.

L’étape suivante consiste à désallouer le buffer sans pour autant libérer dans un 1er temps toutes les cartographies qu’il contient. Juste après avoir appeler la fonction « lv1_release_memory() », l’exploit affiche un message à l’intention de l’utilisateur pour que celui-ci appui sur le bouton poussoir. Du fait de la présence de nombreuses cartographies HTAB dans ce buffer, l’utilisateur a de grandes chances d’ouvrir la faille pendant que l’hyperviseur désalloue l’ensemble des cartographies. La faille évite probablement un ou plusieurs cycle d’écriture de l’hyperviseur sur la mémoire. Ces écritures ont pour but de désallouer chaque cartographie, mais si elles échouent, la cartographie reste intacte.

A ce moment précis, l’hyperviseur a une HTAB avec une ou plusieurs cartographies de lecture/écriture pointant vers un buffer qu’il a désalloué. Ainsi, le kernel n’a plus la main sur ce buffer et il ne devrait donc pas être capable d’écrire dessus. Cependant, le kernel possède toujours un ou plusieurs accès à ce buffer et peut en modifier le contenu. Mais ce n’est pas encore très utile puisqu’il s’agit juste d’un espace mémoire vide.

L’exploit crée alors un segment virtuel et vérifie si la HTAB associée se trouve dans une région couvrant l’adresse du fameux buffer. Si ce n’est pas le cas, il continue de créer des segments virtuels jusqu’à ce que la correspondance intervienne. Désormais, l’utilisateur a la possibilité d’écrire directement dans cette HTAB au lieu que l’hyperviseur possède l’unique contrôle de celle-ci. L’exploit écrit certaines entrées dans la HTAB lui donnant l’accès complet au segment principal, qui couvre toute la mémoire. Une fois que l’hyperviseur passe sur ce segment virtuel, l’attaque permet de contrôler toute la mémoire et l’hyperviseur lui-même. L’exploit met ensuite en place deux syscalls qui donnent un accès direct en lecture/écriture sur n’importe quelle adresse mémoire, puis retourne au kernel.

Il est fort possible que quelqu’un package cette attaque dans un modchip puisque la faille ne nécessite pas d’avoir un timing extrêmement précis. Avec un micro-contrôleur et un circuit analogue pour l’impulsion, cela peut être parfaitement réalisable. Cependant, il est vraisemblable qu’un bug software sera découvert après avoir effectuer un reverse-engineering du dump de l’hyperviseur et c’est ce qui sera surement le plus utilisé par la suite.

Sony semble avoir réalisé un excellent travail autour de la sécurité de la PS3. Tout est parfaitement maitrisé, sans réel points de faiblesse. Cependant, l’accès bas niveau offert aux kernels d’autres OS signifie que n’importe quel bug dans l’hyperviseur est possiblement accessible à un code d’attaque vu le nombre d’API qu’il offre. Une correction simple serait de relire l’état de chaque cartographie après une modification. Si l’écriture échoue pour n’importe quelle raison, l’hyperviseur le verrait et stopperait tout.

Il sera intéressant de voir comment Sony compte répondre avec de futures mises à jour pour prévenir ce type d’attaque.

Source : http://rdist.root.org

ps j'ai copié sa sur gx mod lol
ps2 j'ai pas u le courage de tout lire lol
ps3 :rire: cecis nes pas une incitation aux piratage ses juste une infos

new_genessis
new_genessis
Niveau 4
29 janvier 2010 à 01:55:41

bide + preums + pas bon le piratage + osef du no life qui fait juste ca de ca vie + demande de banane :hap:

This-Is-Living
This-Is-Living
Niveau 30
29 janvier 2010 à 01:57:17

Alors c'est vrai, aucune console n'est sécurisé maintenant :(

FreshNight
FreshNight
Niveau 10
29 janvier 2010 à 01:57:20

new_genessis :d) rage ? :(

new_genessis
new_genessis
Niveau 4
29 janvier 2010 à 01:58:46

ah ouais et surtout... jay pas lu très cher :hap:

new_genessis
new_genessis
Niveau 4
29 janvier 2010 à 02:00:37

Freshnight :d) ah ouais a un un point.. tu peux pas savoir .. :hap:

Gwiko
Gwiko
Niveau 8
29 janvier 2010 à 02:02:37

Je commence à lire :p

:pacg: By Madinina97crew/HyperMiner :pacd:

FreshNight
FreshNight
Niveau 10
29 janvier 2010 à 02:03:27

j'ai même pas lue, tous les topic sur le Hack c'est la même histoire :rire2:

Le_traineau
Le_traineau
Niveau 10
29 janvier 2010 à 02:12:10

c'est intéressant, surtout la perspective de pouvoir creer un chip capable de reproduire cette faille d'overflow sans avoir à faire de glitching attack à la mains. Je crois cependant que Sony est malin et qu'en réalité, cette faille ne va pas vraiment aboutir. Pour l'instant, je trouve que la méthode su self découlant d'un sdk est plus prometteuse.

CharleBronson
CharleBronson
Niveau 7
29 janvier 2010 à 02:14:32

intéressant pour quelqu'un qui comprends les thermes :( pour ma part c'est pas vraiment le cas :(

FreshNight
FreshNight
Niveau 10
29 janvier 2010 à 02:27:08

moi aussi :-(

Starscream_69
Starscream_69
Niveau 10
29 janvier 2010 à 05:17:26

Etant donné que c'est une faille hardware, comment Sony pourra lutter efficacement avec un simple firmware (software)..?

Ils ne pourront théoriquement que déplacer le problème excepté peut être pour les PS3 slim.

snake07200
snake07200
Niveau 7
29 janvier 2010 à 06:24:13

putain j ai mal crane c quoi c terme

KaneAndLynch2
KaneAndLynch2
Niveau 4
29 janvier 2010 à 07:00:43

Ouaip mais enfin bon, il existait déjà un topic à ce sujet. :oui:

Merci quand même. :-)

Sujet fermé pour la raison suivante : Topic verrouillé.
Sous forums
  • Super Nintendo
  • Gameboy
  • PlayStation
  • PlayStation Portable
  • PlayStation 3
  • Gamecube
  • Dreamcast
  • Gameboy Advance
  • PlayStation 2
  • Nintendo DS
  • Megadrive
  • Saturn
  • Nintendo 64
  • Xbox (2001)
  • PlayStation Vita
La vidéo du moment