最新披露的安全研究表明,一个影响Intel处理器的漏洞可能会被攻击者用于访问存储在 enclave 中的敏感信息,甚至在易受攻击的系统上执行任意代码。
该漏洞号为 CVE-2021-0186(CVSS 评分:8.2),是由苏黎世联邦理工学院、新加坡国立大学和中国国防科技大学的一群安全研究学者于 2021 年 5 月发现的,他们利用该漏洞进行了称为 SmashEx 的机密数据泄露攻击,可以破坏 enclave 中的私人数据并破坏其完整性。
根据网络安全行业门户极牛网GEEKNB.COM的梳理,SGX(Software Guard eXtensions 的缩写)与英特尔的 Skylake 处理器一起引入,允许开发人员在完全隔离的安全内存隔间中运行选定的应用程序模块,称为 enclave 或可信执行环境 (TEE),旨在防止进程以更高的权限级别运行,如操作系统。即使计算机的操作系统被篡改或受到攻击,SGX 也能确保数据的安全。
在正常运行时,SGX 设计允许操作系统在任何时候通过可配置的硬件异常中断飞地执行,此功能使 enclave 运行时(例如,英特尔 SGX SDK 和 Microsoft Open Enclave)能够支持 enclave 内异常或信号处理,但它也为可重入错误打开了 enclave。SmashEx 是一种攻击,它利用 enclave SDKs小心处理再入,安全地进行特殊处理。
值得注意的是,enclave 也可能有外部调用或OCALLS,它允许enclave函数调用不受信任的应用程序,然后返回到enclave。但是当 enclave 也在处理 inclave 异常(例如,定时器中断或被零除)时,该漏洞为本地攻击者提供了一个简短的窗口,可以通过在 enclave 之后立即注入异步异常来劫持执行的控制流被输入。
有了这种能力,攻击者就可以破坏enclave内存以泄漏敏感数据,例如 RSA 私钥或执行恶意代码。
由于 SmashEx 影响支持 in-enclave 异常处理的运行时,这种 OCALL 返回流和异常处理流应该小心编写,以确保它们安全地交错,并且当 OCALL 返回流被中断时,enclave应该处于一致状态,异常处理流程才能正确进行,当异常处理流程完成时,enclave状态也应该准备好让enclave恢复。
此后,英特尔发布了软件更新,分别通过适用于 Windows 和 Linux 的 SGX SDK 版本 2.13 和 2.14 来缓解此漏洞。就微软而言,它在其 2021 年 7 月补丁星期二更新中使用 SDK 的 Open Enclave 0.17.1 版解决了该问题 ( CVE-2021-33767 )。该研究小组的研究结果预计将于下个月在 ACM 计算机和通信安全会议上公布。
极牛网精选文章《英特尔CPU爆重大漏洞,SmashEx攻击技术可以执行任意代码》文中所述为作者独立观点,不代表极牛网立场。如若转载请注明出处:https://geeknb.com/16719.html