軟件中的安全漏洞很難發(fā)現(xiàn)。特意種植的那些:間諜或蓄意破壞分子制造的隱藏后門甚至更難發(fā)現(xiàn)。想象一個(gè)不是種植在應(yīng)用,或者深深嵌入在操作系統(tǒng)中的惡意軟件。它藏得更深,在計(jì)算機(jī)運(yùn)行所需的處理器中。
再想象一個(gè)基于硅的后門,它并不僅僅對(duì)計(jì)算機(jī)的軟件隱身,甚至對(duì)芯片的設(shè)計(jì)者也隱身。芯片設(shè)計(jì)人員不知道它是被芯片的制造商,比如某家大型的電子設(shè)備生產(chǎn)工廠添加進(jìn)去的。而且它只是數(shù)百、數(shù)百萬、甚至數(shù)億元件中的其中之一;每個(gè)這樣的元件都僅有人類頭發(fā)直徑的千分之一大小。
實(shí)際上,來自密歇根大學(xué)的研究人員并不只是想象出了這種計(jì)算機(jī)安全噩夢(mèng)。他們還制造出了它,證明了其可行性。上周IEEE隱私與安全大會(huì) (IEEE Symposium on Privacy and Security) 上,他們的研究獲得了最佳論文獎(jiǎng)。文中,研究人員詳細(xì)描述了一種惡意、超微型的微型硬件后門的概念驗(yàn)證攻擊。而且,在他們的展示中,黑客通過每分鐘在處理器上運(yùn)行一系列看上去完全無害的命令,能夠有效地觸發(fā)處理器的一項(xiàng)功能,獲得操作系統(tǒng)的完整權(quán)限。最讓人恐慌的是,研究人員寫道,極微小的硬件后門基本無法通過任何現(xiàn)代硬件安全分析手段檢測(cè)出來,而且只要芯片工廠中的一位員工就能進(jìn)行種植。
密歇根大學(xué)計(jì)算機(jī)科學(xué)教授Todd Austin領(lǐng)導(dǎo)了這項(xiàng)研究,他表示:“使用當(dāng)前技術(shù)檢測(cè)它將會(huì)非常非常具有挑戰(zhàn)性,幾乎完全不可能。它就像稻草山里面的一根針。”谷歌的工程師Yonatan Zunger也在讀完論文之后寫道:“這可能是這么多年來我見到過的最惡毒、最聰明的計(jì)算機(jī)安全攻擊。”
模擬電路攻擊
密歇根大學(xué)的研究人員發(fā)現(xiàn)的這一“鬼馬聰明”的后門不止厲害在它的體積上,還在于它是一個(gè)隱藏的硬件,而不是軟件。這一點(diǎn)顛覆了安全行業(yè)對(duì)芯片數(shù)字特性最基本的假設(shè),成了芯片被入侵的一種新方式。它不是篡改芯片的“數(shù)字”特性,比如更改芯片的邏輯計(jì)算功能:研究人員將他們的后門稱為“模擬”的,它是一種物理入侵,劫持電流穿過二極管的路線,觸發(fā)預(yù)料之外的結(jié)果。該后門的名字叫A2,它既代表著密歇根大學(xué)所在的城市Ann Arbor,也代表“模擬攻擊” (Analog Attack) 。
以下是這種模擬入侵的攻擊方式:在芯片完全設(shè)計(jì)好,就等著制造的狀態(tài)下,攻擊者對(duì)其“面具” (控制其布局的藍(lán)圖) 增加一個(gè)元件。現(xiàn)代的芯片上可能會(huì)有數(shù)百萬乃至數(shù)億個(gè)這樣的元件或“單元”,它的元件區(qū)域和處理器的其它部分并沒有什么不同:電線、二極管組成了可開關(guān)的閘門,實(shí)現(xiàn)芯片的邏輯功能。不過,這個(gè)單元被秘密地設(shè)計(jì)成能夠行使電容的功能,因此可以暫時(shí)存儲(chǔ)電能。
以下的圖片顯示了研究人員制造的處理器大小與惡意單元大小的比較。
每次當(dāng)惡意軟件,比如你瀏覽的網(wǎng)站上的腳本,運(yùn)行一個(gè)特定的、隱蔽的指令,這一電容單元就會(huì)“竊取”一部分電能,并將其存儲(chǔ)在單元的電線中,而不會(huì)影響芯片的功能。每當(dāng)這一指令運(yùn)行一次,該電容就會(huì)獲得更多的電能。只有當(dāng)“觸發(fā)”指令運(yùn)行了數(shù)千次之后,該單元才能完全充滿電,并達(dá)到一個(gè)閾值,讓單元打開處理器的一個(gè)邏輯功能,使惡意軟件獲得原本沒有的操作系統(tǒng)最高權(quán)限。“攻擊者需要在一段特定的時(shí)間里用很高的頻率連續(xù)發(fā)出這一指令,然后系統(tǒng)就會(huì)轉(zhuǎn)入一個(gè)特權(quán)狀態(tài),讓攻擊者可以為所欲為。”
這種利用電容進(jìn)行觸發(fā)的設(shè)計(jì)模式意味著任何人都幾乎無法通過連續(xù)運(yùn)行如此之長的指令序列來“打開”后門,測(cè)試芯片的安全性。此外,過了一段時(shí)間之后,該電容會(huì)將其充上的電能放空,重新關(guān)上后門,這使得審計(jì)人員更難找到這一漏洞。
新規(guī)則
以前也曾出現(xiàn)過處理器級(jí)別的后門。但通過建立一個(gè)能夠發(fā)揮芯片元件物理屬性,“偶然地” 聚集并堆積小股電能,利用漏洞的后門,而不是利用元件本來的邏輯功能,研究人員表示他們的后門元件可以做成比之前利用漏洞的硬件小上千倍的體積。此外,這種方式更難被現(xiàn)在的技術(shù)探測(cè)到,比如肉眼檢測(cè),或者監(jiān)測(cè)其電能使用,發(fā)現(xiàn)異常。密歇根大學(xué)的另一位研究人員Matthew Hicks說:“我們?cè)?lsquo;矩陣之外’利用了這些規(guī)則,讓這種技巧變得不再那么昂貴和明顯。通過不同的規(guī)則集合,我們實(shí)現(xiàn)了一種更加隱蔽的攻擊。”
密歇根的研究人員目前將A2后門嵌入了一個(gè)OR1200處理器,以測(cè)試他們的攻擊。由于后門機(jī)制依賴于芯片布線的特性,他們甚至在給芯片加降溫的條件下測(cè)試了后門的觸發(fā)過程,使用的溫度范圍是華氏-13度到212度,而且發(fā)現(xiàn)該方法仍舊能夠?qū)崿F(xiàn)。
以下是研究人員用于在不同溫度下測(cè)試安裝了后門的處理器的實(shí)驗(yàn)環(huán)境。
由于他們的介入對(duì)于計(jì)算機(jī)安全的未來非常危險(xiǎn),來自密歇根的研究人員堅(jiān)稱他們的本意是防止這類無法檢測(cè)的硬件后門攻擊,而不是發(fā)明它們。他們稱,事實(shí)上,世界各國的政府有可能已經(jīng)想到了這種模擬電路攻擊方法。“通過發(fā)布這篇論文,我們說明了,這種攻擊是真實(shí)的、迫在眉睫的威脅?,F(xiàn)在我們需要找到一種防御方式。”
不過,考慮到目前檢測(cè)處理器級(jí)別后門的方法無法發(fā)現(xiàn)他們的A2攻擊,研究人員稱需要一種新方法: 現(xiàn)代處理器芯片需要一種可信的元件,持續(xù)檢查是否有軟件被非法授予了操作系統(tǒng)級(jí)別的權(quán)限。 通過保證這一元件的安全,比如在安全的生產(chǎn)設(shè)施中制造它,或者確保這種設(shè)計(jì)沒有在生產(chǎn)之前遭到篡改,可能比找到方法確保整個(gè)芯片安全要容易得多。
他們承認(rèn),進(jìn)行這樣的修復(fù)可能需要時(shí)間和金錢。但在它之外,這一概念驗(yàn)證攻擊的本意是顯示計(jì)算機(jī)安全甚至在它被賣出之前就已經(jīng)可能被徹底污染與破壞。“我希望這篇論文能夠強(qiáng)調(diào)一種需求,在生產(chǎn)過程中建立信任,否則可能會(huì)發(fā)生很糟糕的事。”