intel sgx

Intel SGX: Possibilité de cacher des malwares dans les enclaves

Des chercheurs en cybersécurité ont trouvé un moyen de cacher des malwares dans les enclaves Intel SGX.

Intel SGX ou Intel® Software Guard Extensions (SGX) est une nouvelle technologie de sécurité puissante intégrée aux processeurs Intel® Core™ à partir de la 7e génération, qui permet de protéger vos mots de passe grâce à une sécurité renforcée par matériel. Les enclaves utilisées pour exécuter des modules d’application de manière isolée sont conçu pour être protégé des processus qui ont plus de privilèges comme le système d’exploitation, le kernel, le bios, le SMM, l’hyperviseur etc..

Les chercheurs ont donc découvert une technique pour implanter du code malveillant dans la mémoire sécurisée qui utilise la fonctionnalité de protection de SGX.

L’équipe de chercheurs est parvenu à contourner cette protection et ont implanté leur application malveillante dans les enclaves sécurisées en utilisant une vieille technique nommé “return-oriented programming (ROP)”.

L’exploit utilise aussi les Transactional Synchronization eXtensions (TSX) qui se trouve dans les processeurs modernes d’Intel en tirant profit d’une technique appelé TSX-based Address Probing (TAP).

TAP utilise TSX pour déterminer si une adresse virtuel est accessible dans le processus en cours, et cette exploration de mémoire est indétectable car les applications de niveau système d’exploitation ne peuvent pas regarder à l’intérieur d’une enclave.

“Notre attaque SGX-ROP utilise une nouvelle primitive de divulgation de mémoire basée sur TSX et une primitive write-anything-anywhere, permettant de créer une attaque par réutilisation de code à partir d’une enclave, qui est ensuite exécutée par inadvertance par l’application hôte,” peut-on lire sur le papier de recherche [PDF] publié Mardi.

Pour déterminer si une page de mémoire est disponible en écriture, l’équipe a développé une primitive d’écriture fault-resistant, Checking Located Addresses for Writability (CLAW), qui encapsule l’instruction d’écriture dans la page mémoire ciblé à l’intérieur d’une transaction TSX et avorte la transaction après écriture.

Après cela, la disponibilité d’écriture de la page mémoire ciblé peut être déduite en se basant sur le retour de valeur de la transaction.

Une fois que le malware s’est frayé un chemin vers l’enclave sécurisée, la confidentialité et l’intégrité que SGX garantit aux programmes interdit aussi aux chercheurs de solutions de sécurité de détecter et d’analyser le malware présent dans l’enclave.

Cela permet éventuellement au malware de contourner plusieurs technologies de sécurité, tel que Address Space Layout Randomization (ASLR), stack canaries, et address sanitizer. Il serait aussi possible d’exécuter du code arbitraire sur le système ciblé.

Une preuve de concept pour Intel SGX

Les chercheurs affirment que la preuve de concept qu’ils ont développé a contourné ASLR, stack canaries, et address sanitizer, pour “exécuter des gadgets ROP sur l’hôte permettant d’implanter des malware dans l’enclave”. Ils affirment aussi que l’exécution de cet exploit leur a pris seulement 20,8 secondes.

Ils ont conclut que au lieu de “protéger les utilisateurs, SGX pose actuellement une menace pour la sécurité, facilitant la possibilité de super-malware.”

Les mitigations contre ce genre d’attaque seront surement implémenté dans les futures générations des processeurs Intel qui vont mieux gérer les enclaves SGX. Certaines mitigations exigeront surement un changement au niveau du hardware. Des impacts sur les performances sont à prévoir pour les modifications qui ne requièrent pas un changement de hardware.

Si cet article vous a plu, jetez un œil à notre précédent article.

Laisser un commentaire