Talk: Debugging the Un-Debuggable: Advanced Debugging Techniques for Microarchitectural Security Tooling

Read full text
Authors: Anna Pätschke, Daan Vanoverloop, Jan Wichelmann, Jo Van Bulck
Cited by: 0

Abstract

System security research often involves the development of custom code for building program analysis tools or implementation of side-channel leakage mitigations. In various cases, those specialized contexts also render the usage of conventional debugging tools, such as GDB or integrated IDE debuggers, unusable. Examples for this are the development of code that runs on specialized hardware platforms, such as the Proteus RISC-V core, where debugging must be conducted by analyzing low-level hardware signal traces rather than using interactive support, or when custom binary instrumentation or hardware protection like Intel SGX interferes with the debugger's operation. Therefore, the aforementioned cases demand new debugging strategies. In this talk, we present various ways to trace programs at runtime and collect data in a unified format. We furthermore discuss how this data can be used for offline analysis to restore debugging functionality that was lost, or use it to check the security and conformance of programs. While we focus on the examples used throughout our projects in this talk, they represent only a fraction of possible solutions. This talk is intended to also spark further discussion about other tools and techniques, from small self-written scripts to best practices for leveraging larger, mature analysis frameworks. All proposed tooling is collected in a publicly available GitHub repository at https://github.com/syssec-debugging-tools/catalog.

Fields of Study & Subjects

Security and Verification in Computing Software Testing and Debugging Techniques Cryptographic Implementations and Security

Publication details

Journal / source
Proceedings of the Microarchitecture Security Conference
Publication date
3 February 2026