View
1
Download
0
Category
Preview:
Citation preview
Lilian BossuetLaboratoire Hubert Curien, CNRS UMR 5516
Université Jean Monnet, Saint-Etienne, France
25 janvier 2018Saint-Malo, France
De multiples attaques sur les systèmes embarqués connectés
FETCH 2018 225 janvier 2018 - L. Bossuet
Une TEE est un microkernel pour la sécurité Utilise des ressources matérielles dédiées
FETCH 2018 425 janvier 2018 - L. Bossuet
Element sécurisé externe
Processeur
SOC
Composants de la TEE
ROM RAM
Périphériques internes
Périphériques d’E/S
(TPM, carte à puce, crypto-processeur)
Processeur
SOC
ROM RAM
Périphériques internes
Périphériques d’E/S
Element sécurisé interne
Processeur
SOC
ROM RAM
Périphériques internes
Périphériques d’E/S
Périphériques externes
Mémoire externe
Périphériques externes
Mémoire externe
Périphériques externes
Mémoire externe
a) architecture de TEE basée sur un élément sécurisé externe
b) architecture de TEE basée sur un élément sécurisé interne
c) architecture de TEE basée sur un SoC avec technologie de sécurité d’exécusion du type
ARM TrustZone
FETCH 2018 525 janvier 2018 - L. Bossuet
6
Exemple du Freescale i.MX6
FETCH 201825 janvier 2018 - L. Bossuet
7
TrustZone Central Security Unit (CSU) – TZ Address Space Controller (TZASPC), TZ Watchdog
FETCH 201825 janvier 2018 - L. Bossuet
8
Cryptographic Acceleration and Assurance Module (CAAM) Secure Non-Volatile Storage (SNVS) System JTAG Controller with secure debug On-chip One-time Programmable (OCOTP) A On-chip boot ROM
FETCH 201825 janvier 2018 - L. Bossuet
Analyse du rayonnement EM du chiffreur AES masqué Cartographies EM avec trois ensemble de données
Objectif : localisation géographique et temporelle du CAAM dans le SoC
10FETCH 201825 janvier 2018 - L. Bossuet
Set 1HW(clé) : 0 HW(message) : 0 HW(chiffré) : 65
128 0 64
Set 2HW(message) : 0 HW(chiffré) : 65 HW(clé) : 0
128 68 0
Set 3HW(chiffré) : 0 HW(clé) : 0 HW(message) : 65
128 128 65
11FETCH 201825 janvier 2018 - L. Bossuet
12FETCH 201825 janvier 2018 - L. Bossuet
clé message chiffré AES
FETCH 2018 1325 janvier 2018 - L. Bossuet
Injection d’impulsions EM pendant le chiffrement pendant transfert de
données
L’accélérateur cryptographique de la TrustZone est sécurisé contre les attaques par canaux cachés, il existe des possibilités d’attaques en fautes. Pas de protection particulière si l’on exécute un algorithme
cryptographique dans le processeur généraliste même dans le monde sécurisé…
Publication F. Majéric, E. Bourbabo, L. Bossuet. Electromagnetic security for
SoC. In Proceedings of the 23rd IEEE International Conference on Electronics Circuits and Systems, ICECS 2016, Monte Carlo, Monaco, December 2016.
FETCH 2018 1425 janvier 2018 - L. Bossuet
FETCH 201825 janvier 2018 - L. Bossuet 16
Ext. FLASHROM
Bootloader 1 (BL1)Public Key 1
Bootloader 2 (BL2)
Linux Kernel
…
Vola
tile
mem
ory
ROM
Bootloader 1 (BL1)
Public Key 1
Public Key 2
Ext. FLASH
Vola
tile
mem
ory
Bootloader 2 (BL2)
Linux Kernel
…
LDR Rd,[Rn]STR Rd,[Rk]
ROM
Bootloader 1 (BL1)
Public Key 1
Public Key 2
Ext. FLASH
Vola
tile
mem
ory
SignatureBootloader 2 (BL2)
Linux Kernel
…
ROM
Bootloader 1 (BL1)
Public Key 1
Public Key 2
Ext. FLASH
Vola
tile
mem
ory
Signature
Bootloader 2 (BL2) Public Key 3
Linux Kernel
…
LDR Rd,[Rn]STR Rd,[Rk]
ROM
Bootloader 1 (BL1)
Public Key 1
Public Key 2
Ext. FLASH
Vola
tile
mem
ory
Signature
Bootloader 2 (BL2) Public Key 3
Signature Linux Kernel
…
ROM
Bootloader 1 (BL1)
Public Key 1
Public Key 2
Ext. FLASH
Vola
tile
mem
ory
Signature
Bootloader 2 (BL2) Public Key 3
Signature Linux Kernel
…
ROM
Bootloader 1 (BL1)
Bootloader 2 (BL2)
Linux Kernel
Public Key 1
Public Key 2
Public Key 3
Public Key 4Signature
Ext. FLASH
Signature
Signature
Vola
tile
mem
ory
Ext. FLASHROM
Bootloader 1 (BL1)Public Key 1
Bootloader 2 (BL2)
Linux Kernel
…
Vola
tile
mem
ory
Ext. FLASHROM Public Key 1
Bootloader 2 (BL2)
Linux Kernel
…
Vola
tile
mem
ory
ROM Public Key 1Ext. FLASH
Vola
tile
mem
ory
Bootloader 2 (BL2)
Linux Kernel
…
Malicious code
Pointer to @ of malicious code
Pointer to @ of malicious code
……
LDR Rd,[Rn]STR Rd,[Rk]
ROM Public Key 1Ext. FLASH
Vola
tile
mem
ory
Bootloader 2 (BL2)
Linux Kernel
…
Malicious code
Pointer to @ of malicious code
Pointer to @ of malicious code
……
Run the codeLDR PC,[Rn]
Comment est-ce possible ? LDR processing instruction LDR{<cond>} Rd, [Rn {,#+/-12_bit_offset }]
LDR R13, [R0] ([R0]point to the address of the malicious code)
27
cond 01 I P U 0 W 1 Rn Rd 12_bit_offset
31 28 27 26 25 24 23 22 21 20 19 16 15 12 11 0
1110 01 0 1 1 0 0 1 0000 1101 000000000000
31 28 27 26 25 24 23 22 21 20 19 16 15 12 11 0
FETCH 201825 janvier 2018 - L. Bossuet
Comment est-ce possible ? LDR processing instruction LDR{<cond>} Rd, [Rn {,#+/-12_bit_offset }]
LDR PC , [R0] ([R0]point to the address of the malicious code)
28
cond 01 I P U 0 W 1 Rn Rd 12_bit_offset
31 28 27 26 25 24 23 22 21 20 19 16 15 12 11 0
1110 01 0 1 1 0 0 1 0000 1111 000000000000
31 28 27 26 25 24 23 22 21 20 19 16 15 12 11 0
FETCH 201825 janvier 2018 - L. Bossuet
29FETCH 201825 janvier 2018 - L. Bossuet
N. Timmers, A. Spruyt and M. Witteman,ControllingPC on ARM using fault injection, in Workshop on FaultDiagnosis and Tolerance in Cryptography, (FDTC2016), Santa Barbara, CA, US, August 16, 2016.
Injection durant l’exécution de LDR Rd, [R0] Vérfier si LDR Rd, [R0] => LDR PC, [R0]
30FETCH 201825 janvier 2018 - L. Bossuet
FETCH 2018 3125 janvier 2018 - L. Bossuet
Rd changed into PC: Rd Rd occurrenceR12 8
R11 6
R10 3
R9 2
R8 2
R7 5
R6 1
R5 0
R4 0
R3 4
R2 1
R1 1
La sécurité de la séquence de chargement du boot est assurée par un protocole cryptographique
Faille de sécurité matérielle due à une trop faible distance de Hamming entre les registres généraux et registres spéciaux du processeur
FETCH 2018 3225 janvier 2018 - L. Bossuet
INTEL SoC FPGA ARM Dual Core Cortex-A9 ALTERA Cyclone V FPGA
Projet FUI TEEVA – Réunion de démarrage 3429 janvier 2016 - L. Bossuet
Xilinx Zynq ARM Dual Core Cortex-A9 Xilinx Artix-7 FPGA
35FETCH 201825 janvier 2018 - L. Bossuet
Extension de la TrustZone d’un cœur ARM vers le FPGA
36FETCH 201825 janvier 2018 - L. Bossuet
En mode non securisé (REE)
Projet FUI TEEVA – Réunion de démarrage 3713 janvier 2016 - L. Bossuet
En mode securisé (TEE)
38FETCH 201825 janvier 2018 - L. Bossuet
Architecture du système développé (Xilinx Vivado)
39FETCH 201825 janvier 2018 - L. Bossuet
Corruption d’AWPROT et ARPROT
41FETCH 201825 janvier 2018 - L. Bossuet
Corruption du signal d’erreur
Projet FUI TEEVA – Réunion de démarrage 4213 janvier 2016 - L. Bossuet
Cheval de Troie matériel
43FETCH 201825 janvier 2018 - L. Bossuet
Mémorisation de l’ID de l’IP sécurisé
44FETCH 201825 janvier 2018 - L. Bossuet
Récupération d’ID
45FETCH 201825 janvier 2018 - L. Bossuet
46FETCH 201825 janvier 2018 - L. Bossuet
Preuve de concept de plusieurs attaques possiblesciblant l’extension de la TrsutZone dans un SoCcomplexe hétérogène (FPGA + ARM) Publication : El Mehdi Benhani, Cédric Marchand, Alain Aubert, Lilian Bossuet.
On the Security Evaluation of the ARM TrustZone Extension in aHeterogeneous SoC. IEEE SOCC, Munich, September 2017
En cours Mise en évidence de fuites d’informations sur canaux internes
48FETCH 201825 janvier 2018 - L. Bossuet
49
“Ce projet est financé dans le cadre du 20ème appel à projets de R&D du Fonds Unique Interministériel (FUI)”
FETCH 201825 janvier 2018 - L. Bossuet
Lilian BossuetLaboratoire Hubert Curien, CNRS UMR 5516
Université Jean Monnet, Saint-Etienne, France
25 janvier 2018Saint-Malo, France
Recommended