Mais cela soulève également des problèmes de confidentialité. Un serveur cloud pourrait exécuter simultanément des applications pour 1 000 clients, à l'insu du fournisseur d'hébergement. L'une de ces applications pourrait avoir une intention malveillante : espionner les 999 autres.

Le chiffrement pourrait renforcer la sécurité des serveurs cloud. Les données ne peuvent être déchiffrées que lors de leur traitement ; les résultats des calculs sont ensuite rechiffrés avant d'être envoyés hors de la puce.

Or, ces dix dernières années, il est devenu évident que même lorsqu'un ordinateur chiffre soigneusement les données, ses schémas d'accès à la mémoire (la fréquence à laquelle les données sont stockées et consultées à différentes adresses mémoire) peuvent révéler une quantité surprenante d'informations privées.

Lors du Symposium international sur l'architecture des ordinateurs en juin, des chercheurs du MIT ont présenté Ascend, un nouveau type de composant matériel sécurisé qui masque les schémas d'accès à la mémoire d'un serveur, empêchant ainsi un attaquant d'en déduire quoi que ce soit. Asciend déjoue également un autre type d'attaque, dite attaque temporelle, qui consiste à déduire des informations à partir du temps de calcul.

Compromis en termes de puissance de calcul :
des conceptions similaires ont déjà été proposées, mais elles ont généralement été jugées trop gourmandes en ressources de calcul au détriment de la sécurité. « C'est la première fois qu'une conception matérielle (pas encore réalisée) est proposée qui offre ce niveau de sécurité avec une surcharge de performance trois à quatre fois inférieure », explique Srini Devadas, professeur Edwin Sibley Webster de génie électrique et d'informatique, dont l'équipe a développé ce nouveau système. « On aurait pensé qu'elle serait cent fois supérieure. »

La méthode la plus simple pour masquer les accès mémoire, explique Devadas, consisterait à demander des données à chaque adresse mémoire (qu'il s'agisse d'une puce mémoire ou d'un disque dur) et à récupérer toutes les données sauf celles stockées à l'adresse recherchée. Mais cette méthode serait trop lente pour être pratique.

Devadas et ses collaborateurs (les doctorants Ling Ren, Xiangyao Yu et Christopher Fletcher, ainsi que le chercheur Marten van Dijk) organisent les adresses mémoire dans une structure de données appelée « arbre ». Un arbre généalogique est un exemple classique d'arbre : chaque « nœud » (ici, le nom d'une personne) est relié à un seul nœud situé au-dessus (celui représentant ses parents), mais peut être relié à plusieurs nœuds situés en dessous (ses enfants).

Avec Ascend, les adresses sont attribuées aléatoirement aux nœuds. Chaque nœud se situe sur un « chemin » ou itinéraire à travers l'arbre, partant du sommet et se déplaçant de nœud en nœud, sans retour en arrière, jusqu'à atteindre un nœud sans autre connexion. Lorsque le processeur a besoin de données provenant d'une adresse particulière, des requêtes sont envoyées à toutes les adresses du chemin, y compris celle en question.

Pour empêcher un attaquant de déduire quoi que ce soit des séquences d'accès mémoire, Ascend accède à une adresse mémoire spécifique à chaque fois, en modifiant aléatoirement cette adresse, stockée quelque part dans l'arbre. Par conséquent, accéder plusieurs fois à une même adresse via le même chemin sera très rare.

Masquer une adresse nécessite moins de calculs.
En limitant ses requêtes factices à un seul chemin, au lieu de les envoyer à toutes les adresses mémoire, Ascend réduit exponentiellement la quantité de calculs nécessaires. Dans un article distinct, non encore publié mais disponible en ligne, les chercheurs démontrent que l'interrogation par chemin offre un niveau de sécurité équivalent à celui de l'interrogation de toutes les adresses mémoire. Ascend

protège également contre les attaques ponctuelles. Imaginons que le calcul externalisé vers le cloud consiste à comparer une photo de surveillance d'un suspect avec d'autres photos aléatoires sur le web. La photo de surveillance elle-même serait chiffrée et donc à l'abri des regards indiscrets. Cependant, un logiciel espion basé sur le cloud pourrait toujours déduire quelles photos publiques sont comparées. De plus, le temps de comparaison pourrait fournir des informations sur les photos sources : les photos de personnes manifestement différentes seraient faciles à éliminer, mais les photos de personnes se ressemblant beaucoup pourraient être plus longues à distinguer.

Le système d'accès mémoire d'Ascend possède donc une autre « astuce » : il envoie des requêtes à la mémoire à intervalles réguliers, même lorsque le processeur est occupé et n'a pas besoin de nouvelles données. De cette façon, les attaquants ne peuvent pas prévoir la durée d'un calcul donné.

Article rédigé par Larry Hardesty, MIT News Office.

Plus d'informations