作者:Samuel H. Russ、Jacob Gatlin
2018年,《彭博商業(yè)周刊》的一篇文章做出了驚人斷言,聲稱中國間諜部門在電路板中插入了毫米級芯片,從而在為亞馬遜、蘋果等公司生產(chǎn)的服務(wù)器中制造了后門。
這一說法遭到了相關(guān)公司和美國國土安全部直接明確的駁斥。不過,電路板的確極易遭受入侵。已經(jīng)有十幾個(gè)系統(tǒng)級攻擊的例子記錄在案。
我們非常了解惡意軟件和偽造集成電路,而印刷電路板自身的弱點(diǎn)則直到現(xiàn)在才開始得到應(yīng)有的重視。本文講述了印刷電路板制造中的一些最突出的弱點(diǎn)。幸運(yùn)的是,彌補(bǔ)這些弱點(diǎn)的方法相對比較簡單,而且其中許多方法只需要良好的工程實(shí)踐即可。
要了解電路板是如何被入侵的,有必要先回顧一下其制作過程。印刷電路板通常包含成千上萬個(gè)元件。(在填充元件之前,也稱為印刷線路板,即PWB。)印刷電路板的目的是提供固定元件的結(jié)構(gòu)支撐,并提供元件與信號(hào)和電源連接所需要的布線。
印刷電路板的設(shè)計(jì)者首先需要?jiǎng)?chuàng)建兩個(gè)電子文檔:一個(gè)電路原理圖和一個(gè)布局設(shè)計(jì)圖。原理圖描繪了所有元件及其連接方式。布局設(shè)計(jì)圖描繪了完成的裸板以及物體(包括元件及其標(biāo)簽)在線路板上的位置,稱為參考指示符。(參考指示符極為重要,大多數(shù)組裝流程以及設(shè)計(jì)和采購流程都與參考指示符有關(guān)。)
一塊印刷電路板并非全是元件。大多數(shù)電路板都包含空的元件封裝,稱“未填充元件”。這是因?yàn)殡娐钒逋ǔ0糜谡{(diào)試和測試的額外電路,或者電路板是為了實(shí)現(xiàn)多種目的而制造的,因此可能會(huì)有包含更多元件的版本或更少元件的版本。
檢查完原理圖和布局設(shè)計(jì)圖后,布局設(shè)計(jì)圖將被轉(zhuǎn)換為一組文件。最常見的文件格式為“Gerber”,或RS-274X。它由ASCII格式的命令組成,表明電路板上的圖形。第二個(gè)ASCII格式的文件為鉆孔文件,顯示電路板上打孔的位置。接下來,制造商會(huì)使用這些文件來創(chuàng)建掩模,用于蝕刻、打印和在電路板上鉆孔。之后,會(huì)對電路板進(jìn)行測試。
接下來,“拾取和放置”機(jī)器會(huì)把表面貼裝元件放在電路板上正確的位置,然后印刷電路板會(huì)經(jīng)過一個(gè)烘烤裝置,所有焊料被一次性融化。之后是放置通孔元件(通常是手工放置),電路板會(huì)經(jīng)過一臺(tái)機(jī)器,該機(jī)器能夠?qū)⒑噶蠎?yīng)用到所有的通孔銷上。這是一項(xiàng)復(fù)雜的工作。一個(gè)8針、4電阻的網(wǎng)絡(luò)只能覆蓋2毫米×1.3毫米的區(qū)域,而且一些元件封裝非常小,只有0.25毫米×0.13毫米大。隨后是檢查、測試、根據(jù)需要維修電路板,并進(jìn)一步組裝成可行的產(chǎn)品。
攻擊可以發(fā)生在這些設(shè)計(jì)步驟中的任何一步。第一種攻擊會(huì)向原理圖添加額外元件。這種攻擊可能是最難發(fā)現(xiàn)的,因?yàn)樵韴D通常被視為設(shè)計(jì)者意圖的最準(zhǔn)確反映,因此具有權(quán)威性。
這種攻擊還有一種變化形式,即向原理圖添加一個(gè)無害的元件,然后在生產(chǎn)中使用該元件的惡意修改版本。這類攻擊使用了看似合法卻含有硬件特洛伊木馬的元件,雖然不在本文的討論范圍之內(nèi),但我們應(yīng)嚴(yán)肅對待。
無論哪種情況,其對策都是仔細(xì)審查原理圖,這也是在任何情況下都應(yīng)該采取的措施。其中一項(xiàng)重要的保護(hù)措施是讓其他設(shè)計(jì)團(tuán)隊(duì)的人員來進(jìn)行檢查,用他們的“新眼睛”來發(fā)現(xiàn)那些不必要的元件。
第二種攻擊會(huì)向布局設(shè)計(jì)圖添加額外元件。這個(gè)過程雖然很簡單,但由于將布局設(shè)計(jì)圖與原理圖進(jìn)行比較需要進(jìn)行特定的過程檢查,因此很難僥幸成功,至少需要布局技術(shù)人員偽造比較結(jié)果。要應(yīng)對這種形式的攻擊很簡單,只需讓一位工程師或一組工程師(這樣更好)檢查布局設(shè)計(jì)圖與原理圖的比較步驟并簽字。
第三種類型的攻擊是修改Gerber和鉆孔文件。從安全角度來看,Gerber和鉆孔文件有3個(gè)要點(diǎn)。第一,它們是ASCII格式的,因此可以在非常常見的文本編輯工具中對其進(jìn)行編輯;第二,它們是人類可讀的;第三,它們不包含簽名或校驗(yàn)等的內(nèi)置加密保護(hù)。由于一套完整的Gerber文件可以長達(dá)幾十萬行,所以這種攻擊方式非常有效,很容易被漏查。
例如,攻擊者可以插入一個(gè)看起來像是靜電放電二極管的東西。該電路的設(shè)計(jì)文件由16個(gè)Gerber文件和鉆孔文件組成。在這16個(gè)文件中,有9個(gè)文件需要修改;在這9個(gè)文件中,有7個(gè)文件總共有79行不同,還有2個(gè)文件需要修改,每個(gè)文件大約300行。后兩個(gè)文件是關(guān)于電源層和接地層的信息。更加熟練的攻擊(比如添加稱為過孔的垂直連接)將顯著減少需要重寫的行數(shù)。
不受保護(hù)的Gerber文件很容易受到攻擊,在設(shè)計(jì)公司和光刻掩模生產(chǎn)之間任一環(huán)節(jié)的入侵都可能攻擊Gerber文件。由于Gerber文件以行業(yè)標(biāo)準(zhǔn)為基礎(chǔ),因此獲取更改信息相對簡單。
有人可能會(huì)說,保護(hù)文件的標(biāo)準(zhǔn)加密方法也可以保護(hù)Gerber文件。雖然這樣的保護(hù)措施能在傳輸過程中保護(hù)Gerber文件,但文件到達(dá)目的地時(shí)這些保護(hù)措施是否有效尚不清楚。幾乎所有電路板都不是由其設(shè)計(jì)公司生產(chǎn)的。此外,雖然大多數(shù)第三方制造商都是信譽(yù)良好的公司,但這些公司通常不會(huì)為客戶記錄他們?yōu)楸Wo(hù)這些文件所采取的步驟。
還有一種保護(hù)文件的方法:以注釋的形式向文件的內(nèi)部內(nèi)容添加數(shù)字簽名、加密哈希或其他類型的驗(yàn)證碼。不過,只有在掩模制作流程很晚才對文件進(jìn)行身份驗(yàn)證時(shí),這種保護(hù)才有效;理想情況是,制作光刻掩模的機(jī)器還能夠?qū)ξ募M(jìn)行身份驗(yàn)證。或者,機(jī)器可以保留實(shí)際用于創(chuàng)建掩模的文件的加密哈希,以便制造商審核該過程。無論哪種情況,掩模制造機(jī)本身都需要安全處理。
如果這3種攻擊有一種成功,不良行為者便能在組裝好的電路板中添加一個(gè)實(shí)際的物理元件。這可以通過3種方式實(shí)現(xiàn)。
首先,可以在生產(chǎn)過程中添加額外元件。這很困難,因?yàn)樾枰淖児?yīng)鏈才能將元件添加到采購過程中,要對拾取和放置機(jī)器進(jìn)行編程以放置該零部件,還要將一卷零部件連接到機(jī)器。換言之,這需要多個(gè)不良行為者的合作,這種共謀可能需要一個(gè)公司或一個(gè)國家才能完成。
其次,可以在維修和返工環(huán)節(jié)添加額外元件,這比生產(chǎn)階段更容易實(shí)現(xiàn)。組裝好的電路板需要手工返工很常見。例如,一個(gè)有2 000個(gè)元件的電路板的第一次通過率(零缺陷電路板的分?jǐn)?shù))可能低于70%。有缺陷的電路板需要技術(shù)人員手工添加或移除元件;一名技術(shù)人員每天可以輕松地添加幾十個(gè)秘密元件。雖然不是每一塊電路板都有額外元件,但攻擊仍有可能成功,特別是在運(yùn)輸環(huán)節(jié)有同謀能將被入侵的電路板運(yùn)送給目標(biāo)客戶時(shí)。請注意,這種攻擊(修改Gerber文件、在維修環(huán)節(jié)插入元件、有選擇性地運(yùn)輸元件)只需要3個(gè)人就能成功。
第三,可以在生產(chǎn)后的環(huán)節(jié)中手動(dòng)向電路板添加元件,比如在倉庫中。由于可能出現(xiàn)在途攻擊,所以需要公司檢查進(jìn)貨的電路板,以確認(rèn)未填充元件仍然處于未填充狀態(tài)。
知道如何破壞印刷電路板只是完成了一半的工作。攻擊者還必須知道計(jì)算機(jī)主板上的最佳目標(biāo)是什么。他們會(huì)嘗試控制數(shù)據(jù)總線,特別是具有低數(shù)據(jù)速率和低引腳數(shù)兩個(gè)共同點(diǎn)的數(shù)據(jù)總線。高速總線(如SATA、M.2和DDR)對數(shù)據(jù)速率非常敏感,額外元件造成的延遲很可能會(huì)使它們無法正常工作。引腳數(shù)較少的元件則更容易加入設(shè)計(jì)中;因此,引腳數(shù)較少的總線更容易成為攻擊目標(biāo)。在一塊PC主板上,有3條這樣的總線。
第一個(gè)是系統(tǒng)管理總線(SM總線),大多數(shù)PC主板都是通過SM總線來控制電壓調(diào)節(jié)器和時(shí)鐘頻率的,遵守的是飛利浦半導(dǎo)體公司1982年制定的二線制內(nèi)部集成電路(I2C)標(biāo)準(zhǔn)。這個(gè)標(biāo)準(zhǔn)沒有加密,允許眾多獨(dú)立于CPU的連接設(shè)備直接訪問關(guān)鍵的板載元件,例如電源。
SM總線上的秘密元件可以實(shí)現(xiàn)兩類系統(tǒng)攻擊。它能改變調(diào)節(jié)器的電壓設(shè)置并損壞元件,還可以通過冒充另一臺(tái)設(shè)備或故意干擾輸入數(shù)據(jù)的方式來干擾處理器和板載傳感器之間的通信。
第二個(gè)目標(biāo)是串行外圍接口(SPI)總線,它是摩托羅拉在20世紀(jì)80年代中期開發(fā)的一種四線總線。大多數(shù)現(xiàn)代閃存元件都使用這種總線,因此很可能是訪問重要代碼的總線,例如BIOS(基本輸入/輸出系統(tǒng))。
針對SPI總線的精心密謀的攻擊,有可能改變從附加內(nèi)存芯片讀取的數(shù)據(jù)的任何部分。在訪問BIOS時(shí)進(jìn)行的修改可能會(huì)更改開機(jī)過程中完成的硬件配置,從而為惡意代碼留下一條通道。
第三個(gè)目標(biāo)是LPC(Low Pin Count,低引腳計(jì)數(shù))總線,它特別容易受到攻擊,因?yàn)閷ζ溥M(jìn)行的攻擊可以破壞計(jì)算機(jī)的操作、遠(yuǎn)程訪問電源和其他重要的控制功能,并危害開機(jī)過程的安全。這條總線包含7個(gè)必選信號(hào)和6個(gè)可選信號(hào);用于將計(jì)算機(jī)的CPU連接到傳統(tǒng)設(shè)備(如串行和并行端口),或者連接到機(jī)箱上的物理交換機(jī),在許多現(xiàn)代PC中,它的信號(hào)控制著風(fēng)扇。
LPC總線非常易受攻擊,因?yàn)樵S多服務(wù)器使用它來連接單獨(dú)的管理處理器和系統(tǒng)。這款處理器稱為基板管理控制器(BMC),即使主處理器崩潰或尚未安裝操作系統(tǒng),它也可以執(zhí)行基本的內(nèi)務(wù)管理功能。它很方便,因?yàn)樗试S遠(yuǎn)程控制、維修和診斷服務(wù)器元件。大多數(shù)BMC都有一個(gè)專用的以太網(wǎng)端口,因此對BMC的攻擊也可能影響網(wǎng)絡(luò)訪問。
BMC還有對SPI總線的直通連接,許多處理器都會(huì)通過這一通道加載BIOS。這是一個(gè)有目的的設(shè)計(jì)決策,因?yàn)樗试S通過BMC對BIOS進(jìn)行遠(yuǎn)程修補(bǔ)。
許多主板還會(huì)使用LPC總線訪問實(shí)施可信平臺(tái)模塊(TPM)標(biāo)準(zhǔn)的硬件,TPM標(biāo)準(zhǔn)可以提供加密密鑰和一系列其他服務(wù)來保護(hù)計(jì)算機(jī)及其軟件。
圍繞這些總線可以查找秘密元件。可以通過機(jī)器進(jìn)行搜索。在自動(dòng)化方面,有佛羅里達(dá)網(wǎng)絡(luò)安全研究所(位于蓋恩斯維爾)主管馬克?M.特拉尼普爾(Mark M. Tehranipoor)開發(fā)的系統(tǒng)。該系統(tǒng)使用了光學(xué)掃描、顯微鏡、X射線斷層掃描和人工智能來比較印刷電路板及其元件與原設(shè)計(jì)。或者手動(dòng)搜索,包括四輪檢查。雖然這些手動(dòng)方法可能比較耗時(shí),但不需要對每塊單板都這樣做,而且需要的專門技術(shù)也很少。
第一輪,檢查電路板上是否有缺少參考指示符的元件。這是一個(gè)鮮明的信號(hào);在正常的生產(chǎn)過程中,不可能制造出這種有問題的電路板。找到這樣的元件很可能表明電路板的布局文件(即Gerber和鉆孔文件)受到了攻擊,因?yàn)檫@一步是最有可能在不添加參考指示符的情況下添加元件的地方。當(dāng)然,沒有參考指示符的元件本身也是重大設(shè)計(jì)錯(cuò)誤,在任何情況下都值得關(guān)注。
第二輪檢查中,要確保原理圖、布局設(shè)計(jì)圖和材料清單中包含每個(gè)參考指示符。偽造的參考指示符也明顯表明有人篡改了電路板的布局文件。
第三輪檢查重點(diǎn)關(guān)注元件封裝的形狀和大小。例如,如果原理圖上有一個(gè)4針零件,而布局設(shè)計(jì)圖或電路板上卻有一個(gè)8針封裝,那么這就是黑客攻擊的明顯證據(jù)。
第四輪應(yīng)該檢查電路板上所有未填充的部分。未填充的地方出現(xiàn)元件,這很可能真的是失誤造成的,也可能是蓄意破壞的標(biāo)志,因此這兩種情況都需要檢查。
如你所見,現(xiàn)代主板(有的有成千上萬個(gè)微粒大小的元件)很容易遭到破壞。其中一些漏洞有可能使人得以訪問重要的系統(tǒng)功能。實(shí)際上,簡單的方法便能檢測甚至阻止大多數(shù)攻擊。與惡意軟件一樣,對問題的高度敏感度和認(rèn)真仔細(xì)的審查可以阻止攻擊。
編輯:hfy
-
印刷電路板
+關(guān)注
關(guān)注
4文章
794瀏覽量
35160 -
電路板
+關(guān)注
關(guān)注
140文章
4956瀏覽量
97740 -
SPI總線
+關(guān)注
關(guān)注
4文章
103瀏覽量
27586
發(fā)布評論請先 登錄
相關(guān)推薦
評論