Projet Keystone: environnement sécurisé pour l'exécution d'applications basées sur RISC-V

Une équipe de chercheurs du MIT et de l'Université de Californie à Berkeley avec le soutien de Facebook, Google, Microsoft et d'autres géants de l'informatique a présenté le projet Keystone . Il s'agit d'un composant open source qui vous permet d'organiser un environnement sécurisé pour l'exécution de programmes (environnement d'exécution sécurisé, TEE ) basé sur l'architecture RISC-V.

Ensuite - pourquoi une solution était nécessaire et comment elle fonctionne.


/ photo Wikimedia CC

Pourquoi Keystone


L'environnement d'exécution de confiance est une zone isolée (enclave) du processeur principal avec un ensemble de mécanismes de sécurité. On pense que le code et les données chargés dans cette zone sont protégés de manière fiable contre les changements et les interférences extérieures.

L'idée est que dans ces enclaves, vous pouvez effectuer des opérations sur des données personnelles et confidentielles sans crainte de compromis, car ni le système d'exploitation ni les autres applications n'ont accès à ces zones du processeur.

Il existe sur le marché des systèmes et des solutions qui protègent les données au niveau du fer. Cependant, ils sont tous propriétaires, car ils sont mis en œuvre par les fabricants de puces informatiques eux-mêmes. Et il y a une opinion que ces technologies ne sont pas bien protégées (car elles ne sont pas disponibles pour évaluation par des experts indépendants en sécurité de l'information).

Par exemple, Intel propose l' extension d' architecture Software Guard Extensions (SGX), qui protège les données contre les accès et les modifications non autorisés. Cette technologie implique également des enclaves dans lesquelles le code d'application utilisateur est exécuté. Cependant, il est récemment devenu connu que ce système est vulnérable à une attaque Foreshadow ( CVE-2018-3615 ). Les attaquants peuvent accéder aux données de l'enclave SGX en utilisant les fonctionnalités d' exécution spéculative des commandes .

En plus d'Intel, AMD propose leurs solutions - leurs noms sont Secure Processor et SEV, ainsi que ARM - ils ont TrustZone. Cependant, les experts en sécurité ont également des questions pour leur sécurité .

Selon des chercheurs du MIT et de l'Université de Californie, le système open source, bien qu'il ne rende pas les enclaves invulnérables, augmentera néanmoins leur sécurité grâce à l'expertise de nombreux experts communautaires.


/ photo Brad Holt CC

Ainsi, le système Keystone est un projet open source basé sur l'architecture RISC-V pour la construction de TEE. Les chercheurs ont choisi RISC-V car il est moins vulnérable aux attaques via des canaux tiers visant à la mise en œuvre pratique des cryptosystèmes. En particulier, ce type d'architecture n'est pas affecté par des vulnérabilités comme Meltdown et Spectre.

Les développeurs Keystone ont fixé les objectifs suivants :

  • Construire une chaîne de confiance pour vérifier chaque composant du matériel et des logiciels (cela inclut les systèmes de démarrage sécurisé et la vérification à distance de la fiabilité du matériel);
  • Isolez la mémoire des interférences extérieures;
  • Mettre en œuvre des méthodes de protection contre les attaques sur les canaux tiers;
  • Implémentez des méthodes de chiffrement pour la mémoire et le bus d'adresses.

Composants de la solution


Le concept de Keystone est basé sur la technologie SGX et la plate-forme d'enclave du processeur Sanctum développée au MIT .

Ce dernier est construit en utilisant la couche dite d' abstraction de confiance, ou plateforme abstraite de confiance (TAP). La plate-forme (TAP) se compose d'un processeur avec un compteur de commandes , de registres généraux , d'un système de traduction d'adresses virtuelles et d'un ensemble de primitives pour exécuter du code dans une enclave sécurisée.

Du système SGX, Keystone a «pris» le moteur de chiffrement de la mémoire (Memory Encryption Engine, MEE). Le cœur de la solution est organisé à l'aide du processeur paramétré RISC-V BOOM (Berkeley Out-of-Order Machine) sur le générateur Rocket SoC .

De manière générale, le schéma d'implémentation d'un système avec une enclave sur RISC-V est le suivant:


Les chercheurs ont déjà effectué plusieurs tests de leur solution et ont constaté qu'elle isole de manière fiable l'environnement d'exécution du code et le protège des interférences extérieures (au moins des attaques connues).

Quand libérer


La première version - Keystone v0.1 - paraîtra cet automne et sera réalisée sur FPGA. Les chercheurs prennent vie qu'à l'avenir, il sera en mesure de remplacer SGX dans la mise en œuvre des plateformes de blockchain.



Ressources supplémentaires PS du premier blog IaaS d'entreprise:


PPS Quelques articles de notre blog sur Habré:

Source: https://habr.com/ru/post/fr423777/


All Articles