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