The Art of Fault Injection
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) in order 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 described 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's 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 to execute 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.
Additional Info
Audience
This training is intended for:
- Security Analysts, Researchers & Enthusiasts
- Forensic Investigators
- Anyone else interested in advanced Fault Injection techniques and attacks
Agenda
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 in order to shape up a deeper understanding of Fault Injection and related topics.
- Fundamentals
- Overview of Fault Injection
- Raelize Fault Injection Reference Model (FIRM)
- Get familiar with the target (Espressif ESP32)
- Get familiar with the tooling (NewAE ChipWhisperer-Husky)
- Advanced Techniques
- Target characterization; with and 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 & Power)
- Vulnerability identification by reverse engineering
- Vulnerability verification with hardware debugger
- Effective glitch parameter selection strategies
- Advanced Attacks
Note, Raelize used Riscure's ElectroMagnetic Fault Injection (EMFI) tooling to perform the above research. The students will perform these attacks using the NewAE's ChipWhipserer-Husky.
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 originally performed by Fault Injection experts
What students need to know
- have experience performing 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)
What students need to bring
The students of this training are expected to bring a modern laptop or workstation:
- 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)
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). Students with a Linux host may also decide to run the training environment without using a VM.
Important: the required tooling is only tested on x86-64-based systems and it's NOT thoroughly tested on Apple's ARM-based systems (e.g., M2 or M3).
Contact Us
Contact Details
Feel free to contact us, we will be happy to listen and support.