back

TrustZone-M(eh): Breaking ARMv8-M's security

Hardware attacks on the latest generation of ARM Cortex-M processors.

If you suspend your transcription on amara.org, please add a timestamp below to indicate how far you progressed! This will help others to resume your work!

Please do not press “publish” on amara.org to save your progress, use “save draft” instead. Only press “publish” when you're done with quality control.

Video duration
00:57:21
Language
English
Abstract
Most modern embedded devices have something to protect: Whether it's cryptographic keys for your bitcoins, the password to your WiFi, or the integrity of the engine-control unit code for your car.

To protect these devices, vendors often utilise the latest processors with the newest security features: From read-out protections, crypto storage, secure-boot up to TrustZone-M on the latest ARM processors.

In this talk, we break these features: We show how it is possible to bypass the security features of modern IoT/embedded processors using fault-injection attacks, including breaking TrustZone-M on the new ARMv8-M processors.

We are also releasing and open-sourcing our entire soft- and hardware toolchain for doing so, making it possible to integrate fault-injection testing into the secure development lifecycle.

Modern devices, especially secure ones, often rely on the security of the underlying silicon: Read-out protection, secure-boot, JTAG locking, integrated crypto accelerators or advanced features such as TrustZone are just some of the features utilized by modern embedded devices.

Processor vendors are keeping up with this demand by releasing new, secure processors every year. Often, device vendors place a significant trust into the security claims of the processors. In this talk, we look at using fault-injection attacks to bypass security features of modern processors, allowing us to defeat the latest chip security measures such as TrustZone-M on the new ARMv8 processors.

After a quick introduction into the theory of glitching, we introduce our fully open-source FPGA platform for glitching: An FPGA-based glitcher with a fully open-source toolchain & hardware, making glitching accessible to a wider audience and significantly reducing the costs of getting started with it - going as far as being able to integrate glitch-testing into the Secure Development Lifecycle of a product.

Then, we look at how to conduct glitching attacks on real-world targets, beyond academic environments, including how to prepare a device for glitching and how to find potential glitch targets.

Afterwards, we demonstrate fault-injection vulnerabilities we found in modern, widely-used IoT/embedded processors and devices, allowing us to bypass security features integrated into the chip, such as:

- Re-enabling locked JTAG
- Bypassing a secure bootloader
- Recovering symmetric crypto keys by glitching the AES implementation
- Bypassing secure-boot
- Fully bypassing TrustZone-M security features on some new ARMv8M processors

We will also demonstrating how to bypass security features and how to break the reference secure bootloader of the Microchip SAM L11, one of the newest, TrustZone-M enabled ARM Cortex-M processors, using roughly $5 of equipment.

After the talk, PCBs of our hardware platform will be given out to attendees.

Talk ID
10859
Event:
36c3
Day
2
Room
Dijkstra
Start
2:10 p.m.
Duration
01:00:00
Track
Hardware & Making
Type of
lecture
Speaker
stacksmashing
Talk Slug & media link
36c3-10859-trustzone-m_eh_breaking_armv8-m_s_security

Talk & Speaker speed statistics

Very rough underestimation:
161.5 wpm
874.5 spm
39.2% Checking done39.2%
60.8% Syncing done60.8%
0.0% Transcribing done0.0%
0.0% Nothing done yet0.0%
  

Work on this video on Amara!

English: Quality control done until

Last revision: 6 months, 2 weeks ago

Talk & Speaker speed statistics with word clouds

Whole talk:
161.5 wpm
874.5 spm