18: Fault injection

0.0(0)
Studied by 0 people
call kaiCall Kai
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
GameKnowt Play
Card Sorting

1/33

encourage image

There's no tags or description

Looks like no tags are added yet.

Last updated 9:27 PM on 4/30/26
Name
Mastery
Learn
Test
Matching
Spaced
Call with Kai

No analytics yet

Send a link to your students to track their progress

34 Terms

1
New cards

Fault injection breaks the assumption that

The hardware behaves as expected

2
New cards

Faults are injected by

Subjecting the target chip to adversarial conditions

3
New cards

Typical threat model for fault injection attacks

  • Physical attacker

  • Capable of tempering the underlying hardware

4
New cards

Use cases of fault injection

  • Recovering cryptographic keys

  • Bypassing firmware signature verification

  • Unlocking locked functionality (software and hardware)

5
New cards

Clock glitching

  • MCUs (and other components) may run from external clocks

  • We can manipulate the target’s clock - mismatch between systems component

6
New cards

External clocks

  • Synchronises operations across a system

  • Assumed to be stable

7
New cards

Clock glitching example approaches

  • Injecting single pulses

  • Temporary overclocking

  • Stretching clock cycles

8
New cards

Voltage fault injection

  • Embedded devices require a constant voltage power supply, assumed to be stable

  • Can temporarily over or under volt

9
New cards

Over or under volting

May corrupt data, skip instructions, and more

10
New cards

Voltage fault injection example approaches

  • Programmable power supply

  • Waveform generator

  • Crowbar glitching

11
New cards

Electromagnetic Fault Injection (EMFI)

  • Power supply is not the only way of receiving voltage

    • ICs are sensitive to electromagnetic interference

  • Typical setup: attacker circuit creates EM via coil, EM field injects energy in victim circuit

  • Allows to inject localised faults - position of probe is important and changes glitch behaviour

12
New cards

Laser Fault Injection

  • Exposing a chip to high energy lasers can inject faults

  • Traditionally very expensive but becoming more accessible

  • Requires precise positioning:

    • Location (similar to EMFI)

    • Direction (frontside, backside, lateral)

13
New cards

Fault models: Categorisation

  • Type

  • Time

  • Location

14
New cards

Fault categorisation: type

  • What exactly goes wrong?

  • Skipped/modified instructions, flipped bits, read all zero/all one, etc

15
New cards

Fault categorisation: time

  • How long are things going wrong?

  • Number of affected cycles/instructions

16
New cards

Fault categorisation: location

  • Specific bit/byte/word/instruction or random position/width

  • This is in relation to the target program, not the physical attack location

17
New cards

Arm (Fault Injection)

Setting the glitch generator in a ready state, waiting for the trigger

18
New cards

Glitch trigger

The signal to get ready and initiate the glitch process

19
New cards

Glitch delay

Time to wait between trigger signal and glitch

20
New cards

Glitch/pulse length

Duration for applying the glitch

21
New cards

EMFI Location

xyz coordinates for coil location

22
New cards

EMFI Pulse Strength

Intensity of EM field

23
New cards

Finding glitch parameters

  • Start with controlled target - toy program with victim functionality and trigger signal

  • Iteratively test delays/lengths - visualise results

  • For localised glitches, create a fault heat map over coordinates

24
New cards

Detection of injection of fault

  • Detection based

  • Monitoring the system at runtime

  • Example: glitch detector

25
New cards

Detection of faulty result

  • Detection based

  • Calculate result multiple times and verify correctness

26
New cards

Detection of unusual usuage patters

  • Detection based

  • Could use an error counter

27
New cards

Add randomisation in time domain

  • Algorithmically based

  • Makes attack more difficult

28
New cards

Verify validity of data before output

  • Algorithmically based

  • Relevant for attacks on cryptographic schemes

29
New cards

Defences can introduce

Additional weaknesses

30
New cards

Bellcore attack

  • Classic example of differential fault analysis

  • Attacks classic RSA and RSA-CRT signing

    • Requires multiple faulty signatures for classic RSA

    • Requires one for RSA-CRT

  • Faults exponentiation in signature creation

    • Resulting in faulty signature, breaking cryptographic guarantees

31
New cards

Generic attack on keyed algorithms

  • Traditional attack against cryptographic protocols

  • Target: any encryption c=ek(p)

  • Steps, repeat for each bit i of k:

    • Get fault free ciphertext c

    • Get ciphertext c’ while faulting bit k

      • If c == c’: fault had no effect, bit i is 0

      • If c ≠ c’: fault had effect, bit is 1

32
New cards

Generic attack on keyed algorithms assumptions

  • Attacker can repeatedly issue encryptions with controlled plaintext p

  • Attacker can precisely target any bit of k with a “stuck-at-zero” fault (0 → 0, 1 → 0)

33
New cards

Glitching the Xbox 360

  • Xbox 360 only runs signed firmware

    • Verified through bootloader chain

  • Attack strategy:

    • Place unsigned firmware NAND flash

    • Glitch the memcmp used for comparing the NAND firmware’s SHA value

    • Allows to execute arbitrary code

34
New cards

NRF52 APP Product Bypass

  • App project is a code readout protection mechanism

    • Disables JTAG access via hardware register in flash (UICR)

    • Reenabling JTAG deletes firmware in ROM

  • Attack strategy:

    • During hardware bring up, glitch read from flash

    • Hardware believes APP protect is disabled

    • Connect debugger and dump firmware

    • Optional: reflash firmware without AppProtect