美國(guó)黑帽大會(huì)和Defcon安全大會(huì)上,研究員 Christopher Domas 演示了他是如何發(fā)現(xiàn)多種CPU可能存在的后門(mén)的。
房間里數(shù)百位安全專(zhuān)家一起鼓掌的場(chǎng)面值得注意,如果掌聲是在演示開(kāi)始5分鐘之內(nèi)出現(xiàn),那就值得大書(shū)特書(shū)了。上周美國(guó)黑客大會(huì)上在安全研究員 Christopher Domas 講述如何破解現(xiàn)代CPU安全中所謂的Ring權(quán)限模型時(shí),出現(xiàn)了這樣的場(chǎng)景。
在硬件層,不同類(lèi)型的賬戶分配有不同的Ring權(quán)限,普通用戶在Ring3,系統(tǒng)管理員在Ring0。Domas用4個(gè)十六進(jìn)制字符組成的字符串黑掉了Ring模型。此類(lèi)攻擊可使普通用戶進(jìn)程獲取到內(nèi)核級(jí)控制權(quán),以超出大多數(shù)安全軟件的權(quán)限執(zhí)行——繞過(guò)當(dāng)前反惡意軟件和硬件控制系統(tǒng)所用的絕大多數(shù)技術(shù)。
Domas以對(duì)x86指令集的解構(gòu)而蜚聲安全研究界,他將本次演講命名為《解鎖上帝模式:X86 CPU中的硬件后門(mén)》。在本屆黑客大會(huì)和Defcon安全大會(huì)上,他不僅證明了自己可以解鎖上帝模式,還將自己的做法共享給了全世界。
幸運(yùn)的是,該研究并非全無(wú)限制。被破解的處理器相對(duì)較老,是通常應(yīng)用在嵌入式系統(tǒng)市場(chǎng)的 C2 Mehemiah 處理器核。但作為概念驗(yàn)證,該研究對(duì)IT安全有著深遠(yuǎn)影響。
Domas發(fā)現(xiàn)的小秘密,就是利用模型特定寄存器(MSR:編程常用寄存器之外的特殊CPU寄存器),指示CPU去做其設(shè)計(jì)者本不希望CPU去做的事。而且,這個(gè)小秘密不僅僅存在于已知MSR中,而是存在于包括未見(jiàn)于任何文檔描述的MSR在內(nèi)的眾多MSR中。
Domas的研究計(jì)算機(jī)群由多臺(tái)執(zhí)行特定指令的計(jì)算機(jī)組成,并會(huì)報(bào)告哪些返回了故障情況。
在目標(biāo)CPU上,Domas發(fā)現(xiàn)了1300個(gè)MSR。他覺(jué)得探索全部MSR耗時(shí)太久,便開(kāi)發(fā)了一種方法,基于指令從發(fā)送到返回執(zhí)行結(jié)果的時(shí)間,來(lái)判斷不同于其他常用寄存器功能的特殊MSR。
Domas分析了一系列專(zhuān)利芯片,發(fā)現(xiàn)現(xiàn)代英特爾架構(gòu)CPU的x86核心上還有一個(gè)隱藏的神秘核心。該核心被Domas命名為DEC,是軟件開(kāi)發(fā)人員基本上毫無(wú)所知的二級(jí)核心,與x86共享部分指令流水,用于驅(qū)動(dòng)開(kāi)發(fā)人員所不知道的那些功能。但這個(gè)核心也是有自身架構(gòu)的實(shí)體。
Domas猜測(cè),訪問(wèn)DEC需要用到一個(gè)全局配置寄存器和一條啟動(dòng)指令——這兩樣?xùn)|西都未見(jiàn)諸于任何文檔中。他的研究自此進(jìn)入精華部分。
Domas逆向研究了DEC的架構(gòu)和指令集。DEC指令集研究耗費(fèi)了4000小時(shí)的計(jì)算時(shí)間,產(chǎn)生出15GB的日志數(shù)據(jù)。對(duì)日志的分析,揭示了用于啟動(dòng)DEC、完成任務(wù)和完全繞過(guò)Ring權(quán)限模型保護(hù)的指令。
于是,受限用戶賬戶也可以像系統(tǒng)管理員那樣悄無(wú)聲息地執(zhí)行代碼了。這將會(huì)破壞幾乎所有在用的反惡意軟件程序和設(shè)備安全系統(tǒng)。
不過(guò),因?yàn)樯婕暗降腃PU比較老,應(yīng)用也不是很廣泛,該CPU漏洞不太可能被用來(lái)對(duì)企業(yè)進(jìn)行大規(guī)模攻擊。但正如Domas所言,作為概念驗(yàn)證,該漏洞可能會(huì)促使其他研究人員去探尋更為現(xiàn)代、應(yīng)用更廣的CPU中有無(wú)類(lèi)似漏洞。
Domas已將其工具集發(fā)布到了GitHub的 Rosenbridge 項(xiàng)目,并正積極尋求其他研究人員加入并延續(xù)該項(xiàng)工作。
分享到微信 ×
打開(kāi)微信,點(diǎn)擊底部的“發(fā)現(xiàn)”,
使用“掃一掃”即可將網(wǎng)頁(yè)分享至朋友圈。