Defeating Secure Boot with EMFI Ang Cui, PhD & Rick Housley - - PowerPoint PPT Presentation

defeating secure boot with emfi
SMART_READER_LITE
LIVE PREVIEW

Defeating Secure Boot with EMFI Ang Cui, PhD & Rick Housley - - PowerPoint PPT Presentation

Defeating Secure Boot with EMFI Ang Cui, PhD & Rick Housley {a|r}@redballoonsecurity.com PROJECT 1. Open-source project to democratize EMFI research 2. 2 years of work so far PROJECT Disclaimer: BadFET-style EMFI research is


slide-1
SLIDE 1

Defeating Secure Boot with EMFI

Ang Cui, PhD & Rick Housley {a|r}@redballoonsecurity.com

slide-2
SLIDE 2
slide-3
SLIDE 3

PROJECT

  • 1. Open-source project to democratize EMFI research
  • 2. 2 years of work so far
slide-4
SLIDE 4

PROJECT

Disclaimer:

  • BadFET-style EMFI research is hilariously
  • dangerous. (but srsly. It’s dangerous)
  • Licking any part of BadFET will almost

certainly kill you.

slide-5
SLIDE 5

Last year…

slide-6
SLIDE 6

DISCLAIMER

  • BADFET is very experimental
  • BADFET uses voltage and current in INSTANT DEATH

territory.

  • PLEASE be careful, and experiment at your OWN RISK
slide-7
SLIDE 7
slide-8
SLIDE 8
slide-9
SLIDE 9
slide-10
SLIDE 10

We are jerks to Cisco Phones Cisco 8861

slide-11
SLIDE 11

Cisco 8861/8851

  • Dual Core ARMv7
  • Broadcom BCM11125
  • Processor @ 1001MHz
  • Secure Boot
slide-12
SLIDE 12

Cisco 8861/8851

  • Dual Core ARMv7
  • Broadcom BCM11125
  • Processor @ 1001MHz
  • Secure Boot

2 orders of magnitude faster than any device In previous EMFI attack

slide-13
SLIDE 13

Boot ROM Small TrustZone API Init MMU, Clocks Load Stage 1 From FLASH -> DRAM Verify & Execute Stage 1

slide-14
SLIDE 14

Inits GPIO, pinmux, i2c, PMU, etc Load stage 2 From NAND -> DRAM Verify & Execute Stage 2 (uBoot)

slide-15
SLIDE 15

Load VC4 & Kernel FLASH -> DRAM Verify VC4 Execute VC4 Verify Linux Kernel Execute Linux Kernel

slide-16
SLIDE 16

SMC Service ID 0xE00013 RSA_DECRYPT Does exactly what you think it does

SMC = Secure Monitor Call

slide-17
SLIDE 17

SMC Service ID 0xE00013 RSA_DECRYPT

SMC = Secure Monitor Call

Encrypted Data Buffer for decrypted data

slide-18
SLIDE 18

SMC = Secure Monitor Call

slide-19
SLIDE 19

Whelp

SMC = Secure Monitor Call

slide-20
SLIDE 20

Phone does not take user input during boot

slide-21
SLIDE 21

Phone does not take user input during boot Get to uBoot console, defeat TrustZone

slide-22
SLIDE 22

So…

slide-23
SLIDE 23

So…

slide-24
SLIDE 24

Invasive.

slide-25
SLIDE 25

Not Scalable.

slide-26
SLIDE 26

Shameful.

slide-27
SLIDE 27

Wire, but without the wire?

slide-28
SLIDE 28
slide-29
SLIDE 29

ATLAS-I AKA TRESTLE SANDIA {1972 – 1991} 100 kV 5 Megavolts 100 nanosecond rise-time

slide-30
SLIDE 30

Electro-Magnetic Fault Injection

slide-31
SLIDE 31

Faraday’s Law

slide-32
SLIDE 32

Ampere’s Law

slide-33
SLIDE 33

Magnetic Field Generation Magnetic Field Induction

Faraday’s Law Ampere’s Law

slide-34
SLIDE 34
slide-35
SLIDE 35

Power + Speed + Coil SUPER SECRET EMP FORMULA

slide-36
SLIDE 36
slide-37
SLIDE 37

Ma Magnetic m microprobe d design f for E EM f M fault at attac ack Omarouayache, R and Raoult, J and Jarrix, S and Chusseau, L and Maurine, P

Biot-Savart Law

slide-38
SLIDE 38

Ma Magnetic m microprobe d design f for E EM f M fault at attac ack Omarouayache, R and Raoult, J and Jarrix, S and Chusseau, L and Maurine, P

slide-39
SLIDE 39

Maths

Th The Finite Element Method in Electromagnetics Jian-Ming Jin

slide-40
SLIDE 40

It’s been done…

slide-41
SLIDE 41

Amine Dehbaoui, Jean-Max Dutertre†, Bruno Robisson and Assia Tria

  • S. Ordas1 · L. Guillaume-Sage1 · P. Maurine1,2
slide-42
SLIDE 42
  • S. Ordas1 · L. Guillaume-Sage1 · P. Maurine1,2

Yu-ichi Hayashi, Naofumi Homma, Takaaki Mizuki, Takafumi Aoki, and Hideaki Sone

slide-43
SLIDE 43
slide-44
SLIDE 44
slide-45
SLIDE 45
slide-46
SLIDE 46

Cisco 8861/8851

  • Dual Core ARMv7
  • Broadcom BCM11125
  • Processor @ 1001MHz
  • Secure Boot
slide-47
SLIDE 47
slide-48
SLIDE 48
slide-49
SLIDE 49
slide-50
SLIDE 50
slide-51
SLIDE 51
slide-52
SLIDE 52
slide-53
SLIDE 53

Example Second-Order EMFI Attack

  • Indiscriminant of DATA
  • CODE integrity is preserved in ICACHE
  • Cause error-handling code to process

corrupted data

slide-54
SLIDE 54

Fault Conditions

We like writing data dependent fault handlers

slide-55
SLIDE 55

Fault Conditions

slide-56
SLIDE 56

Fault Conditions

slide-57
SLIDE 57

Let’s Build Our Own EMP

slide-58
SLIDE 58

Wi Widow dowmake aker

slide-59
SLIDE 59
slide-60
SLIDE 60

After the death of many Raspberry PI’s… And lots of loud bangs… Decided to take a break

slide-61
SLIDE 61

Rick knows how electrons work better than me

slide-62
SLIDE 62

Rick is either incredibly brave. Or…

slide-63
SLIDE 63

HAY RICK!

slide-64
SLIDE 64

PROJECT

slide-65
SLIDE 65
  • Requirements

– Fast pulsing – Multiple pulses – Larger Distance (no decapping) – Cheaper – Controllable/Standalone

slide-66
SLIDE 66

went through many versions of BADFETS

slide-67
SLIDE 67
slide-68
SLIDE 68
slide-69
SLIDE 69
slide-70
SLIDE 70
slide-71
SLIDE 71
slide-72
SLIDE 72
slide-73
SLIDE 73
slide-74
SLIDE 74
slide-75
SLIDE 75
slide-76
SLIDE 76
slide-77
SLIDE 77
slide-78
SLIDE 78
slide-79
SLIDE 79
slide-80
SLIDE 80
slide-81
SLIDE 81
slide-82
SLIDE 82
slide-83
SLIDE 83
slide-84
SLIDE 84
slide-85
SLIDE 85

Some mistakes are more precious than others

slide-86
SLIDE 86

OC OCTALBAD BAD

slide-87
SLIDE 87

KILOBAD

slide-88
SLIDE 88

KILOBAD

slide-89
SLIDE 89

v1.0!

slide-90
SLIDE 90
slide-91
SLIDE 91
slide-92
SLIDE 92

BADFET’s relationship with Magic Smoke

slide-93
SLIDE 93
slide-94
SLIDE 94
slide-95
SLIDE 95
slide-96
SLIDE 96
slide-97
SLIDE 97
slide-98
SLIDE 98
slide-99
SLIDE 99
slide-100
SLIDE 100
slide-101
SLIDE 101
slide-102
SLIDE 102

Additional problems

  • Need intelligent board design

for high speed designs, etc.

slide-103
SLIDE 103

Parallel! – nope –(

Cl Class D voltage ge-swi switching MOSFET power wer amp mplifier er Kazimierczuk, Marian K

slide-104
SLIDE 104
slide-105
SLIDE 105
slide-106
SLIDE 106

Features

  • Programmable + Debug (SWD)
  • Scriptable
  • Microsecond Pulse Time
  • 350 Voltage (Current Configuration)
  • 10 Microsecond Recharge Time (Current

Configuration)

  • Child Friendly
  • Adult Friendly
  • Safe

Please just don’t use it

slide-107
SLIDE 107
slide-108
SLIDE 108
slide-109
SLIDE 109

Magnetic Microprobe Design for EM Fault Attack

  • R. Omarouayache, J. Raoult, S. Jarrix, L. Chusseau
slide-110
SLIDE 110

Automate!

slide-111
SLIDE 111
slide-112
SLIDE 112
slide-113
SLIDE 113
slide-114
SLIDE 114

The Following Slides are videos Please visit the gitlab /docs to view these

slide-115
SLIDE 115

Square Probe

slide-116
SLIDE 116
slide-117
SLIDE 117

Core-less Coil

slide-118
SLIDE 118
slide-119
SLIDE 119

Sharpened Core

slide-120
SLIDE 120
slide-121
SLIDE 121

Flat Core

slide-122
SLIDE 122
slide-123
SLIDE 123

Let’s Do This.

slide-124
SLIDE 124
slide-125
SLIDE 125

{R|A}@redballoonsecurity.com

www.github.com/RedBalloonShenanigans/BADFET

slide-126
SLIDE 126

{R|A}@redballoonsecurity.com

www.github.com/RedBalloonShenanigans/BADFET

Sa Safety

At LEAST Class 1 Insulating gloves 75 7500 VAC 15 15,000 VDC DC MAKE SURE THEY FIT

  • Eye Protection
  • Fire Extinguisher
  • Common Sense