论文标题

treerex:SGX飞地中的记忆损坏漏洞的发现和开发

TeeRex: Discovery and Exploitation of Memory Corruption Vulnerabilities in SGX Enclaves

论文作者

Cloosters, Tobias, Rodler, Michael, Davi, Lucas

论文摘要

英特尔的软件护罩扩展(SGX)引入了新的说明,以将处理器切换到Enclave模式,以保护其免受内省的影响。当飞地模式强烈保护处理器的内存和状态时,它不能承受飞地代码内的内存损坏错误。在本文中,我们表明SGX飞地的攻击表面为Enclave开发人员提供了新的挑战,因为可剥削的内存腐败漏洞很容易引入飞地代码。我们开发了Teerex,以自动分析Enclave二进制代码,以通过符号执行方式在主机到炉灶边界引入的漏洞。我们对公共飞地二进制文件的评估表明,其中许多人遭受记忆损坏错误,允许攻击者损坏功能指针或执行任意记忆的写入。正如我们将要显示的那样,Teerex为SGX飞地提供了专门定制的框架,允许简单的概念证明利用构造来评估发现的漏洞。我们的发现揭示了多个飞地中的漏洞,包括由英特尔,百度和狼人开发的飞地,以及部署在流行笔记本电脑品牌上的生物特征指纹软件。

Intel's Software Guard Extensions (SGX) introduced new instructions to switch the processor to enclave mode which protects it from introspection. While the enclave mode strongly protects the memory and the state of the processor, it cannot withstand memory corruption errors inside the enclave code. In this paper, we show that the attack surface of SGX enclaves provides new challenges for enclave developers as exploitable memory corruption vulnerabilities are easily introduced into enclave code. We develop TeeRex to automatically analyze enclave binary code for vulnerabilities introduced at the host-to-enclave boundary by means of symbolic execution. Our evaluation on public enclave binaries reveal that many of them suffer from memory corruption errors allowing an attacker to corrupt function pointers or perform arbitrary memory writes. As we will show, TeeRex features a specifically tailored framework for SGX enclaves that allows simple proof-of-concept exploit construction to assess the discovered vulnerabilities. Our findings reveal vulnerabilities in multiple enclaves, including enclaves developed by Intel, Baidu, and WolfSSL, as well as biometric fingerprint software deployed on popular laptop brands.

扫码加入交流群

加入微信交流群

微信交流群二维码

扫码加入学术交流群,获取更多资源