Page 1 sur 1

[LS] [PS5] Specter et ChendoChap ont cassé l'hyperviseur inférieur au 3.00

Posté : 30 sept. 2024, 08:13
par [BOT]_RSS
Le développeur Specter a annoncé hier que rester sur un firmware inférieur au 3.00 sur PS5 serait une bonne idée, c'est déjà difficile d'être dans ce cas, mais certains qui étaient en 2.50 sont passé sur un firmware 3.xx, ce qui n'a pas réellement de sens pour profiter par exemple du hack BD-J.    Il rappelle donc que rester sur le firmware le plus bas possible est toujours plus intéressant que d'attendre un éventuel hakc qui ne pourrait jamais arriver, ou dans très longtemps.    Ainsi hier, il a officialisé le fait que l'Hyperviseur est désormais cassé sur les firmwares inférieurs au 3.00, cela était une théorie envisagée il y a plus d'un an qui aujourd'hui est confirmée. La chaine ROP imaginée et conçue par ChendoChap il y a plus an est fonctionnelle.   Il y a un an, Specter disait :    Sur les versions 2.50 et antérieures, l'hyperviseur est intégré dans le binaire du kernel. Il s'agit de la "première itération" de l'hyperviseur, les versions ultérieures ont l'hyperviseur en tant que composant chargé séparément. Les principaux objectifs de l'hyperviseur sont de protéger l'intégrité du code du noyau et d'appliquer xotext (alias. eXecute Only Memory ou "XOM") sur le kernel.   Pour ce faire, Sony tire parti de diverses fonctionnalités fournies par AMD Secure Virtual Machine (SVM), telles que ; Tables de pages imbriquées (NPT), interruption d'exécution en mode invité (GMET) et interception des lectures/écritures dans les registres de contrôle (CR) ainsi que dans les registres d'état de la machine (MSR).   De plus, xotext semble être soutenu par du matériel en tant que collaboration avec AMD, nommée "nda feature". L'hyperviseur gère également l'unité de gestion de la mémoire d'E / S (IOMMU), comme l'indique le fait qu'il expose divers hypercalls pour le configurer.   Il convient de noter que l'hyperviseur est très petit, surtout par rapport à celui de la PS3. Il ne prend en charge qu'une poignée d'hypercalls et existe principalement pour protéger le kernel. Il n'exécute pas plusieurs machines virtuelles ou n'utilise pas la virtualisation imbriquée, il ne virtualise que le kernel/l'espace utilisateur, que Sony appelle "GameOS".       De fait, il a confirmé via un screen que l'hyperviseur est contournée, on voit dans le code dans la chaine ROP que les tables imbriquées (NPT), et l'interruption d'exécution en mode invité (GMET) sont bien désactivées dans la machine virtuelle qui contrôle les blocks (VMCB), la protection spécifique à AMD.     
Image
    Cela permet d'exécuter un pointeur et ainsi de casser l'hyperviseur, et de rediriger vers le kernel .text dans la fonction sys-getppid, souvent utilisé par des routines qui créent des fichiers temporaires uniques, en renvoyant l'identifiant du processus appelant. Cet adressage spécifique permet alors de "contrôler" l'hyperviseur, ou de bypasser ses sécurités, ce qui donne l'accès à la lecture et l'écriture dans le kernel. Peut être que cela pourrait déboucher sur une forme de HEN.    
Image
    Comme Specter l'a dit à plusieurs reprises, sur les firmwares à partir du 3.00 l'hyperviseur n'est plus le même, Sony ayant corrigé son fonctionnement, de plus la problématique du processeur principal a53io qui gère séparément les packages PS5 (PKG) reste entière.           

Source: https://www.logic-sunrise.com/forums/to ... ur-au-300/