CE39 - Sécurité Globale, Cybersécurité

protection de gateway IoT contre des menaces logicielles et sur les communications – TrustGW

Protection de gateway IoT contre des menaces logicielles et sur les communications

À l’heure de l’internet des objets, les systèmes embarqués communicants se répandent massivement dans des infrastructures critiques. Ils contribuent à un meilleur contrôle et une plus grande optimisation de ces dernières pour, à la fois augmenter leur efficacité, leur coût et leur usage, mais aussi répondre à des défis sociétaux. Malheureusement, ils participent malgré eux à l’augmentation de la surface d’attaque globale des systèmes d’information ce qui représente une menace sans précédent.

Le projet TrustGW vise à développer une architecture hétérogène logiciel-matériel de gateway reconfigurable dynamiquement et de confiance.

Dans le projet TrustGW, seules les attaques logicielles et provenant des liens de communication sont prises en compte. L’architecture de la gateway embarquant des processeurs mais également des accélérateurs matériels afin d’accroître les performances des différents services présents au sein des domaines d’exécution, l’hyperviseur doit être en mesure de partager ces ressources logicielles et matérielles et gérer la reconfiguration dynamique partielle de manière sécurisée (dans le cadre du projet, les bitstreams sont considérés déjà présents au sein de la gateway et stockés de façon sécurisée). Il doit également garantir le cloisonnement des machines virtuelles quelles que soient les ressources mises en oeuvre. Ce cloisonnement doit couvrir les ressources logicielles et matérielles afin de définir un espace d’exécution continu et de confiance. <br />Il faut également que l’exécution des applications soit sécurisée. En effet, la gateway peut être compromise via une attaque au niveau de ses applications visant à compromettre le système d’information (p. ex. extraction ou compromission d’information, élévation de privilège, action malveillante vis-à-vis d’un domaine d’exécution). Ces attaques peuvent aussi être mises en oeuvre via le lien de communication radio et viser à brouiller des communications (attaque DoS), modifier des paquets en vue de mettre en place une attaque DoS, ou tout autre attaque visant à compromettre l’infrastructure de communication.<br />Les attaques physiques et les attaques sur la micro-architecture des processeurs ne sont pas considérées, de même que les attaques sur l’architecture des composants reconfigurables (p. ex. les fuites d’information via des lignes de routage adjacentes au sein d’un FPGA). Ces attaques ne sont pas au coeur du projet TrustGW aussi elles ne constituent pas le modèle de menaces. Cependant, certaines des contributions développées apporteront des éléments de contre-mesures contre ces attaques (p. ex. par la mise en place d’enclaves exclusives).<br /><br />Pour adresser ce modèle de menaces trois principaux défis scientifiques sont au coeur du projet TrustGW :<br />- C1 : Concevoir une architecture de gateway hétérogène logiciel-matériel, de confiance et reconfigurable dynamiquement ;<br />- C2 : Proposer un hyperviseur de confiance permettant de déployer des machines virtuelles sur une architecture hétérogène logiciel-matériel avec une virtualisation des ressources ;<br />- C3 : Garantir la sécurité des applications au sein des machines virtuelles.

Dans le projet TrustGW, nous considérons une architecture générique composée de deux processeurs (bande de base et applicatif) et d’un composant FPGA. Les hyperviseurs permettent de virtualiser ces ressources et de les allouer aux différentes machines virtuelles. Le processeur applicatif permet d’exécuter des systèmes de type Linux et des applications qui traitent localement les données issues des noeuds IoT. Ces applications sont typiquement
développées dans un langage de haut niveau tel que le C/C++. Toutefois, afin d’accélérer certains traitements (typiquement des algorithmes de machine learning ou de traitements sur des flux vidéo), une partie des calculs peut être déportée sur le FPGA. Différentes approches peuvent être adoptées pour le développement de ces applications mais la tendance est d’utiliser des approches du type High-Level Synthesis pour lesquelles l’application est développée dans un langage de haut-niveau (p. ex. en langage C). À partir d’un code source, ces approches génèrent automatiquement un circuit matériel qui implémente tout ou partie de l’algorithme.

Le défi C1 (Challenge 1), consiste à proposer une architecture de gateway de confiance. Pour cela, l’extension du jeu d’instructions du processeur RISC-V est ciblée afin d’adapter son architecture aux besoins applicatifs et aux menaces considérées. Dans le cadre du défi C1, nous nous intéressons principalement à la sécurisation du processeur bande de base afin de proposer des contre-mesures vis-à-vis des attaques sur les communications.

Le défi C2 (Challenge 2) s’inscrit dans le cadre de la virtualisation des fonctions réseau (NFV) et/ou d’applications type Edge Computing avec, comme particularité, le déploiement de machines virtuelles cloisonnées et sécurisées sur une architecture hétérogène et reconfigurable dynamiquement. Dans ce cadre, il est nécessaire de partager certaines ressources reconfigurables ou non entre les machines virtuelles, de manière sécurisée. L’hyperviseur Ker-ONE, permettant de gérer des ressources logicielles et matérielles reconfigurables, est pressenti afin de proposer des mécanismes flexibles et sûrs offrant une protection et une confiance aux domaines d’exécution. Cette approche s’appuie sur une solution open-source permettant son audit.

Le défi C3 (Challenge 3) concerne la sécurisation des applications exécutées sur le processeur applicatif. Nous souhaitons nous prémunir contre les attaques exploitants des vulnérabilités présentes dans ces applications. Il s’agit de garantir des propriétés de confidentialité et d’intégrité afin d’offrir un environnement de confiance aux différents
domaines d’exécution. En effet, un grand nombre d’attaques logicielles existent et les contre-mesures disponibles restent insuffisantes pour des architectures hétérogènes logiciel-matériel. Il est donc indispensable de proposer des solutions de protection matérielles performantes et couvrant une large gamme de menaces logicielles.

Le projet TrustGW adresse un enjeu croissant dans le domaine des infrastructures IoT en proposant une architecture de gateway hétérogène, générique et sécurisée pouvant héberger plusieurs domaines d’exécution isolés accédant à des ressources partagées. L’approche proposée vise à établir une chaîne de confiance allant de la protection du lien de communication jusqu’à la protection des applications. Les développements réalisés seront open-source afin de garantir leur audit et faciliter leur transfert vers des acteurs privés.

Prochainement renseigné.

Prochainement renseigné.

À l’heure de l’internet des objets, les systèmes embarqués communicants se répandent massivement dans des infrastructures critiques. Ils contribuent à un meilleur contrôle et une plus grande optimisation de ces dernières pour, à la fois augmenter leur efficacité, leur coût et leur usage, mais aussi répondre à des défis sociétaux. Malheureusement, ils participent malgré eux à l’augmentation de la surface d’attaque globale des systèmes d’information ce qui représente une menace sans précédent.

Il est donc essentiel de garantir le meilleur niveau de protection pour de tels systèmes qui manipulent des données sensibles ou secrètes. En effet, du fait de leur connectivité, ils font face à de nombreuses menaces logicielles et matérielles. Dans le cadre du projet TrustGW, le système considéré est composé d'objets connectés à une gateway qui, elle-même, est connectée à un ou plusieurs serveurs de calculs. Selon un rapport de l'ENISA, 43\% des traitements liés à l'internet des objets seront effectués au niveau de la gateway en 2021. Les objets connectés (nœuds IoT) transmettent et reçoivent des données de la gateway. Chaque nœud communique potentiellement avec une forme d’onde différente (p. ex. LoRaWan et Bluetooth). En effet, la multiplication des formes d’ondes limite la généralisation d’une forme d’onde unique pour toutes les communications au sein de ce type d’infrastructure. La gateway doit donc être en mesure de supporter des formes d’ondes différentes et de façon dynamique.

L’architecture de la gateway, qui est au cœur du projet, est hétérogène (logicielle-matérielle), composée d'un processeur bande de base (BBP), d'un processeur applicatif (GPP) et d’accélérateurs matériels implémentés sur un FPGA. Ces derniers sont déployés dynamiquement en fonction des besoins d'accélération des applications à un instant donné. La reconfiguration dynamique permet dont de spécialiser la gateway en cours d'exécution. Les ressources FPGA sont virtualisées afin d'avoir une vue uniforme du point de vue des applications. Ce type d’architecture permet d’atteindre les niveaux de performance requis tout en respectant les contraintes de consommation indispensables au domaine visé. La gateway embarque plusieurs machines virtuelles afin de pouvoir déployer les services des différents domaines d'exécution qu'elle héberge et cela de façon cloisonnée. Ces machines virtuelles partagent certaines ressources de calculs (processeur et FPGA) et de mémorisation pour des raisons de coût des infrastructures, de maintenance et d'uniformisation des architectures mises en oeuvre. Néanmoins, certaines ressources doivent être exclusives en fonction des services disponibles au sein d'un domaine d'exécution. Les hyperviseurs permettent de déployer les machines virtuelles et d'assurer leur isolation.

Le projet TrustGW vise donc à développer une architecture hétérogène logiciel-matériel de gateway reconfigurable dynamiquement et de confiance. La mise en œuvre d'une telle architecture garantissant des propriétés de confidentialité, d'intégrité, de disponibilité, et d'authentification est originale. Dans le cadre du projet TrustGW trois principaux défis scientifiques sont adressés :
- Concevoir une architecture de gateway hétérogène logiciel-matériel, de confiance et reconfigurable dynamiquement ;
- Proposer un hyperviseur de confiance permettant de déployer des machines virtuelles sur une architecture hétérogène logiciel-matériel avec une virtualisation des ressources ;
- Garantir la sécurité des applications au sein des machines virtuelles.

Coordination du projet

Guy GOGNIAT (Laboratoire des Sciences et Techniques de l'Information, de la Communication et de la Connaissance)

L'auteur de ce résumé est le coordinateur du projet, qui est responsable du contenu de ce résumé. L'ANR décline par conséquent toute responsabilité quant à son contenu.

Partenaire

Lab-STICC Laboratoire des Sciences et Techniques de l'Information, de la Communication et de la Connaissance
IRISA Institut de Recherche en Informatique et Systèmes Aléatoires
IETR Institut d'Electronique et des Technologies du numéRique (IETR)

Aide de l'ANR 465 752 euros
Début et durée du projet scientifique : - 42 Mois

Liens utiles

Explorez notre base de projets financés

 

 

L’ANR met à disposition ses jeux de données sur les projets, cliquez ici pour en savoir plus.

Inscrivez-vous à notre newsletter
pour recevoir nos actualités
S'inscrire à notre newsletter