~/talk

Reflections on Trusting TrustZone

Talkat Black Hat USA 2014 · 2014-08-02..08-07· [security]
links:none on file
slides:none on file

Reverse-engineered Qualcomm TrustZone (QSE/QCE) firmware with IDA Pro and firmware images pulled via DD, finds an integer overflow in SMC command length checks that lets a crafted SMC command buffer pass all sanity checks. Exploit writes a hard-coded 12-byte response header (12,12,1) into arbitrary secure memory, then performs an SMC table extension attack to redirect handler parsing and achieve arbitrary TrustZone code execution. Demo permanently unlocks a Moto X bootloader by blowing a QFuse; ADB/fastboot used for the live exploit.

AI-written summary · about

  1. 0:00Intro
  2. 0:16What is TrustZone?
  3. 0:38TrustZone Architecture
  4. 2:06Real-World Uses
  5. 4:02Prior Work
  6. 5:50Motivation
  7. 7:26Toolchain
  8. 8:45Attack Surface
  9. 11:13Attacker Assumptions
  10. 13:48QSEE SCM Interface
  11. 14:14SCM Call-by-Register Convention
  12. 14:44SCM Command Structures
  13. 16:08Structure Sanity Checking
  14. 19:10Secure Memory Checking Pseudocode
  15. 20:19Review: Integer Overflow
  16. 21:04Integer Overflow Vulnerability
  17. 21:59Pathological Command Buffer
  18. 24:06What is Written to Response Header?
  19. 25:49Sorcery!
  20. 26:45Building Better Primitives
  21. 29:20Choosing A New Write Primitive
  22. 29:54SMC Handler Table
  23. 31:03SMC Table Extension Attack
  24. 32:20Arbitrary TZ Code Execution
  25. 36:03Lessons Learned
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.