奥地利格拉茨技术大学的研究人员利用了 SGX 技术破解 SGX 的防护,他们先建立一个受 SGX 保护的飞地,内含恶意软件,与其他飞地并存,再利用旁路攻击成功取得其他飞地所储存的信息。

英特尔在 Skylake 处理器中标榜的安全防护功能之一 SGX(Software Guard Extensions)。 (示意图,与新闻事件无关)
 

图片来源:


奥地利格拉茨技术大学(Graz University of Technology)的 5 名研究人员近日发表一报告,宣称所打造的恶意软件可攻陷英特尔的安全技术 SGX(Software Guard Extensions),并自受到 SGX 保护的飞地(enclave)窃取机密信息。

SGX 为一隔离机制,所建立的隔离区域则称为飞地,可用来储存与隔离每个程序的机密信息,诸如加密密钥或密码等,英特尔是在 2015 年发表 Skylake 处理器平台时推出 SGX,理论上它是独立且不会受到其他程序干扰的。

然而,格拉茨技术大学的研究人员却利用同样的 SGX 技术来攻陷 SGX,他们也建立了一个基于 SGX 的飞地,但内含的却是恶意软件,该飞地与其他飞地并存,再利用旁路攻击(side-channel)取得储存于其他飞地的机密信息。

研究人员针对英特尔 CPU 量身打造了准确度极高的计时测量技术,再结合 DRAM 与快取的旁路,建置了不必假设分页尺寸就能回复实体地址的手法,并针对 mbed TLS 中的 RSA 实现展开攻击,单次的 Prime+Probe 追踪就能取得 4096 位 RSA 加密密钥的 96%,11 次的追踪即可获得完整密钥,且历时不到 5 分钟。

研究人员指出,操作系统完全察觉不到亦无法分析该恶意软件,因为它藏匿在受到 SGX 保护的独立区域内。 而且就算是额外使用 Docker 容器以多一层隔离,依然无法闪避这类的攻击。