Edelweiss - Fotolia
Protection contre les attaques : l’isolation matérielle mise à l’épreuve
Intel a introduit l’enclave SGX avec ses processeurs Skylake pour apporter un mécanisme d’isolation renforcée entre instances virtuelles gérées par un même hyperviseur. Mais des chercheurs l’ont déjà mis en défaut.
C’est avec la famille Skylake, lancée à l’été 2015, qu’Intel a introduit les instructions SGX (Software Guard Extensions) afin de renforcer la sécurité des environnements virtualisés en assurant, au niveau du processeur, une isolation robuste des machines virtuelles - et pas seulement les unes des autres comme peut le faire l’hyperviseur, mais surtout des couches inférieures. Car comme le relèvent les chercheurs Daniel Gruss, Clémentine Maurice, Stefan Mangard, Michael Schwarz, et Samuel Weiser, « l’hyperviseur viseur ne protège pas contre un fournisseur cloud éventuellement malicieux ». Dès lors, SGX permet de construire des enclaves sécurisées, des zones de mémoire qui sont isolées du système d’exploitation sur lequel s’exécute l’hyperviseur, par le matériel, et chiffrées. Las, les cinq chercheurs de l’université technique de Graz, en Autriche, ont réussi à élaborer une attaque mettant en échec les mécanismes de protection SGX.
Dans un rapport de recherche publié fin février, ils expliquent avoir mis au point un logiciel malveillant utilisant lui-même SGX pour se cacher et attaquer le système hôte, ainsi qu’extraire des secrets cachés dans d’autres enclaves. Mieux, « le code du logiciel malveillant est complètement invisible du système d’exploitation et ne peut pas être analysé du fait de la protection apportée par SGX ». Leur démonstrateur s’est avéré capable d’extraire « 96 % d’une clé RSA privée à partir d’une seule trace », et la clé complète, de manière automatisée, en l’espace de 5 minutes. Et Docker, qui tire profit de SGX, n’a pas réussi à offrir une meilleure résistance.
La solution de protection du poste de travail par micro-virtualisation Bromium met à profit les instructions SGX sur les machines où elles sont disponibles. Dans un échange avec la rédaction, Simon Crosby, co-fondateur et directeur technique de Bromium, explique utiliser SGX « pour chiffrer le gestionnaire de mots de passe du navigateur Web ». Pour lui, l’attaque décrite par les chercheurs de l’université technique de Graz est très élégante : « il est certain que si un logiciel malveillant parvient à détourner SGX, les choses tournent très mal ». Un mécanisme de signature de code est prévu, dans lequel Intel est lui-même impliqué : seuls les développeurs disposant d’une licence pour SGX peuvent l’utiliser en production. Certains n’ont d’ailleurs pas manqué de s’interroger sur les conditions d’utilisation de SGX imposées par le fondeur. Qui lui-même alerte au passage sur le risque en cas de compromission de la clé privée de signature d’un hébergeur.
Dans la pratique, l’attaque démontrée par les chercheurs ne risque toutefois pas d’avoir, à ce jour, une grande portée. Simon Crosby souligne ainsi que, « pour être honnête, le nombre de processeur Skylake ou plus récent est très réduit ». En outre, la taille limitée des enclaves SGX « restreint l’éventail des cas d’usage ». De quoi laisser le temps à Intel d’améliorer SGX avant son arrivée dans les processeurs pour serveurs et le support d’enclaves plus grandes : « il sera alors plus utile ».