一句话:提出 MDPeek,首次利用内存消歧单元(MDU)侧信道攻击 SGX 中经平衡处理的秘密相关分支,并给出低开销缓解。
针对 Intel SGX 的控制流攻击可泄露秘密相关分支,但分支平衡和微架构状态刷新等防御使已有攻击受限。本文提出 MDPeek,首次系统逆向工程 Memory Disambiguation Unit(MDU)的启用与更新逻辑,并利用该单元作为新的侧信道泄漏源,绕过上述防御。作者进一步给出识别真实应用中易受攻击工作负载的方法,并对最新版 Libjpeg、MbedTLS 与 WolfSSL 实施端到端攻击,证明秘密相关分支可被区分。为缓解该威胁,本文提出低开销的 store-to-load coupling 技术,相比串行化和 load aligning 等朴素方法将延迟降低约 7 倍。
In recent years, control flow attacks targeting Intel SGX have attracted significant attention from the security community due to their potent capacity for information leakage. Although numerous software-based defenses have been developed to counter these attacks, many remain inadequate in fully addressing other, yet-to-be-discovered side channels. In this paper, we introduce MDPeek, a novel control flow attack targeting secret-dependent branches in SGX. To circumvent existing defenses, such as microarchitectural state flushing and branch balancing, we exploit a new leakage source, the Memory Disambiguation Unit (MDU). We present the first comprehensive reverse engineering on the MDU's enable and update logic. Based on our detailed analysis, we develop a methodology to identify vulnerable workloads in real-world applications. We demonstrate the effectiveness of MDPeek with end-to-end attacks on the latest versions of three SGX-secured applications, including Libjpeg, MbedTLS and WolfSSL. In addition, we propose a low-overhead mitigation technique, store-to-load coupling, which provides a 7X latency reduction compared to naive techniques like serialization and load aligning.
@inproceedings{LiuFL0H0C25,
title = {MDPeek: Breaking Balanced Branches in SGX with Memory Disambiguation Unit Side Channels},
author = {Chang Liu and Shuaihu Feng and Yuan Li and Dongsheng Wang and Wenjian He and Yongqiang Lyu and Trevor E. Carlson},
booktitle = {ASPLOS},
year = {2025},
doi = {10.1145/3676641.3716004}
}