Securing Filesystems for Confidential Computing
L'article présente ShieldFS, un système de fichiers conforme à la norme POSIX qui garantit l'intégrité et la fraîcheur de bout en bout pour le stockage persistant dans les environnements d'informatique confidentielle en utilisant des engagements cryptographiques succincts et des arbres de Merkle pour détecter les attaques par rétrogradation et par falsification sans nécessiter de modifications d'applications ni de stockage de confiance.
Article original sous licence CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Ceci est une explication générée par l'IA de l'article ci-dessous. Elle n'a pas été rédigée ni approuvée par les auteurs. Pour une précision technique, consultez l'article original. Lire la clause de non-responsabilité complète
À l'ère numérique moderne, nous nous sommes habitués à l'idée que nos données sont en sécurité dans le cloud. Nous avons confiance dans le fait que lorsque nous enregistrons un fichier ou mettons à jour une base de données, il reste exactement tel que nous l'avons laissé, protégé des regards indiscrets et des pertes accidentelles. Cependant, une faille fondamentale a existé dans cette confiance. Bien que de nouvelles technologies appelées « informatique confidentielle » soient apparues pour verrouiller la mémoire où un ordinateur réfléchit activement, elles laissent le disque dur vulnérable. Imaginez un coffre-fort où l'intérieur est impénétrable, mais où le couloir menant à celui-ci est contrôlé par un étranger qui peut échanger vos documents, réécrire l'histoire ou remplacer votre version actuelle par une ancienne version sans que vous ne le sachiez jamais. C'est la réalité des applications fonctionnant dans des environnements sécurisés aujourd'hui : leurs calculs sont protégés, mais le stockage sur lequel elles s'appuient peut être manipulé par un fournisseur de cloud malveillant ou un administrateur système compromis.
Le défi consiste donc à construire un système qui protège les données sur le disque aussi farouchement que les données en mémoire, sans ralentir l'ordinateur ni forcer les programmeurs à réécrire leur logiciel. Une équipe de chercheurs de Microsoft Azure, de l'Imperial College London et d'autres institutions a abordé ce problème en créant une nouvelle façon de gérer le stockage de fichiers. Ils ont développé un système appelé SHIELDFS, qui agit comme un gardien pour les données persistantes, garantissant que ce qui est lu sur le disque est exactement ce qui a été écrit, et que personne n'a secrètement remonté le temps vers un état antérieur. Leur travail, implémenté sous la forme d'une version spécifique d'un système de fichiers open-source populaire appelé ZFS, démontre qu'il est possible de sécuriser le stockage contre même les attaquants les plus puissants tout en maintenant des vitesses presque identiques à celles des systèmes standards non sécurisés.
Le cœur du problème réside dans la manière dont les ordinateurs gèrent les données au fil du temps. Lorsqu'une application enregistre des informations, elle les écrit sur un disque. Dans un environnement sécurisé, la mémoire de l'ordinateur est verrouillée, mais le disque est souvent géré par le fournisseur de cloud. Un fournisseur malhonnête pourrait théoriquement enregistrer l'état d'un disque à un moment précis, puis, si l'application tente de mettre à jour ces données, le fournisseur pourrait simplement remplacer la nouvelle version par l'ancienne version enregistrée. Il s'agit d'une attaque par retour en arrière (rollback attack). L'application lirait alors les anciennes données, croyant qu'elles sont actuelles, ce qui entraînerait des erreurs, des pertes de transactions ou des bases de données corrompues. Les solutions existantes nécessitaient soit que le stockage lui-même soit digne de confiance (ce qui annule l'objectif de la sécurité du cloud), imposaient des pénalités de performance lourdes rendant les systèmes trop lents pour être utiles, ou forçaient les développeurs à intégrer des contrôles de sécurité personnalisés dans chaque application, un processus fastidieux et sujet aux erreurs.
Pour résoudre cela, les chercheurs ont conçu un système qui traite le système de fichiers lui-même comme une chaîne d'événements vérifiés. Au lieu de simplement stocker des fichiers, le système crée une « empreinte digitale » cryptographique pour chaque modification apportée aux données. Lorsqu'une donnée est écrite, le système calcule un code unique basé sur cette donnée et sur l'historique des changements précédents. Ce code est ensuite stocké aux côtés de la donnée. Crucialement, le système conserve également un enregistrement très restreint et sécurisé de la dernière empreinte valide dans un emplacement séparé et de confiance que l'attaquant ne peut pas toucher. Cet emplacement de confiance fait office de point de contrôle. Chaque fois que l'ordinateur redémarre ou tente de lire des données, il vérifie l'empreinte sur le disque par rapport à celle du point de contrôle de confiance. Si l'attaquant a échangé le disque avec une ancienne version ou a altéré les données, les empreintes ne correspondront pas, et le système saura immédiatement que quelque chose ne va pas, refusant de charger les données corrompues.
Les chercheurs ont construit une version fonctionnelle de ce système, qu'ils ont nommée SHIELDZFS, en étendant un système de fichiers existant et largement utilisé appelé ZFS. Ils n'ont pas eu besoin de modifier la façon fondamentale dont le système de fichiers organise les données sur le disque ; ils ont plutôt ajouté une couche de vérification qui s'exécute à l'intérieur de la mémoire sécurisée de l'ordinateur. Cette couche garantit que chaque fois qu'une donnée est écrite, un nouveau lien incassable est ajouté à la chaîne de l'histoire. Ils ont également créé un service léger, qu'ils appellent un « registre », qui s'exécute dans son propre environnement sécurisé pour détenir les dernières empreintes valides pour de nombreux systèmes de fichiers différents à la fois. Ce registre est conçu pour être rapide et fiable, capable de gérer des milliers de requêtes par seconde avec un délai de moins d'une milliseconde, garantissant que les contrôles de sécurité ne deviennent pas un goulot d'étranglement.
Pour tester leur création, l'équipe a mené une série d'expériences rigoureuses utilisant des benchmarks standards et des applications du monde réel, telles que des serveurs de bases de données et des serveurs de fichiers. Ils ont comparé leur système sécurisé à des systèmes de fichiers standards et à d'autres outils de sécurité. Les résultats ont montré que SHIELDZFS a détecté avec succès chaque type de manipulation qu'ils ont simulée, y compris les tentatives de retour en arrière des données, de rejeu de versions anciennes ou de création de copies conflictuelles du système de fichiers. En termes de vitesse, le système sécurisé s'est comporté de manière remarquable. Pour la plupart des tâches, il était presque aussi rapide que la version standard non sécurisée du système de fichiers. Dans les scénarios les plus exigeants, où les données devaient être écrites et confirmées instantanément, il était seulement environ 1,7 fois plus lent que la version standard, un compromis que beaucoup d'organisations soucieuses de la sécurité trouveraient acceptable. En revanche, d'autres méthodes de sécurité qu'ils ont testées étaient nettement plus lentes, parfois jusqu'à cinq fois plus lentes, ce qui les rendait impraticables pour les besoins de haute performance.
Les chercheurs ont également exploré comment ce système pourrait fonctionner aux côtés de logiciels existants qui possèdent déjà certaines fonctionnalités de sécurité. Ils ont découvert qu'en utilisant leur système sécurisé uniquement pour les parties les plus critiques d'une base de données — les journaux (logs) qui enregistrent les modifications — et en utilisant un système de fichiers standard plus rapide pour le reste des données, ils pouvaient obtenir le meilleur des deux mondes. Cette approche hybride leur a permis de maintenir une sécurité élevée pour les données les plus importantes tout en gardant le système global rapide et réactif. L'étude confirme qu'il est possible de construire un système de fichiers résilient face à un fournisseur de cloud malveillant sans nécessiter une refonte complète du logiciel qui l'utilise. En transformant le système de fichiers en une structure auto-vérifiable et en l'ancrant à un point de contrôle externe de confiance, les chercheurs ont fourni une voie pratique pour sécuriser les données dans le cloud, garantissant que ce qui est sauvegardé est exactement ce qui est récupéré, peu importe qui contrôle le matériel.
Noyé(e) sous les articles dans votre domaine ?
Recevez des digests quotidiens des articles les plus récents correspondant à vos mots-clés de recherche — avec des résumés techniques, dans votre langue.