
Geohot a trouvé la clé, à vous maintenant d'ouvrir la porte et de franchir son seuil. Voici en gros son message laissé par ses soins à la communauté PS3. L'homme a donc mis en ligne et à disposition de tous la faille qu'il a trouvée et son mode d'emploi pour que vous puissiez, à votre tour, y parvenir et faire avancer un peu plus loin les nouvelles possibilités ainsi offertes.
"Dans l'intérêt de tous, j'ai décidé de mettre en ligne l'exploit (la faille). Espérons que cela motivera la scène PS3, et que vous organiserez et comprendrez comment l'utiliser pour en faire des choses pratiques.
Soyez sympa et documentez vos trouvailles sur le psDevWiki. Ils ont été une grande ressource jusqu'à ce jour, et avec la puissance que donne cet exploit, cela donne des tonnes de nouvelles choses à expliquer. Je voudrais voir les calls HV remplis, de jolies cartes de la mémoire, la chaîne de démarrage (boot chain) mieux documentée, et des progrès sur un pilote du GPU 3D. Et, bien sûr, la recherche de logiciels utilisant cet exploit.
Ceci est donc la très convoitée faille pour la PS3 qui donne un accès complet à la mémoire et donc l'accès au ring0 de l'otheros. Profitez de vos dumps de l'hyperviseur. Ceci est connu pour fonctionner avec la version 2.4.2, mais j'imagine que cela fonctionne sur toutes les versions actuelles (peut-être plus tard, j'écrirai la façon dont il fonctionne)."
Petit bémol, la PS3 Slim n'est pas équipée de l'OtherOS...
Le mode d'emploi n'a pas tardé à être publié à son tour sur le blog, Geohot fournissant une "marche à suivre" assez claire et accessible aux plus débrouillards. Un mode d'emploi traduit ainsi par nos confrères de PS3Gen à cette adresse.
La manipulation technique ainsi mise en ligne est désormais entre les mains de tous les hackers, mais aussi de Sony, qui, peut-être, arrivera à trouver un firmware plus rapidement afin de bloquer l'accès. La course est sans doute lancée, reste à voir si la démarche de Geohot aura porté ses fruits ou non. Dans tous les cas, elle montre que la PS3 n'est pas si infaillible...
Voici les étapes qu'il à fais:
Geohot a donc expliqué sommairement comment sa faille peut être exploitée via 24 lignes de texte publiées sur son blog.
En voici la traduction :
1. geohot : En fait, c'est assez simple.
2. geohot : J'alloue une partie de la mémoire.
3. geohot : En utilisant map_htab et write_htab, vous pouvez déterminer l'adresse réelle de la mémoire.
4. geohot : C'est une grande victoire et quelque chose que le HV ne devrait pas permettre.
5. geohot : Je remplis le htab avec des tonnes d'entrées pointant vers cette partie de mémoire.
6. geohot : Et puisque je les avais allouées, je peux le mapper en lecture et écriture.
7. geohot : Alors je désalloue la mémoire.
8. geohot : Toutes ces entrées sont marquées comme invalides.
9. geohot: Alors, pendant que cela marque ces entrées comme invalides, je glitch le bus du contrôle de la mémoire.
10. geohot: Le cache d'écriture différée manque la mémoire.
11. geohot: Et j'ai alors des entrées permettant des lectures/écritures à une partie de la mémoire que le superviseur pense désaffectées.
12. geohot : Puis je crée un segment virtuel avec l'htab qui chevauche ce morceau de la mémoire.
13. geohot : Ecrire une entrée dans le segment virtuel htab permet d'écrire et lire dans le principal segment htab.
14. geohot : Bascule vers le segment principal.
15. geohot : Ecris dans le principal segment htab une ecriture/lecture mappée sur elle-même.
16. geohot : Reviens au premier htab.
17. geohot : PWNED.
18. geohot : Et ça fonctionnerait si la mémoire avait été chiffrée ou ECC.
19. geohot : La façon dont je glitche le bus mémoire est vraiment amusante.
20. geohot : J'ai un bouton sur ma carte FPGA,
21. geohot : qui envoie une impulsion basse pendant 40ns.
22. geohot : J'ai réglé le htab avec des tonnes d'entrées
23. geohot : J'appuie sur le bouton,
24. geohot : et juste après, j'envoie l'ordre de désallocation.
Si vous ne saisissez pas grand chose, ce n'est pas grave. En gros, il utilise un overflow pour arriver à prendre le contrôle d'une partie de la mémoire. Une fois ceci fait, il arrive à retirer cet espace de la surveillance du superviseur et arrive à atteindre la mémoire principale pour y faire ses petites affaires.
Donc à quand pourrons nous profiter d'un puce dossier à suivre!