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