研究人员公布两个针对英特尔处理器的攻击程序

本周有两个阵营的研究人员,分别公布了两个锁定英特尔处理器的攻击程序,其中一个SGAxe可用来窃取存放于飞地(enclave)内的证明密钥,另一个CrossTalk,则能用来读取所有处理器核心共享的暂存缓冲区中的资料,这两项攻击都能绕过英特尔为处理器所设计的SGX(Software Guard Extensions)安全保护,幸好英特尔已经发布固件更新,缓解了这两个攻击途径所利用的安全漏洞。

SGX为英特尔替处理器所设计的安全机制,它提供以硬件为基础的内存加密功能,可于内存内创建飞地(enclave)来隔离特定的应用程序代码与资料。

打造SGAxe的,是来自美国密西根大学与澳洲阿得雷得大学的4名研究人员,该团队曾在今年1月展示CacheOut攻击,而SGAxe则为CacheOut的高端版,所开采的都是CVE-2020-0549漏洞。SGAxe能够自英特尔于SGX中创建的引用飞地(Quoting Enclave)汲取SGX的私有证明密钥,只要取得了这类的密钥,黑客就能签署假的证明引用,伪装自己为正版的SGX飞地,削弱整个SGX生态体系的可靠性。

英特尔已于今年1月发布固件更新以缓解CVE-2020-0549漏洞。根据英特尔的说明,该漏洞起源于某些处理器在移除资料缓存时出现清调试误,可能造成信息披露,但开采该漏洞的前提是,必须为本地端通过身份认证的用户。

CrossTalk攻击则是阿姆斯特丹自由大学系统及网络安全小组(Systems and Network Security Group at Vrije Universiteit Amsterdam,VUSec)的研究人员所打造,所开采的漏洞为CVE-2020-0543。

CrossTalk攻击奠基在英特尔处理器核心所共享的暂存缓冲区(Staging Buffer),该缓冲区保留了来自RDRAND与RDSEED的输出资料,这两个指令所提供的随机数可用来产生加密密钥。因此,只要取得了相关的随机数,就能用来推断在另一处理器核心上执行的SGX飞地密钥,也让CrossTalk成为了首个跨核心的暂态执行攻击。

英特尔则是在本周发布的安全更新中,修补了CrossTalk所利用的CVE-2020-0543漏洞。根据说明,该漏洞起因于专用托管器的读取操作无法完全清除,而造成信息披露,要开采该漏洞同样必须取得认证,且自本地端访问。

其实英特尔本周总计修补了25个安全漏洞,CVE-2020-0543的严重程度为CVSS 6.5,并不算太高,反而是两个涉及主动管理技术(Active Management Technology,AMT)的漏洞被列为重大等级,严重程度高达CVSS 9.8。

这两个AMT漏洞分别是CVE-2020-0594与CVE-2020-0595,前者为越界读取漏洞,后者则是释放后使用漏洞,皆允许未经授权的远程用户扩张权限。