m_101
Membres-
Compteur de contenus
10 -
Inscription
-
Dernière visite
m_101's Achievements
Débutant (1/7)
0
Réputation sur la communauté
-
Oui j'avais bien compris ça, merci pour la réponse . Par contre, à force de de simplification, on en perd les détails croustillants ... bref. XMB = Cross Media Bar, c'est plutôt le nom du GUI qui est une partie de l'OS et n'est pas équivalent au Game OS qui lui le contient.
-
Là tu parles de l'hyperviseur non? Sur le blog de geohot on voit que le lv1 contient des hv calls principalement pour : la mémoire virtuelle, le gpu et le réseau. Ce qui est asser normal si on prend en compte qu'un hyperviseur est un environnement virtual, ou bien la virtualisation au service de la sécurité et du code plus ou moins managé et autre. lv0 correspondrait à quoi donc? Des routines low levels de gestion matérielle? "Juste" une surcouche d'abstraction matérielle pour faciliter l'implémentation de l'hyperviseur (lv1)? La ROM j'imagine qu'elle a plus ou moins le même rôle que nos BIOS sur pc? Une initialisation du matériel, diagnostique, paramètrage de certaines caractéristique matérielle, etc. Bon sinon le Game OS c'est l'operating system de la PS3 sans en douter ... Donc en gros on a les couches suivantes : ---------------------------- | Game OS | ---------------------------- | lv1 (hyperviseur) | ---------------------------- | lv0 | ---------------------------- | rom | ---------------------------- | matériel | ---------------------------- Si je me trompe, ne pas hésiter à me corriger. Bref, plus il y a de détails technique, mieux c'est . Pour ma part, ça m'intéresse ce genre de choses . De plus, ça permet, à ceux qui cherchent à comprendre, d'avoir ce qu'il faut pour creuser (Google ne suffit parfois pas). m_101
-
Le but n'est pas de se taper dessus car ça ne fait rien avancer ... Sinon pour ceux qui se demandent ce qu'est le METLDR : Franchement, au lieu de vous plaindre qu'on explique pas ce qu'est le METLDR, il faudrait plutôt se pencher sur comment on utilise des moteurs de recherche comme Google? Avec la citation que j'ai mis plus haut, on a une vue globale et pas les détails techniques donc asser compréhensible? Pour le boot d'un PC : BIOS -> bootloader (MBR) -> os loader (GRUB par exemple) -> kernel -> desktop Donc par extrapolation le metldr correspondrait au bootloader? Enfin bon, après je peux me tromper mais ça permet de mieux comprendre d'une vue globale. Après dans tout ça il doit sûrement y avoir des routines de mise en place du HV et autre. J'imagine après le lv1 il y a le game os. m_101
-
Cette re-écriture est bien sympa, je ne l'ai pas encore analysée entièrement mais ça a l'air déjà plus propre concernant l'exploit . Il aurait été bon de faire d'autres news de ce qu'à permis l'exploit de geohot. Article concernant le hack HV : - Le dumpeur pour l'hyperviseur - Le dump de l'hyperviseur et du bootloader disponible - Tuto de dump de l'HV - Scripts pour analyser le dump de l'HV avec 010HexEditor - Scripts pour analyser les SELFs et PUPs avec 010HexEditor - HV Reversing - Xorloser PS3 Exploit tidbits D'autres vieux hacks : - PS3 HDD Decrypted - Composant Pandora sur la PS3? - PS3 Flow Rebuilder 3.50 (soft contenant l'algo' de calcul de l'ECC pour la 2.40-2.41) - Explication pour l'algo' ECC - News GX-Mod concernant l'ECC Gx-Mod a une section download et news PS3 bien vide hélas, heureusement que Google et consorts sont là pour nous aider à trouver les perles du web . C'est dommage que le dumps des keys récupérées avant n'ont pas été postées (je ne les ais pas trouvé) car la technique de hotswap pour la décryption du HDD (même technique pour la XBOX 1 aussi) ne fonctionne apparemment plus . Pour le disassembly sous IDA, y'a les scripts de xorloser pour vous aider au besoin . Le hack PS3 est bien en route mais ça risque de prendre du temps tout ça, 10Mo de dump ... :s. Intéressant en tout cas. Bonne lecture et bon courage pour la compréhension . m_101
-
Merci, je ne pensais pas que mon post serait aussi intéressant ... Néanmoins, le post sur les forums espagnol est pas mal. La solution de monter un circuit avec un transistor pour lancer une impulsion de 40 ns peut être bien moins chère qu'un FPGA ou un PIC (mais on peut en trouver à 30 euros aussi). Dans tous les cas, faudra avoir de quoi faire un circuit (insolateur, incubateur pour graver, les composants et un fer à souder avec de l'étain bien entendu). Ceux qui n'ont pas le matériel pour faire celà peuvent envoyer le typon à des sociétés spécialisés ensuite elles vous renvoient le circuit gravé (reste plus qu'à souder). Selon la société et les frais de port, ça peut au final revenir plus cher ou au même que d'acheter une carte programmable (à base de FPGA ou de PIC) ... Sur le forum Gueux, j'imagine que certains s'y sont mis à fond depuis la sortie de l'exploit, je serais bien curieux de voir les avancées et les dumps . Sur ce, Bonne journée, m_101
-
Ca sert à rien d'attendre bêtement la sorti d'un hack quelconque, ça risque de prendre encore plusieurs semaines voir mois sauf si un génie se pointe ... Par ailleurs, je déconseille à quiconque d'installer des binaires arbitraires sans aucunes vérifications préalables (surtout des modules kernel!!! ... bonjour les rootkits et autres saloperies en ring0 ...). Ils ont vraiment mis le paquet dans la sécurité PS3 de ce que j'ai pu rapidement lire (non je ne compte pas me plonger dans la PS3). Je vais donner des pistes auquelles j'ai pensé et où je me trompe sûrement (je débute vraiment après tout) donc veuillez m'excuser pour les erreurs ou imprécisions d'avance. Faudrait que les gens arrêtent de kikoololler car c'est énormément de boulot et de matos nécessaires que peu de gens ont au final. Vu l'achitecture du Cell, surtout au niveau de l'implémentation hardware de la sécurité .... il faut avoir de quoi faire du silicon hacking et à ce niveau de gravure on parle de microscopes électronique à balayage (plusieurs milliers d'euros) et pas mal de traitement d'image (qui va s'amuser à analyser ça à la main?). Je vous invite à faire des recherches sur le cassage du MiFare par exemple, ils s'y sont pris de cette manière. Hack PS3 vs hack Xbox 360 On compare souvent ce hack à celui de la Xbox 360, mais il y a des différences fondamentales qui vont faire que plusieurs axes d'attaques seront à chercher. La Xbox 360 n'a pas l'air d'avoir de rootkey en hardware ou une possibilitée d'isolation ou bien encore le runtime secure boot. Ce sont 3 coeurs basés sur le PPE (donc du PowerPC) dans le processeur Xenon. Une injection de code a été effectuée dans le process de l'HVM avait été fait. Pour les références : - http://www.securityfocus.com/archive/1/461489 - http://www.xbox-scene.com/xbox1data/sep/EE...AkAzUotmeVt.php - http://en.wikipedia.org/wiki/Xbox_360 - http://www.ibm.com/developerworks/power/library/pa-fpfxbox/ - etc Le hack de la PS3 ne va pas se dérouler de la même manière que pour la Xbox 360. Rien qu'après avoir lu cette réponse que bilmo me donnait et le lien joint. Ca fait froid dans le dos les possibilitées de contrôle que peuvent avoir Sony sur toutes les PS3 (saleté de Trust Computing) ... mais bon ça c'est une autre histoire. La PS3 et le CELL La réponse de bilmo donne le lien d'une doc' sur la sécurité du CELL. En ce qui concerne le runtime patching , l'ingénieur Kanna Shimizu a aussi mis en place une protection contre ce type d'attaque "Runtime secure boot" pour plus d'info je vous conseil de lire cette article trés intéresant http://www.ibm.com/developerworks/power/li...a-cellsecurity/. Sony a vraiment mis le paquet en terme de protection sur la ps3.Biensur aucun systéme n'est infailliible,j'espére que ce hack de Geohot va agir comme un effet boule de neige. On peut lancer du code avec les droits HVM (lv1_peek et lv1_poke), c'est vraiment du beau boulot . Mais en lisant l'article en lien, on se rend compte qu'avant d'arriver à faire tourner du code à NOUS sans l'aide de l'hyperviseur y'a pas mal de chemin à faire ... je me trompe sûrement. Ces 2 conditions doivent être remplies pour exécuter du code (sans HVM) : - passer l'authentification hardware du software (nécessite donc des clés de cryptage apparemment cryptées par la root key et l'algorithme de crypto), ce check peut se faire plusieurs fois - il faut posséder la rootkey, car sans celui-ci, pas de décryptage des clés pour décrypter le code et donc d'exécution de code Le premier check va empếcher le runtime patching de bourrin (bien qu'on ai actuellement un accès en RW dans toute la mémoire grâce à GeoHot et son exploit). Si ce check est passé, on pourrait faire du runtime patching. Mais sans rootkey point de salut apparemment. (La technique de page swapping et autres babioles ne risquent pas de fonctionner non plus apparemment) Si la rootkey est découverte, uns des avantages est que celui-ni ne pourra pas être patché dans les prochaines PS3 sous peine de rendre tous les anciens jeux PS3 inutilisable (en assumant que tous les execs sans cryptés avec des clés de crypto elles-mêmes cryptés par la rootkey). Après si on a la rootkey, rien ne dit qu'on pourra crypter (aucune idée s'il y a obligation de crypter le code des apps') ou authentifier du soft. Il y a des chances que ce soit un cryptage assymétrique car si Sony a bien bossé sa sécurité, elle ne s'aventurerait pas à filer une clé symétrique aux développeurs de jeux (un leak et tout le système s'écroulerait). Vu que selon la doc' plus haut la rootkey ne sort pas du Hardware Crypto Facility, les clés de cryptos passent dans "en clair" sur les bus et dans les LS (local store), là il faut encore du matériel adapter ... Une chose intéressante à remarquer par rapport au mode isolation des SPE est la zone qui reste open pour la communication, quelles données sont donc transmisent dans ces zones? Autres pistes de réflexion Quid des save games? Si les clés des jeux sont cryptés, patcher le firmware des drives bluray va pas servir si ce n'est les régions DVD ou BluRay je me trompe? Et à propos des states du software? Y-a-t'il d'autres protections en software comme le DEP, ASLR, W^X, ...? Il y a de fortes chances que ce soit du BSD qui tournent en dessous en plus (scan nmap + fingerprinting, méthode pas à 100% sûr mais ça donne déjà des indicatifs ). L'exploit J'avouerais que je n'ai pas pu analyser en détail comme il faut l'exploit vu que je ne connait pas les méandres techniques de la PS3 (address ranges, ASM, etc). L'exploit est néanmoins asser intéressant en lui même, il se déroule en 3 étapes. first_stage : Une disruption de la HVM concernant l'allocation d'addresse range virtuelles second stage : Patching de la Hash Table. install_hvcall : le nom est asser explicite . Tout ce que je peux apporter comme brique c'est le diff du code de xorlooser par ailleurs (que chaque développeur sait normalement faire) : diff -ru ps3_exploit/src/exploit.c ps3_exploit_fixed/src/exploit.c--- ps3_exploit/src/exploit.c 2010-02-07 01:30:34.052144679 +0100+++ ps3_exploit_fixed/src/exploit.c 2010-02-07 01:30:42.724645449 +0100@@ -505,7 +505,9 @@ } void install_hypercall() {- unsigned long lpar, crap;+ unsigned long lpar, crap, offset, invalid_call_addr, sc_table_addr;+ u32* addr32;+ unsigned long* addr64; hexdump(0xD000080080000000, 0x10); @@ -525,10 +527,49 @@ unsigned long real_address = get_real_address_from_lpar(lpar)<<12; add_segment();- unsigned long* hv_call_table = 0x500000000037C598;- hv_call_table[16] = real_address;- hv_call_table[20] = real_address+0x8;- printk(KERN_ERR "calling hypercall test got %16.16lx\n", lv1_peek(0x2401FC00000));+++ // This bit was added by xorloser to find the address of the syscall table+ // instead of using a version specific harcoded address.+ // + // This first looks for the lv1_invalid_hvcall handler function,+ // then finds references to this handler which should be entries+ // in the syscall table. It then gets the start of this table to+ // use as the syscall table address.++ printk(KERN_ERR "searching for syscall table\n");+ sc_table_addr = 0;+ for(offset=0; offset<4*1024*1024 - 16; offset+=4) {+ addr32 = (u32*)(0x5000000000000000 + offset);+ if( addr32[0] == 0x38600000 &&+ addr32[1] == 0x6463ffff &&+ addr32[2] == 0x6063ffec &&+ addr32[3] == 0x4e800020 ) {+ invalid_call_addr = offset;+ printk(KERN_ERR "found lv1_invalid_hvcall at %lx\n", invalid_call_addr);+ for(offset=0; offset<4*1024*1024 - 16; offset+=8) {+ addr64 = (unsigned long*)(0x5000000000000000 + offset);+ if( addr64[0] == invalid_call_addr &&+ addr64[1] == invalid_call_addr &&+ addr64[2] == invalid_call_addr &&+ addr64[3] == invalid_call_addr ) {+ sc_table_addr = offset - (20*8);+ printk(KERN_ERR "found syscall table at %lx\n", sc_table_addr);+ break;+ }+ }+ break;+ }+ }+ printk(KERN_ERR "syscall table search completed\n");++ // Only add new syscalls if the syscall table was found.+ if(sc_table_addr) {+ unsigned long* hv_call_table = (unsigned long*)(0x5000000000000000 | sc_table_addr);+ hv_call_table[16] = real_address;+ hv_call_table[20] = real_address+0x8;+ printk(KERN_ERR "calling hypercall test got %16.16lx\n", lv1_peek(0x2401FC00000));+ } } volatile int init_module() { Qu'en pensez-vous? Je vous remerci de m'avoir lu. m_101
-
Donc pour s'attendre à une réalisation concrète (homebrew,isoloader...) il faut attendre au minimum un autre hack visant soit le lecteur Blu-ray ou soit la clé de cryptage . Y'a une question qui me taraude quand même ... Que se passerait-t'il si avant l'isolation le code en mémoire est patché (runtime patching)? ... Au final, tout le code crypté est stocké en mémoire, et le code pour le décrypter aussi (de toute manière, il est impossible de faire de l'obfuscation "parfaite" vu qu'au final le code va tourner sur le processeur) ... Après bien sûr, y'a la question de la mise en place de hooks sur tous les HVs calls ... que se passerait-t'il ... . Pour de ce qui est des clés de crypto, j'espère juste qu'ils les ont pas stocker dans le processeur directement .... car là à moins de recourir à du silicon hacking ... (et là ça doit être autre chose que les smartcards qui sont déjà costauds). Cette isolation vise à rendre les choses bien plus difficile sans aucuns doutes ... mais pas impossible dans la logique. Anyway, j'espère que des dumps software vont bientôt sortir . Ah tant que j'y pense, y'avait une news d'un mec qui avait réussi à décrypter le disque dur de la PS3 y'a quelques mois sur Gueux .... des nouvelles de ce gars? Car si je me souviens bien, ça n'a pas encore été annoncé comme un fake (l'espoir fait vivre).
-
Quelle en serait l'intérêt? Là est la difficulté dans l'explication. Le hacking c'est tout une philosophie de vie, de pensée, etc, ce n'est pas uniquement de la technique. Les hackers ne hackent généralement pas par besoin de reconnaissance (surtout les très bons) mais pour le fun. Le hacking c'est du BOULOT, mais c'est surtout pour le FUN que les gens le font au départ quand même. Avoir le privilège d'être la seule personne sur Terre à avoir un certain hack c'est très satisfaisant aussi mais le partager encore plus. Il y a énormément de raison à ne pas diffuser un hack énorme : - légalité - patch possible rendant le hack inutile - "célébrité" non voulue (pour vivre heureux, vivons cachés) - le business en serait impossible (certains exploits se vendent à prix d'or) - etc m_101
-
Oui dans l'underground, des gens ont forcément déjà hacker la PS3 depuis un moment sans aucun doute ... Il y a toujours une face cachée de l'iceberg, c'est comme pour les BOFs, la disclosure public en 1996 a fait découvrir "au grand public" cette faille alors qu'elle était exploitée depuis des années et connues de cercles d'initiés . m_101
-
C'est en tout cas génial que le hack PS3 soit enfin lancé! Il existe forcément des cercles d'initiés underground ayant déjà hacker la PS3 depuis un moment ... ça ne m'étonnerais pas. Le hack PS3 ... du gros boulot à faire encore en gros d'après ce que j'ai compris de l'article. La méthode utilisée par GeoHot est très intéressante effectivement . Une analyse extrêmement poussée du matériel, très peu de hardware, surtout du software pour le hack (c'est un beau hack le own de la htab quand même ). J'ai pas encore lu tout le code de l'exploit, mais le code est asser propre pour être étudié par toute personne intéressée, je trouve que c'est vraiment un bon point par rapport au kexploit de la PSP dont j'ai pas vraiment vu les sources. Pour coder un FPGA avec l'impulsion donnée, ce n'est pas important de voir le code car ça doit prendre 30 lignes en VHDL à tout casser. Pour Sony, le patch pour éviter les écritures arbitraire dans le HTAB serait appriori simple. Ils auront par contre du mal à patcher certaines parties (celles ayant de la crypto rentrant en compte par exemple) car ça pourrait poser des problèmes de compatibilité au niveau des jeux. Si les jeux sont effectivement cryptés, un hack du firmware du lecteur BluRay de la PS3 serait pas mal. La clé cryptée étant forcément stockée sur le disque du jeu, celle-ci passe obligatoirement par le lecteur bluray, un hack de celui-ci permettrait de récupérer les clés de cryptage de tous les jeux non? (A la manière de ce qui se fait avec les DVD ou BluRay). Les autres problêmes posés par une utilisation SecuRom ... une autre histoire ... Pour les jeux, je pense aux 3 premiers jours de la PS3 et de Linux, la fameuse copie avec la commande cp (rsync et autres marchent tout aussi bien), les fichiers copiés seraient donc cryptés? (désolé mais non j'ai pas asser creusé) Une question néanmoins, HTAB = Hashed Page Table ... si je comprend bien, la table utilise le même principe que pour les hashed tables? (ou bien des tableaux servant d'index dans une liste chaînée) Je ne vois pas l'intérêt d'une HTAB pour mapper 256Mo de RAM ou je me trompe? Je ne comprends toujours pas pourquoi le hack de la PS3 a commencé aussi tardivement par rapport aux autres devices sur le marché. Ca serait dû aux coûts de la console ou la politique de sécurité de Sony pour cette console (ils ont bien géré franchement )? Pour ma part, je ne suis pas encore prêt à démonter un device aussi cher pour mettre son hack en pratique et creuser plus ... J'espère juste que les autres hacks seront postés aussi de cette manière, c'est-à-dire avec les sources et/ou avec les explications et avec une certaine précaution (car qui dit hack posté dit hack patché le plus souvent mais pas tous). Les coups d'accélérateur viendront des clés de crypto comme chacun le sait mais également des dumps software de l'HV et du software PS3. Bon courage aux hackers bossant actuellement sur la PS3 par ailleurs . m_101
