1
本文作者: 躍斌 | 2017-11-14 18:00 |
本文作者:光譜,微信公眾號(hào):硅星人(guixingren123),雷鋒網(wǎng)獲作者授權(quán)同意轉(zhuǎn)載。
你知道嗎?在你電腦的 CPU 里,還藏著一臺(tái)“小電腦”,不僅文件系統(tǒng)、驅(qū)動(dòng)、聯(lián)網(wǎng)功能一應(yīng)俱全,還能……能做的實(shí)在太多了。最可怕的是:你沒(méi)法關(guān)掉它……
問(wèn)你兩個(gè)問(wèn)題:
首先,你的電腦運(yùn)行什么操作系統(tǒng)?
無(wú)非是 Windows 10、macOS,或者成百上千種 Linux 發(fā)行版的其中一個(gè)吧……
第二個(gè)問(wèn)題:你的服務(wù)器,運(yùn)行什么操作系統(tǒng)?
基本都是 Linux 吧……
但如果硅星人告訴你:你的電腦和服務(wù)器里,其實(shí)還藏著一臺(tái)你根本不知道的神秘「小電腦」,運(yùn)行著一個(gè)你根本不知道的神秘操作系統(tǒng)呢?來(lái),搬好小板凳,開(kāi)講。
隱藏在 CPU 里的神秘「OS」
再問(wèn)一個(gè)問(wèn)題:你的電腦或者服務(wù)器用的什么處理器?
只要是 Mac/Windows PC/Chromebook,而且是最近幾年購(gòu)買(mǎi)的——肯定用的是英特爾的處理器,沒(méi)有懸念。
而我們今天的主角,這臺(tái)神秘的電腦和操作系統(tǒng),就藏在英特爾處理器里。從 2006 年往后所有的英特爾處理器里,都植入了一個(gè)名叫 AMT 的技術(shù)。它的全稱(chēng)是:Active Management Technology(主動(dòng)管理技術(shù),也叫 ME, Management Engine)[1]
這么一大段字,硅星人幫你長(zhǎng)求總一下:
首先,AMT 能夠讓英特爾遠(yuǎn)程維護(hù)升級(jí)處理器固件,以保護(hù)計(jì)算機(jī)不在處理器這個(gè)環(huán)節(jié)被攻破。
其次,如果你被解雇了,公司 IT 可以在處理器的層級(jí)遠(yuǎn)程控制你的電腦,該鎖定鎖定該重置重置,確保公司資料不外泄。
那么,AMT 又是怎么實(shí)現(xiàn)的呢?
這是因?yàn)?,處理器里本?lái)就運(yùn)行著一個(gè)名叫 MINIX (mini-Unix) 的操作系統(tǒng)。它的體量非常小,通常只有 5MB 左右,在處理器出廠之前就已經(jīng)寫(xiě)了進(jìn)去。
也就是說(shuō):MINIX 是世界上最流行的操作系統(tǒng)——比 Linux 還流行……
有了 AMT 和 MINIX,你的 CPU,其實(shí)不是你的 CPU 了。AMT 就像寄生在你電腦里的一臺(tái)「小電腦」一樣。
它不但不受宿主的控制,反而會(huì)控制宿主![2]
就像科幻電影《黑衣人》(MIB) 的這一幕:
可是,AMT 怎么就控制了我們的電腦呢?
大家都知道 Google 云計(jì)算很厲害。作為云計(jì)算行業(yè)的巨頭之一,Google 都的數(shù)據(jù)中心 不是每一臺(tái)都運(yùn)行 TPU 啦……還是要采購(gòu)非常多的英特爾處理器。
但 Google 的工程師們發(fā)現(xiàn):在我們的 Linux 操作系統(tǒng)和處理器硬件之間,還藏著至少 2? 個(gè)內(nèi)核;這些內(nèi)核不但對(duì) Google 完全不開(kāi)放,而且還很容易遭受黑客攻擊,攻擊還有能力重寫(xiě)內(nèi)核本身,Google 無(wú)法修復(fù)。
在下圖中,Google 的工程師描述了這 2? 到底都包括了些什么
你會(huì)看到 Ring 這個(gè)東西。它代表的是權(quán)限層級(jí),數(shù)字越低離用戶(hù)越遠(yuǎn)、權(quán)限越高。Ring 3 是用戶(hù)在操作系統(tǒng)上能接觸的內(nèi)容,比如軟件或者文件;Ring 2 到 1則是驅(qū)動(dòng),Ring 0 是操作系統(tǒng)內(nèi)核,也是用戶(hù),而且是非常有經(jīng)驗(yàn)的用戶(hù),比如專(zhuān)業(yè)的 IT 人士所能觸碰和修改的最低層級(jí)。
但 Ring 0 并不是重點(diǎn)……再往下還有 Ring -1、-2 和 -3。一般人并不知道有負(fù)數(shù)層的存在,在大部分 Ring 示意圖離都根本看不到負(fù)數(shù)層,因?yàn)樗鼈儾⒉皇情_(kāi)放的。
負(fù)數(shù)層都在處理器內(nèi)核上。如果你刷過(guò) Android 手機(jī)第三方內(nèi)核,可能知道 CPU 核心資源是可以調(diào)整的,這個(gè)能力通常在 Ring -2 上。至于 Ring -3,權(quán)限已經(jīng)非常之高了……別說(shuō)你或者 IT 小哥,連電腦公司(戴爾、惠普、蘋(píng)果)都觸碰不到。
而 MINIX 就運(yùn)行在 Ring -3 上。這里,是屬于芯片廠商的「絕對(duì)領(lǐng)域」。
麻雀雖小,五臟俱全
這個(gè)操作系統(tǒng)里都裝了些什么呢?Google 的工程師繼續(xù)研究,發(fā)現(xiàn)里面東西還真不少……
文件系統(tǒng)
CPU 資源分配
一套完整的驅(qū)動(dòng),包括 USB、聯(lián)網(wǎng) (IPV6)、聲卡顯卡等
TLS 加密通訊協(xié)議
一個(gè)網(wǎng)絡(luò)服務(wù)器
完整的網(wǎng)絡(luò)棧(跟聯(lián)網(wǎng)沒(méi)關(guān)系,你就理解為把各個(gè)元器件連接起來(lái)讓數(shù)據(jù)互通)
電腦該有的東西都齊活了,現(xiàn)在你知道為什么管它叫小電腦了吧……
至于這個(gè)小電腦都能做些什么,聽(tīng)完你一定會(huì)害怕的:
讀取硬盤(pán)上的所有文件、記錄鍵盤(pán)和鼠標(biāo)、獲取截圖、聯(lián)網(wǎng)上傳和下載數(shù)據(jù)、查看所有運(yùn)行中的程序、分配資源、打開(kāi)和關(guān)閉程序、在防火墻打開(kāi)/軟件斷網(wǎng)時(shí)通過(guò)物理網(wǎng)線(xiàn)/ WiFi 傳輸資料、開(kāi)機(jī)和關(guān)機(jī)、在關(guān)機(jī)狀態(tài)下提取緩存數(shù)據(jù)、重寫(xiě)處理器內(nèi)核等等等等……
——它能做到所有上述的事情,而且還是在完全對(duì)用戶(hù)隱秘的前提下。管理員賬戶(hù)?硬盤(pán)分區(qū)?雙系統(tǒng)?別開(kāi)玩笑了,你能做的所有事情都在 Ring 3,而 MINIX 的所作所為都在 Ring -3 上,你根本看不到。
重申一遍:這是 Ring -3 層級(jí),是芯片廠商的絕對(duì)領(lǐng)域。
這個(gè)層級(jí)對(duì)你的電腦或服務(wù)器擁有百分之百的控制權(quán),而這個(gè)至高無(wú)上的領(lǐng)域只屬于芯片廠商。
(題外話(huà):都說(shuō)每次蘋(píng)果發(fā)新手機(jī),舊 iPhone 就會(huì)立變慢變費(fèi)電。庫(kù)克桌子上是不是真的有個(gè)按鈕,我們可能無(wú)法知曉,但至少你現(xiàn)在知道,芯片廠商擁有這樣的能力絕對(duì)不是都市傳說(shuō)……)
有后門(mén)就沒(méi)有絕對(duì)安全
既然 Ring -3 權(quán)限只屬于芯片廠商,那么好,如果芯片廠商都靠譜的話(huà),應(yīng)該不會(huì)出問(wèn)題吧?
很遺憾,真相并非如此。
現(xiàn)實(shí)中,黑客可以通過(guò)很粗劣但很有效的方式,比如釣魚(yú)郵件,比如社會(huì)工程學(xué);或者更聰明的方式,比如通過(guò)可被 AMT 系統(tǒng)識(shí)別,能夠直接進(jìn)入處理器,但不會(huì)被防火墻阻擋住的特定流量 (SOL Traffic,下圖) ,來(lái)獲得一家企業(yè)的 IT 管理員的權(quán)限。
最一開(kāi)始提到,英特爾賦予了企業(yè)管理員利用 AMT 渠道來(lái)管理辦公硬件的能力,而黑客獲取了管理員權(quán)限,也就掌握了 AMT 的控制權(quán)。進(jìn)而,他們可以通過(guò) AMT 渠道去控制更多的設(shè)備,擴(kuò)大破壞力。前段時(shí)間,微軟就已經(jīng)發(fā)現(xiàn)了一個(gè)名叫 PLATINUM 的黑客機(jī)構(gòu)/惡意軟件,在利用這種方式藉由 AMT 的后門(mén)侵入了大量東南亞的電腦。[3]
今年 5 月,英特爾突然宣布了一個(gè)跟 AMT 有關(guān)的漏洞信息,并提供了補(bǔ)丁。結(jié)果安全專(zhuān)家們一看,這個(gè)漏洞已經(jīng)開(kāi)放了長(zhǎng)達(dá) 7 年之久……Google 認(rèn)為,這個(gè)漏洞可能已經(jīng)導(dǎo)致超過(guò) 10 億臺(tái)設(shè)備暴露。
然而英特爾發(fā)布的只是一個(gè)補(bǔ)丁,意味著多加了一道鎖??芍灰?AMT 仍然留著,不給用戶(hù)關(guān)閉的選擇,根本沒(méi)有任何本質(zhì)上的區(qū)別。不管加多少道鎖,后門(mén)依然是后門(mén)。
總結(jié)一下:AMT 能夠聯(lián)網(wǎng)和讀取你的所有文件;它對(duì)常見(jiàn)的刷機(jī)免疫,能夠自修復(fù);它本身不是絕對(duì)安全的,有 bug,有漏洞;你以為你用的是最安全的 Linux 發(fā)行版,實(shí)際上這個(gè)充滿(mǎn)著漏洞的系統(tǒng)能夠在你眼皮底下控制 Linux……
這一切,難道不會(huì)讓你感到毛骨悚然嗎?
既然英特爾不給關(guān)也不給鑰匙,人們開(kāi)始自己研究關(guān)門(mén)的方法。
首先,遷移平臺(tái)不現(xiàn)實(shí)。x86 處理器只有英特爾和 AMD,而AMD 也有一個(gè)同類(lèi)技術(shù),叫做 PSP,全稱(chēng) Platform Security Processor,邏輯不同,功能近似——一句話(huà)概括:沒(méi)比英特爾強(qiáng)多少……
AMT 還真的很不好處理。它成為了 處理器「開(kāi)機(jī)」的一個(gè)必經(jīng)的固件,如果你完全去除掉 AMT,就等于去掉了「開(kāi)機(jī)鍵」,處理器可能開(kāi)不了機(jī),或者無(wú)法正常工作。
但好在 AMT 固件里面有很多組件(如前述對(duì)應(yīng)“小電腦”的不同功能),而這些組件大多數(shù)都是可以去掉的。GitHub 上有一個(gè) me_cleaner 工具,可以去掉聯(lián)網(wǎng)、驅(qū)動(dòng)、鍵盤(pán)記錄器等各種 Ring -3 上壓根不該出現(xiàn)的東西。
用這個(gè)工具刷機(jī)后,AMT 的固件尺寸從幾 MB 降低到了 300K 左右,刪掉的東西之多可想而知……進(jìn)一步,Google 的工程師還想去掉 Ring -2 上的一些同樣功能太強(qiáng)、太底層,很容易作為漏洞被利用的固件。他們用自己編寫(xiě)的開(kāi)源文件管理系統(tǒng)替代原來(lái)的系統(tǒng),不但加快了開(kāi)機(jī)時(shí)間,還增強(qiáng)了系統(tǒng)的整體穩(wěn)定性。
在技術(shù)界崇尚開(kāi)源的一個(gè)重要原因在于,開(kāi)源意味著人們可以明白它的機(jī)制,在攻守中不斷進(jìn)步,長(zhǎng)期來(lái)看更安全。然而,英特爾和 AMD 將它們各自最底層操作系統(tǒng)的代碼奉若神明,實(shí)際上的防火性能卻不如它們想象的好。
所以,解決這個(gè)問(wèn)題有兩種思路,要么去掉,要么開(kāi)源。但問(wèn)題是,這兩種,都會(huì)對(duì)芯片廠商的商業(yè)模式帶來(lái)根本性的顛覆……
不過(guò)好在現(xiàn)在這個(gè)“小電腦”的存在已經(jīng)完全暴露,越來(lái)越多的人開(kāi)始關(guān)注這個(gè)問(wèn)題。今年 5 月,電子前線(xiàn)基金會(huì) (EFF) 也向英特爾喊話(huà)了,要求它:
提供 AMT 功能組件的詳細(xì)清晰說(shuō)明文檔,告知用戶(hù)查閱組件的命令,提供控制這些功能的用戶(hù)界面;
允許用戶(hù)查看 AMT 的核心代碼來(lái)確認(rèn)漏洞;
提供關(guān)閉 AMT 的方式,允許用戶(hù)刷入社區(qū)開(kāi)源的 AMT 固件,等等。
但很遺憾,英特爾目前仍然無(wú)動(dòng)于衷……尷尬的是這種情況大家只能默默接受。英特爾是世界上最大的芯片供應(yīng)商,對(duì) Google 這樣的云計(jì)算巨頭來(lái)說(shuō)遷移平臺(tái)的代價(jià)成本太高了,幾乎不可能,只有英特爾能滿(mǎn)足需求。一切過(guò)后,最根本的問(wèn)題仍然沒(méi)有解決。
本質(zhì)上,留著 AMT 和 MINIX 就是留著后門(mén)。去掉才能徹底關(guān)閉它。這也是 Google 的工程師開(kāi)始研究移除 AMT 組件的根本原因所在:如果英特爾可以在自己最關(guān)鍵的業(yè)務(wù)后臺(tái)保留后門(mén),保留一個(gè)具有巨大的潛在信息安全隱患的漏洞,卻拒絕提供合理解釋?zhuān)膊慌浜峡蛻?hù)的要求給出關(guān)門(mén)的方法,那么大家只能各自行動(dòng)了……
現(xiàn)在,你已經(jīng)對(duì)這個(gè)隱秘的終極操作系統(tǒng)有了一個(gè)基本的認(rèn)識(shí)。還在跟別人爭(zhēng)吵 Windows、macOS、Linux 到底哪個(gè)操作系統(tǒng)最高貴?省省吧……咱們大家都是 MINIX 的用戶(hù)……[4]
以及,聽(tīng)沒(méi)聽(tīng)說(shuō)過(guò) NSA 的「棱鏡」計(jì)劃?是不是一直不明白怎么實(shí)現(xiàn)的?懷疑到底有沒(méi)有那么強(qiáng)大的大規(guī)??刂坪捅O(jiān)視技術(shù)?
現(xiàn)在,你還懷疑么?
(完)
[1] 英特爾? 主動(dòng)管理技術(shù) https://www.intel.cn/content/www/cn/zh/architecture-and-technology/intel-active-management-technology.html
[2] 資訊人權(quán)貴. 藏在 CPU 裡面的小小太上皇 CPU: Intel ME 跟 AMD PSP https://ckhung0.blogspot.com/2017/06/intel-me-amd-psp.html?m=0
[3] 搜狐科技. 頂級(jí)黑客利用英特爾 CPU 接口竊取敏感數(shù)據(jù) http://www.sohu.com/a/147995186_257305
[4] Network World. MINIX—The most popular OS in the world, thanks to Intel https://www.networkworld.com/article/3236064/servers/minix-the-most-popular-os-in-the-world-thanks-to-intel.html
(雷鋒網(wǎng)注:本文獲授權(quán)轉(zhuǎn)載,不代表雷鋒網(wǎng)立場(chǎng))
雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見(jiàn)轉(zhuǎn)載須知。