4
本文作者: 鐵流 | 2016-06-30 13:57 |
從海灣戰(zhàn)爭(zhēng)中薩達(dá)姆的防空系統(tǒng)突然癱瘓,到2007年以色列轟炸敘利亞?wèn)|北部的一處潛在核設(shè)施時(shí),敘利亞預(yù)警雷達(dá)因通用處理器后門而失效,再到2012年伊朗布什爾核電站在信息系統(tǒng)物理隔絕的情況下遭到震網(wǎng)病毒的攻擊....
殘酷的現(xiàn)實(shí)向世人闡釋了只要存在國(guó)家和利益斗爭(zhēng),給CPU留后門的行為就永遠(yuǎn)存在。
不久前,自由軟件基金會(huì)(FSF)指出,所有現(xiàn)代Intel處理器平臺(tái)都內(nèi)置了一個(gè)低功耗的子系統(tǒng)IntelManagementEngine,IntelManagementEngine能完全訪問(wèn)和控制PC,能啟動(dòng)和關(guān)閉電腦,讀取打開(kāi)的文件,檢查所有運(yùn)行的程序,跟蹤按鍵和鼠標(biāo)移動(dòng),甚至能捕捉屏幕截圖,它還有一個(gè)被證明不安全的網(wǎng)絡(luò)接口,允許攻擊者植入rootkit程序控制和入侵電腦。
FSF稱,IntelManagementEngine威脅著用戶的隱私和安全,而開(kāi)發(fā)替代的自由固件是一項(xiàng)不可能任務(wù),因此唯一的做法是拋棄Intel平臺(tái)。
據(jù)業(yè)內(nèi)人士分析,由于很多底層功能不開(kāi)放,導(dǎo)致Intel掌握著用戶的命門,雖然Intel未必會(huì)隨意黑用戶,但確實(shí)擁有黑掉用戶的能力。其實(shí),除自由軟件基金會(huì)曝光度IntelManagementEngine之外,各種硬件木馬,甚至是X86指令集本身也存在安全風(fēng)險(xiǎn)。
硬件木馬是指被故意植入電子系統(tǒng)中的特殊模塊以及電路,或者設(shè)計(jì)者無(wú)意留下的缺陷模塊以及電路,這種模塊或電路平日中潛伏在原始電路之中,在特殊條件觸發(fā)下,該模塊或電路能夠被攻擊者利用以實(shí)現(xiàn)對(duì)原始電路進(jìn)行有目的性的修改,以及實(shí)現(xiàn)破壞性功能,使原始電路發(fā)生本不該發(fā)生的情況——比如泄露信息給攻擊者,使電路功能發(fā)生改變,甚至直接損壞電路。硬件木馬能夠?qū)崿F(xiàn)對(duì)專用集成電路(ASIC)、微處理器、微控制器、網(wǎng)絡(luò)處理器、數(shù)字信號(hào)處理器等硬件的修改以及對(duì)FPGA比特流的修改。
上圖為一個(gè)簡(jiǎn)單的利用電流信號(hào)觸發(fā)的硬件木馬電路,該木馬電路由1個(gè)AND門,1個(gè)NAND門,1個(gè)電容和2個(gè)XOR門組成。木馬電路通過(guò)監(jiān)測(cè)信號(hào)a、b和c實(shí)施攻擊。當(dāng)a、b、c均為“1”時(shí)對(duì)電容充電,反之,電容放電。若滿足充電條件的時(shí)間足夠長(zhǎng),電容結(jié)點(diǎn)就會(huì)在一定的時(shí)間內(nèi)進(jìn)入高電平區(qū),從而觸發(fā)硬件木馬功能邏輯單元,使信號(hào)e發(fā)生改變,否則,硬件木馬電路則不影響原始電路的功能。
硬件木馬并不遙遠(yuǎn)
實(shí)事求是地說(shuō),硬件木馬離我們并不遙遠(yuǎn)——據(jù)臺(tái)灣媒體報(bào)道,臺(tái)灣VIA公司于2014年11月24日在香港高等法院審理“HKIAC/A11022仲裁案”上訴案中,承認(rèn)VIA的VT3421安全芯片(亦使用編號(hào)TF376)有后門,威盛電子高層黎少倫甚至在訴訟中坦承,“這顆晶片,有“后門”(Backdoor)?!?/p>
據(jù)媒體報(bào)道,該起案件的起因是VIA設(shè)計(jì)生產(chǎn)的VT3421安全芯片被出售給Samsung、Honda、上海通用、中國(guó)電子、新科電子等20多家公司后,遭客戶投訴經(jīng)常發(fā)射存儲(chǔ)器泄露、頻頻當(dāng)機(jī)等情況而引發(fā)的......在案件審理中,VIA公司公然辯稱TF376的設(shè)計(jì),“Preventing hackers such as”“Fa Lun Gong”只是產(chǎn)品功能之一;并坦承產(chǎn)品留有后門(Backdoor),“客戶不知道Backdoor的存在,亦不能自行啟動(dòng)”。VIA卻可以輕易打開(kāi)這個(gè)后門,取得末端使用者手機(jī)、機(jī)頂盒等之包括通話、通訊錄、信用卡、定位等等各種數(shù)據(jù)。
硬件木馬的特點(diǎn)
硬件木馬一般是由攻擊者根據(jù)被攻擊系統(tǒng)的工作原理精心設(shè)計(jì),實(shí)現(xiàn)對(duì)底層硬件的修改,而且隨著半導(dǎo)體工藝的不斷發(fā)展,納米級(jí)關(guān)鍵尺寸和電路高集成度使得硬件木馬的檢測(cè)越來(lái)越困難。
與傳統(tǒng)的軟件木馬相比,硬件木馬具有以下幾個(gè)特點(diǎn):
一是隱蔽性強(qiáng)。硬件木馬邏輯部件較小且在未激活時(shí)不影響系統(tǒng)功能,不易被檢測(cè);
二是設(shè)計(jì)靈活,作用機(jī)制復(fù)雜??蓪?shí)現(xiàn)摧毀,邏輯破壞,信息泄露等不同功能;
三是破壞力大。通用CPU已被廣泛使用,而且通常廣泛用于對(duì)信息系統(tǒng)中央控制,一旦遭到硬件木馬攻擊,將對(duì)國(guó)家利益造成重要威脅;
四是設(shè)計(jì)要求高。硬件木馬設(shè)計(jì)需要設(shè)計(jì)者熟悉系統(tǒng)工作原理,有較高的硬件設(shè)計(jì)水平;
五是防護(hù)檢測(cè)難度大。隨著半導(dǎo)體工藝的進(jìn)步,集成度的提高,使得硬件木馬檢測(cè)的難度越來(lái)越大。
硬件木馬的結(jié)構(gòu)
雖然硬件木馬工作機(jī)制的多樣性和設(shè)計(jì)方法的靈活性使得它的實(shí)現(xiàn)方式復(fù)雜多樣,但就大多數(shù)情況下硬件木馬在單個(gè)芯片內(nèi)部的實(shí)現(xiàn)而言,其結(jié)構(gòu)主要由2個(gè)功能部件構(gòu)成。
(硬件木馬結(jié)構(gòu)示意圖)
一是觸發(fā)邏輯單元,通過(guò)監(jiān)聽(tīng)輸入,總線,寄存器數(shù)據(jù),監(jiān)測(cè)電路工作狀態(tài)或經(jīng)過(guò)設(shè)定的工作時(shí)間等方式激活功能邏輯單元。根據(jù)是否需要觸發(fā)邏輯,硬件木馬可分為有條件觸發(fā)和無(wú)條件觸發(fā)2類。
有條件觸發(fā)是指木馬電路同時(shí)包含觸發(fā)邏輯和功能邏輯單元,需要在特定的狀態(tài)下激活硬件木馬,此類硬件木馬較為隱蔽,可通過(guò)設(shè)置較為苛刻的觸發(fā)條件,避免被傳統(tǒng)的功能測(cè)試檢測(cè);無(wú)條件觸發(fā)是指硬件木馬電路僅包含功能邏輯單元,木馬電路時(shí)刻處于激活狀態(tài),此類木馬活性很強(qiáng),功耗相對(duì)較大,而且易被功能測(cè)試等檢測(cè)發(fā)現(xiàn),一般只在實(shí)驗(yàn)驗(yàn)證中使用。
由于硬件木馬工作機(jī)制多樣,設(shè)計(jì)方法靈活,使得觸發(fā)單元既可能被組合邏輯信號(hào)、時(shí)序邏輯信號(hào)或混合信號(hào)等數(shù)字信號(hào)觸發(fā),也可能被電流、電壓、溫度、電磁等數(shù)字信號(hào)測(cè)試技術(shù)很難實(shí)施檢測(cè)的模擬信號(hào)觸發(fā)。
二是功能邏輯單元,是硬件木馬攻擊的執(zhí)行單元,負(fù)責(zé)實(shí)施硬件木馬攻擊行為。當(dāng)功能邏輯單元被激活后,其通過(guò)改變系統(tǒng)輸出或按預(yù)先設(shè)定的攻擊方式,達(dá)到破壞電路正常運(yùn)行的目的。
功能邏輯單元根據(jù)其行為特征和工作方式的不同可分為顯性功能單元和隱性功能單元。顯性功能單元通過(guò)改變電路節(jié)點(diǎn)的邏輯狀態(tài)來(lái)實(shí)施攻擊,硬件木馬被激活以后,通過(guò)改變電路內(nèi)部控制信號(hào)和數(shù)據(jù)信號(hào),使得芯片出現(xiàn)錯(cuò)誤的行為或直接傳輸秘密信息。隱性功能單元同顯性功能單元相比,不改變電路內(nèi)部邏輯,僅將其作為觸發(fā)信號(hào),通過(guò)其他方式來(lái)實(shí)施攻擊,如發(fā)射電磁、功耗等旁路信號(hào)泄露密鑰、加速芯片失效或者直接物理摧毀芯片,使芯片失效。
日前,來(lái)自密歇根大學(xué)的研究人員證明了在芯片制造過(guò)程中植入硬件木馬的可行性,并在不久前的IEEE隱私與安全大會(huì) (IEEE Symposium on Privacy and Security) 上,他們的研究獲得了最佳論文獎(jiǎng)。
在論文中研究人員詳細(xì)描述了一種惡意、超微型的硬件后門的概念驗(yàn)證攻擊。而且,在他們的展示中,黑客通過(guò)每分鐘在處理器上運(yùn)行一系列看上去完全無(wú)害的命令,能夠有效地觸發(fā)處理器的一項(xiàng)功能,獲得操作系統(tǒng)的完整權(quán)限。最讓人恐慌的是,極微小的硬件后門基本無(wú)法通過(guò)任何現(xiàn)代硬件安全分析手段檢測(cè)出來(lái),而且只要芯片工廠中的一位員工就能進(jìn)完成植入......
密歇根大學(xué)的研究人員稱,這種木馬不是篡改芯片的“數(shù)字”特性,比如更改芯片的邏輯計(jì)算功能,而是一種物理入侵,劫持電流穿過(guò)二極管的路線,觸發(fā)預(yù)料之外的結(jié)果??蒲腥藛T將該后門的命名為A2,它既代表著密歇根大學(xué)所在的城市Ann Arbor,也代表“模擬攻擊”。
換言之,除了在集成電路設(shè)計(jì)的過(guò)程中可以安插硬件木馬之外,在集成電路的制造過(guò)程中,同樣可以對(duì)原始電路進(jìn)行惡意修改,安插微小的惡意電路,以達(dá)到在無(wú)條件或在特定的觸發(fā)條件下實(shí)現(xiàn)改變系統(tǒng)功能,泄露機(jī)密情報(bào),或摧毀系統(tǒng)的目的。
因此,國(guó)內(nèi)一些公司在境外流片的所謂的“安全芯片”,很難說(shuō)安全保密程度到底有多高。
以下是這種模擬入侵的攻擊方式:在芯片完全設(shè)計(jì)好,就等著制造的狀態(tài)下,攻擊者對(duì)控制其布局的藍(lán)圖增加一個(gè)元件?,F(xiàn)代的芯片上可能會(huì)有數(shù)百萬(wàn)乃至數(shù)億個(gè)這樣的元件或“單元”,它的元件區(qū)域和處理器的其它部分并沒(méi)有什么不同:電線、二極管組成了可開(kāi)關(guān)的閘門,實(shí)現(xiàn)芯片的邏輯功能。不過(guò),這個(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è)閾值,讓單元打開(kāi)處理器的一個(gè)邏輯功能,使惡意軟件獲得原本沒(méi)有的操作系統(tǒng)最高權(quán)限?!肮粽咝枰谝欢翁囟ǖ臅r(shí)間里用很高的頻率連續(xù)發(fā)出這一指令,然后系統(tǒng)就會(huì)轉(zhuǎn)入一個(gè)特權(quán)狀態(tài),讓攻擊者可以為所欲為。”
這種利用電容進(jìn)行觸發(fā)的設(shè)計(jì)模式,意味著任何人都幾乎無(wú)法通過(guò)連續(xù)運(yùn)行如此之長(zhǎng)的指令序列來(lái)“打開(kāi)”后門,測(cè)試芯片的安全性。此外,過(guò)了一段時(shí)間之后,該電容會(huì)將其充上的電能放空,重新關(guān)上后門,這使得監(jiān)測(cè)工程師更難找到這一漏洞。
在論文中,來(lái)自密歇根的研究人員堅(jiān)稱,“他們的本意是防止這類無(wú)法檢測(cè)的硬件后門攻擊,而不是發(fā)明它們。事實(shí)上,世界各國(guó)的政府有可能已經(jīng)想到了這種模擬電路攻擊方法......通過(guò)發(fā)布這篇論文,我們說(shuō)明了,這種攻擊是真實(shí)的、迫在眉睫的威脅?,F(xiàn)在我們需要找到一種防御方式?!?/p>
硬件木馬一旦被人為隱蔽地插入一個(gè)復(fù)雜的芯片中,要檢測(cè)出來(lái)是十分困難的,主要有以下幾點(diǎn)原因:
一是硬件木馬通常只在非常特殊的值或條件下才能被激活并且發(fā)生作用,其他時(shí)候?qū)υ茧娐返墓δ懿o(wú)影響,它能躲過(guò)傳統(tǒng)的結(jié)構(gòu)測(cè)試和功能測(cè)試;
二是隨著IP核重用技術(shù)的發(fā)展,系統(tǒng)芯片(SOC)上使用IP軟核、IP固核和IP硬核的數(shù)量增加,檢測(cè)一個(gè)很小的惡意改動(dòng)是極其困難的;
三是納米級(jí)集成電路與復(fù)雜的系統(tǒng)很難通過(guò)物理性檢測(cè)和破壞性反向工程檢測(cè)出硬件木馬,并且成本很高,耗時(shí)巨大,特別是當(dāng)木馬被選擇性地插入到整體芯片中的一部分時(shí),破壞性反向工程也不能保證剩余的集成電路沒(méi)有木馬;
四是由于硬件木馬相對(duì)目標(biāo)電路很小,工藝噪聲與環(huán)境噪聲使檢測(cè)變得十分困難。
據(jù)中科網(wǎng)威公司透露,國(guó)內(nèi)單位通過(guò)對(duì)某些國(guó)外CPU的嚴(yán)格測(cè)試,已經(jīng)可以確認(rèn)X86芯片存在功能不明確的“多余”模塊——這些模塊不是一般意義的調(diào)試接口,而是由特定的CPU芯片引腳控制,可讀寫CPU內(nèi)部狀態(tài)寄存器、讀寫指定存儲(chǔ)區(qū)域、激活特定的微代碼段執(zhí)行某個(gè)處理流程、并且可以對(duì)CPU進(jìn)行復(fù)位。
其實(shí),除了硬件木馬和自由軟件基金會(huì)曝光的IntelManagementEngine,X86指令集也存在安全風(fēng)險(xiǎn)——根據(jù)中科網(wǎng)威公司透露,經(jīng)實(shí)測(cè),發(fā)現(xiàn)X86指令集存在未公開(kāi)指令,包括加解密、浮點(diǎn)操作在內(nèi)共計(jì)二十余條,其中,有三條指令在用戶模式就可以使機(jī)器死機(jī)或重啟,作用機(jī)制直接穿透各種軟件保護(hù)措施,防護(hù)軟件不能感知;普通應(yīng)用程序中嵌入一條即可使系統(tǒng)宕機(jī)——Intel和黑客可以利用硬件木馬或后門輕而易舉的黑掉用戶,更要命的是,這些硬件木馬的檢測(cè)難度非常大,檢測(cè)成本也異常高昂。
雖然全球CPU公司都一再向社會(huì)宣傳自己是多么的大公無(wú)私,向用戶承諾自己的產(chǎn)品是絕對(duì)安全可靠。但從海灣戰(zhàn)爭(zhēng)中薩達(dá)姆的防空系統(tǒng)突然癱瘓,到2007年以色列轟炸敘利亞?wèn)|北部的一處潛在核設(shè)施時(shí),敘利亞預(yù)警雷達(dá)因通用處理器后門而失效,再到2012年伊朗布什爾核電站在信息系統(tǒng)物理隔絕的情況下遭到震網(wǎng)病毒的攻擊......殘酷的現(xiàn)實(shí)向世人闡釋了只要存在國(guó)家和利益斗爭(zhēng),給CPU留后門的行為就永遠(yuǎn)存在。
前車之鑒,后事之師,如何讓中國(guó)避免重蹈伊拉克、敘利亞、伊朗的覆轍應(yīng)為上位者執(zhí)政的當(dāng)務(wù)之急。
雷鋒網(wǎng)注:本文作者鐵流,雷鋒網(wǎng)獨(dú)家約稿文章,轉(zhuǎn)載請(qǐng)聯(lián)系我們授權(quán),并保留出處和作者,不得刪減內(nèi)容。
雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見(jiàn)轉(zhuǎn)載須知。