恶意软件防护扩展:利用SGX隐藏缓存攻击
密码学与安全
2019-05-23 v3
摘要
在现代计算机系统中,用户进程通过操作系统和硬件相互隔离。此外,在云场景中,虚拟机监视器将租户与位于同一物理机器上的其他租户隔离开来至关重要。然而,虚拟机监视器并不能保护租户免受云提供商以及所提供的操作系统和硬件的侵害。Intel SGX提供了一种机制来应对这种场景。它旨在保护用户级软件免受来自其他进程、操作系统甚至物理攻击者的攻击。在本文中,我们展示了一个恶意的SGX飞地针对共置飞地发起的细粒度基于软件的侧信道攻击。我们的攻击是首个在真实SGX硬件上运行的恶意软件,它滥用SGX的保护功能来隐藏自身。此外,我们不仅在原生环境中,还在多个Docker容器间演示了我们的攻击。我们对一个共置的SGX飞地执行了Prime+Probe缓存侧信道攻击,该飞地运行着一个使用常数时间乘法原语的最新RSA实现。尽管在SGX飞地中没有计时器、没有大页、没有物理地址也没有共享内存,攻击依然有效。在一次半同步攻击中,我们从单次跟踪中提取了96%的RSA私钥。在5分钟内,我们通过11次跟踪的自动化攻击提取了完整的RSA私钥。
引用
@article{arxiv.1702.08719,
title = {Malware Guard Extension: Using SGX to Conceal Cache Attacks},
author = {Michael Schwarz and Samuel Weiser and Daniel Gruss and Clémentine Maurice and Stefan Mangard},
journal= {arXiv preprint arXiv:1702.08719},
year = {2019}
}
备注
Extended version of DIMVA 2017 submission