研究员使用新型CPU攻击技术 “SmashEx” 攻破 Intel SGX
编译:代码卫士
该漏洞是由苏黎世联邦理工学院、新加坡国立大学和国防科技大学的学术团队在2021年5月发现的,他们利用该漏洞发动了机密数据泄露攻击 “SmashEx”,可损坏托管在 enclave 中的私密数据并破坏其完整性。
SGX(全称:Software Guard eXtensions)在英特尔 Skylake 处理器中引入,可使开发人员在完全隔离的内存安全隔离即enclave或TEE中运行精心挑选的应用模块。处理器旨在阻止enclave或TEE以更高的权限如操作系统权限运行。SGX 确保即使在操作系统遭篡改或攻击的情况下数据仍然是安全的。
研究人员表示,“在正常情况下,SGX的设计使操作系统可在任何时候通过可配置的硬件异常来中断 enclave 执行。这一特性不仅使enclave 运行时(如 Intel SGX SDK 和微软 Open Enclave)支持 enclave 内异常或信号处理,而且还可使enclave 受重入 bug 影响。SmashEx 攻击利用的是未认真安全地处理异常处理中的重入漏洞的enclave SDKs。
值得注意的是,encalve 可能还具有 Outside Calls (OCALLS),可使enclave 函数被调用到不可信的应用程序中并返回 enclave。但当该 enclave 也在处理 enclave 内异常(如除数为零)时,该漏洞就为本地攻击者留下了短暂窗口,使他们能够在enclave进入后立即注入异步异常,劫持执行的控制流。之后,攻击者可损坏enclave内的内存,泄露敏感信息如 RSA 私钥或执行恶意代码。
由于 SmashEx 影响支持 enclave 内异常处理的运行时,研究人员注意到“应该谨慎编写这类OCALL 返回流和异常处理流,确保能够安全地交叉。当 OCALL 返回流中断时,该 enclave 应当处于一种一致状态,使异常处理流能够正确地处理,而当异常处理流完成时,该 enclave 状态也应当做好恢复 enclave 的准备。“
之后,英特尔发布软件更新版本 SGX SDK 2.13 (Windows) 和1.14 (Linux) 来缓解该漏洞。微软在2021年7月补丁星期二中修复了该漏洞 (CVE-2021-33767),发布 SDK Open Enclave 版本0.17.1。研究论文将在下个月的ACM 计算机和通信安全大会上发布。
研究人员表示,“异步异常处理是当前应用程序的商业功能,对 enclave 的使用越来越多“,这项研究突出了”在这类异常的 OS-enclave 接口提供原子性保证的重要性。“
Intel CPU 曝两个新漏洞影响所有处理器,设备可遭接管(含视频)
Intel CPU 易受新型的 SGAxe 和 CrossTalk 侧信道攻击
30美元攻陷Intel SGX enclave,Intel 不打算修复
https://thehackernews.com/2021/10/researchers-break-intel-sgx-with-new.html
题图:Pixabay License
本文由奇安信编译,不代表奇安信观点。转载请注明“转自奇安信代码卫士 https://codesafe.qianxin.com”。
奇安信代码卫士 (codesafe)
国内首个专注于软件开发安全的产品线。