【導(dǎo)讀】本文包括兩部分,我們主要探討芯片供應(yīng)商和OEM之間的相互關(guān)系,以及他們?yōu)楹伪仨殧y手合作以完成各個制造階段的漏洞保護(hù)。第一部分指出了IC制造生命周期每個階段中存在的威脅,并說明了如何解決這些威脅。第二部分著重說明了OEM所特有的安全風(fēng)險,并指出了最終產(chǎn)品制造商和芯片供應(yīng)商如何承擔(dān)各自的責(zé)任。這些內(nèi)容將圍繞以下問題進(jìn)行闡釋,即OEM和芯片供應(yīng)商對各自生產(chǎn)階段的風(fēng)險各負(fù)其責(zé),以此來阻止大多數(shù)安全攻擊。
供應(yīng)鏈安全是時下人們討論的熱門話題。由于芯片供應(yīng)商(如Silicon Labs)所提供的IoT元器件最易受信息提取和信息處理的影響,因此他們對此更加關(guān)注。了解芯片供應(yīng)商供應(yīng)鏈中存在的風(fēng)險以及這些風(fēng)險如何影響其最終產(chǎn)品關(guān)系到原始設(shè)備制造商(OEM)的利益。因此,盡管產(chǎn)品開發(fā)的雙方都受到安全威脅,但OEM生命周期階段特有的風(fēng)險也是一個問題。
本文包括兩部分,我們主要探討芯片供應(yīng)商和OEM之間的相互關(guān)系,以及他們?yōu)楹伪仨殧y手合作以完成各個制造階段的漏洞保護(hù)。第一部分指出了IC制造生命周期每個階段中存在的威脅,并說明了如何解決這些威脅。第二部分著重說明了OEM所特有的安全風(fēng)險,并指出了最終產(chǎn)品制造商和芯片供應(yīng)商如何承擔(dān)各自的責(zé)任。這些內(nèi)容將圍繞以下問題進(jìn)行闡釋,即OEM和芯片供應(yīng)商對各自生產(chǎn)階段的風(fēng)險各負(fù)其責(zé),以此來阻止大多數(shù)安全攻擊。
IC生命周期各階段存在的安全威脅
無論是由于晶圓代工廠的刻意行為還是惡意人士的入侵,IC生命周期的每個階段都存在多種威脅,而這些威脅可能使最終產(chǎn)品面臨風(fēng)險。
制造生命周期包含以下階段,如圖1所示。
制造
1. 探針測試
2. 封裝組裝
3. 封裝測試
4. 電路板組裝(OEM擁有和控制)
5. 電路板測試(OEM擁有和控制)
圖1-上述概要展示了IC生命周期開發(fā)的六個關(guān)鍵階段
圖片來源:Silicon Labs
IC開發(fā)始于制造階段,在此階段器件在晶圓代工廠開始實質(zhì)性的制造。此時,IC的ROM已編程,但所有其他存儲器(OTP、閃存和RAM)均未編程。下一步是探針測試,IC在從硅晶圓上切下之前先進(jìn)行功能測試。在該階段,并未安裝永久配置,且制造過程中插入的任何數(shù)據(jù)都會被刪除,因為測試過程會涉及到數(shù)據(jù)刪除。
在封裝組裝階段,將單個晶粒放入封裝中。該階段完全是屬于機(jī)械操作,不進(jìn)行編程或測試。一旦進(jìn)入封裝,IC就會進(jìn)行封裝測試,芯片供應(yīng)商通常稱其為“最終測試”,因為這是芯片供應(yīng)商進(jìn)行的最后測試。
該測試有多個目的——查找組裝過程中的缺陷、檢查器件是否存在參數(shù)問題(例如功耗過大或存在偏差)。此外,該測試會對帶有芯片供應(yīng)商數(shù)據(jù)的器件進(jìn)行初始化。然后將這些器件出售給OEM,OEM負(fù)責(zé)電路板組裝,并將這些器件安裝到系統(tǒng)中。接下來,在電路板測試中,IC完成最終測試、配置和編程。
通過對IC生命周期各個階段的基本了解,我們現(xiàn)在可以深入了解各個階段中存在的威脅。在討論這些階段時,我們將使用Silicon Labs的制造生命周期作為IC開發(fā)模型。其他芯片供應(yīng)商也基本相似,因此本篇綜述對于大多數(shù)供應(yīng)商都應(yīng)適用。
制造
針對此階段的攻擊幾乎不可能發(fā)生,因為針對該階段進(jìn)行攻擊需要高昂的花費(fèi),并且需要生成至少一個新的掩模組、對器件的深入分析以及高度的專業(yè)知識。此外,針對該階段的任何攻擊都不能輕易攻擊到特定的最終產(chǎn)品,因為晶圓代工廠生產(chǎn)多個晶圓,每個晶圓上都有數(shù)千個器件,攻擊者無從知曉哪些器件最終會用于哪一個最終產(chǎn)品。此外,在此開發(fā)階段對設(shè)計進(jìn)行任何修改都會影響該器件的每個副本,從而更容易檢測到這些修改。但是,此階段的漏洞確實會帶來安全風(fēng)險,對此將在以下小節(jié)進(jìn)行說明。
數(shù)據(jù)提取
對晶圓代工廠而言,可能的攻擊途徑之一是訪問機(jī)密信息,而這將使最終產(chǎn)品面臨風(fēng)險。例如,如果IC在ROM(或被硬編碼到寄存器等其他硬件中)中具有對稱密鑰或?qū)S妹荑€,晶圓代工廠則可以輕松提取密鑰信息。同樣重要的是,可以從設(shè)計中輕松提取的任何數(shù)據(jù)也可以通過逆向工程技術(shù)從器件副本中獲得,這一點(diǎn)要牢記。例如,一些實驗室對ROM數(shù)據(jù)進(jìn)行反處理和提取,所花費(fèi)用還不到1萬美元,這可能比從晶圓代工廠獲取設(shè)計圖的費(fèi)用更低廉。為避免此問題,精心設(shè)計的產(chǎn)品絕不應(yīng)包含機(jī)密信息。
邏輯更改
更現(xiàn)實的威脅可能是晶圓代工廠去修改器件、植入漏洞并加以利用。這種修改可能包括修改ROM內(nèi)容或邏輯以改變器件運(yùn)行或引入其它功能。盡管此類修改不容易進(jìn)行,且花費(fèi)高昂,但攻擊者完全有能力進(jìn)行這些基本操作,而這些會使晶圓代工廠處于風(fēng)險之中。
針對這種攻擊的好對策是進(jìn)行抽樣測試,以隨機(jī)驗證成品器件的功能。例如,Silicon Labs每年都隨機(jī)抽取一些樣本進(jìn)行測試以驗證ROM內(nèi)容、驗證邏輯以及測試其他功能。如果晶圓代工廠進(jìn)行了更改,測試將失敗。雖然可能會引入此測試無法捕捉到的邏輯更改,但此類更改的效果會大打折扣,甚至?xí)z毫不起作用。在可信站點(diǎn)(例如公司總部)進(jìn)行樣本測試,可以極大地降低晶圓代工廠對硬件進(jìn)行更改并成功破壞這種檢測測試的風(fēng)險。
在篡改檢測方面,將來會得到改進(jìn),例如基于機(jī)器學(xué)習(xí)的圖像分析,這會進(jìn)一步防止對晶粒進(jìn)行未經(jīng)授權(quán)的修改,但當(dāng)下還不能使用這些方法。
器件復(fù)制
在這種類型的攻擊中,晶圓代工廠可以過量生產(chǎn)器件,并將其合法出售。例如,攻擊者避開旨在攔截此類做法的測試,利用修改過的ROM過量生產(chǎn)部件,并將其合法出售給OEM。這種方法可以讓攻擊者直接面向OEM,因為這些器件不再流經(jīng)供應(yīng)商的供應(yīng)鏈。
防止過量生產(chǎn)的最佳方法是在封裝測試時提供加密憑證。這樣OEM就可以檢查這些憑證,以確保接收到了供應(yīng)商的正品器件。盡管晶圓代工廠可以生產(chǎn)出物理上完全相同的器件,但無法生成有效的器件憑證,而且OEM會檢測到假冒產(chǎn)品。
解決這一問題需要有標(biāo)準(zhǔn)的解鎖器件安全地保存密鑰。Silicon Labs的Vault-High EFR產(chǎn)品就具有這種功能。OEM使用安全級別較低的器件(例如Vault-Mid器件而非Vault-High器件),盡管保護(hù)級別較低,但也可以達(dá)到相似的效果,方法是使用像Silicon Labs的定制化元件制造服務(wù)(CPMS)這樣的定制編程服務(wù)。在這種情況下,對器件內(nèi)容的訪問在發(fā)貨之前就被鎖定,因此密鑰可以秘密存儲在非易失性存儲器(NVM)中。
器件分析
器件分析是晶圓代工廠加工中最現(xiàn)實的威脅。在不安全的解鎖狀態(tài)下制造器件,為訪問邏輯和系統(tǒng)提供了可乘之機(jī),而這種訪問在成品器件中則無法進(jìn)行。雖然訪問空白的開放部件不會直接造成安全威脅,但攻擊者可以利用這個機(jī)會分析器件并在配置和鎖定的部件上尋找可利用的漏洞。
這種威脅不僅存在于制造過程中,更有可能出現(xiàn)在組裝階段,下面將對此進(jìn)行更詳細(xì)的討論。
探針測試
利用探針測試階段的漏洞,其費(fèi)用要低于在晶圓代工廠進(jìn)行修改的費(fèi)用,這是因為在探針測試階段,僅需破壞測試程序或測試儀即可。然而,與針對制造階段的攻擊一樣,針對探針測試的攻擊具有系統(tǒng)性,不能簡單地指向某個具體的最終產(chǎn)品或OEM。
惡意代碼注入
攻擊者可能會在探針測試期間嘗試將惡意代碼注入器件。但是,在此階段注入的所有內(nèi)容要么在封裝測試時被擦除,要么在供應(yīng)商無法對正確的內(nèi)容編程時造成封裝測試失敗。此外,一旦在封裝測試中啟用安全啟動,就會阻止安裝一切未經(jīng)授權(quán)的代碼。對于實施良好的產(chǎn)品和制造生命周期而言,這不會造成實際的威脅。
器件分析
理論上,在探針測試中控制測試儀的攻擊者可以執(zhí)行器件分析,該分析類似于對晶圓代工廠過量生產(chǎn)所造成的后果的分析。但是,攻擊者更有可能在組裝階段嘗試獲得此訪問權(quán)限。
封裝組裝
在封裝組裝階段,供應(yīng)商將器件置入最終產(chǎn)品之中,因此封裝組裝階段是攻擊者最有可能竊取空白、開放的器件以伺機(jī)進(jìn)行復(fù)制和分析。
圖2 - 芯片制造商必須確保降低與開放樣品相關(guān)的風(fēng)險。圖片來源:Silicon Labs
竊取行為
竊取空白器件的目的是獲取開放樣本,并以對攻擊者有利的方式對其進(jìn)行配置,然后將這些器件披著合法的外衣交付給目標(biāo)OEM。這種策略面向具體的OEM或產(chǎn)品,并避開了供應(yīng)商的最終測試,否則修改會被覆蓋掉或檢測到。
制造階段不涉及輸入量,而組裝現(xiàn)場與此不同,組裝現(xiàn)場接收并生產(chǎn)已知數(shù)量的IC,因此通過比較這些數(shù)字應(yīng)該很容易檢測到比較明顯的竊取行為。
與制造階段一樣,可以通過在封裝測試中對加密憑證進(jìn)行編程,以防止被竊取的開放器件被誤認(rèn)為是正品。例如,出于此目的將所有EFR Vault-High產(chǎn)品都配備了加密憑證,并且提供了CPMS以便在沒有Vault-High功能集的器件上配置憑證。
器件分析
攻擊者在安全引擎(SE)被編程和鎖定之前竊取器件,并利用該訪問權(quán)限獲取郵箱工作機(jī)制和SE硬件功能,這可能是此階段器件分析最明顯的示例。從理論上講,這種訪問可以讓攻擊者找出一個弱點(diǎn),并將其轉(zhuǎn)化為針對鎖定SE的漏洞加以利用。
器件分析只需從組裝現(xiàn)場獲取少量器件。盡管限制訪問開放樣本是理想的防御措施,但也應(yīng)該考慮到攻擊者在某個時候獲得對開放樣本的訪問權(quán)限時的應(yīng)對策略。IC的設(shè)計不應(yīng)造成難以應(yīng)付的風(fēng)險或者是破壞系統(tǒng)的安全性。
Silicon Labs采取了一些措施來降低與開放樣品相關(guān)的風(fēng)險,包括審核組裝承包商的流程和程序、跟蹤用于內(nèi)部開發(fā)的開放器件、以及在無需開放樣品時將其予以銷毀。此外,產(chǎn)品的設(shè)計旨在保證安全,即使是針對使用開放樣本及能夠完全訪問設(shè)計的攻擊者。最后,內(nèi)部和第三方滲透測試均由掌握開放樣本、全面設(shè)計知識和高度專業(yè)知識的個人執(zhí)行。
硬件改造
如今,通過更改或附加元器件修改封裝所帶來的風(fēng)險非常小。這種攻擊途徑并不具備較高風(fēng)險,原因如下。首先,組裝距離終端系統(tǒng)足夠遠(yuǎn),因此很難鎖定特定的終端設(shè)備(如門鎖)。此外,由于空間限制,很難在IC上隱藏其它元器件。最后,抽樣測試可以通過對一些單元進(jìn)行X射線檢測以識別出人們預(yù)料之外的元器件,從而檢測出大規(guī)模攻擊。
封裝測試
有許多方法可以讓封裝測試階段的漏洞難以被利用,比如限制對測試站點(diǎn)的訪問權(quán)限和維護(hù)日志記錄控制等。首先,應(yīng)遵守網(wǎng)絡(luò)和PC的正常安全操作。例如,測試系統(tǒng)不應(yīng)直接連接到互聯(lián)網(wǎng),也不應(yīng)使用可通信的登錄信息。供應(yīng)商應(yīng)定期檢查這些流程和系統(tǒng),以確保其未被更改、利用。這些簡單的操作會讓攻擊者難以訪問測試系統(tǒng)。
圖3 - 在封裝測試站點(diǎn),擁有不受其他供應(yīng)商影響的可信機(jī)器至關(guān)重要。圖片來源:Silicon Labs
Silicon Labs采用多種技術(shù)以提高測試站點(diǎn)的安全性。例如,Silicon Labs啟用了不與其他供應(yīng)商共享的安全強(qiáng)化測試儀。此外,Silicon Labs為測試站點(diǎn)提供受信任的機(jī)器,該機(jī)器不受測試站點(diǎn)的影響,且可監(jiān)控測試儀并為其提供支持。該機(jī)器位于服務(wù)器機(jī)房中,沒有本地接口,并且包含能夠抵御物理攻擊的硬件。
惡意代碼注入
該階段最明顯的攻擊方法是注入惡意代碼來控制器件的運(yùn)行。芯片供應(yīng)商在該階段提供的代碼,例如SE固件,不會被電路板測試覆蓋;但是,如果代碼被更改,交付的器件可能已受損。
這種風(fēng)險可以通過在ROM中使用帶有公共密匙的安全啟動來避免,從而確保只有正確簽名的代碼才能運(yùn)行。如果攻擊者試圖修改程序代碼,代碼將無法正確簽名,并且器件會停止運(yùn)行。因為用于簽名的密鑰存儲在硬件安全模塊(HSM)中受到嚴(yán)格管控,并且在生產(chǎn)環(huán)境中不可用,因此攻擊者生成正確的簽名并篡改代碼映像幾乎是不可能發(fā)生的。
出于測試需要,固件編程后需啟用安全啟動。盡管這一流程很復(fù)雜,但攻擊者卻可能會在該流程中破壞封裝測試,從而對惡意代碼映像進(jìn)行編程并禁用安全啟動。
為了徹底消除這種風(fēng)險,IC應(yīng)能使OEM在不受編程代碼影響的情況下驗證器件狀態(tài)。例如,Silicon Labs器件配有硬件寄存器,用于指示SE子系統(tǒng)是否被鎖定,且支持OEM應(yīng)用程序或測試程序驗證器件配置是否正確。通過適當(dāng)驗證,OEM可以檢測到任何封裝測試更改或惡意代碼,并丟棄這些被更改的器件。
提取機(jī)密信息
如果在封裝測試期間對機(jī)密信息進(jìn)行了編程,攻擊者可能會破壞測試系統(tǒng)以尋找訪問權(quán)限。對于標(biāo)準(zhǔn)的嵌入式產(chǎn)品來說,唯一的機(jī)密信息是與憑證相關(guān)聯(lián)的密鑰。對于在電路板上生成密鑰的器件而言,密鑰將無法提??;但是,如果測試系統(tǒng)注入了密鑰,那么攻擊者就能獲得所需的訪問權(quán)限,以在編程時查看密鑰信息。
帶有機(jī)密信息和OEM專用信息的定制器件特別容易受到此類攻擊的威脅。但是,如果芯片供應(yīng)商遵循本系列文章中的建議,就可確保達(dá)到或超過大多數(shù)電路板測試設(shè)施的安全級別。始終建議OEM與芯片供應(yīng)商合作,以確定器件編程的最佳解決方案。
供應(yīng)鏈安全要有分層方法
安全性是系統(tǒng)層面的問題,供應(yīng)商和OEM在開發(fā)互聯(lián)產(chǎn)品時要相互信賴、共同努力。隨著在物聯(lián)網(wǎng)(IoT)構(gòu)建方面取得的進(jìn)展,對于OEM來說,芯片供應(yīng)商如何成功地解決制造生命周期中的安全問題至關(guān)重要。在決定與哪家供應(yīng)商合作時,OEM應(yīng)考慮供應(yīng)商所提供的信息是否透徹全面,還需考慮IC的成本和性能。
現(xiàn)在您可以與供應(yīng)商相互探討制造安全問題,確保您的最終產(chǎn)品安全可靠。
(來源:Silicon Labs (亦稱“芯科科技”)作者:高級系統(tǒng)工程師Joshua Norem )
免責(zé)聲明:本文為轉(zhuǎn)載文章,轉(zhuǎn)載此文目的在于傳遞更多信息,版權(quán)歸原作者所有。本文所用視頻、圖片、文字如涉及作品版權(quán)問題,請聯(lián)系小編進(jìn)行處理。
推薦閱讀:
英飛凌中小功率AC/DC數(shù)字電源控制器IDP230X介紹