Taxonomie et état de l’art de lutte contre les CTMs

Comme nous l’avons mentionné auparavant, la fabrication des CIs dans des fonderies situées dans des pays à bas coût, le recours à des blocs IP conçus dans des entreprises tierces ainsi que la multitude d’outils de CAO, soulèvent des questions sur la confiance que l’on peut attribuer aux CIs. En effet, un CTM peut être inséré durant durant la fabrication, ou dans un IP. Différentes applications peuvent être affectées par un CTM [WTP08] :
• Applications militaires : les systèmes de contrôle d’armes, les systèmes de communications, les systèmes de collecte d’informations, etc.
• Applications aéronautiques et spatiales : systèmes électroniques embarqués dans les navettes, les satellites, les avions, etc.
• Applications civiles critiques : systèmes de gestion d’informations commerciales confidentielles (banques, bourses, etc.), systèmes de gestion d’informations personnelles confidentielles (dossier médical, dossier financier, etc.).
• Applications courantes : tout système électronique qui gère des informations confidentielles.
• Intellectual Property (IP) destiné à la sécurité : les vendeurs de CI sans unité de fabrication, les vendeurs d’IP.
• Les moyens de transports : systèmes d’alerte, système de gestion d’informations sécurisées, etc.

Dans [Ade08; AK08; KTC+08], quelques mésaventures militaires sont mentionnées, que l’on soupçonne d’être dues à la présence d’un CTM. C’est pourquoi, des industriels ainsi que des universitaires ont proposé une classification et des méthodes permettant de lutter contre les CTMs. Dans ce chapitre, nous donnerons les caractéristiques des CTMs et ferons un état de l’art des méthodes de détection et de prévention des CTMs.

Taxonomie des CTMs

Définition de Cheval de Troie Matériel

Dans la littérature, un CTM est défini comme une altération intentionnelle d’un circuit intégré dans le but de modifier ses caractéristiques [WTP08; BHBN14a]. Un CTM est furtif par nature (c’est à dire qu’il se déclenche très rarement) et peut modifier certaines fonctionnalités du circuit. Un CTM est constitué de deux parties distinctes : • Le trigger : Mécanisme d’activation du CTM.
• La payload : Matérialisation de l’effet du CTM sur le circuit lorsqu’il est déclenché.

Caractéristiques d’un CTM

Les CTMs sont classés dans la littérature suivant leurs caractéristiques physiques, les caractéristiques du mécanisme d’activation (le trigger) et les caractéristiques du mécanisme d’action (la payload).

Caractéristiques physiques
Les caractéristiques physiques d’un CTM peuvent être décomposées en quatre catégories :

Le type
Il y a deux types de CTM, paramétrique et fonctionnel. Un CTM fonctionnel est obtenu en ajoutant ou en supprimant de la logique dans le but de modifier la fonctionnalité du circuit. Á l’inverse un CTM paramétrique est conçu de façon à compromettre la fiabilité ou augmenter la probabilité d’un défaut fonctionnel (par une modification de la géométrie du layout par exemple).

La taille
Elle dépend du nombre de composants ajoutés ou supprimés pour créer le CTM. La taille peut être un facteur important pendant l’activation. Un petit CTM a une probabilité plus élevée d’être activé qu’un CTM de grande taille avec un nombre d’entrées plus important.

La distribution
Elle décrit la localisation du CTM dans le layout. Par exemple, une distribution serrée signifie que les composants du CTM sont proches sur le layout. Par contre une distribution relâchée signifie que les composants sont dispersés dans le layout. La distribution des CTMs dépend des espaces vides dans le layout, ainsi l’attaquant peut être contraint de placer et router des petites portions du CTM dans différents espaces vides du layout.

La structure
Si l’attaquant modifie le layout pour insérer son CTM, cela peut entraîner un placement différent des composants du circuit, voire même modifier ses dimensions. Toute modification du layout peut modifier le délai ou la consommation et rendre plus facile la détection du CTM. Dans le but de minimiser la probabilité de détection du CTM, l’attaquant choisira un encombrement faible avec un CTM de petite taille.

Caractéristiques d’activation (Trigger)
Un attaquant, cherchera à rendre l’activation du CTM très difficile pour éviter une détection pendant la phase de test. De ce fait l’activation du CTM peut être considérée comme un « événement rare » d’un point de vue statistique. L’utilisation du terme « furtif » décrit le mieux ce phénomène. Il existe deux types de triggers, les triggers combinatoires et les triggers séquentiels.

Caractéristiques d’action (Payload)
Une classification des différentes catégories. On distingue les trois catégories suivantes :

• Modification de fonction : désigne les CTMs qui ont pour effet de modifier la fonction logique du circuit.

• Modification de spécification : désigne les CTMs qui ont pour effet de modifier les propriétés paramétriques du circuit telles que le délai ou la consommation. Cette catégorie peut être considérée comme du sabotage, car entraînant une dégradation de performances de circuit.

• Transmission d’informations : désigne les CTMs qui ont pour effet de faire fuir des informations capitales du circuit.

Au niveau IP
En général les blocs IP sont classés en trois catégories [TSZ14] :
• Les IPs « soft » sont décrits en VHDL ou Verilog et sont plus flexibles.
• Les IPs « firm » sont synthétisés avec une librairie spécifique.
• Les IPs « hard » sont fournis sous forme de GDSII.
Un CI peut être composé de plusieurs blocs IPs d’origines diverses. Ainsi, un CTM peut être inséré dans un bloc IP par le concepteur dans le but d’espionner les autres blocs IPs du CI. La détection de tels CTMs est très difficile car un modèle de référence n’est pas disponible. Ainsi les méthodes de détection consistent à vérifier les propriétés de l’IP et la fiabilité du code source [BHBN14b]. Dans [BH10], les auteurs proposent une méthode pour détecter et isoler un CTM furtif dans un bloc IP. Le principe de cette méthode repose sur quatre étapes :
• La première étape consiste à utiliser des vecteurs fonctionnels (vecteurs de test, vecteurs aléatoires, vecteurs de validation) pour activer et observer autant de signaux que possible du circuit suspect. Les signaux non activés par les vecteurs fonctionnels sont considérés comme des candidats suspects.
• Une fois les signaux facilement contrôlables éliminés dans l’étape précédente, un ATPG est utilisé pour filtrer les signaux restants. Les signaux non testables et non observables sont retirés de la liste des candidats suspects.
• La troisième étape consiste à faire une vérification d’équivalence (equivalence checking) en utilisant un SAT pour trouver un comportement anormal entre l’IP suspect et l’IP sain. La vérification d’équivalence consiste à comparer deux circuits structurellement différents pour assurer qu’ils sont fonctionnellement identiques. Les deux circuits reçoivent les mêmes vecteurs à leurs entrées primaires. Les sorties primaires des deux circuits sont connectées à une porte XOR et les sorties des portes XOR sont connectées à une porte OR pour dériver la sortie finale. Pour un vecteur donné, si les sorties diffèrent, la sortie de la porte OR sera ’1’, ce qui indique que les deux circuits sont fonctionnellement différents. Si le SAT donne UNSAT, cela signifie que les deux circuits sont différents.
• L’étape finale permet d’isoler les régions infectées par le CTM. Chaque région est caractérisée par une porte et un rayon. Le rayon définit l’étendue de la portion de circuit couverte par la région. Chaque signal suspect est associé à la porte à laquelle il est connecté. Puisque le nombre de ces portes est petit, le nombre de régions est aussi petit. Le rayon de chaque région est progressivement élargi pour contenir toutes les portes dans la liste de candidats suspects. Le but est de trouver un petit nombre de portes susceptibles d’être les supports du CTM. Les résultats montrent que cette méthode est très efficace pour identifier un bloc IP altéré et isoler la partie du circuit contenant les portes du CTM. Cependant, cette méthode nécessite un bloc IP de référence pour faire la vérification d’équivalence.

Table des matières

1 Introduction générale
1.1 Technologie CMOS
1.2 Transistor MOS
1.3 Du transistor MOS aux cellules standards
1.4 Flot de conception VLSI
1.5 Étapes vulnérables du le flot VLSI
1.6 Menaces potentielles
1.7 Confiance matérielle
1.8 Contributions de cette thèse
1.9 Références
2 Taxonomie et état de l’art de lutte contre les CTMs
2.1 Introduction
2.2 Taxonomie des CTMs
2.3 Méthodes de détection
2.4 Méthodes de prévention
2.5 Conclusion
2.6 Références
3 Implémentations de CTMs dans l’AES et le LEON2
3.1 Introduction
3.2 Implémentation dans l’AES
3.3 Implémentation dans le processeur LEON2
3.4 Conclusion
3.5 Références
4 Détection de CTMs en phase de test
4.1 Introduction
4.2 Étude Bibliographique
4.3 Approche de détection proposée
4.4 Sélection de signaux « rares »
4.5 Regroupement et réduction du nombre de signaux
4.6 Condition rare à partir de signaux non rares
4.7 Génération des vecteurs de déclenchement
4.8 Résultats
4.9 Conclusion
4.10 Références
5 Détection de CTMs en-ligne par duplication
5.1 Introduction
5.2 Étude bibliographique
5.3 Approche
5.4 Analyse d’attaque
5.5 Durcissement du système de monitoring
5.6 Résultats
5.7 Conclusion
5.8 Références
6 Prévention d’insertion de CTM par remplissage du layout
6.1 Introduction
6.2 Étude bibliographique
6.3 Approche
6.4 Résultats
6.5 Conclusion
6.6 Références
7 Prévention d’insertion de CTM par insertion de points de test
7.1 Introduction
7.2 Étude bibliographique
7.3 Approche proposée
7.4 Flot global
7.5 Résultats
7.6 Conclusion
7.7 Références
8 Conclusions générale

Cours gratuitTélécharger le document complet

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *