“芯片后門(mén)”重出江湖,這幾家廠(chǎng)商首次正面回應
“后門(mén)”這個(gè)詞對大家一點(diǎn)都不陌生,它存在于各個(gè)行業(yè)各種社交圈,在芯片設計中,從一開(kāi)始后門(mén)就一直存在。第一個(gè)公開(kāi)的實(shí)例來(lái)自于1983年拍攝的一部電影“戰爭游戲”,影片中,一個(gè)年輕的計算機專(zhuān)家whiz使用了某種芯片后門(mén)黑進(jìn)了美國的核武器庫。
本文引用地址:http://dyxdggzs.com/article/201603/288309.htm在現實(shí)世界中,1965年出現的分時(shí)操作系統Multics中便發(fā)現了現代特色的后門(mén),比好萊塢的發(fā)現早了約20年。當時(shí),美國國防部正在試圖開(kāi)發(fā)一款安全操作系統,Multics就是其工作成果。
“Multics的第一個(gè)后門(mén)是美國空軍在評估該操作系統的過(guò)程中發(fā)現的,”Rambus的密碼研究部門(mén)的工程總監PankajRohatgi提到。兩位先驅者PaulKarger和RogerShell當時(shí)都在軍隊里,他們參與到了這個(gè)項目中,并被指派評估Multics的安全性。在這項工作中,他們使用了被稱(chēng)為PN1的一種設計語(yǔ)言設計了一些所謂的“陷阱門(mén)”,用于測試系統及其安全漏洞。
Karger和Shell被譽(yù)為現代計算機安全之父。Shell更是創(chuàng )建了橙皮書(shū)奠定了計算機安全的基礎。
什么是后門(mén)?
后門(mén)已經(jīng)存在了數千年之久了。古希臘戰爭中的特洛伊木馬就是最早的記錄實(shí)例,這個(gè)名字現在就被用于冠名惡意軟件。第二次世界大戰中被德軍用來(lái)軍事通信中加密和解密的恩尼格碼密碼機,是后門(mén)的又一個(gè)例子。時(shí)至今日,后門(mén)這個(gè)詞匯一般是指對電子設備任何未經(jīng)授權的訪(fǎng)問(wèn)。它可以是某種隱藏的入口,或者是未被記錄在案的訪(fǎng)問(wèn)方式。在本文的討論中,主要集中在芯片及其系統上,以及圍繞硬件后門(mén)的一些問(wèn)題。
后門(mén)可以有很多種方式,而且并非全都是出于邪惡的動(dòng)機。實(shí)際上,很多被稱(chēng)為后門(mén)的問(wèn)題應該被視為設計上的瑕疵,它可以被用于威脅芯片安全。鑒于當今的大型系統級芯片極度復雜,再加上很多設計越來(lái)越多地使用第三方IP,在額外的電路中構建一個(gè)后門(mén),使得外部可以控制一個(gè)芯片,這也是可能的一種行為。Heartbleed就是這種情況。
“如果我是一位攻擊者,我會(huì )推動(dòng)讓盡可能多的IP開(kāi)源,”MentorGraphics的副總裁SergeLeef說(shuō)?!懊總€(gè)IP都附帶了一個(gè)測試平臺,以證明該IP能夠執行所聲明可以完成的任務(wù)。所以,如果你有一個(gè)USBIP塊,你可以在與IP一起附帶提供的測試平臺下運行一下它,你可以證明這個(gè)IP是否能夠完成USB控制器的功能。但是,除了完成所宣稱(chēng)的功能之外,它還能做些別的什么呢?如果你的Verilog代碼超過(guò)了兩萬(wàn)行,基本上就沒(méi)有人能夠掌控這種級別的復雜性,所以你無(wú)法判斷它能否執行宣稱(chēng)之外的功能。開(kāi)源設計是添加后門(mén)、陷阱門(mén)和木馬的最佳位置,無(wú)論塊大塊小,它們都永遠不會(huì )被發(fā)現?!?/p>
對有bug和受污染的IP進(jìn)行驗證也可能無(wú)法完全充分測試。但是考慮到即便是正規的VIP也并不需要遍歷所有測試,所以驗證IP通常不能找出任何問(wèn)題。聰明的程序員可以在一些邊界中設置后門(mén),除非被激活,否則一般不會(huì )露面。
“一些公司曾經(jīng)試圖通過(guò)形式化驗證的方式來(lái)解決后門(mén)問(wèn)題?!盠eef說(shuō)?!拔覀冋J為這是徒勞無(wú)功的,因為你需要知道你要找的后門(mén)究竟是什么。如果一個(gè)后門(mén)被藏在某個(gè)地方,雖然你不希望這個(gè)后門(mén)被激活,但是仍然有很多其他方式可以激活這個(gè)后門(mén)。找到木馬的唯一希望是監測那些能夠識別不同的行為模式的功能?!?/p>
他把這種方式類(lèi)比為分析高速公路上的交通模式,確定哪些車(chē)開(kāi)得太快,哪些車(chē)沒(méi)有遵守交通規則,哪些車(chē)比正常車(chē)流要慢。監測異常行為通常要比查找后門(mén)電路容易,這也是多年來(lái)被應用在網(wǎng)絡(luò )安全上的一種策略。
好后門(mén)和壞后門(mén)
并非所有的后門(mén)都是魔鬼。有些后門(mén)是出于可靠性或便于測試的原因才被放進(jìn)芯片中的?!笆澜缟蠋缀趺恳粋€(gè)芯片都具備出廠(chǎng)檢測能力,”美高森美SoC產(chǎn)品事業(yè)部的高級首席產(chǎn)品架構師RichardNewell這樣說(shuō)道?!靶酒圃焐绦枰幸环N方法來(lái)測試他們的芯片,以確保其良率,這樣才能把高質(zhì)量的產(chǎn)品銷(xiāo)售給客戶(hù)?!?/p>
測試能力對控制產(chǎn)品質(zhì)量是不可或缺的功能。解決芯片內部錯誤和防止產(chǎn)品過(guò)時(shí)而進(jìn)行升級的現場(chǎng)升級能力也基本上是必不可少的。出于所有這些原因,留下一些后門(mén)是相當必要的。在20世紀90年代,PC廠(chǎng)商在PC硬件中添加了一些功能,使得它們還在公司的裝卸碼頭時(shí)就能上電燒錄針對該企業(yè)的映像,從而為公司的IT部門(mén)節省了數千個(gè)小時(shí)的時(shí)間。
不過(guò),硬件后門(mén)也同樣可以用于破壞芯片的固件或安全機制,從而操縱程序和數據。這和在軟件代碼層面上攻擊程序運行不同,那是病毒和惡意軟件干的事。當然,并不是說(shuō)硬件后門(mén)不能用于加載病毒和惡意軟件,而是說(shuō),芯片上的硬件后門(mén)通常用于改變芯片內的固件代碼。
“后門(mén)的類(lèi)型很多,”Rohatgi指出?!白蠲黠@的是,運行一些不相干的進(jìn)程,或者插入一些不屬于正常編程內容的額外代碼。越復雜,就越難以檢測。最好的后門(mén)是二進(jìn)制形式。這種形式的后門(mén)永遠不會(huì )在源代碼的層面上顯現?,F在也有一種概念,把后門(mén)作為一種加密實(shí)現方式放進(jìn)去?!?/p>
作為加密實(shí)現方式的后門(mén)會(huì )影響加密芯片的輸出,而且不會(huì )被發(fā)現。這就是所謂的Kleptography,它的定義是“安全和難以察覺(jué)地竊取信息的一門(mén)科學(xué)?!?/p>
在Kleptography攻擊中,心懷惡意的開(kāi)發(fā)者使用非對稱(chēng)加密實(shí)現加密后門(mén)。通過(guò)這種方式,加密被用于反加密。這種有問(wèn)題的后門(mén)與加密系統之外的世界進(jìn)行通信不需要任何額外管道,而且不需要傳輸任何額外的數據。相反,這種后門(mén)直接嵌入到正常預期的通信中。因此,Kleptography可以被認為是加密病毒學(xué)的一個(gè)分支,是將加密應用在惡意軟件中。
觀(guān)點(diǎn)和策略充滿(mǎn)爭論
訪(fǎng)問(wèn)后門(mén)能夠授權遠程訪(fǎng)問(wèn)設備硬件。允許后門(mén)訪(fǎng)問(wèn)的被操縱的代碼駐留在固件區域內。但是,在芯片中放置后門(mén)已經(jīng)成為一門(mén)科學(xué),而且充滿(mǎn)了爭議。
“留后門(mén)絕對是一個(gè)壞主意,”麻省理工學(xué)院的研究所教授和密碼學(xué)專(zhuān)家RonaldRivest斷言道?!皼](méi)有人支持留后門(mén)這種行為?!?/p>
但是,這實(shí)際上取決于由誰(shuí)來(lái)定義后門(mén)。
其實(shí)未必。有很多人總會(huì )時(shí)不時(shí)地期望,無(wú)論有沒(méi)有網(wǎng)絡(luò )連接,也能夠有些人可以遠程訪(fǎng)問(wèn)他們的電腦以清除病毒或修復啟動(dòng)問(wèn)題,或者只是簡(jiǎn)單地重新設置一個(gè)設備,該設備的訪(fǎng)問(wèn)數據面臨危險或者被遺忘了。移動(dòng)設備也存在這些需求,這也是支持后門(mén)的主要原因之一。
同時(shí),低成本的制造過(guò)程為錯誤的后門(mén)打開(kāi)了風(fēng)險敞口?,F在全世界有數百家低成本的代工廠(chǎng),很多工廠(chǎng)的所有權都不是很清晰。這就在整個(gè)行業(yè)內帶起了一種需求,即花錢(qián)對從這些代工廠(chǎng)生產(chǎn)出來(lái)的芯片進(jìn)行去層,將其網(wǎng)絡(luò )表和原有設計的網(wǎng)絡(luò )表進(jìn)行比對。
“有些代工廠(chǎng)值得信賴(lài),有些則不怎么靠譜,”Mentor的Leef說(shuō)?!坝泻芏喑鮿?chuàng )公司會(huì )被盡可能低的價(jià)格所吸引。在這個(gè)行業(yè)的另一端,大公司會(huì )專(zhuān)門(mén)派人到代工廠(chǎng)車(chē)間去照看晶圓生產(chǎn)?!?/p>
他補充道,隨著(zhù)新技術(shù)的發(fā)展,可以盡量減少這種風(fēng)險,比如在設計中以重復電路的方式填充其空白空間。任何假單元的改寫(xiě)都會(huì )改變電特性分布,從而觸發(fā)警報。
即便在用作合法用途的后門(mén)設計中,也有很多設計得很不嚴謹?!坝械脑L(fǎng)問(wèn)端口設計得很差勁,制造商讓端口保持開(kāi)放狀態(tài),”Newell說(shuō)。其它不合格的設計包括對所有的芯片在各個(gè)環(huán)節都只采用單個(gè)工廠(chǎng)密碼?!霸谶@種情況下,一旦有人計算出工廠(chǎng)密碼,這個(gè)芯片便不再受到保護了,然后所有類(lèi)似的芯片都會(huì )受到威脅?!?/p>
如果要在芯片內設計一個(gè)后門(mén),它必須足夠安全,以使得不道德的高級程序員無(wú)法訪(fǎng)問(wèn)它。這是芯片制造領(lǐng)域的金科玉律。所以,如果人們一直保持操守,用友好的方式使用后門(mén),那不會(huì )有什么問(wèn)題。怎么使用后門(mén),則因芯片訪(fǎng)問(wèn)者而異。Newell補充道,“我們在芯片出廠(chǎng)之前以加密的方式鎖定它,一旦它到了客戶(hù)手中,客戶(hù)在芯片上安裝了自己的數據,它就應該禁能掉工廠(chǎng)密鑰,并且采用用戶(hù)密鑰進(jìn)行鎖定?!边@時(shí),芯片制造商就不再能夠訪(fǎng)問(wèn)芯片了。
不過(guò),這種方式也可以做些讓步。比如,如果芯片被使用在一些軍用硬件等任務(wù)關(guān)鍵型應用中,一旦這種訪(fǎng)問(wèn)端口被鎖定了,就再也無(wú)法進(jìn)行故障分析了。在這種情況下,一種解決方案就是讓用戶(hù)用自己的密鑰解鎖芯片,重新啟動(dòng)工廠(chǎng)密鑰。但是,很顯然,這種技術(shù)應該受到非常嚴格的控制。如果落到惡人手中,則可能引發(fā)非常危險的后果。
評論