Search engine for discovering works of Art, research articles, and books related to Art and Culture
ShareThis
Javascript must be enabled to continue!

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

View through CrossRef
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.
Title: Talk: Debugging the Un-Debuggable: Advanced Debugging Techniques for Microarchitectural Security Tooling
Description:
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.

Related Results

Debugging Parallel DEVS
Debugging Parallel DEVS
To this day, debugging support for the DEVS formalism has been provided, at best, in an ad-hoc way. The intricacies of dealing with the interplay of different notions of (simulated...
Information Security in Artificial Intelligence: A Study of the possible intersection
Information Security in Artificial Intelligence: A Study of the possible intersection
1. IntroductionArtificial Intelligence or A.I attempts to understand intelligent entities, and strives to build ones. And it is obvious that computers with human-level intelligence...
How developers debug
How developers debug
Debugging software is an inevitable chore, often difficult and more time-consuming than expected, giving it the nickname the “ dirty little secret of computer science.” Surprisingl...
Development Tasks of AI-based Security Industry
Development Tasks of AI-based Security Industry
Recently, the government's interest in industries utilizing AI has been amplified, with initiatives such as announcing a roadmap aiming to achieve the goal of becoming the world's ...
Aircraft Tooling Collaborative Design Based on Multi-agent and PDM
Aircraft Tooling Collaborative Design Based on Multi-agent and PDM
In airplane research and development, tooling design is desired to be undertaken with airplane product design concurrently together with the considerations of downstream processes ...
ESSENTIAL SECURITY PRACTICES FOR FORTIFYING MOBILE APPS
ESSENTIAL SECURITY PRACTICES FOR FORTIFYING MOBILE APPS
“Essential Security Practices for Fortifying Mobile Apps” is a definitive guide designed to empower developers, security professionals, and organizations with the knowledge and too...
SELF-TALK ON SPORT PERFORMANCE AND SELECTED PSYCHOLOGICAL VARIABLES: A SYSTEMATIC REVIEW
SELF-TALK ON SPORT PERFORMANCE AND SELECTED PSYCHOLOGICAL VARIABLES: A SYSTEMATIC REVIEW
Self-talk is a psychological skill training that improves motor performance and sports skills among athletes. Previous research has indicated differences between motivational self-...
Human Security
Human Security
The term “human security” was first employed in the United Nations Development Programme (UNDP) Human Development Report (HDR) of 1994, which argued for a “people-centric” concept ...

Back to Top