GeoHot, récemment, à trouvé un moyen de contourner le système de sécurité de la ps3. Cette news à eu un effet boulet de canon, d'autant que Sony lui même c'est décidé à intervenir. Aujourd'hui, GeoHot délivre la fameuse faille, et stoppe tout travaux dans le monde de l'underground PS3 :
Dans l'intérêt de tous, j'ai décidé de mettre en ligne l'exploit (la faille). Cela motivera la scène PS3, et que vous organiserez et comprendrez comment l'utiliser pour en faire des choses pratiques, comme pour l'iPhone quand le jailbreak a été mis en ligne. J'ai une vie à assumer et ne peux pas continuer à travailler sur cela jours et nuits.
Soyez sympas 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'écrirais la façon dont il fonctionne).
La porte est donc ouverte, reste que cette faille est vraiment destinée aux développeurs. Mise en ouvre (dans le readme) :
Compilez et lancez le module kernel.
Quand la phrase "PRESS THE BUTTON IN THE MIDDLE OF THIS" apparait, poussez la ligne cerclée dans l'image du bas pendant 40 nanosecondes
Essayez cela plusieurs fois, j'ai adapté un bouton FPGA pour envoyer l'impulsion.
Parfois, vous obtiendrez un kernel panik parfois dans le lv1 et parfois vous arrivez à obtenir l'exploit.
Si vous sortez du module c'est que l'exploit est fonctionnel et ceci ajoute deux HV Calls qui donnent un accès total à la "vraie" mémoire :
u64 lv1_peek(16)(u64 address)
void lv1_poke(20)(u64 address, u64 data
Elle est censé fonctionner sur toutes le ps3. Espérons que Sony ne bouchera pas cette faille de si tôt, GeoHot avait insinué qu'elle serait très difficilement remédiable sur le monolithe noir....
Modifié par Informa3, 06 mars 2010 - 03:53.