defeating secure boot with emfi
play

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


  1. Defeating Secure Boot with EMFI Ang Cui, PhD & Rick Housley {a|r}@redballoonsecurity.com

  2. PROJECT 1. Open-source project to democratize EMFI research 2. 2 years of work so far

  3. PROJECT Disclaimer: • BadFET-style EMFI research is hilariously dangerous. (but srsly. It’s dangerous) • Licking any part of BadFET will almost certainly kill you.

  4. Last year…

  5. DISCLAIMER • BADFET is very experimental • BADFET uses voltage and current in INSTANT DEATH territory. • PLEASE be careful, and experiment at your OWN RISK

  6. Cisco 8861 We are jerks to Cisco Phones

  7. Cisco 8861/8851 • Dual Core ARMv7 • Broadcom BCM11125 • Processor @ 1001MHz • Secure Boot

  8. Cisco 8861/8851 • Dual Core ARMv7 • Broadcom BCM11125 • Processor @ 1001MHz • Secure Boot 2 orders of magnitude faster than any device In previous EMFI attack

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

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

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

  12. SMC Service ID 0xE00013 RSA_DECRYPT Does exactly what you think it does SMC = Secure Monitor Call

  13. SMC Service ID 0xE00013 RSA_DECRYPT Buffer for decrypted data Encrypted Data SMC = Secure Monitor Call

  14. SMC = Secure Monitor Call

  15. Whelp SMC = Secure Monitor Call

  16. Phone does not take user input during boot

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

  18. So…

  19. So…

  20. Invasive.

  21. Not Scalable.

  22. Shameful.

  23. Wire, but without the wire?

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

  25. Electro-Magnetic Fault Injection

  26. Faraday’s Law

  27. Ampere’s Law

  28. Magnetic Field Magnetic Field Generation Induction Faraday’s Law Ampere’s Law

  29. SUPER SECRET EMP FORMULA Power + Speed + Coil

  30. Biot-Savart Law 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

  31. 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

  32. Maths Th The Finite Element Method in Electromagnetics Jian-Ming Jin

  33. It’s been done…

  34. Amine Dehbaoui � , Jean-Max Dutertre†, Bruno Robisson � and Assia Tria � S. Ordas1 · L. Guillaume-Sage1 · P. Maurine1,2

  35. S. Ordas1 · L. Guillaume-Sage1 · P. Maurine1,2 Yu-ichi Hayashi, Naofumi Homma, Takaaki Mizuki, Takafumi Aoki, and Hideaki Sone

  36. Cisco 8861/8851 • Dual Core ARMv7 • Broadcom BCM11125 • Processor @ 1001MHz • Secure Boot

  37. Example Second-Order EMFI Attack • Indiscriminant of DATA • CODE integrity is preserved in ICACHE • Cause error-handling code to process corrupted data

  38. Fault Conditions We like writing data dependent fault handlers

  39. Fault Conditions

  40. Fault Conditions

  41. Let’s Build Our Own EMP

  42. Wi Widow dowmake aker

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

  44. Rick knows how electrons work better than me

  45. Rick is either incredibly brave. Or…

  46. HAY RICK!

  47. PROJECT

  48. • Requirements – Fast pulsing – Multiple pulses – Larger Distance (no decapping) – Cheaper – Controllable/Standalone

  49. went through many versions of BADFETS

  50. Some mistakes are more precious than others

  51. OC OCTALBAD BAD

  52. KILOBAD

  53. KILOBAD

  54. v1.0!

  55. BADFET’s relationship with Magic Smoke

Recommend


More recommend