Le développeur Specter vient de mettre à jour la partie développeur du wiki PS5, il faut dire qu'il y a de la matière avec ce qu'il a présenté lors de sa conférence au Hardwear.io le 02 Juin dernier, il y a tout juste un mois.
Ainsi le développeur a montré que les espoirs se tournent désormais vers l'Hyperviseur, qui en quelque sorte protège le kernel et le firmware de la console.
Conçu comme un middleware, l'objectif de l'hyperviseur est d'empêcher toute exécution de code non signé, il s'assure que les règles définis dans le kernel soit les bonnes, et il empêche toute attaque ou écriture non prévue.
Selon Specter, les premières versions des consoles PS5, celles qui disposent d'un firmware inférieur ou égal au firmware 2.50, intègrent l'hyperviseur au sein du kernel, ce qui le rend plus vulnérable, ou du moins en théorie plus facile à modifier. D'ailleurs le développeur a dévoilé sur le Wiki les 14 Hypercalls dont il parlait dans sa présentation d'il y a un mois.
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".
Comme nous le prouve une nouvelle fois Specter, les premiers modèles de consoles sont toujours très intéressants car les constructeurs font évoluer leur sécurité sur les firmwares plus récents, et tente ainsi d'empêcher l'arrivée d'un jailbreak.
Tout est là : Hypervisor