这几天估计很多地方都在拆拆拆,我们安全研究人员同样喜欢指出那些起不到应有防护作用的系统的问题,这几年来很多研究论文针对Intel的SGX这个毁誉参半的安全增强技术提出了多种攻击,今天推荐的论文SoK: SGX.Fail: How Stuff Gets eXposed对之前的工作进行了系统性总结:
如果你不熟悉SGX技术,本文作者建议你阅读2016年在ePrint上放出的文章Intel SGX explained,我们就不再此处赘述。其中一个比较关键的机制——remote attestation是理解SGX的关键,建议读者花点功夫去搞清楚这个概念:
说说这篇论文的主要贡献,作者认为类似梅西有7座金球奖,本文亦有7大贡献:
对已有SGX攻击技术的分类总结(论文第三章);
对SGX的升级机制的调研,以及其存在的缺陷的分析(论文第四章);
对一个基于SGX的区块链系统——SECRET network的安全分析和攻击(论文第五章);
对PowerDVD这个知名播放器中基于SGX的DRM保护方案的安全分析与攻击(论文第六章和附录C);
对论文中列举的攻击方法如何防护进行了讨论,为未来的TEE设计指明了方向(论文第七章);
实现了一个可以运行SGX enclave的模拟器(附录A);
提出了一种针对SGX revocation协议的拒绝服务攻击(附录C)
首先看看论文中对当前已有SGX攻击的总结,下表列举了近年来(可以说是层出不穷)的攻击技术,其中有一些是开发者的锅,但是很多问题Intel自己也有份(CPU预测执行导致的侧信道问题更是主要的祸根)
接下来是一个CPU采购指南,大家可以按照下表选择适合自己的退烧药避开受影响的CPU:
接下来,作者对SGX的一个主要特点——能通过更新来修复核心安全性——这一机制进行了评估。相比起其它平台上(例如ARM TrustZone)上一旦出现安全问题导致根信任机密凭证丢失就无可救药相比,SGX可以一定程度上通过升级CPU微码(microcode)来挽救不利局面,毕竟Intel是一家设计制造一把抓的大厂(嗯,最后还是做不过台积电和AMDYES!)
不过,升级CPU微码往往需要主板厂商配合,通过BIOS升级流程来完成,而这项技术在1998年的时候可能比较流行(如果能理解这个CIH梗的读者,你一定见证过1999年地球保卫战),现在的新用户大部分可能被厂商弄得连手机换电池都不知道了,所以论文作者很严肃地调研了Intel释放出安全更新到主流厂商和用户能够进行升级的时间周期。调查结果表明,这些升级通常需要数月甚至超过一年的时间才能完成,这期间,攻击者可以做的事情就非常多了~
在论文的第五章,作者对一个基于SGX的区块链区块链系统——SECRET network进行了安全分析,并通过 xAPIC 漏洞 (https://www.intel.com/content/www/us/en/developer/articles/technical/software-security-guidance/advisory-guidance/stale-data-read-from-xapic.html) 来攻破了SECRET的防护:
论文第六章中,作者再接再厉,对PowerDVD播放器中基于SGX的DRM保护方案使用的AACS2算法进行了逆向还原,并最终利用一个虚假的SGX环境(即作者实现的模拟执行环境EGX)来运行PowerDVD的enclave代码,提取了DRM的核心密钥,这部分逆向工作非常精彩,限于篇幅在正文中甚至无法体现,读者可以去附录C-E看看更多细节(不是教你搞蓝光盗版!)同时,如果大家对EGX这个模拟执行环境感兴趣,可以去看看附录A里面的实现细节。
最后我们想说,这篇论文真是太充实了,总共28页双栏,正文14页,附加部分(包括139篇参考文章和5个附录)和正文一样长。作者还开发了网站 (https://sgx.fail/) 供大家访问,啊啊啊现在安全圈怎么可以这么卷!!!
论文:https://sgx.fail/files/sgx.fail.pdf
还没有评论,来说两句吧...