Estratto del documento

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

Anteprima
Vedrai una selezione di 14 pagine su 62
Appunti Hardware and embedded security - parte 2  Pag. 1 Appunti Hardware and embedded security - parte 2  Pag. 2
Anteprima di 14 pagg. su 62.
Scarica il documento per vederlo tutto.
Appunti Hardware and embedded security - parte 2  Pag. 6
Anteprima di 14 pagg. su 62.
Scarica il documento per vederlo tutto.
Appunti Hardware and embedded security - parte 2  Pag. 11
Anteprima di 14 pagg. su 62.
Scarica il documento per vederlo tutto.
Appunti Hardware and embedded security - parte 2  Pag. 16
Anteprima di 14 pagg. su 62.
Scarica il documento per vederlo tutto.
Appunti Hardware and embedded security - parte 2  Pag. 21
Anteprima di 14 pagg. su 62.
Scarica il documento per vederlo tutto.
Appunti Hardware and embedded security - parte 2  Pag. 26
Anteprima di 14 pagg. su 62.
Scarica il documento per vederlo tutto.
Appunti Hardware and embedded security - parte 2  Pag. 31
Anteprima di 14 pagg. su 62.
Scarica il documento per vederlo tutto.
Appunti Hardware and embedded security - parte 2  Pag. 36
Anteprima di 14 pagg. su 62.
Scarica il documento per vederlo tutto.
Appunti Hardware and embedded security - parte 2  Pag. 41
Anteprima di 14 pagg. su 62.
Scarica il documento per vederlo tutto.
Appunti Hardware and embedded security - parte 2  Pag. 46
Anteprima di 14 pagg. su 62.
Scarica il documento per vederlo tutto.
Appunti Hardware and embedded security - parte 2  Pag. 51
Anteprima di 14 pagg. su 62.
Scarica il documento per vederlo tutto.
Appunti Hardware and embedded security - parte 2  Pag. 56
Anteprima di 14 pagg. su 62.
Scarica il documento per vederlo tutto.
Appunti Hardware and embedded security - parte 2  Pag. 61
1 su 62
D/illustrazione/soddisfatti o rimborsati
Acquista con carta o PayPal
Scarica i documenti tutte le volte che vuoi
Dettagli
SSD
Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher ingchiaretta98 di informazioni apprese con la frequenza delle lezioni di Hardware and embedded security e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università degli Studi di Pisa o del prof Rossi Daniele.
Appunti correlati Invia appunti e guadagna

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community