Obelix: Mitigating Side-Channels Through Dynamic Obfuscation

📅 2025-09-23
📈 Citations: 0
Influential: 0
📄 PDF
🤖 AI Summary
Existing defenses against composite side-channel attacks—such as cache, single-step debugging, and ciphertext leakage—in Trusted Execution Environments (TEEs) either target isolated attack vectors or rely on oversimplified threat models, failing to balance security and practicality. Method: We propose the first dynamic obfuscation framework that simultaneously protects both code and data. It employs program-analysis-driven, fine-grained code block partitioning and integrates Oblivious RAM (ORAM) to jointly conceal execution flow and memory access patterns. The framework supports a generalized side-channel threat model and operates fully automatically. Contribution/Results: Our approach achieves provably optimal security under standard assumptions while significantly lowering deployment overhead. Experimental evaluation across realistic side-channel scenarios demonstrates effective prevention of execution-flow tracing, with overhead low enough to enable practical deployment in real-world TEEs.

Technology Category

Application Category

📝 Abstract
Trusted execution environments (TEEs) offer hardware-assisted means to protect code and data. However, as shown in numerous results over the years, attackers can use side-channels to leak data access patterns and even single-step the code. While the vendors are slowly introducing hardware-based countermeasures for some attacks, others will stay unaddressed. This makes a software-level countermeasure desirable, but current available solutions only address very specific attack vectors or have a narrow leakage model. In this work, we take a holistic view at the vulnerabilities of TEEs and design a tool named Obelix, which is the first to protect both code and data against a wide range of TEE attacks, from cache attacks over single-stepping to ciphertext side-channels. We analyze the practically achievable precision of state-of-the-art single-stepping tools, and present an algorithm which uses that knowledge to divide a program into uniform code blocks, that are indistinguishable for a strong attacker. By storing these blocks and the program data in oblivious RAM, the attacker cannot follow execution, effectively protecting both secret code and data. We describe how we automate our approach to make it available for developers who are unfamiliar with side-channels. As an obfuscation tool, Obelix comes with a considerable performance overhead, but compensates this with strong security guarantees and easy applicability without requiring any expert knowledge.
Problem

Research questions and friction points this paper is trying to address.

Protecting both code and data from diverse TEE side-channel attacks
Mitigating vulnerabilities through dynamic obfuscation of execution patterns
Automating protection without requiring side-channel expertise from developers
Innovation

Methods, ideas, or system contributions that make the work stand out.

Dynamic obfuscation to protect code and data
Dividing programs into indistinguishable uniform code blocks
Using oblivious RAM to hide execution and data access
🔎 Similar Papers
No similar papers found.
J
Jan Wichelmann
Universität zu Lübeck, Lübeck, Germany
A
Anja Rabich
Universität zu Lübeck, Lübeck, Germany
A
Anna Pätschke
Universität zu Lübeck, Lübeck, Germany
Thomas Eisenbarth
Thomas Eisenbarth
University of Lübeck
Computer SecurityApplied CryptographyPrivacy