大概兩周以前,英特爾承認(rèn)了包括管理引擎(ME)、服務(wù)器平臺(tái)服務(wù)(SPS)等固件存在的多個(gè)嚴(yán)重安全漏洞,其中ME多個(gè)版本都存在緩沖區(qū)溢出漏洞,這些漏洞足以讓攻擊者獲取更高的權(quán)限或盜取用戶信息。英特爾已經(jīng)積極聯(lián)合廠商為用戶提供了修復(fù)該漏洞的措施,但貌似直到今天也并沒(méi)有完全解決。
就在本周三Black Hat Europe的一次演示中,Positive Technologies公司的安全研究員Mark Ermolov和Maxim Goryachy準(zhǔn)備闡述他們?cè)谟⑻貭朚E 11.X版本中發(fā)現(xiàn)的固件漏洞,同時(shí)提醒供應(yīng)商針對(duì)該漏洞的補(bǔ)丁可能不夠完善。
英特爾ME是一個(gè)獨(dú)立于x86 CPU、BIOS/UEFI固件的一個(gè)框架,可以看作是一個(gè)有別于CPU的獨(dú)立系統(tǒng),本身其實(shí)就是一大堆固件代碼實(shí)現(xiàn)的功能,比較關(guān)鍵的是ME里面有用于遠(yuǎn)程管理的功能,它可以在不受用戶操控下遠(yuǎn)程管理企業(yè)計(jì)算機(jī)。
即便是在設(shè)備關(guān)機(jī)狀態(tài)下,ME也會(huì)以極低的功耗運(yùn)行著,也正因?yàn)檫@樣的屬性一直被懷疑有作為后門(mén)的嫌疑,而且對(duì)于普通人或者企業(yè)來(lái)說(shuō),英特爾ME官方是不提供方法去禁用的,且只有部分政府擁有這樣的權(quán)限。
利用英特爾的這些漏洞,攻擊者可以在受到影響的設(shè)備上運(yùn)行任意代碼,而這些代碼是不會(huì)被用戶或者主操作系統(tǒng)所察覺(jué)的。為此,英特爾Chipzilla芯片實(shí)驗(yàn)室添加了一個(gè)開(kāi)關(guān),來(lái)保證其符合NSA的HAP IT安全計(jì)劃的要求。
其實(shí),Ermolov和Goryachy早前就已經(jīng)發(fā)現(xiàn)了這個(gè)開(kāi)關(guān),而英特爾之前公開(kāi)的10個(gè)漏洞中,其中有三個(gè)卻不受這個(gè)開(kāi)關(guān)控制,分別是:CVE-2017-5705,CVE-2017-5706和CVE-2017-5707。
他們發(fā)現(xiàn)了一個(gè)本地可用的堆棧緩沖區(qū)溢出,允許在任何帶有Intel ME 11的設(shè)備上執(zhí)行未簽名的代碼,即使該設(shè)備已經(jīng)被關(guān)閉或被安全軟件保護(hù)。他們聲稱已經(jīng)通過(guò)一種常規(guī)的方法繞過(guò)了棧金絲雀,檢測(cè)一個(gè)寫(xiě)入內(nèi)存的值的變化來(lái)捕捉溢出行為,從而利用ROP攻擊成功運(yùn)行可執(zhí)行的代碼。
英特爾芯片已經(jīng)在無(wú)數(shù)普通消費(fèi)者以及企業(yè)、政府全面普及,因此能夠想到這種漏洞所能造成的潛在威脅是多么普遍。但這個(gè)問(wèn)題并不是那么容易解決,即便廠商升級(jí)了固件,依然難以發(fā)現(xiàn)利用這個(gè)漏洞的攻擊者。
Capsule8聯(lián)合創(chuàng)始人兼首席技術(shù)官Dino Dai Zovi表示,這項(xiàng)發(fā)現(xiàn)最讓人不安的地方就是,無(wú)需打開(kāi)目標(biāo)系統(tǒng)的主機(jī)也能夠利用這些漏洞。對(duì)于一個(gè)使用物理訪問(wèn)的攻擊者來(lái)說(shuō),這并不是一個(gè)大難題,由于部分筆記本有篡改開(kāi)關(guān)的情況,它能夠直接繞過(guò)這種保護(hù)機(jī)制。
針對(duì)CVE-2017-5705, CVE-2017-5706和CVE-2017-5707的漏洞補(bǔ)丁,Ermolov和Goryachy并沒(méi)有排除其可用性,畢竟能夠利用ME-region固件的攻擊者也可以開(kāi)發(fā)易受攻擊的版本來(lái)使用。
Dai Zovi稱:“寫(xiě)一個(gè)老版本的ME固件通常需要直接寫(xiě)閃存芯片,或者利用脆弱的BIOS保護(hù)機(jī)制,這取決于廠商的特殊配置。”
連美國(guó)政府都對(duì)ME的開(kāi)發(fā)表示擔(dān)憂,已經(jīng)把它交給了私營(yíng)部門(mén)。硬件廠商戴爾、Purism和System76目前已經(jīng)提供停用英特爾ME的設(shè)備。谷歌也一直致力于NERF(Non-Extensible Reduced Firmware),這是一個(gè)基于u-root的開(kāi)源軟件系統(tǒng),可以用一個(gè)小型的Linux內(nèi)核和initramfs(掛載根文件系統(tǒng))來(lái)代替UEFI和Intel ME。
Dai Zovi指出,除了供應(yīng)商給出的解決方案之外,一些安全社區(qū)已經(jīng)通過(guò)開(kāi)發(fā)一些開(kāi)放源代碼項(xiàng)目來(lái)解決對(duì)ME的不信任問(wèn)題,比如me_cleaner和Heads。
當(dāng)被問(wèn)到是否有考慮過(guò)改變ME的管理方式或者直接提供不帶ME的芯片時(shí),英特爾的一位發(fā)言人建議這種請(qǐng)求直接提交給硬件供應(yīng)商。
在英特爾看來(lái),ME更多的是積極的正面作用,例如安全引導(dǎo),雙因素身份驗(yàn)證,系統(tǒng)恢復(fù)和企業(yè)設(shè)備管理等。而有特殊需求的用戶,應(yīng)該直接聯(lián)系設(shè)備供應(yīng)商進(jìn)行相關(guān)需求的定制,而英特爾并不會(huì)考慮直接提供這種需求。