La sécurité de l'informatique en nuage à l'épreuve des faits
En bref
- L'informatique confidentielle protège le traitement de données sensibles dans des nuages utilisés par différents utilisateurs et utilisatrices.
- Les chercheuses et chercheurs de l'ETH Zurich ont pu montrer qu'il existe néanmoins une vulnérabilité dans le matériel des serveurs en nuage qui peut permettre d'accéder aux données stockées dans les mémoires d'autres utilisateurs actifs du nuage travaillant avec le même matériel.
- La vulnérabilité s'ouvre via le logiciel de l'hyperviseur et le mécanisme d'interruption, ce qui perturbe temporairement les processus informatiques normaux.
Au cours des dernières années, les fabricants de matériel informatique ont développé des technologies qui devraient permettre aux entreprises et aux organisations gouvernementales de traiter des données sensibles en toute sécurité en utilisant des ressources informatiques en nuage partagées. Connue sous le nom d'informatique confidentielle, cette approche protège les données sensibles pendant leur traitement en les isolant dans une zone impénétrable pour les autres utilisatrices et utilisateurs et même pour le fournisseur d'informatique en nuage. Mais des informaticiens et informaticiennes de l'ETH Zurich viennent de prouver qu'il est possible pour des pirates d'accéder à ces systèmes et aux données qui y sont stockées.
Les scientifiques ont mis en œuvre deux scénarios d'attaque, tous deux utilisant ce que l'on appelle le mécanisme d'interruption, qui interrompt temporairement le traitement normal, par exemple pour donner la priorité à une autre tâche informatique. Il existe au total 256 interruptions différentes, chacune déclenchant une séquence spécifique de commandes de programmation. «Les interruptions sont un problème marginal, et il semble que l'on ait tout simplement négligé de s'assurer qu'elles disposent de garanties systématiques», déclare Shweta Shinde, professeure d'informatique à l'ETH Zurich. Avec son groupe Secure & Trustworthy Systems, Shweta Shinde a identifié les vulnérabilités problématiques dans le matériel serveur utilisé par deux grands fabricants de puces informatiques, AMD et Intel.
Un projet de smartphone à l'épreuve des écoutes permet de trouver les failles
L'équipe de Shweta Shinde a découvert les failles de sécurité en examinant les technologies de calcul confidentiel utilisées dans les processeurs AMD et Intel. Les chercheuses et chercheurs voulaient comprendre en profondeur le fonctionnement de ces processeurs parce qu'ils et elles travaillent sur un smartphone à l'épreuve des écoutes basé sur l'informatique confidentielle.
L'environnement d'exécution de confiance (TEE) est au cœur de l'informatique confidentielle. Le TEE est un composant matériel qui isole les applications pendant leur exécution. L'accès à la mémoire de l'application n'est alors possible qu'avec un code autorisé. Cela signifie que les données sont également protégées contre tout accès non autorisé lorsqu'elles sont stockées, en clair, dans la mémoire de travail pendant le traitement. Dans le passé, la seule façon d'assurer une telle protection était de crypter les données lorsqu'elles étaient stockées sur le disque dur et pendant leur transmission.
Facteur d'instabilité numéro un : les hyperviseurs
Dans le nuage public, les applications sont isolées à l'aide d'un TEE, en particulier de ce que l'on appelle un hyperviseur. Les fournisseurs de services en nuage utilisent un logiciel d'hyperviseur pour gérer les ressources allant des composants matériels aux serveurs virtuels de leurs clientes et clients. Les hyperviseurs sont un élément important des services en nuage car ils apportent la flexibilité, l'efficacité et la sécurité nécessaires. Outre la gestion et l'optimisation de l'utilisation du matériel sous-jacent, ils garantissent que différents utilisateurs et utilisatrices peuvent travailler en toute sécurité dans des zones distinctes du même nuage sans se déranger les uns les autres. Mais les fonctions administratives des hyperviseurs sont également un facteur d'instabilité, car elles ouvrent la voie à diverses attaques. Dans certaines conditions, ces attaques peuvent permettre d'accéder aux données stockées dans les mémoires d'autres utilisatrices et utilisateurs actifs du nuage travaillant avec le même matériel. En outre, les fournisseurs de services en nuage pourraient également utiliser les hyperviseurs pour jeter eux-mêmes un coup d'œil sur les données de leurs utilisateurs et utilisatrices.
Ces deux risques sont inacceptables pour les entreprises et les organisations gouvernementales qui traitent des données sensibles. En effet, dans un rapport d'experts et expertes compilé par le Conseil fédéral suisse, qui a examiné le cadre juridique pour la mise en œuvre de la stratégie suisse en matière d'informatique en nuage, l'accès non autorisé à ce que l'on appelle les données en cours d'utilisation a été considéré comme le risque le plus probable associé à l'utilisation d'une informatique en nuage.
Il est impossible d'isoler complètement l'hyperviseur.
Il existe toutefois des limites fondamentales à l'isolement et à la protection d'un système utilisateur par rapport à l'hyperviseur. Après tout, une certaine communication doit avoir lieu entre les deux, et en tant qu'outil d'administration, l'hyperviseur doit toujours être en mesure d'effectuer ses tâches principales. Il s'agit notamment d'allouer les ressources du nuage et de gérer le serveur virtuel qui exécute le système sécurisé dans le nuage.
L'une des interfaces restantes entre l'hyperviseur et le TEE concerne la gestion des interruptions. L'équipe de l'ETH Zurich a lancé ce que l'on appelle des attaques Ahoi pour exploiter l'hyperviseur comme moyen d'envoyer des interruptions coordonnées au système sécurisé à tout moment. La faille de sécurité est ainsi mise en évidence : au lieu de bloquer la demande de l'hyperviseur non fiable, le TEE laisse passer certaines interruptions. Ignorant que ces interruptions proviennent de l'extérieur, le système exécute ses routines de programmation habituelles.
Les appels interruptoires déstabilisent la sécurité
En envoyant des appels d'interruption coordonnés, les scientifiques de l'ETH Zurich ont réussi à déstabiliser un système sécurisé par TEE de manière si efficace qu'ils et elles ont pu obtenir l'accès root - en d'autres termes, prendre le contrôle total. «L'ordinateur confidentiel d'AMD a été le plus touché par ce problème, car il s'est avéré vulnérable aux attaques provenant de plusieurs interruptions différentes. Dans le cas d'Intel, une seule porte d'interruption avait été laissée ouverte», explique Shweta Shinde en résumant les résultats de son «attaque Heckler». Les scientifiques ont également jugé insuffisants les moyens de défense précédemment mis en place par AMD. Les fabricants de puces ont depuis pris des mesures pour y remédier.
Le deuxième scénario d'attaque, connu sous le nom de WeSee, n'affecte que le matériel AMD. Il exploite un mécanisme que le fabricant de puces a introduit pour faciliter la communication entre le TEE et l'hyperviseur malgré l'isolation. Dans ce cas, une interruption spéciale peut amener le système sécurisé à divulguer des données sensibles et même à exécuter des programmes externes.
Un sous-produit sur la voie du contrôle des téléphones par les utilisateure et utilisatrices
Bien qu'il soit important de trouver des failles dans la sécurité des données sensibles stockées dans le nuage public, pour Shweta Shinde et son groupe de recherche, il ne s'agit que d'un sous-produit sur le chemin qui mène à la garantie que les utilisatrices et utilisateurs d'iPhones et de smartphones Android conservent un contrôle total sur leurs données et leurs applications. Un TEE spécialement conçue fera plus que s'assurer que les données des utilisateurs et utilisatrices sont protégées des écoutes par le système d'exploitation du fabricant. «Nous voulons également que notre TEE prenne en charge le fonctionnement non surveillé des applications qui ne sont pas gérées par Apple ou Google», explique Shweta Shinde.