La sécurité du cloud déstabilisée

- EN- DE- FR - IT
 (Image: Pixabay CC0)
(Image: Pixabay CC0)

Les services de cloud public utilisent des technologies de sécurité spéciales. Les informaticiens de l’ETH Zurich ont découvert une faille dans les derniers mécanismes de sécurité utilisés par les puces AMD et Intel. Cela affecte les principaux fournisseurs de cloud.

Avec le "Confidential Computing", les fabricants de matériel informatique ont développé ces dernières années des technologies visant à sécuriser l’utilisation commune de ressources informatiques en nuage, y compris pour les entreprises et les organisations gouvernementales qui traitent des données sensibles. Concrètement, le Confidential Computing protège les données sensibles pendant leur traitement dans une zone isolée, dans laquelle aucun autre utilisateur n’a accès, pas même le fournisseur de cloud. Des informaticiens de l’EPF de Zurich ont démontré que des pirates informatiques pouvaient malgré tout accéder à ces données et systèmes.

Les deux scénarios d’attaque qu’ils ont testés utilisent le mécanisme d’interruption, qui permet d’interrompre temporairement les processus informatiques, par exemple pour donner la priorité à une autre activité de calcul. Chacune des 256 interruptions différentes déclenche une séquence bien précise d’instructions de programmation. "Les demandes d’interruption sont un domaine marginal. Il semble que leur protection systématique ait tout simplement été oubliée", explique Shweta Shinde, professeur d’informatique à l’EPFZ, qui a trouvé les failles problématiques avec son groupe Secure & Trustworthy Systems dans le matériel serveur des deux grands fabricants de puces informatiques AMD et Intel.

Le travail sur un smartphone à l’épreuve des écoutes conduit à des failles

L’équipe de Shinde a découvert les failles de sécurité en examinant de plus près les technologies de calcul confidentiel dans les processeurs d’AMD et d’Intel. Les scientifiques voulaient comprendre comment elles fonctionnent en détail. Ils travaillent en effet eux-mêmes sur un smartphone à l’épreuve des écoutes, basé sur le "confidential computing".

Le cOEur de l’informatique confidentielle est un environnement d’exécution fiable (en anglais Trusted Execution Environment, TEE). Ce composant basé sur le matériel isole les applications de l’extérieur pendant leur exécution. Seul un code autorisé peut alors accéder à leur mémoire de travail. Ainsi, les données sont également protégées contre les accès non autorisés lorsqu’elles se trouvent dans la mémoire vive sans être cryptées au cours de leur traitement. Auparavant, cette protection n’était assurée que par le cryptage sur le disque dur et pendant la transmission.

L’hyperviseur, facteur d’insécurité numéro un

Dans le cloud public, les applications sont également isolées de l’hyperviseur grâce à la TEE. Avec ce logiciel, le fournisseur gère les ressources de son cloud, des composants matériels aux serveurs virtuels des clients. Les hyperviseurs sont importants pour les services en nuage, car ils permettent la flexibilité, l’efficacité et la sécurité nécessaires. Non seulement ils gèrent et optimisent l’utilisation du matériel sous-jacent, mais ils garantissent également que les différents utilisateurs peuvent utiliser le même nuage en toute sécurité et sans être dérangés les uns par les autres dans des zones séparées. Néanmoins, les fonctions d’administration et de gestion des hyperviseurs sont également considérées comme un facteur d’insécurité, car elles permettent diverses attaques. Ces attaques permettent, dans certaines circonstances, de lire les données dans la mémoire de travail d’autres utilisateurs du cloud actifs sur le même matériel. En outre, le fournisseur de services en nuage peut éventuellement avoir lui-même accès aux données des utilisateurs par le biais de l’hyperviseur.

Ces deux risques ne sont pas acceptables pour les entreprises et les acteurs étatiques disposant de données sensibles. Par exemple, même un rapport d’experts du Conseil fédéral suisse, qui s’est penché sur le cadre juridique de la mise en OEuvre de la stratégie suisse en matière de cloud, identifie l’accès non autorisé aux données actuellement utilisées activement (en anglais "data in use") comme le risque le plus probable d’une utilisation du cloud public.

L’isolation complète de l’hyperviseur n’est pas possible

Il existe toutefois des limites de principe à l’isolement et à la sécurisation d’un système utilisateur par rapport à l’hyperviseur. Une certaine communication entre les deux reste en effet indispensable. Enfin, en tant qu’outil de gestion, un hyperviseur doit pouvoir continuer à assumer ses tâches principales. Celles-ci consistent à allouer les ressources du cloud et à gérer les serveurs virtuels sur lesquels le système sécurisé fonctionne dans le cloud.

L’une des interfaces restantes entre l’hyperviseur et la TEE concerne la gestion des interruptions. Les attaques dites "Ahoi", utilisées par l’équipe de l’ETH, utilisent la possibilité de l’hyperviseur d’envoyer à tout moment des interruptions contrôlées au système sécurisé. Et c’est là que la faille de sécurité s’ouvre : au lieu de bloquer la demande de l’hyperviseur non fiable, la TEE transmet certaines demandes d’interruption. Lors de ces transmissions, le système n’est pas conscient que la demande provient de l’extérieur et il exécute les routines de programme habituelles.

Les appels intermédiaires d’interruption déstabilisent la sécurité

Les chercheurs ont réussi, grâce à des appels intermédiaires d’interruption orchestrés, à déstabiliser un système sécurisé dans un TEE de telle sorte qu’ils ont pu, entre autres, obtenir le contrôle total - ce que l’on appelle "root access". "Le problème concernait surtout l’implémentation AMD de Confidential Computing. Dans celle-ci, plusieurs demandes d’interruption n’étaient pas sécurisées. Chez Intel, une seule porte d’interruption était ouverte", explique Shinde en résumant les résultats de son "attaque Heckler", du nom anglais d’une personne qui dérange. De plus, les scientifiques estiment que les moyens de défense mis à disposition par AMD jusqu’à présent sont insuffisants. Les fabricants de puces ont entre-temps pris des mesures pour remédier à ce problème.

La deuxième attaque, appelée WeSee, concerne exclusivement le matériel AMD. Elle utilise un mécanisme de communication introduit par le fabricant de puces afin de faciliter la communication entre le TEE et l’hyperviseur malgré le cloisonnement. Dans ce cas, une requête d’interruption spéciale conduit à ce que le système sécurisé révèle des informations sensibles et permet même l’exécution de programmes étrangers.

Produit secondaire sur la voie du contrôle des utilisateurs via les smartphones

Aussi importante que soit la découverte des points faibles pour la sécurité des données sensibles dans le cloud public, il s’agit pour Shinde et son groupe de recherche d’un sous-produit sur la voie des iPhones et des smartphones Android, sur lesquels les utilisateurs gardent le contrôle total de leurs données et également des applications. Une TEE spéciale ne se contentera pas d’isoler les données des systèmes d’exploitation des fabricants. "Notre TEE doit également permettre l’exploitation non surveillée d’applications propres, non contrôlées par Apple ou Google", telle est la vision de Shinde.

Références bibliographiques

Schlüter B, Sridhara S, Kuhne M, Bertschi A, Shinde S. Heckler : Breaking Confidential VMs with Malicious Interrupts. In : 33rd USENIX Security Symposium (USENIX Security), August 14-16, 2024 external page https://ahoi-attacks.github.­io/heckler call_made
Paper Link : page externe https://ahoi-attacks.github.i­o/heckler/­heckler_us­enix24.pdf call_made

Schlüter B, Sridhara S, Bertschi A, Shinde S. WeSee : Using Malicious #VC Interrupts to Break AMD SEV-SNP. In : 45th IEEE Symposium on Security and Privacy (IEEE S&P), May 20-23, 2024. page externe https://ahoi-attacks.githu­b.io/wesee call_made
Paper Link : page externe https://ahoi-attacks.githu­b.io/wesee­/wesee_oak­land24.pdf call_made

Daniel Meierhans