Projet de recherche doctoral numero :3487

Description

Date depot: 1 janvier 1900
Titre: Protection des bus et des mémoires dans les systèmes embarqués - Aspects matériels
Encadrant : Guillaume DUC (LTCI (EDMH))
Directeur de thèse: Renaud PACALET (LTCI (EDMH))
Domaine scientifique: Sciences et technologies de l'information et de la communication
Thématique CNRS : Non defini

Resumé: {{Contexte}} Certains systèmes embarqués manipulent des informations sensibles. Un intrus accédant physiquement à ces systèmes peut ainsi obtenir des bénéfices s’il parvient à extraire ou à manipuler ces informations. On peut citer l’exemple d’une carte de crédit volée ou d’une machine de codage militaire qui tomberait dans les mains d’un pays ennemi, etc. Dans le passé, de nombreuses menaces visant les systèmes embarqués ont été étudiées. Elles visent plusieurs cibles : les composants de calcul eux-mêmes (cas par exemple des attaques par canaux auxiliaires (SCA [6, 5]), des injections de faute [1], de la rétro-conception, etc.), le système (espionnage ou injections sur les bus de communication ou les contenus de mémoires, etc.) ou la partie logicielle (exploitation de failles dans le système d’exploitation ou les applications, etc.). L’objectif commun de ces attaques est d’extraire des informations sensibles ou de perturber le bon fonctionnement du système embarqué. La thèse vise à se protéger des attaques sur carte électronique contre le bus de communication entre le ou les composants (processeurs, SoC, mémoires,...) d’un système embarqué. Toutes ces communications peuvent être protégées en logiciel grâce aux techniques classiques de cryptographie, sauf le bus de communication entre un micro-processeur et sa mémoire externe. Un adversaire qui parvient à espionner ce bus peut récupérer le code exécuté et les données manipulées, et obtenir ainsi de l’information potentiellement sensible. Il est également en mesure de modifier les informations qui transitent sur le bus ou le contenu des mémoires externes et perturber le bon fonctionnement du système. Par exemple, le mécanisme original de protection empêchant de modifier le système d’exploitation de la console de jeu X-Box a été révélé puis attaqué grâce à l’espionnage du bus du processeur de la console [4]. Différentes architectures ont été proposées par le passé pour tenter de résoudre ces problèmes. Elles se divisent en deux grandes catégories : celles qui imposent des modifications intrusives dans le cœur même du processeur mais qui n’ont pas besoin d’un système d’exploitation digne de confiance (comme par exemple les architectures Aegis [10], Xom [7] et CryptoPage [3, 2]), et celles qui s’intercalent simplement entre le processeur et son bus mémoire, sans toucher au cœur, mais qui nécessitent un système d’exploitation digne de confiance (comme par exemple l’architecture SecBus [9, 8]). Ces architectures visent à garantir la confidentialité et l’intégrité de tout ou partie du code et des données d’un ou plusieurs processus du système. La propriété de confidentialité, généralement basée sur une technique de chiffrement, limite la quantité d’information qu'un adversaire peut obtenir en espionnant le bus mémoire. L’intégrité, qui repose généralement sur des fonctions de hashage ou équivalent, permet au système de détecter les modifications illégales des données protégées et de prendre les contremesures nécessaires. {{Objectif de la Thèse}} L’objectif de cette thèse est de proposer une architecture de système embarqué robuste face aux attaques sur le bus de communication. Ces travaux s’appuient sur un principe d’architecture dénommé SecBus [9, 8]. SecBus vise à garantir la confidentialité et l’intégrité de tout ou partie du code et des données d’un ou plusieurs processus en présence d’un adversaire qui aurait un contrôle total sur le bus mémoire et sur la mémoire d’un système embarqué. Les systèmes embarqués visés sont ceux basés sur une architecture de type SoC (System on Chip) comme les consoles de jeu, les set-top-boxes, les lecteurs multimédias, les 'box' Internet, etc. Les aspects logiciels ne sont pas exclus mais l'accent sera mis sur la partie matérielle. Un module cryptographique est ajouté, au sein du SoC entre le processeur et le contrôleur mémoire. Ce module est chargé du chiffrement et de la protection de l’intégrité des données en provenance ou à destination du monde extérieur (bus et mémoire). Ce module matériel est configuré par un module logiciel (intégré à l’OS) pour permettre une protection flexible à grain fin. Trois axes seront particulièrement étudiés : Le premier axe concerne la réduction de la dépendance à un système d’exploitation (OS) digne de confiance. L'architecture SecBus nécessite un système d’exploitation digne de confiance, qui configure et pilote le module matériel. La robustesse de l'ensemble est donc dépendante de la robustesse de l'OS ; si un adversaire parvient à exploiter une faille logicielle de l'OS et à prendre le contrôle du système d’exploitation, il peut désactiver toutes les fonctions de sécurité. Il est donc nécessaire de démarrer l'OS de façon sécurisée, de maintenir son intégrité tout au long de la durée de vie du système et de garantir que l'OS est exempt de failles. Pour réduire cette contrainte forte on étudiera la possibilité de diminuer, voire même de supprimer totalement

Doctorant.e: Ouaarab Salaheddine