Des chercheurs du MIT et de l'Université Harvard ont développé une plate-forme, appelé Riverbed, qui garantit que les services Web respectent les préférences des utilisateurs sur la manière dont leurs données sont stockées et partagées dans le cloud. Crédit :Chelsea Turner, MIT
Une nouvelle plate-forme développée par des chercheurs du MIT et de l'Université Harvard garantit que les services Web respectent les préférences des utilisateurs sur la manière dont leurs données sont stockées et partagées dans le cloud.
Dans le monde actuel du cloud computing, les utilisateurs d'applications mobiles et de services Web stockent des données personnelles sur des serveurs de centres de données distants. Ces données peuvent inclure des photos, profils de réseaux sociaux, adresses mail, et même les données de remise en forme des appareils portables. Les services agrègent souvent les données de plusieurs utilisateurs sur des serveurs pour obtenir des informations sur, dire, les habitudes d'achat des consommateurs pour aider à recommander de nouveaux articles à des utilisateurs spécifiques, ou peuvent partager des données avec des annonceurs. Traditionnellement, cependant, les utilisateurs n'ont pas le pouvoir de restreindre la façon dont leurs données sont traitées et partagées.
Dans un article présenté à la conférence USENIX Networked Systems Design and Implementation de cette semaine, les chercheurs décrivent une plateforme, appelé Riverbed, qui oblige les serveurs du centre de données à n'utiliser les données que d'une manière explicitement approuvée par les utilisateurs.
Dans Riverbed, le navigateur Web ou l'application pour smartphone d'un utilisateur ne communique pas directement avec le cloud. Au lieu, un proxy Riverbed s'exécute sur l'appareil d'un utilisateur pour assurer la communication. Lorsque le service essaie de télécharger des données utilisateur vers un service distant, le proxy balise les données avec un ensemble d'utilisations autorisées pour leurs données, appelé « politique ».
Les utilisateurs peuvent sélectionner n'importe quel nombre de restrictions prédéfinies, telles que, "ne pas stocker mes données sur un stockage persistant" ou "mes données ne peuvent être partagées qu'avec le service externe x.com." Le proxy balise toutes les données avec la stratégie sélectionnée.
Dans le datacenter, Riverbed attribue les données téléchargées à un cluster isolé de composants logiciels, chaque cluster ne traitant que les données étiquetées avec les mêmes politiques. Par exemple, un cluster peut contenir des données qui ne peuvent pas être partagées avec d'autres services, tandis qu'un autre peut contenir des données qui ne peuvent pas être écrites sur le disque. Riverbed surveille le code côté serveur pour s'assurer qu'il respecte les politiques d'un utilisateur. Si ce n'est pas le cas, Riverbed met fin au service.
Riverbed vise à imposer les préférences des données des utilisateurs, tout en conservant les avantages du cloud computing, comme effectuer des calculs à grande échelle sur des serveurs externalisés. "Les utilisateurs donnent beaucoup de données aux applications Web pour les services, mais perdre le contrôle de la manière dont les données sont utilisées ou de leur destination, " dit le premier auteur Frank Wang SM '16, doctorat '18, un récent diplômé du Département de génie électrique et informatique et du Laboratoire d'informatique et d'intelligence artificielle. "Nous donnons aux utilisateurs le contrôle de dire aux applications Web, 'C'est exactement comme ça que vous pouvez utiliser mes données.'"
Sur ce fil, un avantage supplémentaire pour les développeurs d'applications, Wang ajoute, établit plus de confiance avec les utilisateurs. "C'est une grande chose maintenant, " dit Wang. " Un argument de vente pour votre application serait de dire, « L'objectif de mon application est de protéger les données des utilisateurs. »
Les doctorants se joignent à Wang sur le papier. l'étudiant Ronny Ko et le professeur agrégé d'informatique James Mickens, tous deux de Harvard.
Créer des "univers"
En 2016, l'Union européenne a adopté le Règlement général sur la protection des données (RGPD), qui stipule que les utilisateurs doivent consentir à l'accès à leurs données, qu'ils ont le droit de demander la suppression de leurs données, et que les entreprises doivent mettre en œuvre des mesures de sécurité appropriées. Pour les développeurs Web, cependant, ces lois fournissent peu de conseils techniques pour l'écriture d'applications sophistiquées qui doivent exploiter les données des utilisateurs.
Autrefois, les informaticiens ont conçu des systèmes de "contrôle de flux d'informations" (IFC) qui permettent aux programmeurs d'étiqueter les variables du programme avec des politiques de données. Mais avec autant de variables et de nombreuses interactions possibles entre variables, ces systèmes sont difficiles à programmer. Ainsi, aucun service Web à grande échelle n'utilise les techniques IFC.
Principalement, Riverbed tire parti du fait que le code côté serveur d'une application peut s'exécuter sur un programme de « moniteur » spécial :des programmes qui suivent, réglementer, et vérifier comment d'autres programmes manipulent les données. Le moniteur crée une copie distincte du code de l'application pour chaque stratégie unique attribuée aux données. Chaque copie est appelée un « univers ». Le moniteur garantit que les utilisateurs qui partagent la même politique ont leurs données téléchargées vers, et manipulé par, le même univers. Cette méthode permet au moniteur de terminer le code d'un univers, si ce code tente de violer la politique de données de l'univers.
Ce processus intègre un interprète personnalisé, un programme qui compile le langage de programmation en code qui est compris par un ordinateur. Les interprètes sont également utilisés pour aider les programmes d'exécution à implémenter des commandes de bas niveau dans un programme d'origine pendant son exécution. Les chercheurs ont modifié un interpréteur traditionnel pour extraire des politiques définies à partir des données utilisateur entrantes et étiqueter certaines variables avec une direction politique spécifique. Les étiquettes seront, par exemple, désignent des services Web sur liste blanche pour le partage de données ou restreignent le stockage persistant, ce qui signifie que les données ne peuvent pas être stockées lorsque l'utilisateur cesse d'utiliser le service Web.
"Dites que je veux que mes données soient agrégées avec d'autres utilisateurs. Ces données sont placées dans son propre univers avec d'autres données d'utilisateurs avec la même politique, " dit Wang. " Si un utilisateur ne veut partager aucune donnée avec qui que ce soit, alors cet utilisateur a son propre univers. Par ici, vous n'avez aucune pollinisation croisée des données."
Pour les développeurs, cela facilite grandement le respect du RGPD et d'autres lois sur la confidentialité, Wang dit, parce que les utilisateurs ont donné leur consentement explicite pour l'accès aux données. "Tous les utilisateurs de chaque univers ont les mêmes politiques, afin que vous puissiez effectuer toutes vos opérations sans vous soucier des données entrées dans un algorithme, parce que tout le monde a la même politique sur les données dans cet univers, " dit Wang.
Copie efficace
Dans le pire des cas, Wang dit, chaque utilisateur de chaque service aurait un univers distinct. Généralement, cela pourrait entraîner une surcharge de calcul importante et ralentir le service. Mais les chercheurs ont utilisé une technique relativement nouvelle, appelée « virtualisation basée sur les conteneurs, " qui permettent au moniteur Riverbed de créer plus efficacement plusieurs univers du même programme. En conséquence, la gestion des univers est rapide, même si un service a des centaines ou des milliers d'univers.
Dans leur papier, les chercheurs ont évalué Riverbed sur plusieurs applications, démontrant que la plate-forme sécurise les données avec peu de frais généraux. Les résultats montrent que plus de 1, 000 univers peuvent se faufiler sur un seul serveur, avec un calcul supplémentaire qui ralentit le service d'environ 10 pour cent. C'est assez rapide et efficace pour une utilisation dans le monde réel, dit Wang.
Les chercheurs envisagent les politiques comme étant rédigées par des groupes de défense des droits, tels que Electronic Frontier Foundation (EFF), un groupe international de droits numériques à but non lucratif. De nouvelles politiques peuvent être « introduites » dans un service géré par Riverbed à tout moment, ce qui signifie que les développeurs n'ont pas besoin de réécrire le code.