Top Banner
Fault Injection Attacks on Secure Boot Niek Timmers [email protected] (@tieknimmers) Albert Spruyt [email protected] April 13, 2017
111

Fault Injection Attacks on Secure Boot - HITBconference.hitb.org/hitbsecconf2017ams/materials/D1T4 - Niek... · Fault Injection Attacks on Secure Boot Niek Timmers [email protected]

Jan 02, 2019

Download

Documents

vunguyet
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Fault Injection Attacks on Secure Boot - HITBconference.hitb.org/hitbsecconf2017ams/materials/D1T4 - Niek... · Fault Injection Attacks on Secure Boot Niek Timmers timmers@riscure.com

Fault Injection Attacks on Secure Boot

Niek [email protected]

(@tieknimmers)

Albert [email protected]

April 13, 2017

Page 2: Fault Injection Attacks on Secure Boot - HITBconference.hitb.org/hitbsecconf2017ams/materials/D1T4 - Niek... · Fault Injection Attacks on Secure Boot Niek Timmers timmers@riscure.com

Agenda

Disclaimer: we are not talking about UEFI Secure Boot!

Page 3: Fault Injection Attacks on Secure Boot - HITBconference.hitb.org/hitbsecconf2017ams/materials/D1T4 - Niek... · Fault Injection Attacks on Secure Boot Niek Timmers timmers@riscure.com

Agenda

Disclaimer: we are not talking about UEFI Secure Boot!

Page 4: Fault Injection Attacks on Secure Boot - HITBconference.hitb.org/hitbsecconf2017ams/materials/D1T4 - Niek... · Fault Injection Attacks on Secure Boot Niek Timmers timmers@riscure.com

Who are we?

Albert & Niek• Security Analysts• Security testing of different products and technologies

Riscure• Services (Security Test Lab)

• Hardware / Software / Crypto• Embedded systems / Smart cards

• Tools• Side channel analysis (passive)• Fault injection (active)

This talk shows a bit of both...

Page 5: Fault Injection Attacks on Secure Boot - HITBconference.hitb.org/hitbsecconf2017ams/materials/D1T4 - Niek... · Fault Injection Attacks on Secure Boot Niek Timmers timmers@riscure.com

Who are we?

Albert & Niek• Security Analysts• Security testing of different products and technologies

Riscure• Services (Security Test Lab)

• Hardware / Software / Crypto• Embedded systems / Smart cards

• Tools• Side channel analysis (passive)• Fault injection (active)

This talk shows a bit of both...

Page 6: Fault Injection Attacks on Secure Boot - HITBconference.hitb.org/hitbsecconf2017ams/materials/D1T4 - Niek... · Fault Injection Attacks on Secure Boot Niek Timmers timmers@riscure.com

A fault injection definition...

”Introducing faults in a target to alter its intended behavior.”

...if( key_is_correct ) <-- Glitch here!{

open_door();}else{

keep_door_closed();}...

How can we introduce these faults?

Page 7: Fault Injection Attacks on Secure Boot - HITBconference.hitb.org/hitbsecconf2017ams/materials/D1T4 - Niek... · Fault Injection Attacks on Secure Boot Niek Timmers timmers@riscure.com

A fault injection definition...

”Introducing faults in a target to alter its intended behavior.”

...if( key_is_correct ) <-- Glitch here!{open_door();

}else{keep_door_closed();

}...

How can we introduce these faults?

Page 8: Fault Injection Attacks on Secure Boot - HITBconference.hitb.org/hitbsecconf2017ams/materials/D1T4 - Niek... · Fault Injection Attacks on Secure Boot Niek Timmers timmers@riscure.com

A fault injection definition...

”Introducing faults in a target to alter its intended behavior.”

...if( key_is_correct ) <-- Glitch here!{open_door();

}else{keep_door_closed();

}...

How can we introduce these faults?

Page 9: Fault Injection Attacks on Secure Boot - HITBconference.hitb.org/hitbsecconf2017ams/materials/D1T4 - Niek... · Fault Injection Attacks on Secure Boot Niek Timmers timmers@riscure.com

A fault injection definition...

”Introducing faults in a target to alter its intended behavior.”

...if( key_is_correct ) <-- Glitch here!{open_door();

}else{keep_door_closed();

}...

How can we introduce these faults?

Page 10: Fault Injection Attacks on Secure Boot - HITBconference.hitb.org/hitbsecconf2017ams/materials/D1T4 - Niek... · Fault Injection Attacks on Secure Boot Niek Timmers timmers@riscure.com

Fault injection techniques1

clock voltage e-magnetic laser

Source: http://www.limited-entropy.com/fault-injection-techniques/

1The Sorcerers Apprentice Guide to Fault Attacks. – Bar-El et al., 2004

Page 11: Fault Injection Attacks on Secure Boot - HITBconference.hitb.org/hitbsecconf2017ams/materials/D1T4 - Niek... · Fault Injection Attacks on Secure Boot Niek Timmers timmers@riscure.com

Fault injection techniques1

clock voltage e-magnetic laser

Source: http://www.limited-entropy.com/fault-injection-techniques/

1The Sorcerers Apprentice Guide to Fault Attacks. – Bar-El et al., 2004

Page 12: Fault Injection Attacks on Secure Boot - HITBconference.hitb.org/hitbsecconf2017ams/materials/D1T4 - Niek... · Fault Injection Attacks on Secure Boot Niek Timmers timmers@riscure.com

Type of faultsFaults that affect hardware

• Registers• Buses

Faults that affect hardware that does software2 3 4

• Instruction corruption

mov r0, r1 11100001101000000000000000000001mov r0, r3 11100001101000000000000000000011

• Instruction skipping

mov r0, r1 11100001101000000000000000000001mov r0, r0 11100001101000000000000000000000

Is this useful?2

Fault Model Analysis of Laser-Induced Faults in SRAM Memory Cells – Roscian et. al., 20153

High Precision Fault Injections on the Instruction Cache of ARMv7-M Architectures – Riviere et al., 20154

Formal verification of a software countermeasure against instruction skip attacks – Moro et. al., 2014

Page 13: Fault Injection Attacks on Secure Boot - HITBconference.hitb.org/hitbsecconf2017ams/materials/D1T4 - Niek... · Fault Injection Attacks on Secure Boot Niek Timmers timmers@riscure.com

Type of faultsFaults that affect hardware

• Registers• Buses

Faults that affect hardware that does software2 3 4

• Instruction corruption

mov r0, r1 11100001101000000000000000000001mov r0, r3 11100001101000000000000000000011

• Instruction skipping

mov r0, r1 11100001101000000000000000000001mov r0, r0 11100001101000000000000000000000

Is this useful?2

Fault Model Analysis of Laser-Induced Faults in SRAM Memory Cells – Roscian et. al., 20153

High Precision Fault Injections on the Instruction Cache of ARMv7-M Architectures – Riviere et al., 20154

Formal verification of a software countermeasure against instruction skip attacks – Moro et. al., 2014

Page 14: Fault Injection Attacks on Secure Boot - HITBconference.hitb.org/hitbsecconf2017ams/materials/D1T4 - Niek... · Fault Injection Attacks on Secure Boot Niek Timmers timmers@riscure.com

Type of faultsFaults that affect hardware

• Registers• Buses

Faults that affect hardware that does software2 3 4

• Instruction corruption

mov r0, r1 11100001101000000000000000000001mov r0, r3 11100001101000000000000000000011

• Instruction skipping

mov r0, r1 11100001101000000000000000000001mov r0, r0 11100001101000000000000000000000

Is this useful?2

Fault Model Analysis of Laser-Induced Faults in SRAM Memory Cells – Roscian et. al., 20153

High Precision Fault Injections on the Instruction Cache of ARMv7-M Architectures – Riviere et al., 20154

Formal verification of a software countermeasure against instruction skip attacks – Moro et. al., 2014

Page 15: Fault Injection Attacks on Secure Boot - HITBconference.hitb.org/hitbsecconf2017ams/materials/D1T4 - Niek... · Fault Injection Attacks on Secure Boot Niek Timmers timmers@riscure.com

Type of faultsFaults that affect hardware

• Registers• Buses

Faults that affect hardware that does software2 3 4

• Instruction corruption

mov r0, r1 11100001101000000000000000000001mov r0, r3 11100001101000000000000000000011

• Instruction skipping

mov r0, r1 11100001101000000000000000000001mov r0, r0 11100001101000000000000000000000

Is this useful?2

Fault Model Analysis of Laser-Induced Faults in SRAM Memory Cells – Roscian et. al., 20153

High Precision Fault Injections on the Instruction Cache of ARMv7-M Architectures – Riviere et al., 20154

Formal verification of a software countermeasure against instruction skip attacks – Moro et. al., 2014

Page 16: Fault Injection Attacks on Secure Boot - HITBconference.hitb.org/hitbsecconf2017ams/materials/D1T4 - Niek... · Fault Injection Attacks on Secure Boot Niek Timmers timmers@riscure.com

Type of faultsFaults that affect hardware

• Registers• Buses

Faults that affect hardware that does software2 3 4

• Instruction corruption

mov r0, r1 11100001101000000000000000000001mov r0, r3 11100001101000000000000000000011

• Instruction skipping

mov r0, r1 11100001101000000000000000000001mov r0, r0 11100001101000000000000000000000

Is this useful?2

Fault Model Analysis of Laser-Induced Faults in SRAM Memory Cells – Roscian et. al., 20153

High Precision Fault Injections on the Instruction Cache of ARMv7-M Architectures – Riviere et al., 20154

Formal verification of a software countermeasure against instruction skip attacks – Moro et. al., 2014

Page 17: Fault Injection Attacks on Secure Boot - HITBconference.hitb.org/hitbsecconf2017ams/materials/D1T4 - Niek... · Fault Injection Attacks on Secure Boot Niek Timmers timmers@riscure.com

Type of faultsFaults that affect hardware

• Registers• Buses

Faults that affect hardware that does software2 3 4

• Instruction corruption

mov r0, r1 11100001101000000000000000000001mov r0, r3 11100001101000000000000000000011

• Instruction skipping

mov r0, r1 11100001101000000000000000000001mov r0, r0 11100001101000000000000000000000

Is this useful?2

Fault Model Analysis of Laser-Induced Faults in SRAM Memory Cells – Roscian et. al., 20153

High Precision Fault Injections on the Instruction Cache of ARMv7-M Architectures – Riviere et al., 20154

Formal verification of a software countermeasure against instruction skip attacks – Moro et. al., 2014

Page 18: Fault Injection Attacks on Secure Boot - HITBconference.hitb.org/hitbsecconf2017ams/materials/D1T4 - Niek... · Fault Injection Attacks on Secure Boot Niek Timmers timmers@riscure.com

Secure boot

Remarks• Integrity and confidentiality of flash contents are not assured!• A mechanism is required for this assurance: secure boot!

Page 19: Fault Injection Attacks on Secure Boot - HITBconference.hitb.org/hitbsecconf2017ams/materials/D1T4 - Niek... · Fault Injection Attacks on Secure Boot Niek Timmers timmers@riscure.com

Secure boot

Remarks• Integrity and confidentiality of flash contents are not assured!• A mechanism is required for this assurance: secure boot!

Page 20: Fault Injection Attacks on Secure Boot - HITBconference.hitb.org/hitbsecconf2017ams/materials/D1T4 - Niek... · Fault Injection Attacks on Secure Boot Niek Timmers timmers@riscure.com

Secure boot

Remarks• Integrity and confidentiality of flash contents are not assured!• A mechanism is required for this assurance: secure boot!

Page 21: Fault Injection Attacks on Secure Boot - HITBconference.hitb.org/hitbsecconf2017ams/materials/D1T4 - Niek... · Fault Injection Attacks on Secure Boot Niek Timmers timmers@riscure.com

Secure boot

Remarks• Integrity and confidentiality of flash contents are not assured!• A mechanism is required for this assurance: secure boot!

Page 22: Fault Injection Attacks on Secure Boot - HITBconference.hitb.org/hitbsecconf2017ams/materials/D1T4 - Niek... · Fault Injection Attacks on Secure Boot Niek Timmers timmers@riscure.com

Secure boot

Remarks• Integrity and confidentiality of flash contents are not assured!• A mechanism is required for this assurance: secure boot!

Page 23: Fault Injection Attacks on Secure Boot - HITBconference.hitb.org/hitbsecconf2017ams/materials/D1T4 - Niek... · Fault Injection Attacks on Secure Boot Niek Timmers timmers@riscure.com

Secure boot

• Assures integrity (and confidentiality) of flash contents• The chain of trust is similar to PKI5 found in browsers• One root of trust composed of immutable code and key5

Public Key Infrastructure

Page 24: Fault Injection Attacks on Secure Boot - HITBconference.hitb.org/hitbsecconf2017ams/materials/D1T4 - Niek... · Fault Injection Attacks on Secure Boot Niek Timmers timmers@riscure.com

Secure boot

• Assures integrity (and confidentiality) of flash contents• The chain of trust is similar to PKI5 found in browsers• One root of trust composed of immutable code and key5

Public Key Infrastructure

Page 25: Fault Injection Attacks on Secure Boot - HITBconference.hitb.org/hitbsecconf2017ams/materials/D1T4 - Niek... · Fault Injection Attacks on Secure Boot Niek Timmers timmers@riscure.com

Secure boot

• Assures integrity (and confidentiality) of flash contents• The chain of trust is similar to PKI5 found in browsers• One root of trust composed of immutable code and key5

Public Key Infrastructure

Page 26: Fault Injection Attacks on Secure Boot - HITBconference.hitb.org/hitbsecconf2017ams/materials/D1T4 - Niek... · Fault Injection Attacks on Secure Boot Niek Timmers timmers@riscure.com

Secure boot

• Assures integrity (and confidentiality) of flash contents• The chain of trust is similar to PKI5 found in browsers• One root of trust composed of immutable code and key5

Public Key Infrastructure

Page 27: Fault Injection Attacks on Secure Boot - HITBconference.hitb.org/hitbsecconf2017ams/materials/D1T4 - Niek... · Fault Injection Attacks on Secure Boot Niek Timmers timmers@riscure.com

Secure boot in reality ...

Source: http://community.arm.com/docs/DOC-9306

Page 28: Fault Injection Attacks on Secure Boot - HITBconference.hitb.org/hitbsecconf2017ams/materials/D1T4 - Niek... · Fault Injection Attacks on Secure Boot Niek Timmers timmers@riscure.com

Secure boot in reality ...

Source: http://community.arm.com/docs/DOC-9306

Page 29: Fault Injection Attacks on Secure Boot - HITBconference.hitb.org/hitbsecconf2017ams/materials/D1T4 - Niek... · Fault Injection Attacks on Secure Boot Niek Timmers timmers@riscure.com

Why use a hardware attack?

”Logical issues exist in secure boot implementations!!?”

Bootloader vulnerabilities• S5L8920 (iPhone)6

• Amlogic S9057

However• A small code base results in a small logical attack surface• Implementations without vulnerabililties likely exist

Other attack(s) must be used when not logically flawed!

6https://www.theiphonewiki.com/wiki/0x24000_Segment_Overflow

7http://www.fredericb.info/2016/10/amlogic-s905-soc-bypassing-not-so.html

Page 30: Fault Injection Attacks on Secure Boot - HITBconference.hitb.org/hitbsecconf2017ams/materials/D1T4 - Niek... · Fault Injection Attacks on Secure Boot Niek Timmers timmers@riscure.com

Why use a hardware attack?

”Logical issues exist in secure boot implementations!!?”

Bootloader vulnerabilities• S5L8920 (iPhone)6

• Amlogic S9057

However• A small code base results in a small logical attack surface• Implementations without vulnerabililties likely exist

Other attack(s) must be used when not logically flawed!

6https://www.theiphonewiki.com/wiki/0x24000_Segment_Overflow

7http://www.fredericb.info/2016/10/amlogic-s905-soc-bypassing-not-so.html

Page 31: Fault Injection Attacks on Secure Boot - HITBconference.hitb.org/hitbsecconf2017ams/materials/D1T4 - Niek... · Fault Injection Attacks on Secure Boot Niek Timmers timmers@riscure.com

Why use a hardware attack?

”Logical issues exist in secure boot implementations!!?”

Bootloader vulnerabilities• S5L8920 (iPhone)6

• Amlogic S9057

However• A small code base results in a small logical attack surface• Implementations without vulnerabililties likely exist

Other attack(s) must be used when not logically flawed!

6https://www.theiphonewiki.com/wiki/0x24000_Segment_Overflow

7http://www.fredericb.info/2016/10/amlogic-s905-soc-bypassing-not-so.html

Page 32: Fault Injection Attacks on Secure Boot - HITBconference.hitb.org/hitbsecconf2017ams/materials/D1T4 - Niek... · Fault Injection Attacks on Secure Boot Niek Timmers timmers@riscure.com

Why use a hardware attack?

”Logical issues exist in secure boot implementations!!?”

Bootloader vulnerabilities• S5L8920 (iPhone)6

• Amlogic S9057

However• A small code base results in a small logical attack surface• Implementations without vulnerabililties likely exist

Other attack(s) must be used when not logically flawed!

6https://www.theiphonewiki.com/wiki/0x24000_Segment_Overflow

7http://www.fredericb.info/2016/10/amlogic-s905-soc-bypassing-not-so.html

Page 33: Fault Injection Attacks on Secure Boot - HITBconference.hitb.org/hitbsecconf2017ams/materials/D1T4 - Niek... · Fault Injection Attacks on Secure Boot Niek Timmers timmers@riscure.com

Why (not) fault injection on secure boot?

Cons• Invasive• Physical access• Expensive

Pros• No logical vulnerability required• Typical targets not properly protected

Especially relevant when assets are not available after boot!

Page 34: Fault Injection Attacks on Secure Boot - HITBconference.hitb.org/hitbsecconf2017ams/materials/D1T4 - Niek... · Fault Injection Attacks on Secure Boot Niek Timmers timmers@riscure.com

Why (not) fault injection on secure boot?

Cons• Invasive• Physical access• Expensive

Pros• No logical vulnerability required• Typical targets not properly protected

Especially relevant when assets are not available after boot!

Page 35: Fault Injection Attacks on Secure Boot - HITBconference.hitb.org/hitbsecconf2017ams/materials/D1T4 - Niek... · Fault Injection Attacks on Secure Boot Niek Timmers timmers@riscure.com

Why (not) fault injection on secure boot?

Cons• Invasive• Physical access• Expensive

Pros• No logical vulnerability required• Typical targets not properly protected

Especially relevant when assets are not available after boot!

Page 36: Fault Injection Attacks on Secure Boot - HITBconference.hitb.org/hitbsecconf2017ams/materials/D1T4 - Niek... · Fault Injection Attacks on Secure Boot Niek Timmers timmers@riscure.com

Why (not) fault injection on secure boot?

Cons• Invasive• Physical access• Expensive

Pros• No logical vulnerability required• Typical targets not properly protected

Especially relevant when assets are not available after boot!

Page 37: Fault Injection Attacks on Secure Boot - HITBconference.hitb.org/hitbsecconf2017ams/materials/D1T4 - Niek... · Fault Injection Attacks on Secure Boot Niek Timmers timmers@riscure.com

Typical assets

Secure code• Boot code (ROM8)

Secrets• Keys (for boot code decryption)

Secure hardware• Cryptographic engines

8Read Only Memory

Page 38: Fault Injection Attacks on Secure Boot - HITBconference.hitb.org/hitbsecconf2017ams/materials/D1T4 - Niek... · Fault Injection Attacks on Secure Boot Niek Timmers timmers@riscure.com

Typical assets

Secure code• Boot code (ROM8)

Secrets• Keys (for boot code decryption)

Secure hardware• Cryptographic engines

8Read Only Memory

Page 39: Fault Injection Attacks on Secure Boot - HITBconference.hitb.org/hitbsecconf2017ams/materials/D1T4 - Niek... · Fault Injection Attacks on Secure Boot Niek Timmers timmers@riscure.com

Typical assets

Secure code• Boot code (ROM8)

Secrets• Keys (for boot code decryption)

Secure hardware• Cryptographic engines

8Read Only Memory

Page 40: Fault Injection Attacks on Secure Boot - HITBconference.hitb.org/hitbsecconf2017ams/materials/D1T4 - Niek... · Fault Injection Attacks on Secure Boot Niek Timmers timmers@riscure.com

Typical assets

Secure code• Boot code (ROM8)

Secrets• Keys (for boot code decryption)

Secure hardware• Cryptographic engines

8Read Only Memory

Page 41: Fault Injection Attacks on Secure Boot - HITBconference.hitb.org/hitbsecconf2017ams/materials/D1T4 - Niek... · Fault Injection Attacks on Secure Boot Niek Timmers timmers@riscure.com

Open source tooling

ChipWhisperer

By NewAE Technology Inc. 9 10

9https://wiki.newae.com/CW1173_ChipWhisperer-Lite

10https://www.youtube.com/watch?v=TeCQatNcF20

Page 42: Fault Injection Attacks on Secure Boot - HITBconference.hitb.org/hitbsecconf2017ams/materials/D1T4 - Niek... · Fault Injection Attacks on Secure Boot Niek Timmers timmers@riscure.com

Commercial tooling

By Riscure 11

11https://www.riscure.com/security-tools/hardware/spider

Page 43: Fault Injection Attacks on Secure Boot - HITBconference.hitb.org/hitbsecconf2017ams/materials/D1T4 - Niek... · Fault Injection Attacks on Secure Boot Niek Timmers timmers@riscure.com

Fault injection setup

Page 44: Fault Injection Attacks on Secure Boot - HITBconference.hitb.org/hitbsecconf2017ams/materials/D1T4 - Niek... · Fault Injection Attacks on Secure Boot Niek Timmers timmers@riscure.com

In real life...

Page 45: Fault Injection Attacks on Secure Boot - HITBconference.hitb.org/hitbsecconf2017ams/materials/D1T4 - Niek... · Fault Injection Attacks on Secure Boot Niek Timmers timmers@riscure.com

That was the introduction ...

... let’s bypass secure boot!

Page 46: Fault Injection Attacks on Secure Boot - HITBconference.hitb.org/hitbsecconf2017ams/materials/D1T4 - Niek... · Fault Injection Attacks on Secure Boot Niek Timmers timmers@riscure.com

That was the introduction ...

... let’s bypass secure boot!

Page 47: Fault Injection Attacks on Secure Boot - HITBconference.hitb.org/hitbsecconf2017ams/materials/D1T4 - Niek... · Fault Injection Attacks on Secure Boot Niek Timmers timmers@riscure.com

Hash comparison

• Applicable to all secure boot implementations• Bypass of authentication

if( memcmp( p, hash, hashlen ) != 0 )return( MBEDTLS_ERR_RSA_VERIFY_FAILED );

p += hashlen;

if( p != end )return( MBEDTLS_ERR_RSA_VERIFY_FAILED );

return( 0 );

Source: https://tls.mbed.org/

Page 48: Fault Injection Attacks on Secure Boot - HITBconference.hitb.org/hitbsecconf2017ams/materials/D1T4 - Niek... · Fault Injection Attacks on Secure Boot Niek Timmers timmers@riscure.com

Hash comparison

• Applicable to all secure boot implementations• Bypass of authentication

if( memcmp( p, hash, hashlen ) != 0 )return( MBEDTLS_ERR_RSA_VERIFY_FAILED );

p += hashlen;

if( p != end )return( MBEDTLS_ERR_RSA_VERIFY_FAILED );

return( 0 );

Source: https://tls.mbed.org/

Page 49: Fault Injection Attacks on Secure Boot - HITBconference.hitb.org/hitbsecconf2017ams/materials/D1T4 - Niek... · Fault Injection Attacks on Secure Boot Niek Timmers timmers@riscure.com

Hash comparison

• Applicable to all secure boot implementations• Bypass of authentication

if( memcmp( p, hash, hashlen ) != 0 )return( MBEDTLS_ERR_RSA_VERIFY_FAILED );

p += hashlen;

if( p != end )return( MBEDTLS_ERR_RSA_VERIFY_FAILED );

return( 0 );

Source: https://tls.mbed.org/

Page 50: Fault Injection Attacks on Secure Boot - HITBconference.hitb.org/hitbsecconf2017ams/materials/D1T4 - Niek... · Fault Injection Attacks on Secure Boot Niek Timmers timmers@riscure.com

Hash comparison

Multiple locations bypass the check with a single fault!

Page 51: Fault Injection Attacks on Secure Boot - HITBconference.hitb.org/hitbsecconf2017ams/materials/D1T4 - Niek... · Fault Injection Attacks on Secure Boot Niek Timmers timmers@riscure.com

Hash comparison

Multiple locations bypass the check with a single fault!

Page 52: Fault Injection Attacks on Secure Boot - HITBconference.hitb.org/hitbsecconf2017ams/materials/D1T4 - Niek... · Fault Injection Attacks on Secure Boot Niek Timmers timmers@riscure.com

Hash comparison

Multiple locations bypass the check with a single fault!

Page 53: Fault Injection Attacks on Secure Boot - HITBconference.hitb.org/hitbsecconf2017ams/materials/D1T4 - Niek... · Fault Injection Attacks on Secure Boot Niek Timmers timmers@riscure.com

Hash comparison

Multiple locations bypass the check with a single fault!

Page 54: Fault Injection Attacks on Secure Boot - HITBconference.hitb.org/hitbsecconf2017ams/materials/D1T4 - Niek... · Fault Injection Attacks on Secure Boot Niek Timmers timmers@riscure.com

Hash comparison

Multiple locations bypass the check with a single fault!

Page 55: Fault Injection Attacks on Secure Boot - HITBconference.hitb.org/hitbsecconf2017ams/materials/D1T4 - Niek... · Fault Injection Attacks on Secure Boot Niek Timmers timmers@riscure.com

Signature check call

/* glitch here */

if(mbedtls_pk_verify(..., hash, signature, ...)) {/* do not boot up the image */

no_boot();} else {

/* boot up the image */

boot();}

Remarks• Bypasses can happen on all levels• Inside functions, inside the calling functions, etc.

Page 56: Fault Injection Attacks on Secure Boot - HITBconference.hitb.org/hitbsecconf2017ams/materials/D1T4 - Niek... · Fault Injection Attacks on Secure Boot Niek Timmers timmers@riscure.com

Signature check call

/* glitch here */

if(mbedtls_pk_verify(..., hash, signature, ...)) {/* do not boot up the image */

no_boot();} else {

/* boot up the image */

boot();}

Remarks• Bypasses can happen on all levels• Inside functions, inside the calling functions, etc.

Page 57: Fault Injection Attacks on Secure Boot - HITBconference.hitb.org/hitbsecconf2017ams/materials/D1T4 - Niek... · Fault Injection Attacks on Secure Boot Niek Timmers timmers@riscure.com

Signature check call

/* glitch here */

if(mbedtls_pk_verify(..., hash, signature, ...)) {/* do not boot up the image */

no_boot();} else {

/* boot up the image */

boot();}

Remarks• Bypasses can happen on all levels• Inside functions, inside the calling functions, etc.

Page 58: Fault Injection Attacks on Secure Boot - HITBconference.hitb.org/hitbsecconf2017ams/materials/D1T4 - Niek... · Fault Injection Attacks on Secure Boot Niek Timmers timmers@riscure.com

Infinite loop

• What to do when the signature verification fails?• Enter an infinite loop!

/* glitch here */

if(mbedtls_pk_verify(..., hash, signature, ...)) {

/* do not boot up the image */

while(1);

} else {

/* boot up the image */

boot();}

Page 59: Fault Injection Attacks on Secure Boot - HITBconference.hitb.org/hitbsecconf2017ams/materials/D1T4 - Niek... · Fault Injection Attacks on Secure Boot Niek Timmers timmers@riscure.com

Infinite loop

• What to do when the signature verification fails?• Enter an infinite loop!

/* glitch here */

if(mbedtls_pk_verify(..., hash, signature, ...)) {

/* do not boot up the image */

while(1);

} else {

/* boot up the image */

boot();}

Page 60: Fault Injection Attacks on Secure Boot - HITBconference.hitb.org/hitbsecconf2017ams/materials/D1T4 - Niek... · Fault Injection Attacks on Secure Boot Niek Timmers timmers@riscure.com

Infinite loop

• What to do when the signature verification fails?• Enter an infinite loop!

/* glitch here */

if(mbedtls_pk_verify(..., hash, signature, ...)) {

/* do not boot up the image */

while(1);

} else {

/* boot up the image */

boot();}

Page 61: Fault Injection Attacks on Secure Boot - HITBconference.hitb.org/hitbsecconf2017ams/materials/D1T4 - Niek... · Fault Injection Attacks on Secure Boot Niek Timmers timmers@riscure.com

Infinite loop

• What to do when the signature verification fails?• Enter an infinite loop!

/* glitch here */

if(mbedtls_pk_verify(..., hash, signature, ...)) {

/* do not boot up the image */

while(1);

} else {

/* boot up the image */

boot();}

Page 62: Fault Injection Attacks on Secure Boot - HITBconference.hitb.org/hitbsecconf2017ams/materials/D1T4 - Niek... · Fault Injection Attacks on Secure Boot Niek Timmers timmers@riscure.com

Infinite loop

Remarks• Timing is not an issue!• Classic smart card attack 12

• Better to reset or wipe keys

12https://en.wikipedia.org/wiki/Unlooper

Page 63: Fault Injection Attacks on Secure Boot - HITBconference.hitb.org/hitbsecconf2017ams/materials/D1T4 - Niek... · Fault Injection Attacks on Secure Boot Niek Timmers timmers@riscure.com

Infinite loop

Remarks• Timing is not an issue!• Classic smart card attack 12

• Better to reset or wipe keys

12https://en.wikipedia.org/wiki/Unlooper

Page 64: Fault Injection Attacks on Secure Boot - HITBconference.hitb.org/hitbsecconf2017ams/materials/D1T4 - Niek... · Fault Injection Attacks on Secure Boot Niek Timmers timmers@riscure.com

Infinite loop

Remarks• Timing is not an issue!• Classic smart card attack 12

• Better to reset or wipe keys

12https://en.wikipedia.org/wiki/Unlooper

Page 65: Fault Injection Attacks on Secure Boot - HITBconference.hitb.org/hitbsecconf2017ams/materials/D1T4 - Niek... · Fault Injection Attacks on Secure Boot Niek Timmers timmers@riscure.com

Infinite loop

Remarks• Timing is not an issue!• Classic smart card attack 12

• Better to reset or wipe keys

12https://en.wikipedia.org/wiki/Unlooper

Page 66: Fault Injection Attacks on Secure Boot - HITBconference.hitb.org/hitbsecconf2017ams/materials/D1T4 - Niek... · Fault Injection Attacks on Secure Boot Niek Timmers timmers@riscure.com

Infinite loop

Remarks• Timing is not an issue!• Classic smart card attack 12

• Better to reset or wipe keys

12https://en.wikipedia.org/wiki/Unlooper

Page 67: Fault Injection Attacks on Secure Boot - HITBconference.hitb.org/hitbsecconf2017ams/materials/D1T4 - Niek... · Fault Injection Attacks on Secure Boot Niek Timmers timmers@riscure.com

Mitigations

Hardware countermeasures 13 14

• Detect the glitch or fault

Software countermeasures 15

• Lower the probability of a successful fault• Do not address the root cause

You can lower the probability but not rule it out!

13The Sorcerers Apprentice Guide to Fault Attacks – Bar-El et al., 2004

14The Fault Attack Jungle - A Classification Model to Guide You – Verbauwhede et al., 2011

15Secure Application Programming in the Presence of Side Channel Attacks – Witteman

Page 68: Fault Injection Attacks on Secure Boot - HITBconference.hitb.org/hitbsecconf2017ams/materials/D1T4 - Niek... · Fault Injection Attacks on Secure Boot Niek Timmers timmers@riscure.com

Mitigations

Hardware countermeasures 13 14

• Detect the glitch or fault

Software countermeasures 15

• Lower the probability of a successful fault• Do not address the root cause

You can lower the probability but not rule it out!

13The Sorcerers Apprentice Guide to Fault Attacks – Bar-El et al., 2004

14The Fault Attack Jungle - A Classification Model to Guide You – Verbauwhede et al., 2011

15Secure Application Programming in the Presence of Side Channel Attacks – Witteman

Page 69: Fault Injection Attacks on Secure Boot - HITBconference.hitb.org/hitbsecconf2017ams/materials/D1T4 - Niek... · Fault Injection Attacks on Secure Boot Niek Timmers timmers@riscure.com

Mitigations

Hardware countermeasures 13 14

• Detect the glitch or fault

Software countermeasures 15

• Lower the probability of a successful fault• Do not address the root cause

You can lower the probability but not rule it out!

13The Sorcerers Apprentice Guide to Fault Attacks – Bar-El et al., 2004

14The Fault Attack Jungle - A Classification Model to Guide You – Verbauwhede et al., 2011

15Secure Application Programming in the Presence of Side Channel Attacks – Witteman

Page 70: Fault Injection Attacks on Secure Boot - HITBconference.hitb.org/hitbsecconf2017ams/materials/D1T4 - Niek... · Fault Injection Attacks on Secure Boot Niek Timmers timmers@riscure.com

Mitigations

Hardware countermeasures 13 14

• Detect the glitch or fault

Software countermeasures 15

• Lower the probability of a successful fault• Do not address the root cause

You can lower the probability but not rule it out!

13The Sorcerers Apprentice Guide to Fault Attacks – Bar-El et al., 2004

14The Fault Attack Jungle - A Classification Model to Guide You – Verbauwhede et al., 2011

15Secure Application Programming in the Presence of Side Channel Attacks – Witteman

Page 71: Fault Injection Attacks on Secure Boot - HITBconference.hitb.org/hitbsecconf2017ams/materials/D1T4 - Niek... · Fault Injection Attacks on Secure Boot Niek Timmers timmers@riscure.com

Mitigations

Hardware countermeasures 13 14

• Detect the glitch or fault

Software countermeasures 15

• Lower the probability of a successful fault• Do not address the root cause

You can lower the probability but not rule it out!

13The Sorcerers Apprentice Guide to Fault Attacks – Bar-El et al., 2004

14The Fault Attack Jungle - A Classification Model to Guide You – Verbauwhede et al., 2011

15Secure Application Programming in the Presence of Side Channel Attacks – Witteman

Page 72: Fault Injection Attacks on Secure Boot - HITBconference.hitb.org/hitbsecconf2017ams/materials/D1T4 - Niek... · Fault Injection Attacks on Secure Boot Niek Timmers timmers@riscure.com

Mitigations

Hardware countermeasures 13 14

• Detect the glitch or fault

Software countermeasures 15

• Lower the probability of a successful fault• Do not address the root cause

You can lower the probability but not rule it out!

13The Sorcerers Apprentice Guide to Fault Attacks – Bar-El et al., 2004

14The Fault Attack Jungle - A Classification Model to Guide You – Verbauwhede et al., 2011

15Secure Application Programming in the Presence of Side Channel Attacks – Witteman

Page 73: Fault Injection Attacks on Secure Boot - HITBconference.hitb.org/hitbsecconf2017ams/materials/D1T4 - Niek... · Fault Injection Attacks on Secure Boot Niek Timmers timmers@riscure.com

Combined Attacks

Those were the classics and their mitigations ..

... the attack surface is larger!16

16All attacks have been performed successfully on multiple targets!

Page 74: Fault Injection Attacks on Secure Boot - HITBconference.hitb.org/hitbsecconf2017ams/materials/D1T4 - Niek... · Fault Injection Attacks on Secure Boot Niek Timmers timmers@riscure.com

Combined Attacks

Those were the classics and their mitigations ..

... the attack surface is larger!16

16All attacks have been performed successfully on multiple targets!

Page 75: Fault Injection Attacks on Secure Boot - HITBconference.hitb.org/hitbsecconf2017ams/materials/D1T4 - Niek... · Fault Injection Attacks on Secure Boot Niek Timmers timmers@riscure.com

Combined attack: Copy

• Introducing logical vulnerabilities using fault injection• Build your own buffer overflow!

• Easy approach: change memcpy the size argument

Before corruption

memcpy(dst, src, 0x1000);

After corruption

memcpy(dst, src, 0xCEE5);

Remark• Works when dedicated hardware is used

(e.g. DMA17 engines)

17Direct Memory Access

Page 76: Fault Injection Attacks on Secure Boot - HITBconference.hitb.org/hitbsecconf2017ams/materials/D1T4 - Niek... · Fault Injection Attacks on Secure Boot Niek Timmers timmers@riscure.com

Combined attack: Copy

• Introducing logical vulnerabilities using fault injection• Build your own buffer overflow!

• Easy approach: change memcpy the size argument

Before corruption

memcpy(dst, src, 0x1000);

After corruption

memcpy(dst, src, 0xCEE5);

Remark• Works when dedicated hardware is used

(e.g. DMA17 engines)

17Direct Memory Access

Page 77: Fault Injection Attacks on Secure Boot - HITBconference.hitb.org/hitbsecconf2017ams/materials/D1T4 - Niek... · Fault Injection Attacks on Secure Boot Niek Timmers timmers@riscure.com

Combined attack: Copy

• Introducing logical vulnerabilities using fault injection• Build your own buffer overflow!

• Easy approach: change memcpy the size argument

Before corruption

memcpy(dst, src, 0x1000);

After corruption

memcpy(dst, src, 0xCEE5);

Remark• Works when dedicated hardware is used

(e.g. DMA17 engines)

17Direct Memory Access

Page 78: Fault Injection Attacks on Secure Boot - HITBconference.hitb.org/hitbsecconf2017ams/materials/D1T4 - Niek... · Fault Injection Attacks on Secure Boot Niek Timmers timmers@riscure.com

Combined attack: Copy

• Introducing logical vulnerabilities using fault injection• Build your own buffer overflow!

• Easy approach: change memcpy the size argument

Before corruption

memcpy(dst, src, 0x1000);

After corruption

memcpy(dst, src, 0xCEE5);

Remark• Works when dedicated hardware is used

(e.g. DMA17 engines)

17Direct Memory Access

Page 79: Fault Injection Attacks on Secure Boot - HITBconference.hitb.org/hitbsecconf2017ams/materials/D1T4 - Niek... · Fault Injection Attacks on Secure Boot Niek Timmers timmers@riscure.com

Combined attack: Copy

• Introducing logical vulnerabilities using fault injection• Build your own buffer overflow!

• Easy approach: change memcpy the size argument

Before corruption

memcpy(dst, src, 0x1000);

After corruption

memcpy(dst, src, 0xCEE5);

Remark• Works when dedicated hardware is used

(e.g. DMA17 engines)

17Direct Memory Access

Page 80: Fault Injection Attacks on Secure Boot - HITBconference.hitb.org/hitbsecconf2017ams/materials/D1T4 - Niek... · Fault Injection Attacks on Secure Boot Niek Timmers timmers@riscure.com

Combined attack: Copy

Remark• Targeting the copy function arguments

Page 81: Fault Injection Attacks on Secure Boot - HITBconference.hitb.org/hitbsecconf2017ams/materials/D1T4 - Niek... · Fault Injection Attacks on Secure Boot Niek Timmers timmers@riscure.com

Combined attack: Copy

Remark• Targeting the copy function arguments

Page 82: Fault Injection Attacks on Secure Boot - HITBconference.hitb.org/hitbsecconf2017ams/materials/D1T4 - Niek... · Fault Injection Attacks on Secure Boot Niek Timmers timmers@riscure.com

Combined attack: Copy

Remark• Targeting the copy function arguments

Page 83: Fault Injection Attacks on Secure Boot - HITBconference.hitb.org/hitbsecconf2017ams/materials/D1T4 - Niek... · Fault Injection Attacks on Secure Boot Niek Timmers timmers@riscure.com

Combined attack: Copy

Remark• Targeting the copy function arguments

Page 84: Fault Injection Attacks on Secure Boot - HITBconference.hitb.org/hitbsecconf2017ams/materials/D1T4 - Niek... · Fault Injection Attacks on Secure Boot Niek Timmers timmers@riscure.com

Combined attack: Copy

Remark• Targeting the copy function arguments

Page 85: Fault Injection Attacks on Secure Boot - HITBconference.hitb.org/hitbsecconf2017ams/materials/D1T4 - Niek... · Fault Injection Attacks on Secure Boot Niek Timmers timmers@riscure.com

Combined attack: Copy

Remark• Targeting the copy function arguments

Page 86: Fault Injection Attacks on Secure Boot - HITBconference.hitb.org/hitbsecconf2017ams/materials/D1T4 - Niek... · Fault Injection Attacks on Secure Boot Niek Timmers timmers@riscure.com

Combined attack: Wild jungle jump18

• Start glitching while/after loadingthe image but before decryption

• Lots of ’magic’ pointers around,which point close to the code

• Get them from: stack, register,memory

• The more magic pointers, thehigher the probability

18Proving the wild jungle jump – Gratchoff, 2015

Page 87: Fault Injection Attacks on Secure Boot - HITBconference.hitb.org/hitbsecconf2017ams/materials/D1T4 - Niek... · Fault Injection Attacks on Secure Boot Niek Timmers timmers@riscure.com

Combined attack: Wild jungle jump18

• Start glitching while/after loadingthe image but before decryption

• Lots of ’magic’ pointers around,which point close to the code

• Get them from: stack, register,memory

• The more magic pointers, thehigher the probability

18Proving the wild jungle jump – Gratchoff, 2015

Page 88: Fault Injection Attacks on Secure Boot - HITBconference.hitb.org/hitbsecconf2017ams/materials/D1T4 - Niek... · Fault Injection Attacks on Secure Boot Niek Timmers timmers@riscure.com

Combined attack: Wild jungle jump18

• Start glitching while/after loadingthe image but before decryption

• Lots of ’magic’ pointers around,which point close to the code

• Get them from: stack, register,memory

• The more magic pointers, thehigher the probability

18Proving the wild jungle jump – Gratchoff, 2015

Page 89: Fault Injection Attacks on Secure Boot - HITBconference.hitb.org/hitbsecconf2017ams/materials/D1T4 - Niek... · Fault Injection Attacks on Secure Boot Niek Timmers timmers@riscure.com

Combined attack: Wild jungle jump18

• Start glitching while/after loadingthe image but before decryption

• Lots of ’magic’ pointers around,which point close to the code

• Get them from: stack, register,memory

• The more magic pointers, thehigher the probability

18Proving the wild jungle jump – Gratchoff, 2015

Page 90: Fault Injection Attacks on Secure Boot - HITBconference.hitb.org/hitbsecconf2017ams/materials/D1T4 - Niek... · Fault Injection Attacks on Secure Boot Niek Timmers timmers@riscure.com

Combined attack: Wild jungle jump18

• Start glitching while/after loadingthe image but before decryption

• Lots of ’magic’ pointers around,which point close to the code

• Get them from: stack, register,memory

• The more magic pointers, thehigher the probability

18Proving the wild jungle jump – Gratchoff, 2015

Page 91: Fault Injection Attacks on Secure Boot - HITBconference.hitb.org/hitbsecconf2017ams/materials/D1T4 - Niek... · Fault Injection Attacks on Secure Boot Niek Timmers timmers@riscure.com

Combined attacks – Summary

• Bypass of both authentication and decryption

• Typically little software exploitation mitigation during boot

• Fault injection mitigations in software may not be effective

The possibilites are endless...

Page 92: Fault Injection Attacks on Secure Boot - HITBconference.hitb.org/hitbsecconf2017ams/materials/D1T4 - Niek... · Fault Injection Attacks on Secure Boot Niek Timmers timmers@riscure.com

Combined attacks – Summary

• Bypass of both authentication and decryption

• Typically little software exploitation mitigation during boot

• Fault injection mitigations in software may not be effective

The possibilites are endless...

Page 93: Fault Injection Attacks on Secure Boot - HITBconference.hitb.org/hitbsecconf2017ams/materials/D1T4 - Niek... · Fault Injection Attacks on Secure Boot Niek Timmers timmers@riscure.com

Combined attacks – Summary

• Bypass of both authentication and decryption

• Typically little software exploitation mitigation during boot

• Fault injection mitigations in software may not be effective

The possibilites are endless...

Page 94: Fault Injection Attacks on Secure Boot - HITBconference.hitb.org/hitbsecconf2017ams/materials/D1T4 - Niek... · Fault Injection Attacks on Secure Boot Niek Timmers timmers@riscure.com

Combined attacks – Summary

• Bypass of both authentication and decryption

• Typically little software exploitation mitigation during boot

• Fault injection mitigations in software may not be effective

The possibilites are endless...

Page 95: Fault Injection Attacks on Secure Boot - HITBconference.hitb.org/hitbsecconf2017ams/materials/D1T4 - Niek... · Fault Injection Attacks on Secure Boot Niek Timmers timmers@riscure.com

Combined attacks – Summary

• Bypass of both authentication and decryption

• Typically little software exploitation mitigation during boot

• Fault injection mitigations in software may not be effective

The possibilites are endless...

Page 96: Fault Injection Attacks on Secure Boot - HITBconference.hitb.org/hitbsecconf2017ams/materials/D1T4 - Niek... · Fault Injection Attacks on Secure Boot Niek Timmers timmers@riscure.com

Attacker Practicalities

• Prepare the target

• Timing of the glitch

• Finding the right glitch shape

• Preparing the image

Page 97: Fault Injection Attacks on Secure Boot - HITBconference.hitb.org/hitbsecconf2017ams/materials/D1T4 - Niek... · Fault Injection Attacks on Secure Boot Niek Timmers timmers@riscure.com

Attacker Practicalities

• Prepare the target

• Timing of the glitch

• Finding the right glitch shape

• Preparing the image

Page 98: Fault Injection Attacks on Secure Boot - HITBconference.hitb.org/hitbsecconf2017ams/materials/D1T4 - Niek... · Fault Injection Attacks on Secure Boot Niek Timmers timmers@riscure.com

Attacker Practicalities

• Prepare the target

• Timing of the glitch

• Finding the right glitch shape

• Preparing the image

Page 99: Fault Injection Attacks on Secure Boot - HITBconference.hitb.org/hitbsecconf2017ams/materials/D1T4 - Niek... · Fault Injection Attacks on Secure Boot Niek Timmers timmers@riscure.com

Attacker Practicalities

• Prepare the target

• Timing of the glitch

• Finding the right glitch shape

• Preparing the image

Page 100: Fault Injection Attacks on Secure Boot - HITBconference.hitb.org/hitbsecconf2017ams/materials/D1T4 - Niek... · Fault Injection Attacks on Secure Boot Niek Timmers timmers@riscure.com

Attacker Practicalities

• Prepare the target

• Timing of the glitch

• Finding the right glitch shape

• Preparing the image

Page 101: Fault Injection Attacks on Secure Boot - HITBconference.hitb.org/hitbsecconf2017ams/materials/D1T4 - Niek... · Fault Injection Attacks on Secure Boot Niek Timmers timmers@riscure.com

Conclusion

Today’s standard technology not resistant to fault attacks

Minimize attack surface• Authenticate all code and data• Minimize code size of boot stages• Drop privileges at an early stage

Lower the probability• Implement fault injection countermeasures• Implement software exploitation mitigations

Robustness can only be determined using testing!

Page 102: Fault Injection Attacks on Secure Boot - HITBconference.hitb.org/hitbsecconf2017ams/materials/D1T4 - Niek... · Fault Injection Attacks on Secure Boot Niek Timmers timmers@riscure.com

Conclusion

Today’s standard technology not resistant to fault attacks

Minimize attack surface• Authenticate all code and data• Minimize code size of boot stages• Drop privileges at an early stage

Lower the probability• Implement fault injection countermeasures• Implement software exploitation mitigations

Robustness can only be determined using testing!

Page 103: Fault Injection Attacks on Secure Boot - HITBconference.hitb.org/hitbsecconf2017ams/materials/D1T4 - Niek... · Fault Injection Attacks on Secure Boot Niek Timmers timmers@riscure.com

Conclusion

Today’s standard technology not resistant to fault attacks

Minimize attack surface• Authenticate all code and data• Minimize code size of boot stages• Drop privileges at an early stage

Lower the probability• Implement fault injection countermeasures• Implement software exploitation mitigations

Robustness can only be determined using testing!

Page 104: Fault Injection Attacks on Secure Boot - HITBconference.hitb.org/hitbsecconf2017ams/materials/D1T4 - Niek... · Fault Injection Attacks on Secure Boot Niek Timmers timmers@riscure.com

Conclusion

Today’s standard technology not resistant to fault attacks

Minimize attack surface• Authenticate all code and data• Minimize code size of boot stages• Drop privileges at an early stage

Lower the probability• Implement fault injection countermeasures• Implement software exploitation mitigations

Robustness can only be determined using testing!

Page 105: Fault Injection Attacks on Secure Boot - HITBconference.hitb.org/hitbsecconf2017ams/materials/D1T4 - Niek... · Fault Injection Attacks on Secure Boot Niek Timmers timmers@riscure.com

Conclusion

Today’s standard technology not resistant to fault attacks

Minimize attack surface• Authenticate all code and data• Minimize code size of boot stages• Drop privileges at an early stage

Lower the probability• Implement fault injection countermeasures• Implement software exploitation mitigations

Robustness can only be determined using testing!

Page 106: Fault Injection Attacks on Secure Boot - HITBconference.hitb.org/hitbsecconf2017ams/materials/D1T4 - Niek... · Fault Injection Attacks on Secure Boot Niek Timmers timmers@riscure.com

Conclusion

Today’s standard technology not resistant to fault attacks

Minimize attack surface• Authenticate all code and data• Minimize code size of boot stages• Drop privileges at an early stage

Lower the probability• Implement fault injection countermeasures• Implement software exploitation mitigations

Robustness can only be determined using testing!

Page 107: Fault Injection Attacks on Secure Boot - HITBconference.hitb.org/hitbsecconf2017ams/materials/D1T4 - Niek... · Fault Injection Attacks on Secure Boot Niek Timmers timmers@riscure.com

Conclusion

Today’s standard technology not resistant to fault attacks

Minimize attack surface• Authenticate all code and data• Minimize code size of boot stages• Drop privileges at an early stage

Lower the probability• Implement fault injection countermeasures• Implement software exploitation mitigations

Robustness can only be determined using testing!

Page 108: Fault Injection Attacks on Secure Boot - HITBconference.hitb.org/hitbsecconf2017ams/materials/D1T4 - Niek... · Fault Injection Attacks on Secure Boot Niek Timmers timmers@riscure.com

Conclusion

Today’s standard technology not resistant to fault attacks

Minimize attack surface• Authenticate all code and data• Minimize code size of boot stages• Drop privileges at an early stage

Lower the probability• Implement fault injection countermeasures• Implement software exploitation mitigations

Robustness can only be determined using testing!

Page 109: Fault Injection Attacks on Secure Boot - HITBconference.hitb.org/hitbsecconf2017ams/materials/D1T4 - Niek... · Fault Injection Attacks on Secure Boot Niek Timmers timmers@riscure.com

Conclusion

Today’s standard technology not resistant to fault attacks

Minimize attack surface• Authenticate all code and data• Minimize code size of boot stages• Drop privileges at an early stage

Lower the probability• Implement fault injection countermeasures• Implement software exploitation mitigations

Robustness can only be determined using testing!

Page 110: Fault Injection Attacks on Secure Boot - HITBconference.hitb.org/hitbsecconf2017ams/materials/D1T4 - Niek... · Fault Injection Attacks on Secure Boot Niek Timmers timmers@riscure.com

Conclusion

Today’s standard technology not resistant to fault attacks

Minimize attack surface• Authenticate all code and data• Minimize code size of boot stages• Drop privileges at an early stage

Lower the probability• Implement fault injection countermeasures• Implement software exploitation mitigations

Robustness can only be determined using testing!

Page 111: Fault Injection Attacks on Secure Boot - HITBconference.hitb.org/hitbsecconf2017ams/materials/D1T4 - Niek... · Fault Injection Attacks on Secure Boot Niek Timmers timmers@riscure.com

Niek TimmersSenior Security Analyst

[email protected] (@tieknimmers)

Albert SpruytSenior Security Analyst

[email protected]

www.riscure.com/[email protected]