Indice
1 Introduzione agli Hardware Trojans 7
1.1 Definizione generale di Hardware Trojan . . . . . . . . . . . . . . . . . . . 7
1.2 Perché gli Hardware Trojans sono pericolosi . . . . . . . . . . . . . . . . . 7
1.3 Effetti principali di un Hardware Trojan . . . . . . . . . . . . . . . . . . . 7
2 Il problema della fiducia nei circuiti integrati 8
2.1 Globalizzazione della progettazione e produzione dei chip . . . . . . . . 8
2.2 IP Trust, IC Trust e SoC Trust . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.3 Problemi dei Third-Party IP . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.3.1 Perché le tecniche convenzionali non bastano . . . . . . . . . . . . . . . . 9
3 Struttura generale di un Hardware Trojan 9
3.1 Trigger e Payload . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3.2 Trojan funzionale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
4 Hardware Trojans combinazionali e sequenziali 10
4.1 Trojan combinazionale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
4.2 Trojan sequenziale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
5 Esempio di Hardware Trojan combinazionale 11
5.1 Struttura dell’esempio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
5.2 Ruolo della porta AND e della porta XOR . . . . . . . . . . . . . . . . . 11
6 Tassonomia degli Hardware Trojans 12
6.1 Necessità di una classificazione . . . . . . . . . . . . . . . . . . . . . . . . . 12
7 Caratteristiche fisiche degli Hardware Trojans 13
7.1 Significato delle caratteristiche fisiche . . . . . . . . . . . . . . . . . . . . . 13
7.2 Type: Trojan funzionali e parametrici . . . . . . . . . . . . . . . . . . . . . 13
7.3 Size: dimensione del Trojan . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
7.4 Distribution: distribuzione nel layout . . . . . . . . . . . . . . . . . . . . . 14
7.5 Structure: cambiamento del layout fisico . . . . . . . . . . . . . . . . . . . 14
8 Caratteristiche di attivazione degli Hardware Trojans 14
8.1 Significato delle caratteristiche di attivazione . . . . . . . . . . . . . . . . 14
8.2 Externally Activated Trojans . . . . . . . . . . . . . . . . . . . . . . . . . . 15
8.3 Internally Activated Trojans . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
8.4 Always-on Trojans . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
8.5 Conditional Trojans . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
8.6 Conditional Sensor Trojans . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
8.7 Conditional Logic Trojans . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
1 2
9 Caratteristiche di azione degli Hardware Trojans 16
9.1 Significato delle caratteristiche di azione . . . . . . . . . . . . . . . . . . . 16
9.2 Modify Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
9.3 Modify Specification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
9.4 Transmit Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
10Esempio MOLES Hardware Trojan 18
10.1 Significato di MOLES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
10.2 Side-channel attack . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
10.3 Signal-to-Noise Ratio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
10.4 Modulazione dei bit della chiave . . . . . . . . . . . . . . . . . . . . . . . . 19
10.5 Carico capacitivo e leakage di potenza . . . . . . . . . . . . . . . . . . . . 19
11Esempio di Hardware Trojan in un telefono cellulare 19
11.1 Attivazione tramite Caller ID . . . . . . . . . . . . . . . . . . . . . . . . . . 19
11.2 Difficoltà di rilevamento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
12Esempio di Typical Sequential Hardware Trojan 20
12.1 Struttura generale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
12.2 Partial decoder e riconoscimento della sequenza . . . . . . . . . . . . . . 21
12.3 Attivazione finale del payload . . . . . . . . . . . . . . . . . . . . . . . . . . 21
13Difficoltà di rilevamento degli Hardware Trojans 21
13.1 Condizioni rare di attivazione . . . . . . . . . . . . . . . . . . . . . . . . . . 21
13.2 Dimensione ridotta del Trojan . . . . . . . . . . . . . . . . . . . . . . . . . . 22
13.3 Basso impatto sulle caratteristiche del circuito . . . . . . . . . . . . . . . 22
13.4 Complessità della supply chain . . . . . . . . . . . . . . . . . . . . . . . . . 22
14Prevenzione e detection 22
14.1 Necessità di tecniche dedicate . . . . . . . . . . . . . . . . . . . . . . . . . . 22
14.2 Limiti della detection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
14.3 Importanza della prevenzione . . . . . . . . . . . . . . . . . . . . . . . . . . 23
15Design for Hardware Trust e problema della fiducia
nei circuiti integrati 23
15.1 Obiettivo generale della Hardware Trust . . . . . . . . . . . . . . . . . . . 23
15.2 Necessità di una verifica post-manufacturing . . . . . . . . . . . . . . . . 24
16IC/System Trust e caratteristiche degli Hardware Tro-
jans 24
16.1 Obiettivo della IC Trust . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
16.2 Perché gli Hardware Trojans sono difficili da rilevare . . . . . . . . . . . 25
3
17Classificazione delle metodologie di rilevamento degli
Hardware Trojans 25
17.1 Panoramica generale degli approcci di detection . . . . . . . . . . . . . . 25
17.1.1 Immagine della classificazione degli approcci . . . . . . . . . . . . . . . . 26
18Approccio distruttivo 26
18.1 Reverse engineering del circuito . . . . . . . . . . . . . . . . . . . . . . . . . 26
19Approcci non distruttivi 27
19.1 Run-time monitoring . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
19.2 Test-time authentication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
20Logic Testing Approach 28
20.1 Principio generale del logic testing . . . . . . . . . . . . . . . . . . . . . . . 28
20.2 Vantaggi e limiti del logic testing . . . . . . . . . . . . . . . . . . . . . . . . 28
21Functional Test 28
21.1 Concetto di functional test . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
22Structural Test 29
22.1 Concetto di structural test . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
23Functional Test vs Structural Test 29
23.1 Differenza concettuale tra i due approcci . . . . . . . . . . . . . . . . . . . 30
24Hardware Trojan Detection in circuiti integrati non
fidati 30
24.1 Comportamento tipico dei Trojan . . . . . . . . . . . . . . . . . . . . . . . 30
24.2 Controllability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
24.3 Observability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
25Deficienze del functional test 31
25.1 Impraticabilità del test esaustivo . . . . . . . . . . . . . . . . . . . . . . . . 31
25.2 Bassa fault coverage rispetto alla Trojan detection . . . . . . . . . . . . 32
26Side-Channel Signal Analysis 32
26.1 Concetto generale di side-channel analysis . . . . . . . . . . . . . . . . . . 32
26.2 Vantaggio principale della side-channel analysis . . . . . . . . . . . . . . 32
27Tipi di side-channel signals 33
27.1 IDDQ, IDDT, Path Delay ed EM . . . . . . . . . . . . . . . . . . . . . . . 33
28Power-Based Hardware Trojan Detection 33
28.1 Principio del rilevamento basato sulla potenza . . . . . . . . . . . . . . . 33
28.2 Componenti della misura di corrente . . . . . . . . . . . . . . . . . . . . . 34
4
28.3 Importanza dell’attivazione parziale del Trojan . . . . . . . . . . . . . . . 34
29Sensitivity metric nella power analysis 34
29.1 Significato della sensitivity . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
30Delay-Based Hardware Trojan Detection 34
30.1 Principio del rilevamento basato sul ritardo . . . . . . . . . . . . . . . . . 35
31Path delay fingerprinting 35
31.1 Concetto di fingerprint temporale . . . . . . . . . . . . . . . . . . . . . . . 35
31.2 Limite principale: process variations . . . . . . . . . . . . . . . . . . . . . . 36
32Process Variations 36
32.1 Effetto delle variazioni di processo . . . . . . . . . . . . . . . . . . . . . . . 36
32.2 Perché Fmax e IDDT possono non bastare . . . . . . . . . . . . . . . . . 37
33Current/Charge Integration Method 37
33.1 Principio del metodo di integrazione della corrente . . . . . . . . . . . . 37
33.2 Procedura operativa del metodo . . . . . . . . . . . . . . . . . . . . . . . . 37
33.3 Interpretazione delle formule . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
34Esempi sul benchmark s38417 38
34.1 Benchmark s38417 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
34.2 Effetto della dimensione del Trojan . . . . . . . . . . . . . . . . . . . . . . 39
35Power analysis e località della misura 39
35.1 Misura locale tramite power pad . . . . . . . . . . . . . . . . . . . . . . . . 39
35.2 Trojan inserito in spazio inutilizzato . . . . . . . . . . . . . . . . . . . . . . 39
36Sfide della Power Analysis 40
36.1 Pattern generation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
36.2 Accuratezza degli strumenti di misura . . . . . . . . . . . . . . . . . . . . 40
36.3 Process variations e calibration . . . . . . . . . . . . . . . . . . . . . . . . . 40
36.4 Authentication time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
37Delay-based Side Channel Analysis 40
37.1 Perché usare l’analisi del ritardo . . . . . . . . . . . . . . . . . . . . . . . . 41
38Shadow Register 41
38.1 Principio dello shadow register . . . . . . . . . . . . . . . . . . . . . . . . . 41
38.2 Utilità per la Trojan detection . . . . . . . . . . . . . . . . . . . . . . . . . 41
38.3 Limiti dello shadow register . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
39Clock Sweeping 42
39.1 Principio del clock sweeping . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
5
39.2 Utilità nella detection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
40Sfide della Delay Analysis 43
40.1 Vantaggio principale: nessuna attivazione richiesta . . . . . . . . . . . . 43
40.2 Difficoltà di detection e isolation . . . . . . . . . . . . . . . . . . . . . . . . 43
40.3 Pattern generation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
40.4 Process variation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
41Confronto tra logic testing e side-channel analysis 44
41.1 Vantaggi del logic testing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
41.2 Limiti del logic testing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
41.3 Vantaggi della side-channel analysis . . . . . . . . . . . . . . . . . . . . . . 44
41.4 Limiti della side-channel analysis . . . . . . . . . . . . . . . . . . . . . . . . 44
41.5 Necessità di una combinazione di approcci . . . . . . . . . . . . . . . . . . 45
42Design for Hardware Trust e problema dei Trojan
hardware 45
42.1 Concetto generale di hardware trust . . . . . . . . . . . . . . . . . . . . . . 45
42.2 Perché la rilevazione dei Trojan hardware è difficile . . . . . . . . . . . . 45
43Obiettivi principali del Design for Hardware Trust 46
43.1 Miglioramento della rilevazione . . . . . . . . . . . . . . . . . . . . . . . . . 46
43.2 Prevenzione dell’inserimento . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
44Trojan Activation Methods 47
44.1 Idea generale dell’attivazione del Trojan . . . . . . . . . . . . . . . . . . . 47
44.2 IC Under Authentication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
45Region-Free Trojan Activation 48
45.1 Principio di funzionamento . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
45.2 Vantaggi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
45.3 Limiti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
46Region-Aware Trojan Activation 49
46.1 Principio generale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
46.2 Prima fase: partizionamento del circuito . . . . . . . . . . . . . . . . . . . 49
46.3 Seconda fase: activity magnification . . . . . . . . . . . . . . . . . . . . . . 49
46.4 Funzione obiettivo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
47Potenza dinamica e side-channel analysis 50
47.1 Ruolo della potenza dinamica . . . . . . . . . . . . . . . . . . . . . . . . . . 50
47.2 Collegamento tra Trojan e consumo di potenza . . . . . . . . . . . . . . 51
47.3 Effetto delle process variations . . . . . . . . . . . . . . . . . . . . . . . . . 51
6
48Rare Event Removal 52
48.1 Concetto di evento raro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
48.2 Obiettivo della rimozione degli eventi rari . . . . . . . . . . . . . . . . . . 52
48.3 Probing points e dummy scan flip-flops . . . . . . . . . . . . . . . . . . . . 52
49Uso dei dummy scan flip-flops nelle diverse tecniche
di test 53
49.1 Full activation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
49.2 Power-based detection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
49.3 Delay-based detection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
50Design Obfuscation 54
50.1 Obiettivo della Design Obfuscation . . . . . . . . . . . . . . . . . . . . . . 54
50.2 Normal mode e obfuscated mode . . . . . . . . . . . . . . . . . . . . . . . . 55
50.3 State transition function offuscata . . . . . . . . . . . . . . . . . . . . . . . 55
50.4 Valid Trojan e Invalid Trojan nella figura . . . . . . . . . . . . . . . . . . 56
51Built-In Self-Authentication 56
51.1 Obiettivo generale della BISA . . . . . . . . . . . . . . . . . . . . . . . . . . 56
51.2 Differenza tra filler cells tradizionali e BISA cells . . . . . . . . . . . . . 57
51.3 Indipendenza dal circuito originale . . . . . . . . . . . . . . . . . . . . . . . 57
52Struttura della BISA 57
52.1 Somiglianza con LBIST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
52.2 Componenti principali . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
52.2.1 BISA circuit under test . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
52.2.2 Test Pattern Generator . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
52.2.3 Output Response Analyzer . . . . . . . . . . . . . . . . . . . . . . . . . . 58
53Modalità operative in un design con BISA 59
53.1 Normal mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
53.2 Authentication mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
53.3 Test mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
53.4 Shift mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
54Signature e rilevazione della manomissione 60
54.1 Concetto di signature . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
54.2 Confronto con la signature attesa . . . . . . . . . . . . . . . . . . . . . . . . 61
54.3 Perché la BISA ostacola l’inserimento di Trojan . . . . . . . . . . . . . . 61
7
1 Introduzione agli Hardware Trojans
1.1 Definizione generale di Hardware Trojan
Un Hardware Trojan, abbreviato in HT, è una modifica malevola introdotta all’interno di un
circuito elettronico o di un sistema hardware. Può consistere nell’aggiunta di componenti, nella
rimozione di elementi esistenti, nella modifica di connessioni interne oppure nell’alterazione delle
caratteristiche fisiche del circuito.
Il punto fondamentale è che il circuito può apparire corretto e funzionante, ma contenere una
parte nascosta progettata per comportarsi in modo dannoso solo in determinate condizioni.
Proprio questa capacità di restare inattivo per lunghi periodi rende gli Hardware Trojans difficili
da individuare durante i test standard.
Un Hardware Trojan può modificare il comportamento logico del circuito, ridurne l’affidabi-
lità oppure permettere la fuoriuscita di informazioni riservate, come chiavi crittografiche, dati
sensibili o segnali interni non osservabili normalmente dall’esterno.
1.2 Perché gli Hardware Trojans sono pericolosi
Gli Hardware Trojans sono particolarmente critici perché agiscono direttamente a livello hard-
ware. A differenza di un malware software, che può spesso essere rimosso, aggiornato o isolato, un
Trojan inserito fisicamente in un chip è estremamente difficile da eliminare dopo la produzione.
Il rischio è ancora maggiore nei sistemi critici: applicazioni militari, aerospaziali, finanziarie,
sanitarie, industriali, IoT e di trasporto richiedono circuiti affidabili e sicuri. In questi contesti,
una modifica malevola può causare malfunzionamenti, blocchi, perdita di dati, compromissione
di meccanismi di sicurezza o alterazione di decisioni automatiche.
Un altro aspetto importante è la dimensione ridotta. Un Trojan può essere formato da poche
porte logiche, pochi transistor o piccole modifiche fisiche. In circuiti moderni molto complessi,
una modifica cosı̀ piccola può essere quasi invisibile rispetto al sistema complessivo.
1.3 Effetti principali di un Hardware Trojan
Gli effetti principali possono essere divisi in tre categorie.
• Il primo effetto è la modifica della funzionalità. Il circuito produce risultati diversi da
quelli previsti: un segnale può essere invertito, un’uscita forzata a un valore errato, oppure
un’operazione alterata solo in condizioni specifiche.
• Il secondo effetto è la riduzione dell’affidabilità. Il circuito può funzionare corretta-
mente nella maggior parte dei casi, ma diventare più fragile. Per esempio, possono essere
8
modificati ritardi, assottigliati fili, indeboliti transistor o alterata la rete di alimentazione,
aumentando la probabilità di guasto.
• Il terzo effetto è la fuga di informazioni, cioè il leakage. In questo caso il Trojan può
non alterare direttamente l’output funzionale, ma trasmettere informazioni verso l’esterno
tramite consumo di potenza, radiazioni elettromagnetiche, ritardi temporali o altri canali
laterali.
2 Il problema della fiducia nei circuiti integrati
2.1 Globalizzazione della progettazion
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
-
Appunti Hardware and embedded security (parte 2)
-
Appunti di Hardware and embedded security - parte 1
-
Appunti Hardware and embedded security (parte 4)
-
Appunti hardware and embedded security (parte 3)