Fault Attacks on Embedded Software: Threats, Design, and Mitigation - - PowerPoint PPT Presentation

fault attacks on embedded software threats design and
SMART_READER_LITE
LIVE PREVIEW

Fault Attacks on Embedded Software: Threats, Design, and Mitigation - - PowerPoint PPT Presentation

Fault Attacks on Embedded Software: Threats, Design, and Mitigation Patrick Schaumont Professor Bradley Department of ECE Virginia Tech Acknowledgements FAME Project Team https://sites.google.com/view/famechip Supported through National


slide-1
SLIDE 1

Patrick Schaumont (VT)

Fault Attacks

  • n Embedded Software:

Threats, Design, and Mitigation

Patrick Schaumont Professor Bradley Department of ECE Virginia Tech Acknowledgements FAME Project Team https://sites.google.com/view/famechip Supported through National Science Foundation Semiconductor Research Corporation

1

slide-2
SLIDE 2

Patrick Schaumont (VT)

Objective

2

input

  • utput’

(Secure) SW

correct behavior faulty behavior Fault Analysis

The black‐box model

  • utput

Fault Injection

? ? ? ?

slide-3
SLIDE 3

Patrick Schaumont (VT)

Objective

3

input

  • utput’

(Secure) SW

correct behavior faulty behavior Fault Analysis

The black‐box model

  • utput

Fault Injection

The grey‐box model

? ? ? ?

slide-4
SLIDE 4

Patrick Schaumont (VT)

Objective

4

input

  • utput’

(Secure) SW

correct behavior faulty behavior Fault Analysis

The black‐box model

  • utput

Fault Injection

The grey‐box model

Microprocessor Mem Hierarchy

(Secure) SW

Injection Manifestation Propagation Observation Fault Exploitation

slide-5
SLIDE 5

Patrick Schaumont (VT)

Objective

5

input

  • utput’

(Secure) SW

correct behavior faulty behavior Fault Analysis

The black‐box model

  • utput

Fault Injection

The grey‐box model

Microprocessor Mem Hierarchy

(Secure) SW

Injection Manifestation Propagation Observation Fault Exploitation

  • Make a systematic review of the

fault‐attack process on embedded software

slide-6
SLIDE 6

Patrick Schaumont (VT)

Outline

  • 1. Introducing the Fault Attack
  • 2. Anatomy of a Fault Attack
  • 3. Fault Injection Techniques
  • 4. Manifestation and Propagation in the ISA
  • 5. FAME – A Mitigation Technique for

Microprocessors

6

slide-7
SLIDE 7

Patrick Schaumont (VT)

Attacks on Embedded Software

7

CPU MEM I/O

  • Embedded Software assumes execution is correct
  • (This presentation)

Incorrect execution as starting point for attack ‐ Privilege Escalation ‐ Information Leakage

slide-8
SLIDE 8

Patrick Schaumont (VT)

Privilege Escalation & Information Leakage

  • Privilege Escalation

= Adversarial Control of Critical Decisions

if (! access_allowed ) abort( );

  • Information Leakage

= Disclosure of Secret Data & Dependencies

if (key_bit)

  • ut = f(r1);

else

  • ut = f(r0);

8

r1

key_bit leaks through out

slide-9
SLIDE 9

Patrick Schaumont (VT)

Triggering Incorrect Execution

Attacker Attack Target Security Failure Input/Output Attacker Input/Output Data Software Bugs Memory Attacker Application/Task Image Lack of Mem Isolation Hardware Attacker Instruction Opcode Modification Instruction Execution Micro-Architecture Circuit Timing, Threshold Levels Environment Operating Conditions

9

CPU MEM I/O this talk

slide-10
SLIDE 10

Patrick Schaumont (VT)

Outline

  • 1. Introducing the Fault Attack
  • 2. Anatomy of a Fault Attack
  • 3. Fault Injection Techniques
  • 4. Manifestation and Propagation in the ISA
  • 5. FAME – A Mitigation Technique for

Microprocessors

10

slide-11
SLIDE 11

Patrick Schaumont (VT)

Anatomy of a Fault Attack

  • 1. Fault Attack Design
  • Fault Target and Fault Model
  • Fault Injection Method
  • Fault Exploitation Method
  • 2. Fault Attack Implementation
  • Fault Injection
  • Fault Manifestation
  • Fault Propagation
  • Fault Observation
  • Fault Exploitation

11

Defined by Security (Attack) Objective Constrained by Implementation

slide-12
SLIDE 12

Patrick Schaumont (VT)

Anatomy of a Fault Attack

12

Physical Level

Fault Injection

electrical transient

slide-13
SLIDE 13

Patrick Schaumont (VT)

Anatomy of a Fault Attack

13

Circuit Level Physical Level

Fault Injection

electrical transient

Fault Manifestation

faulty bits

slide-14
SLIDE 14

Patrick Schaumont (VT)

Anatomy of a Fault Attack

14

Instruction Memory Data Mem Register File Boot ROM Status Regs Datapath Control I‐Fetch Decode D‐Fetch Execute Store

Hardware Circuit Level Physical Level Micro‐Architecture Level

Fault Injection

electrical transient

Fault Manifestation

faulty bits

Fault Propagation

faulty micro‐op

slide-15
SLIDE 15

Patrick Schaumont (VT)

Anatomy of a Fault Attack

15

Instruction Set Architecture

Instruction Memory Data Mem Register File Boot ROM Status Regs Datapath Control I‐Fetch Decode D‐Fetch Execute Store

Software Hardware Circuit Level Physical Level Micro‐Architecture Level Application OS Firmware

int verify(S,P){ int r; if (S = P) r = 1; else r = 0; return r } 1 2 3 4 5

1 2 3 4 5

S,P r r S P Faulty Control Flow and/or Data Flow

Fault Injection

electrical transient

Fault Manifestation

faulty bits

Fault Propagation

faulty instruction

Fault Observation

faulty micro‐op

slide-16
SLIDE 16

Patrick Schaumont (VT)

Anatomy of a Fault Attack

16

Instruction Set Architecture

Instruction Memory Data Mem Register File Boot ROM Status Regs Datapath Control I‐Fetch Decode D‐Fetch Execute Store

Software Hardware Circuit Level Physical Level Micro‐Architecture Level Application OS Firmware

int verify(S,P){ int r; if (S = P) r = 1; else r = 0; return r } 1 2 3 4 5

1 2 3 4 5

S,P r r S P Faulty Control Flow and/or Data Flow

Fault Injection

electrical transient

Fault Manifestation

faulty bits

Fault Propagation

faulty instruction

Fault Observation Fault Exploitation

faulty micro‐op

slide-17
SLIDE 17

Patrick Schaumont (VT)

Outline

  • 1. Introducing the Fault Attack
  • 2. Anatomy of a Fault Attack
  • 3. Fault Injection Techniques
  • 4. Manifestation and Propagation in the ISA
  • 5. FAME – A Mitigation Technique for

Microprocessors

17

slide-18
SLIDE 18

Patrick Schaumont (VT)

Fault‐injection Control

18

Hardware‐controlled Fault Injection Software‐controlled Fault Injection

CPU MEM I/O CPU MEM I/O Injector Fault Control Physical Stress Timing Fault Injection Hardware Victim CTL/Injection Software Tasks Physical Stress

slide-19
SLIDE 19

Patrick Schaumont (VT)

Timing

19

clk critical path + slack nominal clock period logic Vdd Temp

slide-20
SLIDE 20

Patrick Schaumont (VT)

Artificial Timing Faults

20

clk critical path shortened clock period logic Vdd Temp

  • Overclocking
  • Clock Glitching

increased critical path nominal clock period ‐ slack ‐ slack

  • Underfeeding
  • Voltage Glitching
  • Overheating

Timing Violation

slide-21
SLIDE 21

Patrick Schaumont (VT)

Noise Injection ‐ EMFI

21

clk logic Field B Area A E = ‐A . dB dt di dt E Faraday’s Law

slide-22
SLIDE 22

Patrick Schaumont (VT)

Noise Injection ‐ EMFI

22

clk logic Field B Area A E = ‐A . dB dt di dt E Faraday’s Law

slide-23
SLIDE 23

Patrick Schaumont (VT)

Noise Injection – Laser Faults

23

Vss Vdd Laser Beam 1 Photocurrent

  • n
  • ff

Laser Beam Flip Glitches Single Event Upset

slide-24
SLIDE 24

Patrick Schaumont (VT)

Software‐Controlled Faults

  • DVFS Interface (CLKSCREW)
  • Memory Disturbance

24

row buffer row 0 row 1 row 2 word bit leak charge @ repeated word access PLL PMIC f1 f2 Core1 Core2 V1 V2 Programming Interface timing violation by modified (V2,f2) software controlled software controlled

slide-25
SLIDE 25

Patrick Schaumont (VT)

Fault Injection Portfolio

25

Fault Injection Spatial Precision Temporal Precision Cost Intensity Overclocking Low Low Low Clock f Clock Glitching Low High Low Glitch Width Underfeeding Low Low Low Voltage Voltage Glitching Low High Low Glitch V/W Overheating Low Low Low Temperature Light Pulse Medium Medium Low Pulse W/Enrgy Laser Pulse High High High Pulse W/Enrgy EM Pulse Medium High High Probe Current DVFS Interface Low Medium Zero V/f Memory Disturbance High Medium Zero Disturbance f

slide-26
SLIDE 26

Patrick Schaumont (VT)

Outline

  • 1. Introducing the Fault Attack
  • 2. Anatomy of a Fault Attack
  • 3. Fault Injection Techniques
  • 4. Manifestation and Propagation in the ISA
  • 5. FAME – A Mitigation Technique for

Microprocessors

26

slide-27
SLIDE 27

Patrick Schaumont (VT)

Processor Micro‐architecture

27

Instruction Set Architecture

  • Instruction Semantics & Syntax
  • Memory Model
  • Interrupt/Exception Interface

Instruction Memory Control Datapath RegFile Data Mem Micro‐Architecture Programmer’s Model Fetch Decode Load Store Flags

slide-28
SLIDE 28

Patrick Schaumont (VT)

Processor Micro‐architecture Faults

28

Instruction Set Architecture

  • Instruction Semantics & Syntax
  • Memory Model
  • Interrupt/Exception Interface

Manifestation Propagation Instruction Memory Control Datapath RegFile Data Mem Micro‐Architecture Programmer’s Model Fetch Decode Load Store Flags

  • Fault Location
  • Fault Effect
  • Fault Duration
  • Fault Size

Faulty Instruction

slide-29
SLIDE 29

Patrick Schaumont (VT)

Processor Micro‐architecture Faults

29

Instruction‐memory Instruction‐fetch Instruction‐decode Operand‐fetch Execute Store Data‐memory Register File Status Flags Micro‐architecture Element

slide-30
SLIDE 30

Patrick Schaumont (VT)

Processor Micro‐architecture Faults

30

Instruction‐memory Instruction‐fetch Instruction‐decode Operand‐fetch Execute Store Data‐memory Register File Status Flags Micro‐architecture Element Function Immediate Operand Different instruction Different source/dest Different value

slide-31
SLIDE 31

Patrick Schaumont (VT)

Processor Micro‐architecture Faults

31

ld [%i1 + 4], %g1 Instruction‐memory Instruction‐fetch Instruction‐decode Operand‐fetch Execute Store Data‐memory Register File Status Flags Micro‐architecture Element Assume a one‐bit fault on Function Immediate Operand Different instruction Different source/dest Different value Resulting fault space includes

  • 21 ld variants with different load address
  • 6 ld variants with a different target
  • 1 add variant
  • 1 store variant
  • 1 call variant
  • 2 unknown variants (trap)
slide-32
SLIDE 32

Patrick Schaumont (VT)

Processor Micro‐architecture Faults

32

add %l2, %l7, %g2 Instruction‐memory Instruction‐fetch Instruction‐decode Operand‐fetch Execute Store Data‐memory Register File Status Flags Micro‐architecture Element Assume a one‐bit fault on Function Immediate Operand Different instruction Different source/dest Different value Resulting fault space includes

  • 12 add variants with a different source
  • 9 unknown variants (trap)
  • 5 add variants with a different target
  • 3 arithmetic variants (sub, addx, addcc)
  • 2 logical variants (or, and)
  • 1 ld variant
slide-33
SLIDE 33

Patrick Schaumont (VT)

Processor Micro‐architecture Faults

33

be 0x40005924 Instruction‐memory Instruction‐fetch Instruction‐decode Operand‐fetch Execute Store Data‐memory Register File Status Flags Micro‐architecture Element Assume a one‐bit fault on Function Immediate Operand Different instruction Different source/dest Different value Resulting fault space includes

  • 23 be variants with a different target
  • 5 branch targets with different condition
  • 2 unknown variants (trap)
  • 1 call variant
  • 1 add variant
slide-34
SLIDE 34

Patrick Schaumont (VT)

Processor Micro‐architecture Faults

34

Instruction‐memory Instruction‐fetch Instruction‐decode Operand‐fetch Execute Store Data‐memory Register File Status Flags Micro‐architecture Element Modifies the PC, can modify control flow

slide-35
SLIDE 35

Patrick Schaumont (VT)

Processor Micro‐architecture Faults

35

Instruction‐memory Instruction‐fetch Instruction‐decode Operand‐fetch Execute Store Data‐memory Register File Status Flags Micro‐architecture Element Modifies the value of the source operands ld [r1 + r2], r3 cmp r1, r2 be dest faulty r3 faulty flags no effect

slide-36
SLIDE 36

Patrick Schaumont (VT)

Processor Micro‐architecture Faults

36

Instruction‐memory Instruction‐fetch Instruction‐decode Operand‐fetch Execute Store Data‐memory Register File Status Flags Micro‐architecture Element Modifies the value of the computation ld [r1 + r2], r3 cmp r1, r2 be dest faulty r3 faulty flags faulty jump address

slide-37
SLIDE 37

Patrick Schaumont (VT)

Processor Micro‐architecture Faults

37

Instruction‐memory Instruction‐fetch Instruction‐decode Operand‐fetch Execute Store Data‐memory Register File Status Flags Micro‐architecture Element

‐ Fault effects on a microarchitecture are highly nonlinear + For a given fault effect, analysis is possible

slide-38
SLIDE 38

Patrick Schaumont (VT)

Outline

  • 1. Introducing the Fault Attack
  • 2. Anatomy of a Fault Attack
  • 3. Fault Injection Techniques
  • 4. Manifestation and Propagation in the ISA
  • 5. FAME – A Mitigation Technique for

Microprocessors

38

Intermezzo: Fault Exploitation

DFA Biased Fault Analysis Safe Error Analysis Cryptanalysis Fault‐Aided SCA Fault‐Enabled Logical Attacks

slide-39
SLIDE 39

Patrick Schaumont (VT)

Bit‐flip Attack on AES

SubBytes ShiftRows AddRoundKey Secret state v 9th round Ciphertext C Last round of the Advanced Encryption Standard

S S S S S S S S S S S S S S S S

slide-40
SLIDE 40

Patrick Schaumont (VT)

Bit‐flip Attack on AES

SubBytes ShiftRows AddRoundKey Fault Model: Bit‐flip on a secret state bit A bit‐flip results in a faulty ciphertext byte

S S S S S S S S S S S S S S S S

slide-41
SLIDE 41

Patrick Schaumont (VT)

Bit‐flip Attack on AES

  • Fault Differential

c = sbox(v)  k c' = sbox(v')  k Hence  = c  c' = sbox(v)  sbox(v')

  • Fault Analysis

Reconstruct v by analyzing  Once we know v, we find the last round‐key as: k = sbox(v)  c 32 bit‐flip faults in round 10 disclose entire key

S

c  c' v, v'

slide-42
SLIDE 42

Patrick Schaumont (VT)

Classic Differential Fault Analysis

Cryptographic Algorithm Fault Model Random Byte Random Bit Chosen Bit DFA C, C’, C’’, .. → K

42

[TM 2010] Single random byte fault at 8th round of AES-128: Key 2128  212 [SL+ 2012] Two seq. byte fault at 9th, 10th round of AES-192: Key 2128  1

Current DFA methods are optimal

IF

the fault model can be realized

slide-43
SLIDE 43

Patrick Schaumont (VT)

Implementations and Actual Faults

Cryptographic Algorithm Fault Model Random Byte Random Bit Chosen Bit DFA C, C’, C’’, .. → K Implementation Fault Injection Cryptographic Architecture Fault

43

slide-44
SLIDE 44

Patrick Schaumont (VT)

Biased Fault Attacks

Cryptographic Algorithm Fault Model Random Byte Random Bit Chosen Bit DFA C, C’, C’’, .. → K Implementation Fault Injection Cryptographic Architecture Fault Fault Bias 1-bit, 2-bit, .. FSA [2010] NUEVA [2012] NUFVA [2013] DFIA [2014] DERA [2015] ... Variable Fault Intensity

44

slide-45
SLIDE 45

Patrick Schaumont (VT)

Biased Faults as a Side Channel

45

S C RK SBOX

(8-dimensional space)

correct S faulty S’

C’ Biased Fault Injection

8

slide-46
SLIDE 46

Patrick Schaumont (VT)

Biased Faults as a Side Channel

46

S C RK SBOX 

correct S faulty S’

C’ C’ SBOX-1(C’  RKhyp)

4

SBOX-1(C’  RKhyp) Under Correct Key Hypothesis Under Wrong Key Hypothesis Biased Fault Injection

8

slide-47
SLIDE 47

Patrick Schaumont (VT)

Differential Fault Intensity Analysis

47

S C RK SBOX Biased Fault Injection

  • 1. Inject Faults at different Fault Intensities

HW(S  S’) < 

  • 2. Collect Fault Ciphertext C’
  • 3. For all Key hypothesis RKhyp compute

Si,RK = SBOX‐1(C’  RKhyp)

  • 4. Select RK for which

RK = ArgMin(i j HD(Si,RK, Sj,RK)) Differential Fault Intensity Analysis

8

slide-48
SLIDE 48

Patrick Schaumont (VT)

DFIA versus DFA

DFA

  • makes a precise assumption on the injected fault
  • needs a system of equations to resolve key guess

DFIA

  • makes an approximate model of the injected fault
  • uses max likelihood testing to resolve key guess

DFIA relaxes the fault model requirements and is more suitable when fault injection is hard to control

48

slide-49
SLIDE 49

Patrick Schaumont (VT)

Outline

  • 1. Introducing the Fault Attack
  • 2. Anatomy of a Fault Attack
  • 3. Fault Injection Techniques
  • 4. Manifestation and Propagation in the ISA
  • 5. FAME – A Mitigation Technique for

Microprocessors

49

slide-50
SLIDE 50

Mitigating Fault Attacks on Embedded SW

50

Redundant Execution in SW Sensors and Checkpoint

slide-51
SLIDE 51

Patrick Schaumont (VT)

Mitigating Fault Attacks on Embedded SW

Strategy 1: Redundant Execution in SW Strategy 2: HW Sensors and Checkpoint Detection Verify redundant copies Dedicated HW sensor (Timing, EM, Voltage, ..) Response Correct fault using redundancy Recover from checkpoint Overhead Redundant execution Checkpoint storage Risk Redundant Fault False pos/neg on sensor

slide-52
SLIDE 52

Patrick Schaumont (VT)

Mitigating Fault Attacks on Embedded SW

Strategy 1: Redundant Execution in SW Strategy 2: HW Sensors and Checkpoint Detection Verify redundant copies Dedicated HW sensor (Timing, EM, Voltage, ..) Response Correct fault using redundancy Recover from checkpoint Overhead Redundant execution Checkpoint storage Risk Redundant Fault False pos/neg on sensor

FAME

Fault‐attack Aware Microprocessor Extension

slide-53
SLIDE 53

Patrick Schaumont (VT)

FAME Operation [HASP 16]

53

Fault Detection Unit (FDU) Fault Control Unit (FCU) Baseline Processor Fault Response Registers (FRR) Secure Trap Handler (STH) Application Software

  • 2. alarm

FAME Processor Protected Software

  • 3. transfer the control

to the trap handler Fault‐attack Aware Microprocessor Extensions

  • 3. fault

recovery info Vdd clk

  • 1. fault injection
  • 4. access and restore

fault‐free checkpoint

slide-54
SLIDE 54

Patrick Schaumont (VT)

All‐digital Fault Sensors in FAME

54

alarm T‐flop D‐flop D‐flop c[i]

configurable delay stage (20x)

clk clk clk d q q d q

Glitch Timing Sensor In‐situ EM Sensor

slide-55
SLIDE 55

Patrick Schaumont (VT)

Single‐cycle Checkpointing Hardware

Fault Response Registers (FRR) for critical processor state, including PC, PSR and last two pipeline stages

55

slide-56
SLIDE 56

Patrick Schaumont (VT)

FAME Chip 1 Block Diagram

56

LEON3 Core (w FRR) Sensor (FDU) Recovery (FCU)

FAME Core

AHB APB

FAME ASIC

FAME Core Functionality

I$ (1KB) D$ (2KB) Reset Management

slide-57
SLIDE 57

Patrick Schaumont (VT)

FAME Chip 1 Block Diagram

57

LEON3 Core (w FRR) Sensor (FDU) Recovery (FCU)

FAME Core

AHB APB

FAME ASIC

Debug UART1 Debug UART2 Debug Support Unit SRAM 64KB ROM 1KB

debugger

Download and Debug Software

I$ (1KB) D$ (2KB) Reset Management

slide-58
SLIDE 58

Patrick Schaumont (VT)

FAME Chip 1 Block Diagram

58

LEON3 Core (w FRR) Sensor (FDU) Recovery (FCU)

FAME Core

AHB APB

FAME ASIC

User Applications

Debug UART1 Debug UART2 Debug Support Unit SRAM 64KB ROM 1KB

debugger

GPIO User UART Interrupt Controller

user I/O

I$ (1KB) D$ (2KB) Reset Management

slide-59
SLIDE 59

Patrick Schaumont (VT)

FAME Chip 1 Block Diagram

59

Debug UART1 Debug UART2 Debug Support Unit LEON3 Core (w FRR) Sensor (FDU) Recovery (FCU) I$ (1KB) D$ (2KB) SRAM 64KB Reset Management GPIO User UART Interrupt Controller

FAME Core

ROM 1KB AHB APB Trigger Observe

debugger user I/O fault injection controller Fault injector (FPGA) FAME ASIC

Fault Injection and Fault Diagnosis

slide-60
SLIDE 60

Patrick Schaumont (VT)

FAME Chip 1 Block Diagram

60

Debug UART1 Debug UART2 Debug Support Unit LEON3 Core (w FRR) Sensor (FDU) Recovery (FCU) I$ (1KB) D$ (2KB) SRAM 64KB Reset Management GPIO User UART Interrupt Controller

FAME Core

ROM 1KB AHB APB Trigger Observe

debugger user I/O fault injection controller Fault injector (FPGA) FAME ASIC

slide-61
SLIDE 61

Patrick Schaumont (VT)

FAME Chip 1 Micrograph

61

  • 180nm 6LM TSMC
  • 25 mm2 die area
  • Active area

LEON3: 6.217mm2 w FAME: 6.301 mm2 w FAME+Diag: 6.364 mm2

  • FAME extensions overhead

1.35% (of active area)

  • 80 MHz clock
  • 54 I/O
  • Clock, reset
  • 8 I/O, 16 Core Power
  • 3x UART
  • 4 GPIO
  • 4 Trigger
  • Sensor alarm monitor
  • Scan and test pins
  • 108-pin PGA package
slide-62
SLIDE 62

Patrick Schaumont (VT)

FAME Chip 1 Test PCB

62

SAKURA-G FPGA w glitch generator Debug/User USB-UART Power Measurement Power/ Clock Glitcher FPGA Interface:

GPIO, Trigger, Scan, Alarm

slide-63
SLIDE 63

Patrick Schaumont (VT)

FAME Chip 1 Test Setup

63

Glitch Control Software FAME Application Monitor

slide-64
SLIDE 64

Patrick Schaumont (VT)

FAME Chip 1 Fault Sensor

64

alarm T‐flop D‐flop D‐flop c[i]

configurable delay stage (20x)

clk clk clk d q q d q

slide-65
SLIDE 65

Patrick Schaumont (VT)

Secure Trap Handler Development

65

falls through

ptc--;

slide-66
SLIDE 66

Patrick Schaumont (VT)

Traditional Redundancy Based Design

66

int ptc = 3;

int ptc = 3; //Pin Try Counter char devicePIN[5] = “12824”; int VerifyPin(userPIN) { ptc--; if (ptc > 0) if (ptc > 0) if (Cmp(userPIN,devicePIN)) if (Cmp(userPIN,devicePIN)) result = 1; ptc++; else result = 0; else result = 0; else result = 0; else result = 0; return result; } hardened if Algorithm-level redundancy Instruction-level redundancy

slide-67
SLIDE 67

Patrick Schaumont (VT)

Traditional Redundancy Based Design

67

Disadvantage

  • performance overhead
  • Fails under redundant fault injection

Algorithm-level redundancy Instruction-level redundancy

int ptc = 3;

int ptc = 3; //Pin Try Counter char devicePIN[5] = “12824”; int VerifyPin(userPIN) { ptc--; if (ptc > 0) if (ptc > 0) if (Cmp(userPIN,devicePIN)) if (Cmp(userPIN,devicePIN)) result = 1; ptc++; else result = 0; else result = 0; else result = 0; else result = 0; return result; }

slide-68
SLIDE 68

Patrick Schaumont (VT)

FAME Based Design

68

int ptc = 3; //Pin Try Counter char devicePIN[5] = “12824”; int noFault = 1; int VerifyPin(userPIN) { if (ptc > 0) if (Cmp(userPIN,devicePIN)) result = noFault; else result = 0; ptc--; else result = 0; return result; } SecureTrapHandler() { if (ptc > 0) ptc--; noFault = 0; } No redundancy needed: FAME FRR Hardware Checkpoint prevents fault propagation No overhead without fault Secure trap handler enables user-defined fault response

slide-69
SLIDE 69

Patrick Schaumont (VT)

EMFI on FAME

69

Clock Tree Root Clock Tree Leaves FAME Flip‐flop [DAC2018]

slide-70
SLIDE 70

Patrick Schaumont (VT)

EMFI on FAME

70

146 Faulty Flip Flop 24 Faulty Flip Flop

Global Effect of EMFI Injection at clock tree root Local Effect of EMFI Injection at clock tree leaves

[DAC2018]

slide-71
SLIDE 71

Patrick Schaumont (VT)

References

1.

  • B. Yuce, M. Witteman, P. Schaumont, “Fault Attacks on

Secure Embedded Software: Threats, Design and Evaluation,” Journal of Hardware and Systems Security, (preprint). 2.

  • B. Yuce, C. Deshpande, M. Ghodrati, A. Bendre, L.

Nazhandali, P. Schaumont, "A Secure Exception Mode for Fault‐Attack‐Resistant Processing" IEEE Transactions on Dependable and Secure Computing, (preprint). 3.

  • M. Ghodrati, B. Yuce, S. Gujar, C. Deshpande, L. Nazhandali,
  • P. Schaumont, “Inducing Local Timing Fault through EM

Injection”, DAC 2018. 4. FAME – Fault Awareness using Microprocessor

  • Enhancements. https://sites.google.com/view/famechip

71

slide-72
SLIDE 72

Patrick Schaumont (VT)

Thank You!

Questions? Patrick Schaumont schaum@vt.edu

72