Emulation and Fuzzing for Baseband Firmware // Tobias Scharnowski, Marius Muench

In-Person | Nov 3-6 | 4 Days

BOOK NOW

ABSTRACT

Over the 4 days of this training, you will learn how to reverse engineer baseband firmware, create fuzzing harnesses, and find bugs via fuzzing!

We will dissect and reverse engineer firmware running in modern smartphones on the example of Samsung Shannon-based firmware. After learning about the general structure of a baseband RTOS, we will look into how different cellular generations from 2G to 5G are implemented, and how to identify promising attack surfaces.

Equipped with the gained knowledge, you will then learn how to rehost selected parsers using Unicorn and Python. Over time, we will iteratively extend a provided skeleton code for an emulator to understand common rehosting tasks and create a base harness for fuzzing.

Afterwards, we will use AFL++ for fuzzing and rediscover a recent bug affecting, among others, Google Pixel phones. To replicate discovered crashes over the air, we will set up a fake base station using commercially available Software Defined Radios and Faraday cages. Finally, we will look into Baseband FirmWire, a state-of-the-art emulation framework for baseband firmware and compare its capabilities to our created fuzzing harnesses.

🔬
This training is accompanied by plenty of hands-on exercises

Emulation and Fuzzing for Baseband Firmware // Tobias Scharnowski, Marius Muench

In-Person | Nov 3-6 | 4 Days

BOOK NOW

INTENDED AUDIENCE

  • Security Researchers
  • Baseband Firmware Developers
  • Cellular Communication Enthusiasts

KEY LEARNING OBJECTIVES

Students of this training will learn how to approach reverse engineering of baseband firmware. They will get hands-on knowledge on how to write emulation and fuzzing harnesses, and how to find, triage, and replicate bugs.

Knowledge Prequisites

  • Basic knowledge in Python
  • Being comfortable with using command-line tools
  • Previous experience with firmware analysis, reverse engineering, or fuzzing is a plus, but not strictly required

Hardware Requirements

Students should bring their own laptop with:

  • At least 16GB of RAM
  • At least 50 GB of available disk space
  • One free and usable USB port
  • Recommendation: Native Linux OS (Ubuntu 24.04 or above) on x86_64
While it may be possible to use a different base OS or a Linux VM, part of the training have not been tested with other combinations. We will not be able to troubleshoot beyond a base Linux OS install.

Software Requirements

  • Visual Studio Code
  • Docker
  • Ghidra

Students will be provided with a detailed setup guide before the training.

YOUR INSTRUCTORS: Tobias Scharnowski and Marius Muench

Tobias Scharnowski is a systems security researcher at CISPA. He focuses on automated firmware security analysis techniques. Besides academia, he is a CTF RE/pwning veteran and repeat Pwn2Own participant. At Pwn2Own, he demonstrated RCE on 10 targets in the automotive and industrial automation domains. This included an exploit of the core DNP3 implementation, the protocol that powers the US electric grid.

Marius Muench is an assistant professor at the University of Birmingham. His research interests cover (in-)security of embedded systems, binary & microarchitectural exploitation, and defenses. He obtained his PhD from Sorbonne University in cooperation with EURECOM and worked as postdoctoral researcher at the Vrije Universiteit Amsterdam. He developed and maintains avatar2, a framework for analyzing embedded systems firmware, and FirmWire, an emulation and fuzzing platform for cellular basebands. Throughout his career, Marius publicly shared his findings and presented at venues such as Black Hat, REcon, and Hardwear.io.

Cancellation Policy

COUNTERMEASURE25: 60+ days before the event 75% of fees refunded; 45-60 days before event 50% refunded, less than 45 days 0% refunded. Course changes are allowed up to 14 days before event start (some restrictions will apply). Attendee changes can be accommodated up to 14 days prior to the event.

Note: In the event of a class cancellation, Ringzer0 will endeavor to offer transfer to another training at no additional charge.

OTHER IN-PERSON TRAINING COURSES

Great! Next, complete checkout for full access to Ringzer0
Welcome back! You've successfully signed in
You've successfully subscribed to Ringzer0
Success! Your account is fully activated, you now have access to all content
Success! Your billing info has been updated
Your billing was not updated