The Art of Fault Injection

Advanced Techniques and Attacks

In-Person 4 Days Training ★ February 2024

FEB 20-23 //  DETAILED SCHEDULE READY

Abstract

Fault Injection is often the weapon of choice for breaking into devices when exploitable software vulnerabilities are not known or absent. While Fault Injection attacks are nowadays common, typical concepts, methodologies, techniques, and attacks are often not sufficiently understood. While achieving success by simply glitching a target can yield results, it's important to note that this approach alone doesn't facilitate the creation of innovative attacks. In this training, students will experience and appreciate the Art of Fault Injection (TAoFI) to exploit the full potential of Fault Injection attacks.

This training assumes, though it is not strictly mandatory, that students possess prior experience with performing Fault Injection attacks, either obtained at work, at home, or at a previously attended training (e.g., from Colin, Joe, or Thomas). Students are encouraged to work together in teams of two, sharing their experiences, to tackle the challenges together more efficiently. Even though not recommended, students may work individually as well.

Students will be using advanced techniques to characterize the effects of voltage glitches on the Espressif ESP32 System-on-Chip (SoC). The faults resulting from these voltage glitches are carefully analyzed and de- scribed to build a thorough understanding of the target's susceptibility to voltage glitches. This enables the students to create powerful Fault Injection exploits. During this training, rather than focusing on a specific set of tools, the students will focus more on the concepts, methodologies, techniques, and attacks relevant to Fault Injection attacks.

Students will experience, with guidance from experts, performing real-world Fault Injection attacks, that were either disclosed by Raelize or other security researchers. Students will be using the NewAE ChipWhisperer-Husky, typical hardware lab tooling like an oscilloscope and a hardware debugger. Students are provided with a virtual machine (VM) with all the required tooling installed, as well as access to the required hardware.

Upon completing the training, students will be proficient in executing sophisticated Fault Injection attacks on real-world targets using commercially available tooling. The knowledge gained from understanding the underlying concepts, methodologies, techniques, and attacks, can be used by the students to perform novel Fault Injection attacks on other targets of interest.

Key Learning Objectives

  • Understand Fault Injection techniques and attacks like an expert
  • Identify non-trivial vulnerabilities using advanced Fault Injection techniques
  • Create advanced Fault Injection exploits using commercially available tooling
  • Reproduce top-notch security research from Fault Injection experts
  • Format: 25% lectures, 75% hands-on exercises

Intended Audience

  • Security Analysts, Researchers and Enthusiasts
  • Forensic Investigators
  • Anyone else interested in advanced Fault Injection techniques and attacks

Note, this is a really advanced course. The fundamentals are addressed in a systematic way, but students are expected to have experience with Fault Injection.

Course Contents

The following list of topics are covered by practical exercises (75%) which are supported by (25%) presentations. Most of the exercises are performed on a custom development board based on the Espressif ESP32 System-on-Chip (SoC), on which Raelize performed multiple Fault Injection attacks.

This training starts by building up a solid understanding of the typical concepts and methodologies Fault Injection. Then, students dive straight into the advanced techniques and attacks, which are used to create powerful Fault Injection exploits. Throughout the training, there will be ample opportunity to discuss any relevant topic related to Fault Injection attacks and techniques.

Fundamentals

Advanced Techniques

  • Target characterization (i.e., with custom code)
  • Target characterization in the dark (i.e., without custom code)
  • Analyzing faults to identify target behavior
  • Plotting results to identify target behavior
  • Modeling faults to build attack primitives
  • Advanced triggering for timing (GPIO, UART, SPI and Power)
  • Vulnerability identification by reverse engineering
  • Vulnerability verification with hardware debugger
  • Effective glitch parameter selection strategies

Advanced Attacks

Raelize used Riscure's ElectroMagnetic Fault Injection (EMFI) tooling to perform the research. The students will perform these attacks using the NewAE ChipWhipserer-Husky.

Knowledge Prequisites

  • be familiar with basic Fault Injection attacks
  • be familiar with communicating with embedded devices
  • be familiar with typical hardware lab tooling
  • be familiar with programming Python and C
  • be familiar with reverse engineering software
  • be familiar with common cryptography (RSA, AES, and SHA)

System Requirements

The students of this training are expected to bring a modern laptop or workstation:

  • with x86-64 architecture
  • with sufficient memory (at least 8 GB)
  • with at least four (4) available USB-A ports (i.e., use a USB hub)
    • Raelize will have extra USB hubs available during the training (USB-C / USB-A)
  • installed with a modern browser (i.e., Google Chrome)
  • installed with VMware Player/Workstation (or VirtualBox)

Important: The required tooling is only tested on x86-64-based systems. ARM based systems (e.g., Apple Silicon M1, M2 or M3), or systems based on other architectures, are not supported.

Note, that the Fault Injection tooling will be attached to the VM that Raelize provides. Please, make sure that forwarding different types of USB devices to the VM works as expected. In our experience, this works best using VMware products (e.g., VMware Workstation Player). Linux users may be able to run the environment natively.

Cristofaro Mune, Niek Timmers

Cristofaro Mune

Register Now

Cristofaro Mune @pulsoid has been in the security field for 15+ years. He has 10 years of experience with evaluating SW and HW security of secure products, as well as more than 5 years of experience in testing and assessing the security of TEEs.

He is a security researcher at Raelize providing support for developing, analyzing and testing the security of embedded devices. He has contributed to development of TEE security evaluation methodologies and has been member of TEE security industry groups.

His research on Fault Injection, TEEs, White-Box cryptography, IoT exploitation and Mobile Security has been presented at renowned international conferences and in academic papers.

Niek Timmers

Niek Timmers @tieknimmers is a security researcher at Raelize providing support for developing, analyzing and testing the security of embedded devices. He has been analyzing and testing the security of devices for over a decade. Usually his interest is sparked by technologies where the hardware is fundamentally present. He shared his research on topics like Secure Boot and Fault Injection at various conferences like Black Hat, Bluehat, HITB, hardwear.io. and NULLCON.

SPONSORS