点击上方“CSDN”,选择“置顶公众号”

关键时刻,第一时间送达!

今年年初爆出的CPU设计漏洞事件使得整个计算机行业面临着严重的信任危机,几乎1995年以后的所有现代微处理器,都受到该漏洞的影响。据了解,该事件中的两名“主角”Meltdown和Spectre,能够让攻击者打破操作系统与应用之间、应用内部的隔离,允许恶意攻击者从操作系统内核或其他应用中检索信息。

随后,包括Intel、AMD、ARM以及微软、苹果等公司在内的主流硬件同行、操作系统厂商、以及云计算供应商在内,纷纷加快推出漏洞补丁的解决方案,甚至Linux之父Linus Torvalds也来干架,称“英特尔的漏洞补丁完全无用”。然而,漏洞补丁的研发速度似乎有点赶不上漏洞变体的繁衍速度了。

近日,据外媒ZDNet报道,来自俄亥俄州立大学的六名研究人员,发现了Spectre漏洞的新变体SgxPectre,在与Intel官方汇报过此事之后,于上周公布了该漏洞详情。据了解,SgxPectre能从Intel SGX封装中提取数据。

什么是SGX?

“软件防护扩展”(Intel Software Guard Extensions,简称SGX)功能,是新款Intel 微处理器上的一个功能,能让某个应用创建所谓的封装。这个封装是CPU处理内存的硬件隔离部分,让执行操作的应用处理极其敏感的详情,如加密密钥、密码、用户数据等。

最近,微软也开始在Azure中支持SGX功能,允许开发人员在数据中心保护数据免受流氓员工的威胁。

研究人员认为,Spectre和Meltdown漏洞引发了他们对SGX灵活性的猜测。事实证明,它并不具有灵活性,且很难进行修复。

SgxSpectre攻击代码模式

Meltdown和Spectre都无法从SGX封装中获取数据,而这也是SgxSpectre的独特之处。

据研究人员称,SgxSpectre攻击之所以产生,是由于软件库中存在的特定代码模式允许开发者将SGX支持添加到应用中。SGX开发套件如英特尔SGX SDK,Rust-SGX和Graphene-SGX均有可能受到攻击。

“该攻击聚焦于IntelCPU的两个硬件性能,通过旨在提高芯片性能的推测性执行引起。一是封装代码的分支预测,它能被封装外的代码操控,另一个是由推测性执行指令产生的隐式内存缓存。

由于推测性执行指令导致的隐式缓存,在放弃这些指令后没有被正确地回滚,这意味着推测性地执行指令虽然从未被提交到内存,但可能导致攻击者可以察觉到缓存状态的改变。”

对于攻击者而言,他们便可以利用SDK引入SGX封装中的重复性代码执行模式,并查看缓存大小的微妙变化。这是一种典型的“侧信道攻击”,且非常有效。

“SgxPectre攻击能完全破坏SGX封装的机密性。由于存在易受攻击的代码模式……而且很难被清除,攻击者可以对任意封装程序的SgxSpectre进行攻击。”

这也就意味着,由于SDK运行环境库中存在易受攻击的代码模式,因此任何使用英特尔官方SGX SDK开发的代码都会受到攻击的影响,无论封装程序如何执行都无关紧要。

Intel SGX SDK将予以更新

自从一月初以来,Intel一直在其官网持续公布事件的修复进展。Intel表示,增加SgxSpectre缓解措施的Intel SGX SDK将于3月16日发布。

“我们已收悉俄亥俄州立大学的研究论文,并在之前通过网络提供了Intel SGX如何收到侧信道分析漏洞的信息和说明。我们预计,目前针对Spectre和Meltdown的缓解措施以及Intel SGX提供商的最新软件开发包将于3月16日发布。我们建议客户确保始终使用最新版本的工具包。”

因此,软件开发者需要将这个新的SDK版本集成到启用SGX功能的应用中,并向用户发布升级包。

不过,研究人员还表示,运行谷歌的Retpoline反幽灵编码技术的应用是安全的,并不受影响。

目前,他们发布了SgxSpectre攻击的视频演示,并在GitHub上发布了PoC代码https://github.com/osusecLab/SgxPectre

另外,感兴趣的用户也可以直接下载其研究论文,题为“SgxSpectre: Attacks: Leaking Enclave Secrets via SpeculativeExecution”的研究报告(http://web.cse.ohio-state.edu/%7Ezhang.834/papers/SgxPectre.pdf)。

<br/>

除了SgxSpectre之外,研究人员还分别披露了Meltdown和Spectre命名的MeltdownPrime和SpectrePrime的两种新变体。

在题为“MeltdownPrime and SpectrePrime: Automatically-Synthesized AttacksExploiting Invalidation-Based Coherence Protocols”的研究论文中,研究人员提到,这两种攻击可以泄露内核和其他应用程序的数据,虽然方法不同但速度更快。

参考链接:

  • https://www.bleepingcomputer.com/news/security/sgxspectre-attack-can-extract-data-from-intel-sgx-enclaves/

  • http://www.zdnet.com/article/new-spectre-attack-variant-can-pry-secrets-from-intels-sgx-protected-enclaves/

  • https://software.intel.com/en-us/sgx

  • https://github.com/osusecLab/SgxPectre


Logo

20年前,《新程序员》创刊时,我们的心愿是全面关注程序员成长,中国将拥有新一代世界级的程序员。20年后的今天,我们有了新的使命:助力中国IT技术人成长,成就一亿技术人!

更多推荐