研究:Spectre新攻击手法可突破Intel SGX防护机制窃取程式机密资讯
文/林妍溱 | 2018-03-05发表
俄亥俄州大学安全研究人员发现一项新式Spectre攻击手法,可突破英特尔软件防护扩充
指令集(Software Guard Extension,SGX)机制而窃取用户资讯。
名为SgxPectre的攻击手法锁定英特尔为新式Core处理器加入的安全功能SGX。SGX可让应
用程式跑在处理器内存内隔离的环境,称为执行环境(enclave)中,确保应用执行极
机密的程式码或隐私资料,像是加密金钥、密码、使用者资讯等。
一月由Google Project Zero团队发现的Meltdown及Spectre漏洞能让攻击者发动旁路攻击
(side-channel attack)突破作业系统和app,或app间的隔离,进而从作业系统及其他
app取得机敏资讯,但无法突破SGX的执行环境防护。
SgxPectre就是为此而设计。它利用英特尔CPU两项功能,一是执行环境程式模式使用的分
支预测(branch prediction)单元未彻底清理的设计缺陷,可让外部程式码得以操控执
行环境中的分支预测。第二是推测执行指令取消倒回(roll back)不当造成的隐含快取
(implicit caching)的问题,使推测执行指令可造成快取状态变更而被攻击者获知。两
项瑕疵使SGX执行环境的隐密性遭到破解。
研究人员发现大部份SGX runtime函式库(Intel SGX SDK、Rust-SGX、Graphene-SGX)都
存在有瑕疵的程式码规则,而且难以去除,这使得攻击者能对所有以执行环境保护的程式
进行SgxPectre攻击,进而存取执行环境中的重要程式码及资讯。他们还指出,由于SDK
runtime 函式库内都存在有瑕疵的程式码规则,因此以英特尔官方SGX SDK撰写的程式码
都会受到影响,和程式如何实作无关。
所幸研究人员表示,更新CPU中微程式码以支援间接分支限制推测(Indirect Branch
Restricted Speculation,IBRS)可以防止SgxPectre攻击。但系统管理员可以拒绝微程
式码的更新,因此呼吁执行环境应用程式的所有人,必须在远端验证(remote
attestation)执行CPUSVN的验证。
英特尔方面已经获知这项攻击研究,The Register引述英特尔代表指出,他们已经在准备
中,预定在3月16日释出更新修补Spectre、Meltdown的微程式码,以及解决SgxPectre的
软件开发工具。
SgxPectre攻击展示影片:
https://youtu.be/dOJgPNovFZo
https://www.ithome.com.tw/news/121615
UAC战队:有漏洞又如何,不然你要买____?