Banc d'expérimentations pour les Hardware Trojans - Crypto...
Transcript of Banc d'expérimentations pour les Hardware Trojans - Crypto...
![Page 1: Banc d'expérimentations pour les Hardware Trojans - Crypto ...iml.univ-mrs.fr/ati/crypto_puces/2013/slide/Francq.pdfCasd’étude 8 5 wall FPGA LED1 LED2 code lock unlock I0 I1 O1](https://reader033.fdocument.pub/reader033/viewer/2022041806/5e544a6a95ebaf6da824deea/html5/thumbnails/1.jpg)
DEFENDING WORLD SECURITY
Banc d’expérimentations pour lesHardware Trojans - Crypto’Puces 2013Julien FRANCQ, Florian FRICK
28/05/2013
![Page 2: Banc d'expérimentations pour les Hardware Trojans - Crypto ...iml.univ-mrs.fr/ati/crypto_puces/2013/slide/Francq.pdfCasd’étude 8 5 wall FPGA LED1 LED2 code lock unlock I0 I1 O1](https://reader033.fdocument.pub/reader033/viewer/2022041806/5e544a6a95ebaf6da824deea/html5/thumbnails/2.jpg)
Introduction aux Hardware Trojans et à HOMERE
Construction d’un banc d’expérimentationsNos objectifsUtilisation de SASEBOComment déclencher un HT ?Analyse par canaux auxiliairesScenarii de tests
Présentation d’un cas d’étude : contrôle d’accèsPrésentationInjecter/tester un HT combinatoireAutres Hardware Trojans
Conclusion et perspectives
c©2012 CASSIDIAN CYBERSECURITY - All rights reserved
Banc pour Hardware Trojans | Julien FRANCQ, Florian FRICK | 28/05/2013 | Page 2 / 43
![Page 3: Banc d'expérimentations pour les Hardware Trojans - Crypto ...iml.univ-mrs.fr/ati/crypto_puces/2013/slide/Francq.pdfCasd’étude 8 5 wall FPGA LED1 LED2 code lock unlock I0 I1 O1](https://reader033.fdocument.pub/reader033/viewer/2022041806/5e544a6a95ebaf6da824deea/html5/thumbnails/3.jpg)
Introduction aux Hardware Trojans et à HOMERE
Construction d’un banc d’expérimentationsNos objectifsUtilisation de SASEBOComment déclencher un HT ?Analyse par canaux auxiliairesScenarii de tests
Présentation d’un cas d’étude : contrôle d’accèsPrésentationInjecter/tester un HT combinatoireAutres Hardware Trojans
Conclusion et perspectives
c©2012 CASSIDIAN CYBERSECURITY - All rights reserved
Banc pour Hardware Trojans | Julien FRANCQ, Florian FRICK | 28/05/2013 | Page 3 / 43
![Page 4: Banc d'expérimentations pour les Hardware Trojans - Crypto ...iml.univ-mrs.fr/ati/crypto_puces/2013/slide/Francq.pdfCasd’étude 8 5 wall FPGA LED1 LED2 code lock unlock I0 I1 O1](https://reader033.fdocument.pub/reader033/viewer/2022041806/5e544a6a95ebaf6da824deea/html5/thumbnails/4.jpg)
Hardware Trojan (HT)
Modification frauduleuse d’un circuit intégré à n’importe quelleétape de sa fabrication
c©2012 CASSIDIAN CYBERSECURITY - All rights reserved
Banc pour Hardware Trojans | Julien FRANCQ, Florian FRICK | 28/05/2013 | Page 4 / 43
![Page 5: Banc d'expérimentations pour les Hardware Trojans - Crypto ...iml.univ-mrs.fr/ati/crypto_puces/2013/slide/Francq.pdfCasd’étude 8 5 wall FPGA LED1 LED2 code lock unlock I0 I1 O1](https://reader033.fdocument.pub/reader033/viewer/2022041806/5e544a6a95ebaf6da824deea/html5/thumbnails/5.jpg)
Contexte
Délocalisation de la fabrication des circuits intégrésDifficile d’assurer la confiance
c©2012 CASSIDIAN CYBERSECURITY - All rights reserved
Banc pour Hardware Trojans | Julien FRANCQ, Florian FRICK | 28/05/2013 | Page 5 / 43
![Page 6: Banc d'expérimentations pour les Hardware Trojans - Crypto ...iml.univ-mrs.fr/ati/crypto_puces/2013/slide/Francq.pdfCasd’étude 8 5 wall FPGA LED1 LED2 code lock unlock I0 I1 O1](https://reader033.fdocument.pub/reader033/viewer/2022041806/5e544a6a95ebaf6da824deea/html5/thumbnails/6.jpg)
Les partenaires du projet HOMERE
FUI14 (2012-2015) : projet HOMERE (Hardware trOjans :Menaces et robustEsse des ciRcuits intEgrés)Grands groupes
Cassidian CyberSecurity, GemaltoPME
Secure-ICAcadémiques
ARMINES, CEA-LETI, LIRMM, Télécom ParisTechGouvernemental
ANSSI, (DGA)
c©2012 CASSIDIAN CYBERSECURITY - All rights reserved
Banc pour Hardware Trojans | Julien FRANCQ, Florian FRICK | 28/05/2013 | Page 6 / 43
![Page 7: Banc d'expérimentations pour les Hardware Trojans - Crypto ...iml.univ-mrs.fr/ati/crypto_puces/2013/slide/Francq.pdfCasd’étude 8 5 wall FPGA LED1 LED2 code lock unlock I0 I1 O1](https://reader033.fdocument.pub/reader033/viewer/2022041806/5e544a6a95ebaf6da824deea/html5/thumbnails/7.jpg)
Méthodes de détection dans HOMERE
Aucune méthode n’est pleinement satisfaisante aujourd’hui
c©2012 CASSIDIAN CYBERSECURITY - All rights reserved
Banc pour Hardware Trojans | Julien FRANCQ, Florian FRICK | 28/05/2013 | Page 7 / 43
![Page 8: Banc d'expérimentations pour les Hardware Trojans - Crypto ...iml.univ-mrs.fr/ati/crypto_puces/2013/slide/Francq.pdfCasd’étude 8 5 wall FPGA LED1 LED2 code lock unlock I0 I1 O1](https://reader033.fdocument.pub/reader033/viewer/2022041806/5e544a6a95ebaf6da824deea/html5/thumbnails/8.jpg)
Introduction aux Hardware Trojans et à HOMERE
Construction d’un banc d’expérimentationsNos objectifsUtilisation de SASEBOComment déclencher un HT ?Analyse par canaux auxiliairesScenarii de tests
Présentation d’un cas d’étude : contrôle d’accèsPrésentationInjecter/tester un HT combinatoireAutres Hardware Trojans
Conclusion et perspectives
c©2012 CASSIDIAN CYBERSECURITY - All rights reserved
Banc pour Hardware Trojans | Julien FRANCQ, Florian FRICK | 28/05/2013 | Page 8 / 43
![Page 9: Banc d'expérimentations pour les Hardware Trojans - Crypto ...iml.univ-mrs.fr/ati/crypto_puces/2013/slide/Francq.pdfCasd’étude 8 5 wall FPGA LED1 LED2 code lock unlock I0 I1 O1](https://reader033.fdocument.pub/reader033/viewer/2022041806/5e544a6a95ebaf6da824deea/html5/thumbnails/9.jpg)
Nos objectifs
On veut pouvoir :Comprendre le processus de développement d’un HT,Liste de HTs candidats,Implanter ces HTs,Vérifier que les HTs insérés peuvent être déclenchés.
On veut un banc d’analyse par canaux auxiliaires :le plus générique possible,permettant de tester différents circuits......infectés par différents HTs,utiliser différentes méthodes statistiques.
Side-chAnnel Standard Evaluation BOard (SASEBO)
c©2012 CASSIDIAN CYBERSECURITY - All rights reserved
Banc pour Hardware Trojans | Julien FRANCQ, Florian FRICK | 28/05/2013 | Page 9 / 43
![Page 10: Banc d'expérimentations pour les Hardware Trojans - Crypto ...iml.univ-mrs.fr/ati/crypto_puces/2013/slide/Francq.pdfCasd’étude 8 5 wall FPGA LED1 LED2 code lock unlock I0 I1 O1](https://reader033.fdocument.pub/reader033/viewer/2022041806/5e544a6a95ebaf6da824deea/html5/thumbnails/10.jpg)
Vue d’ensemble de SASEBO
Ethernet
USB
CUT
FPGA
CTRL
FPGA
SASEBO Board
TriggerSignal
2 FPGAs :1 pour le circuit testé (Circuit Under Test, CUT),1 pour le contrôle (utilisable pour différents CUTs).
Connection USB entre le PC et SASEBO
c©2012 CASSIDIAN CYBERSECURITY - All rights reserved
Banc pour Hardware Trojans | Julien FRANCQ, Florian FRICK | 28/05/2013 | Page 10 / 43
![Page 11: Banc d'expérimentations pour les Hardware Trojans - Crypto ...iml.univ-mrs.fr/ati/crypto_puces/2013/slide/Francq.pdfCasd’étude 8 5 wall FPGA LED1 LED2 code lock unlock I0 I1 O1](https://reader033.fdocument.pub/reader033/viewer/2022041806/5e544a6a95ebaf6da824deea/html5/thumbnails/11.jpg)
Méthodes de déclenchement d’un HT
Actif tout le tempsCondition combinatoireCondition séquentielleTime-bombConditions physiquesConditions internes/externes
c©2012 CASSIDIAN CYBERSECURITY - All rights reserved
Banc pour Hardware Trojans | Julien FRANCQ, Florian FRICK | 28/05/2013 | Page 11 / 43
![Page 12: Banc d'expérimentations pour les Hardware Trojans - Crypto ...iml.univ-mrs.fr/ati/crypto_puces/2013/slide/Francq.pdfCasd’étude 8 5 wall FPGA LED1 LED2 code lock unlock I0 I1 O1](https://reader033.fdocument.pub/reader033/viewer/2022041806/5e544a6a95ebaf6da824deea/html5/thumbnails/12.jpg)
Analyse par canaux auxiliaires
Littérature pas assez préciseOn ne sait pas où chercher
Durée de la mesure ?Résolution ?
⇒ Approche adaptativeVecteurs d’entrées à envoyer potentiellement à chaque cycle
Synchronisation
c©2012 CASSIDIAN CYBERSECURITY - All rights reserved
Banc pour Hardware Trojans | Julien FRANCQ, Florian FRICK | 28/05/2013 | Page 12 / 43
![Page 13: Banc d'expérimentations pour les Hardware Trojans - Crypto ...iml.univ-mrs.fr/ati/crypto_puces/2013/slide/Francq.pdfCasd’étude 8 5 wall FPGA LED1 LED2 code lock unlock I0 I1 O1](https://reader033.fdocument.pub/reader033/viewer/2022041806/5e544a6a95ebaf6da824deea/html5/thumbnails/13.jpg)
Analyse par canaux auxiliaires
Attaque (pour trouver des clés) 6= Analyse (pour trouver des HTs)
SideChan
nel
Attack
SideChan
nel
Analysis
key
data
result
start
running
res
key1
data1
Input 1
Input 2
Output
start
running
Input 3
clock
Input Vector
Phase PhasePhase
Run Read OutputSet Input
start
t
c©2012 CASSIDIAN CYBERSECURITY - All rights reserved
Banc pour Hardware Trojans | Julien FRANCQ, Florian FRICK | 28/05/2013 | Page 13 / 43
![Page 14: Banc d'expérimentations pour les Hardware Trojans - Crypto ...iml.univ-mrs.fr/ati/crypto_puces/2013/slide/Francq.pdfCasd’étude 8 5 wall FPGA LED1 LED2 code lock unlock I0 I1 O1](https://reader033.fdocument.pub/reader033/viewer/2022041806/5e544a6a95ebaf6da824deea/html5/thumbnails/14.jpg)
Leçons à tirer pour notre banc
En général :il faut générer des séquences de vecteurs complexes,on doit pouvoir acquérir des sorties intermédiaires,données (I/O) manipulables en temps réel.
Pour déclencher un HT, et donc pour le détecter, on a donc besoind’attendre longtemps,de réagir suivant l’état du circuit testé.
Pour les canaux auxiliaires :Déclenchement dynamique des mesures
c©2012 CASSIDIAN CYBERSECURITY - All rights reserved
Banc pour Hardware Trojans | Julien FRANCQ, Florian FRICK | 28/05/2013 | Page 14 / 43
![Page 15: Banc d'expérimentations pour les Hardware Trojans - Crypto ...iml.univ-mrs.fr/ati/crypto_puces/2013/slide/Francq.pdfCasd’étude 8 5 wall FPGA LED1 LED2 code lock unlock I0 I1 O1](https://reader033.fdocument.pub/reader033/viewer/2022041806/5e544a6a95ebaf6da824deea/html5/thumbnails/15.jpg)
Déroulement des opérations
Test Scenario Definition
Simulation
Parameter Setup
Scenario Download
Commands
Outputvectors Read Back
SA
SE
BO
Boa
rdParameter Setup
Wait on Trigger
Data Acquisition
Data Read Back
Measu
remen
tE
qu
ipm
ent
Refine Scenario
Different Outputs
Compare Outputs (Simulation vs Actual)
Perform SCA
Obvious Anomalies
Nothing Suspicious
Potential Anomalies
Design OK HT found
SA
SE
BO
Boa
rd
c©2012 CASSIDIAN CYBERSECURITY - All rights reserved
Banc pour Hardware Trojans | Julien FRANCQ, Florian FRICK | 28/05/2013 | Page 15 / 43
![Page 16: Banc d'expérimentations pour les Hardware Trojans - Crypto ...iml.univ-mrs.fr/ati/crypto_puces/2013/slide/Francq.pdfCasd’étude 8 5 wall FPGA LED1 LED2 code lock unlock I0 I1 O1](https://reader033.fdocument.pub/reader033/viewer/2022041806/5e544a6a95ebaf6da824deea/html5/thumbnails/16.jpg)
Description d’un scénario de test
Communication via USB du fichier du scénario de testIl sera stocké dans la mémoire (BRAM) du FPGA de contrôle
CUT
Controller
USB
Controller
andOutput
Scenario
Memory
Ext. Trigger
38Inter
FPGA
Bus
Vectors
Commands and Parameters
CTRL FPGA
3 options pour l’envoi du prochain vecteur d’entréeImmédiatCondition sur le tempsCondition sur les sorties
Indicateur de déclenchement externeQuel format de données adopter ?
c©2012 CASSIDIAN CYBERSECURITY - All rights reserved
Banc pour Hardware Trojans | Julien FRANCQ, Florian FRICK | 28/05/2013 | Page 16 / 43
![Page 17: Banc d'expérimentations pour les Hardware Trojans - Crypto ...iml.univ-mrs.fr/ati/crypto_puces/2013/slide/Francq.pdfCasd’étude 8 5 wall FPGA LED1 LED2 code lock unlock I0 I1 O1](https://reader033.fdocument.pub/reader033/viewer/2022041806/5e544a6a95ebaf6da824deea/html5/thumbnails/17.jpg)
Format des données
37 0IV 37 0OC 37 0OMTC ET 15 D 0 reserved0 37 38 39 40 55 56 93 94 131 132 143
IV: Input Vector ,TC: Transition Condition, conditions sur le temps ou sur la sortiepour envoyer le prochain IV,ET: External Trigger , envoie l’ordre à l’oscilloscope de lancer lamesure,D: Delay : nombre de cycles d’horloge pour retarder le prochain IV,OM: Output Mask : quels bits regarde-t-on ?OC: Output Condition : valeurs de ces bits pour passer au prochainIV.
c©2012 CASSIDIAN CYBERSECURITY - All rights reserved
Banc pour Hardware Trojans | Julien FRANCQ, Florian FRICK | 28/05/2013 | Page 17 / 43
![Page 18: Banc d'expérimentations pour les Hardware Trojans - Crypto ...iml.univ-mrs.fr/ati/crypto_puces/2013/slide/Francq.pdfCasd’étude 8 5 wall FPGA LED1 LED2 code lock unlock I0 I1 O1](https://reader033.fdocument.pub/reader033/viewer/2022041806/5e544a6a95ebaf6da824deea/html5/thumbnails/18.jpg)
Format d’un scénario de test
IV OC OMTC ET D reserved
IV OC OMTC ET D reserved
IV OC OMTC ET D reserved
IV OC OMTC ET D reserved
Input Profile
1
2
n
3
... ... ... ... ......
Commands
Command 1
Command 2
Parameters
Parameter 1
Parameter 2
... ... ...
... ... ...
Value 1
Value 2
Scenario Description
Attributes
Name
Version
Scenario Name
Definition Version
Paramètres : tristate maskContrôleur supportant ce format implanté
c©2012 CASSIDIAN CYBERSECURITY - All rights reserved
Banc pour Hardware Trojans | Julien FRANCQ, Florian FRICK | 28/05/2013 | Page 18 / 43
![Page 19: Banc d'expérimentations pour les Hardware Trojans - Crypto ...iml.univ-mrs.fr/ati/crypto_puces/2013/slide/Francq.pdfCasd’étude 8 5 wall FPGA LED1 LED2 code lock unlock I0 I1 O1](https://reader033.fdocument.pub/reader033/viewer/2022041806/5e544a6a95ebaf6da824deea/html5/thumbnails/19.jpg)
Introduction aux Hardware Trojans et à HOMERE
Construction d’un banc d’expérimentationsNos objectifsUtilisation de SASEBOComment déclencher un HT ?Analyse par canaux auxiliairesScenarii de tests
Présentation d’un cas d’étude : contrôle d’accèsPrésentationInjecter/tester un HT combinatoireAutres Hardware Trojans
Conclusion et perspectives
c©2012 CASSIDIAN CYBERSECURITY - All rights reserved
Banc pour Hardware Trojans | Julien FRANCQ, Florian FRICK | 28/05/2013 | Page 19 / 43
![Page 20: Banc d'expérimentations pour les Hardware Trojans - Crypto ...iml.univ-mrs.fr/ati/crypto_puces/2013/slide/Francq.pdfCasd’étude 8 5 wall FPGA LED1 LED2 code lock unlock I0 I1 O1](https://reader033.fdocument.pub/reader033/viewer/2022041806/5e544a6a95ebaf6da824deea/html5/thumbnails/20.jpg)
Étude de cas : contrôle d’accès
Buts de cette étude de cas :Montrer la fonctionnalité de l’environnement de testMontrer comment un circuit peut être infectéPris volontairement simple
c©2012 CASSIDIAN CYBERSECURITY - All rights reserved
Banc pour Hardware Trojans | Julien FRANCQ, Florian FRICK | 28/05/2013 | Page 20 / 43
![Page 21: Banc d'expérimentations pour les Hardware Trojans - Crypto ...iml.univ-mrs.fr/ati/crypto_puces/2013/slide/Francq.pdfCasd’étude 8 5 wall FPGA LED1 LED2 code lock unlock I0 I1 O1](https://reader033.fdocument.pub/reader033/viewer/2022041806/5e544a6a95ebaf6da824deea/html5/thumbnails/21.jpg)
Cas d’étude
8
5
wall
FPGALED1
LED2
code
lock
unlock
I0
I1
O1
O2
O3
locked
open
lock
+1
connection to the
blinking LED
locked / open
code input
”open” button
”lock” button
test-logic pins
public secure
test logic
counter for blinking LED
lock logic
magnetic lock
LED
key
=10100000
unlock
and
Code d’accès 8 bits, 2 boutons de contrôle, LED clignotante(implanté avec un compteur 8 bits), 2 pins de test
c©2012 CASSIDIAN CYBERSECURITY - All rights reserved
Banc pour Hardware Trojans | Julien FRANCQ, Florian FRICK | 28/05/2013 | Page 21 / 43
![Page 22: Banc d'expérimentations pour les Hardware Trojans - Crypto ...iml.univ-mrs.fr/ati/crypto_puces/2013/slide/Francq.pdfCasd’étude 8 5 wall FPGA LED1 LED2 code lock unlock I0 I1 O1](https://reader033.fdocument.pub/reader033/viewer/2022041806/5e544a6a95ebaf6da824deea/html5/thumbnails/22.jpg)
Scénario d’attaque
But de l’attaquant : ouvrir la porte sans la clé !Note : 8 bits insuffisants dans la réalité
“Toy example”
Accès public à l’interface, aux boutons et aux LEDsOn considère dans notre cas d’étude que les 2 pins de test sontaccessibles
But initial : test fonctionnel
c©2012 CASSIDIAN CYBERSECURITY - All rights reserved
Banc pour Hardware Trojans | Julien FRANCQ, Florian FRICK | 28/05/2013 | Page 22 / 43
![Page 23: Banc d'expérimentations pour les Hardware Trojans - Crypto ...iml.univ-mrs.fr/ati/crypto_puces/2013/slide/Francq.pdfCasd’étude 8 5 wall FPGA LED1 LED2 code lock unlock I0 I1 O1](https://reader033.fdocument.pub/reader033/viewer/2022041806/5e544a6a95ebaf6da824deea/html5/thumbnails/23.jpg)
HT1 (combinatoire)
Idée : ouvrir la porte en utilisant les pins de testChanger le circuit de telle sorte que si les deux signaux sont égauxà 1, la porte s’ouvre
locked
open
lock
unlock
and
key
=10100000
I0an
dI1I0
I1
code
lock
unlock
lock state
Très simple à concevoir et à activer mais facile à détecter pendantle test fonctionnel ou l’implantation du système
c©2012 CASSIDIAN CYBERSECURITY - All rights reserved
Banc pour Hardware Trojans | Julien FRANCQ, Florian FRICK | 28/05/2013 | Page 23 / 43
![Page 24: Banc d'expérimentations pour les Hardware Trojans - Crypto ...iml.univ-mrs.fr/ati/crypto_puces/2013/slide/Francq.pdfCasd’étude 8 5 wall FPGA LED1 LED2 code lock unlock I0 I1 O1](https://reader033.fdocument.pub/reader033/viewer/2022041806/5e544a6a95ebaf6da824deea/html5/thumbnails/24.jpg)
Implantation de HT1
Peut être faite à un haut niveau (ex. : VHDL)Mais cela peut causer des changements majeurs dans le layout finalAu niveau configuration du FPGA (via FPGA Editor)
Contenu des LUTsRoutageConfigurations (FFs or LATCH, IBUF delays in IOB, etc.)
On travaille sur une information équivalente au bitstreamUne telle attaque peut être effectuée si le système est livré en boîtenoire
c©2012 CASSIDIAN CYBERSECURITY - All rights reserved
Banc pour Hardware Trojans | Julien FRANCQ, Florian FRICK | 28/05/2013 | Page 24 / 43
![Page 25: Banc d'expérimentations pour les Hardware Trojans - Crypto ...iml.univ-mrs.fr/ati/crypto_puces/2013/slide/Francq.pdfCasd’étude 8 5 wall FPGA LED1 LED2 code lock unlock I0 I1 O1](https://reader033.fdocument.pub/reader033/viewer/2022041806/5e544a6a95ebaf6da824deea/html5/thumbnails/25.jpg)
HT1 en RTL
lock state
key
unlock
lock
lock state
lock state
key
unlock
lock
lock state
I0
I1
k
k
c©2012 CASSIDIAN CYBERSECURITY - All rights reserved
Banc pour Hardware Trojans | Julien FRANCQ, Florian FRICK | 28/05/2013 | Page 25 / 43
![Page 26: Banc d'expérimentations pour les Hardware Trojans - Crypto ...iml.univ-mrs.fr/ati/crypto_puces/2013/slide/Francq.pdfCasd’étude 8 5 wall FPGA LED1 LED2 code lock unlock I0 I1 O1](https://reader033.fdocument.pub/reader033/viewer/2022041806/5e544a6a95ebaf6da824deea/html5/thumbnails/26.jpg)
Schéma d’une slice d’un Virtex-5 50T
A6A5A4A3A2A1
LUT DQ6 D
DQ
Q6 = A1.....
LUT CQ6 C
CQ
Q6 = A1.....
LUT BB
BQ
Q6 = A1.....
LUT AA
AQ
Q6 = A1.....
Q6A6A5A4A3A2A1
A6A5A4A3A2A1
A6A5A4A3A2A1
c©2012 CASSIDIAN CYBERSECURITY - All rights reserved
Banc pour Hardware Trojans | Julien FRANCQ, Florian FRICK | 28/05/2013 | Page 26 / 43
![Page 27: Banc d'expérimentations pour les Hardware Trojans - Crypto ...iml.univ-mrs.fr/ati/crypto_puces/2013/slide/Francq.pdfCasd’étude 8 5 wall FPGA LED1 LED2 code lock unlock I0 I1 O1](https://reader033.fdocument.pub/reader033/viewer/2022041806/5e544a6a95ebaf6da824deea/html5/thumbnails/27.jpg)
La même sur FPGA Editor
c©2012 CASSIDIAN CYBERSECURITY - All rights reserved
Banc pour Hardware Trojans | Julien FRANCQ, Florian FRICK | 28/05/2013 | Page 27 / 43
![Page 28: Banc d'expérimentations pour les Hardware Trojans - Crypto ...iml.univ-mrs.fr/ati/crypto_puces/2013/slide/Francq.pdfCasd’étude 8 5 wall FPGA LED1 LED2 code lock unlock I0 I1 O1](https://reader033.fdocument.pub/reader033/viewer/2022041806/5e544a6a95ebaf6da824deea/html5/thumbnails/28.jpg)
Circuit non-infecté
A6A5A4A3A2A1
LUT DQ6 D
DQ
LUT CQ6 C
CQ
LUT BB
BQ
Q6 = A1.....
LUT AA
AQ
Q6 = A1.....
Q6A6A5A4A3A2A1
A6A5A4A3A2A1
A6A5A4A3A2A1
key(1)key(3)
key(6)
key(4)
key(2)
key(0)
N2unlock
key(7)
key(0)
lock state
lock
Q6 = ( A5*( A2*( A3*( A4*( A1* A6)))))
Q6 = (( A2*((A5*(A3*(A1*A6)))+A4))+
lock state lock state
N2
(A2*(A5*(A3*(A1*( A4*A6))))))
c©2012 CASSIDIAN CYBERSECURITY - All rights reserved
Banc pour Hardware Trojans | Julien FRANCQ, Florian FRICK | 28/05/2013 | Page 28 / 43
![Page 29: Banc d'expérimentations pour les Hardware Trojans - Crypto ...iml.univ-mrs.fr/ati/crypto_puces/2013/slide/Francq.pdfCasd’étude 8 5 wall FPGA LED1 LED2 code lock unlock I0 I1 O1](https://reader033.fdocument.pub/reader033/viewer/2022041806/5e544a6a95ebaf6da824deea/html5/thumbnails/29.jpg)
Circuit non-infecté
c©2012 CASSIDIAN CYBERSECURITY - All rights reserved
Banc pour Hardware Trojans | Julien FRANCQ, Florian FRICK | 28/05/2013 | Page 29 / 43
![Page 30: Banc d'expérimentations pour les Hardware Trojans - Crypto ...iml.univ-mrs.fr/ati/crypto_puces/2013/slide/Francq.pdfCasd’étude 8 5 wall FPGA LED1 LED2 code lock unlock I0 I1 O1](https://reader033.fdocument.pub/reader033/viewer/2022041806/5e544a6a95ebaf6da824deea/html5/thumbnails/30.jpg)
Circuit infecté par HT1
A6A5A4A3A2A1
LUT DQ6 D
DQ
LUT CQ6 C
CQ
LUT BB
BQ
LUT AA
AQ
Q6 = A1.....
Q6A6A5A4A3A2A1
A6A5A4A3A2A1
A6A5A4A3A2A1
key(1)key(3)
key(6)
key(4)
key(2)
key(0)
N2unlock
key(7)
key(0)
lock state
lock
Q6 = ( A5*( A2*( A3*( A4*( A1* A6)))))
Q6 = (( A2*((A5*(A3*(A1*A6)))+A4))+
N2
(A2*(A5*(A3*(A1*( A4*A6))))))
lock statelock state
Q6 = (A6+(A5*A4))
I0NET 0
I1
NET 0
c©2012 CASSIDIAN CYBERSECURITY - All rights reserved
Banc pour Hardware Trojans | Julien FRANCQ, Florian FRICK | 28/05/2013 | Page 30 / 43
![Page 31: Banc d'expérimentations pour les Hardware Trojans - Crypto ...iml.univ-mrs.fr/ati/crypto_puces/2013/slide/Francq.pdfCasd’étude 8 5 wall FPGA LED1 LED2 code lock unlock I0 I1 O1](https://reader033.fdocument.pub/reader033/viewer/2022041806/5e544a6a95ebaf6da824deea/html5/thumbnails/31.jpg)
Circuit infecté par HT1
c©2012 CASSIDIAN CYBERSECURITY - All rights reserved
Banc pour Hardware Trojans | Julien FRANCQ, Florian FRICK | 28/05/2013 | Page 31 / 43
![Page 32: Banc d'expérimentations pour les Hardware Trojans - Crypto ...iml.univ-mrs.fr/ati/crypto_puces/2013/slide/Francq.pdfCasd’étude 8 5 wall FPGA LED1 LED2 code lock unlock I0 I1 O1](https://reader033.fdocument.pub/reader033/viewer/2022041806/5e544a6a95ebaf6da824deea/html5/thumbnails/32.jpg)
Port Map dans SASEBO
012345678910111213141516171819202122232425262728293031323334
3637
35
clk
keyCTRLLOGIC
CUTLOGIC
counter
I0
I1
unlock
lock
O1
O2
O3
lock state
rst
clk
CTRL FPGABidirectional
CUT FPGAInterface
c©2012 CASSIDIAN CYBERSECURITY - All rights reserved
Banc pour Hardware Trojans | Julien FRANCQ, Florian FRICK | 28/05/2013 | Page 32 / 43
![Page 33: Banc d'expérimentations pour les Hardware Trojans - Crypto ...iml.univ-mrs.fr/ati/crypto_puces/2013/slide/Francq.pdfCasd’étude 8 5 wall FPGA LED1 LED2 code lock unlock I0 I1 O1](https://reader033.fdocument.pub/reader033/viewer/2022041806/5e544a6a95ebaf6da824deea/html5/thumbnails/33.jpg)
Validation du fonctionnement
Input Outputcycle unlock lock key TP1 TP2 state TO1 TO2 TO3 counter0 0 0 0 1 0 locked 0 0 0 01 1 0 160 0 1 locked 1 0 1 12 0 1 0 0 0 locked 0 0 1 23 0 0 0 0 0 open 0 0 0 34 0 0 0 1 1 locked 0 0 0 45 0 0 0 0 0 locked 1 1 1 56 0 0 0 0 0 locked 0 0 0 6
c©2012 CASSIDIAN CYBERSECURITY - All rights reserved
Banc pour Hardware Trojans | Julien FRANCQ, Florian FRICK | 28/05/2013 | Page 33 / 43
![Page 34: Banc d'expérimentations pour les Hardware Trojans - Crypto ...iml.univ-mrs.fr/ati/crypto_puces/2013/slide/Francq.pdfCasd’étude 8 5 wall FPGA LED1 LED2 code lock unlock I0 I1 O1](https://reader033.fdocument.pub/reader033/viewer/2022041806/5e544a6a95ebaf6da824deea/html5/thumbnails/34.jpg)
Validation du fonctionnement
Input Outputcycle unlock lock key TP1 TP2 state TO1 TO2 TO3 counter0 0 0 0 1 0 locked 0 0 0 01 1 0 160 0 1 locked 1 0 1 12 0 1 0 0 0 locked 0 0 1 23 0 0 0 0 0 open 0 0 0 34 0 0 0 1 1 locked 0 0 0 45 0 0 0 0 0 locked 1 1 1 56 0 0 0 0 0 open 0 0 0 6
Fonctionne en simulation et sur notre banc
c©2012 CASSIDIAN CYBERSECURITY - All rights reserved
Banc pour Hardware Trojans | Julien FRANCQ, Florian FRICK | 28/05/2013 | Page 34 / 43
![Page 35: Banc d'expérimentations pour les Hardware Trojans - Crypto ...iml.univ-mrs.fr/ati/crypto_puces/2013/slide/Francq.pdfCasd’étude 8 5 wall FPGA LED1 LED2 code lock unlock I0 I1 O1](https://reader033.fdocument.pub/reader033/viewer/2022041806/5e544a6a95ebaf6da824deea/html5/thumbnails/35.jpg)
Circuit original
c©2012 CASSIDIAN CYBERSECURITY - All rights reserved
Banc pour Hardware Trojans | Julien FRANCQ, Florian FRICK | 28/05/2013 | Page 35 / 43
![Page 36: Banc d'expérimentations pour les Hardware Trojans - Crypto ...iml.univ-mrs.fr/ati/crypto_puces/2013/slide/Francq.pdfCasd’étude 8 5 wall FPGA LED1 LED2 code lock unlock I0 I1 O1](https://reader033.fdocument.pub/reader033/viewer/2022041806/5e544a6a95ebaf6da824deea/html5/thumbnails/36.jpg)
Circuit infecté “manuellement”
c©2012 CASSIDIAN CYBERSECURITY - All rights reserved
Banc pour Hardware Trojans | Julien FRANCQ, Florian FRICK | 28/05/2013 | Page 36 / 43
![Page 37: Banc d'expérimentations pour les Hardware Trojans - Crypto ...iml.univ-mrs.fr/ati/crypto_puces/2013/slide/Francq.pdfCasd’étude 8 5 wall FPGA LED1 LED2 code lock unlock I0 I1 O1](https://reader033.fdocument.pub/reader033/viewer/2022041806/5e544a6a95ebaf6da824deea/html5/thumbnails/37.jpg)
Circuit infecté en VHDL
if ((unlock = 1) and (key = 10100000)) or ((TL1 = 1) and (TL2= 1)) then lock_open <= 1; end if;
c©2012 CASSIDIAN CYBERSECURITY - All rights reserved
Banc pour Hardware Trojans | Julien FRANCQ, Florian FRICK | 28/05/2013 | Page 37 / 43
![Page 38: Banc d'expérimentations pour les Hardware Trojans - Crypto ...iml.univ-mrs.fr/ati/crypto_puces/2013/slide/Francq.pdfCasd’étude 8 5 wall FPGA LED1 LED2 code lock unlock I0 I1 O1](https://reader033.fdocument.pub/reader033/viewer/2022041806/5e544a6a95ebaf6da824deea/html5/thumbnails/38.jpg)
HT2 (combinatoire)
Ajouter une clé maître qui marchera tout le temps
Code
lock
unlock
lock state
locked
openlock
unlock
and
key
=10100000
unlock
and
key
=11111111
Dans le cas d’un code 8 bits, facile à détecter lors du testfonctionnel
“Toy example”
c©2012 CASSIDIAN CYBERSECURITY - All rights reserved
Banc pour Hardware Trojans | Julien FRANCQ, Florian FRICK | 28/05/2013 | Page 38 / 43
![Page 39: Banc d'expérimentations pour les Hardware Trojans - Crypto ...iml.univ-mrs.fr/ati/crypto_puces/2013/slide/Francq.pdfCasd’étude 8 5 wall FPGA LED1 LED2 code lock unlock I0 I1 O1](https://reader033.fdocument.pub/reader033/viewer/2022041806/5e544a6a95ebaf6da824deea/html5/thumbnails/39.jpg)
HT3 (séquentiel)
Utiliser les pins de test (ou peut-être le bouton de fermeture de laporte) pour contrôler une petite machine à états finisSi une certaine combinaison est entrée, cela ouvre la porte
code
lock
unlock
lock state
I0
I1
HT Active
I0 and not I1 not I0 and I1
active
locked
open
lock
unlock
and
key
=10100000
HT
Active
HT1 HT2 HT3
HT5HT6
I0 and not I1 not I0 and I1
I0andI1
code
c©2012 CASSIDIAN CYBERSECURITY - All rights reserved
Banc pour Hardware Trojans | Julien FRANCQ, Florian FRICK | 28/05/2013 | Page 39 / 43
![Page 40: Banc d'expérimentations pour les Hardware Trojans - Crypto ...iml.univ-mrs.fr/ati/crypto_puces/2013/slide/Francq.pdfCasd’étude 8 5 wall FPGA LED1 LED2 code lock unlock I0 I1 O1](https://reader033.fdocument.pub/reader033/viewer/2022041806/5e544a6a95ebaf6da824deea/html5/thumbnails/40.jpg)
HT4
Réutiliser le compteur de la LEDRécupérer son état en observant le signal de la LEDLe coupler avec une condition séquentielle simple
active
lock
counter value
lock and
notlockand
else
code
lock
unlock
lock state
HT Active
locked
open
lock
unlock
and
key
=10100000
HT
Active
idle HT1
countervalue=124
counter value = 123
c©2012 CASSIDIAN CYBERSECURITY - All rights reserved
Banc pour Hardware Trojans | Julien FRANCQ, Florian FRICK | 28/05/2013 | Page 40 / 43
![Page 41: Banc d'expérimentations pour les Hardware Trojans - Crypto ...iml.univ-mrs.fr/ati/crypto_puces/2013/slide/Francq.pdfCasd’étude 8 5 wall FPGA LED1 LED2 code lock unlock I0 I1 O1](https://reader033.fdocument.pub/reader033/viewer/2022041806/5e544a6a95ebaf6da824deea/html5/thumbnails/41.jpg)
Introduction aux Hardware Trojans et à HOMERE
Construction d’un banc d’expérimentationsNos objectifsUtilisation de SASEBOComment déclencher un HT ?Analyse par canaux auxiliairesScenarii de tests
Présentation d’un cas d’étude : contrôle d’accèsPrésentationInjecter/tester un HT combinatoireAutres Hardware Trojans
Conclusion et perspectives
c©2012 CASSIDIAN CYBERSECURITY - All rights reserved
Banc pour Hardware Trojans | Julien FRANCQ, Florian FRICK | 28/05/2013 | Page 41 / 43
![Page 42: Banc d'expérimentations pour les Hardware Trojans - Crypto ...iml.univ-mrs.fr/ati/crypto_puces/2013/slide/Francq.pdfCasd’étude 8 5 wall FPGA LED1 LED2 code lock unlock I0 I1 O1](https://reader033.fdocument.pub/reader033/viewer/2022041806/5e544a6a95ebaf6da824deea/html5/thumbnails/42.jpg)
Conclusion
Preuve de concept de notre banc fonctionne avec un cas d’étudesimpleArchitecture flexibleL’infection d’un circuit par des HTs par la manipulation de laconfiguration d’un FPGA est possible......et modifications limitées (proche de la réalité)Side-Channel Analysis 6= Side-Channel AttackPlusieurs trojans trouvés sur un cas simple...Approche sur SASEBO transposable aux ASICsCommandes pour l’oscilloscopeApproche adaptative ?
c©2012 CASSIDIAN CYBERSECURITY - All rights reserved
Banc pour Hardware Trojans | Julien FRANCQ, Florian FRICK | 28/05/2013 | Page 42 / 43
![Page 43: Banc d'expérimentations pour les Hardware Trojans - Crypto ...iml.univ-mrs.fr/ati/crypto_puces/2013/slide/Francq.pdfCasd’étude 8 5 wall FPGA LED1 LED2 code lock unlock I0 I1 O1](https://reader033.fdocument.pub/reader033/viewer/2022041806/5e544a6a95ebaf6da824deea/html5/thumbnails/43.jpg)
Je vous remercie de votre attention. Avez-vous des questions ?
Credits: Snort
c©2012 CASSIDIAN CYBERSECURITY - All rights reserved
Banc pour Hardware Trojans | Julien FRANCQ, Florian FRICK | 28/05/2013 | Page 43 / 43