Les enclaves protégées des processeurs Intel utilisables par des malwares
Le 18 février 2019 à 09h54
2 min
Logiciel
Logiciel
Une équipe de chercheurs, réunissant notamment certains ayant participé à la découverte des failles Meltdown et Spectre, a mis la main sur un sérieux problème de sécurité avec la fonctionnalité SGX (Software Guard eXtensions) des processeurs Intel.
Présente depuis la génération Skylake, elle permet à un code de résider dans une mémoire isolée du système et – normalement – de toute tentative d’accès, à moins d’être expressément autorisée. Ces espaces protégés, appelés enclaves, ne peuvent même pas être lus par le noyau du système ou le BIOS/UEFI.
Problème, les chercheurs ont réussi à implanter un malware dans une enclave. Ils se sont servis des TSX (Transactional Synchronization eXtensions) pour vérifier si une adresse virtuelle était accessible par le processus en cours. Une opération que le système d’exploitation ne peut pas détecter du fait de l’architecture de SGX.
Les chercheurs tentent ensuite de savoir s’il est possible d’écrire dans cette plage mémoire, via une technique baptisée CLAW (Checking Located Addresses for Writability). L’instruction d’écriture est alors encapsulée dans une transaction TSX, donc toujours indétectable.
On comprend la dangerosité de la méthode, comme chaque fois qu’un malware peut tirer parti du matériel : il se cachera dans une zone protégée que rien ne peut atteindre, et certainement pas un antivirus. Les chercheurs craignent particulièrement une nouvelle génération de ransomwares presque impossibles à déloger.
Selon les chercheurs, les modifications à réaliser peuvent être matérielles comme logicielles. Dans le premier cas, Intel pourrait renforcer l’isolation des enclaves, sans impact sur les performances. Les changements logiciels, eux, arriveraient plus rapidement, mais entraineraient une légère chute des performances.
Intel a reconnu l’existence du problème, sans remettre en question sa fonction SGX. Le fondeur rappelle que son objectif est de protéger ce qui y est placé, non de contrôler qui a le droit d’y entrer : « SGX ne garantit pas que le code exécuté dans l’enclave provient d’une source de confiance ».
La société ne dit pas un mot sur d’éventuelles mesures. En attendant, les chercheurs ont publié un prototype d’exploitation et le rapport complet de leurs travaux.
Le 18 février 2019 à 09h54
Commentaires (16)
Vous devez être abonné pour pouvoir commenter.
Déjà abonné ? Se connecter
Abonnez-vousLe 18/02/2019 à 10h06
chaque fois qu’un malware peut tirer parti du matériel : il se cachera dans une zone protégée que rien ne peut atteindre, et certainement pas un antivirus. Les chercheurs craignent particulièrement une nouvelle génération de ransomwares presque impossibles à déloger.
Que faut-il comprendre par là ? Une mise hors tension physique ne déloge pas ce qui est en mémoire cache du SGX ? C’est une EEPROM qui conserve le programme y compris hors tension ?
Le 18/02/2019 à 10h08
J’ai un peu de mal à comprendre. Ils arrivent à sortir de l’enclave pour accéder au système classique, mais ils n’ont pas trouvé de moyen logiciel d’accéder au contenu de l’enclave ?
Du coup il n’y a pas encore de moyen non matériel de placer un malware dans l’enclave, juste un moyen de faire des dégâts si jamais l’enclave est déjà infectée “physiquement” ?
Le 18/02/2019 à 10h16
/mode curieux on
Existe-t-il l’équivalent de ce SGX chez AMD (archi Zen) ?
/mode curieux off
Le 18/02/2019 à 10h19
C’est ce que j’ai compris aussi " />
Du coup, pour le moment, le soucis se posent surtout sur du matos qui est passé entre les mains de tiers (occasion, cloud)
Le 18/02/2019 à 10h22
Je ne suis pas sûr d’avoir bien compris non plus mais voici ce que j’ai compris :
Dans les processeurs Intel, il y a possibilité d’exécuter un programme de manière protégé de tel sorte qu’absolument rien (ni l’OS ni l’UEFI et encore moins un anti-virus) puisse contrôler ce qu’il fait.
De là, un programme malveillant peut tout à fait se faire exécuter dans une tel mode, il sera totalement indétectable. Les chercheurs ici auraient montré qu’il est possible de faire des instructions sur l’accès à des portions de mémoires qui aurait dû normalement faire tilter n’importe quel système de sécurité.
Le 18/02/2019 à 10h45
@Nozalys: Oui, le SGX a accès à de la mémoire non-volatile. Je crois bien me souvenir que cette mémoire est apportée par le PCH.
@sebmil: oui, c’est exactement ça. Il faut déjà réussir à injecter le code du malware dans l’enclave, mais ca n’a rien de très compliqué. L’enclave est conçue pour protéger le code déjà enclavé, mais pas vraiment pour protéger d’enclaver du nouveau code.
Le 18/02/2019 à 10h54
En résumé : n’importe quel binaire, y compris malicieux, peut se cacher dans l’enclave et être ainsi totalement indétectable et impossible à déloger ?
Le 18/02/2019 à 11h17
Le 18/02/2019 à 12h52
Dis moi si je me trompe :
L’enclave, c’est un système qui permet à un programme de pouvoir exécuter un bout de code à l’abri des regards indiscrets. Même l’OS ou l’UEFI ne peuvent pas voir ce qu’il s’y passe.
J’imagine que ça doit servir par exemple dans tout ce qui est cryptographie pour éviter de laisser traîner la clé privé à la vu d’un OS un peu trop indiscret.
Et ce que montre les chercheur ici, c’est que ce mécanisme peut être aussi utilisé pour lancer des programmes malveillants (ici des tentatives d’accès à des zones mémoires) sans aucune possibilité de repérer ces actions malveillantes.
A priori, le SGX n’est pas indispensable, et pour le commun des mortels, le désactiver ne changerait pas grand chose.
Le 18/02/2019 à 13h17
Le 18/02/2019 à 13h31
A ma connaissance, il n’y a pas grand-chose qui utilise SGX pour l’instant parce que c’est une techno propriétaire à Intel dispo qu’à partir de leur 7e gen. Donc il y a tous ceux qui ont de processeurs plus vieux et, de plus, il existe d’autres acteurs sur le marché des processeurs (AMD et tout le monde des processeurs ARM). Donc pas de perte de sécurité pour moi. On a fait de la cryptographie bien avant ce genre de technos et on continuera d’en faire sans ça de manière sécurisée. D’après certains commentaires sur cet article d’Ars Technica (qui est plus complet d’ailleurs) Ars Technica , ça serait utiliser entres autres par des DRM, notamment CyberLink l’utiliserai pour lire des blu-ray uhd. C’est de la sécurité par l’obscurité mais surtout pour éviter que ça soit piraté.
Le 18/02/2019 à 14h05
Pas forcément d’un point de vu UEFI, mais d’un point de vu microgiciel. Intel peut décider que conserver cette outil est plus dangereux que bénéfique et donc le désactive.
Sinon, pour le reste de tes questions, Typhlos a dit à peu près ce que je pensais : c’est récent, c’est Intel Only, on s’est démerdé sans pour l’instant, et si une nouvelle techno apporte plus de problème qu’elle en résout, retour au labo, on laisse tomber pour l’usage grand public pour l’instant en attendant qu’elle soit plus mature.
(les DRM sont effectivement l’usage le plus évident pour le grand public, la master key y est bien caché de l’usager)
Le 18/02/2019 à 14h32
Le 18/02/2019 à 14h35
Ok je vois. Donc si c’est désactivable, c’est une option à considérer pour chez soi.
Le 18/02/2019 à 16h47
Le 19/02/2019 à 16h16
Thx " />