论文标题
关于在SGX中检测侧通道攻击的挑战
On the Challenges of Detecting Side-Channel Attacks in SGX
论文作者
论文摘要
现有的用于检测Intel SGX侧向通道攻击的工具基于这样的观察,即攻击会影响受害者应用的性能。这样,所有检测工具都会监视潜在的受害者并引起警报,如果目击者的表现(在运行时,飞地中断,缓存失误等方面)都不是普通的。 在本文中,我们表明,监视飞地的性能检测侧通道攻击可能无效。我们的核心直觉是,所有监视工具都针对一个对手,该工具会干扰受害者的处决,以便在一次或几次运行中提取最多的秘密位(例如,整个秘密)。但是,他们无法检测到受害者的每个执行处的对手,该对手泄漏了秘密的较小部分 - 只有一点点。特别是,通过最大程度地减少每次运行时泄漏的信息,任何侧向通道攻击对应用程序性能的影响会大大降低 - 确保检测工具无法检测到攻击。通过多次重复攻击,每次在秘密的不同部分上,对手可以恢复整个秘密并保持未被发现。基于此直觉,我们将已知的攻击调整为利用页面表和L3缓存以绕过现有的检测机制。我们通过实验表明,攻击者如何成功地渗透了运行Libgcrypt各种加密例程的飞地中使用的秘密键。除了加密库之外,我们还展示了如何妥协运行OPENCV决策树例程的飞地的预测。我们的评估结果表明,基于绩效的检测工具不会阻止对SGX飞地的侧通道攻击,并且尚未设计有效的检测机制。
Existing tools to detect side-channel attacks on Intel SGX are grounded on the observation that attacks affect the performance of the victim application. As such, all detection tools monitor the potential victim and raise an alarm if the witnessed performance (in terms of runtime, enclave interruptions, cache misses, etc.) is out of the ordinary. In this paper, we show that monitoring the performance of enclaves to detect side-channel attacks may not be effective. Our core intuition is that all monitoring tools are geared towards an adversary that interferes with the victim's execution in order to extract the most number of secret bits (e.g., the entire secret) in one or few runs. They cannot, however, detect an adversary that leaks smaller portions of the secret - as small as a single bit - at each execution of the victim. In particular, by minimizing the information leaked at each run, the impact of any side-channel attack on the application's performance is significantly lowered - ensuring that the detection tool does not detect an attack. By repeating the attack multiple times, each time on a different part of the secret, the adversary can recover the whole secret and remain undetected. Based on this intuition, we adapt known attacks leveraging page-tables and L3 cache to bypass existing detection mechanisms. We show experimentally how an attacker can successfully exfiltrate the secret key used in an enclave running various cryptographic routines of libgcrypt. Beyond cryptographic libraries, we also show how to compromise the predictions of enclaves running decision-tree routines of OpenCV. Our evaluation results suggest that performance-based detection tools do not deter side-channel attacks on SGX enclaves and that effective detection mechanisms are yet to be designed.