確保OEM生命週期階段的安全性

作者 : Josh Norem,芯科科技資深系統工程師

IC生命週期的最後兩個階段是電路板(PCB)組裝和PCB測試,而這兩個階段是由原始設備製造商(OEM)來掌控的...

正如本系列文章第一篇《確保IC製造關鍵階段的安全性》所述,IC生命週期的最後兩個階段是電路板(PCB)組裝和PCB測試,而這兩個階段是由原始設備製造商(OEM)來掌控的。

圖1:OEM負責確保IC生命週期的最後兩個階段:電路板組裝和電路板測試。(資料來源:Silicon Labs)

雖然產品生命週期中的OEM階段比IC生產的OEM階段要少一些,但每個階段的安全風險與晶片供應商面臨的風險卻很相似,且同樣影響深遠。幸運的是,OEM可以在其晶片供應商的安全基礎上進行建構,並重複使用多種相同的技術。

PCB組裝

PCB組裝與IC生產中的封裝步驟非常相似。但是,PCB組裝不是將晶粒放入封裝內,而是將晶片安裝到PCB上,然後通常再將PCB安裝在某種外殼中。PCB組裝現場的實體安全和網路安全是抵禦攻擊的第一道防線。但是,不同承包商所提供的實體安全和網路安全可能會有天壤之別。而且,受限於成本考慮和PCB測試性質,所提供的實體安全環境和網路安全環境往往很糟糕。

圖2:電路板組裝與IC生產階段的封裝組裝非常相似。(圖片來源:Silicon Labs)

此階段最嚴重的風險包括裝置竊取、裝置分析和硬體修改。本文將對如何降低這些風險進行闡述。

裝置竊取

竊取裝置並試圖以合法手段轉售是該步驟首要關注的問題。與IC生產中的封裝測試階段一樣,透過比較PCB組裝現場的入庫和出庫庫存,很容易偵測到數量較大的竊取行為。

此階段OEM面臨的最大風險是攻擊者竊取大量裝置、對裝置進行修改,並將修改後的產品推給終端用戶。如果晶片供應商提供客製化編程,OEM可以透過訂購配置安全啟動(secure boot)的元件來大幅降低這種風險。安全啟動能夠讓IC阻絕攻擊者試圖透過編程修改的所有軟體。

裝置分析

與IC生產期間的封裝組裝階段相比,在此步驟中,攻擊者竊取系統進行分析的可能性大為降低。因為在此步驟中,PCB通常並不包含可進行分析的有用資訊。這是因為如果攻擊者試圖分析硬體結構,他們可以透過購買裝置輕鬆獲取樣品。此外,由於尚未對裝置進行編程,即使攻擊者以這種方式竊取裝置也並不能存取和分析特定的裝置軟體。

硬體修改

由於非法修改很容易被偵測到,所以很難對PCB進行大規模非法修改。OEM可以在可信的環境中進行簡單的抽樣測試,以便直接地檢查PCB,並將其與已知的良好樣品進行比較以偵測是否進行了修改。如果攻擊僅試圖修改一套特定的PCB,此類測試可能會偵測不到,但測試會讓此類攻擊難以展開和實施。

PCB測試

PCB測試階段的風險與IC生產期間的封裝測試風險類似。例如,多個供應商共享測試系統是很常見的,這增加了安全漏洞或惡意軟體入侵的風險。然而,OEM在此階段的供應商往往比IC製造的供應商更加多元化,因此,PCB測試比晶片封裝測試更難以確保安全。

圖3:同樣地,電路板測試與IC生產階段的封裝測試非常相似。(圖片來源:Silicon Labs)

通常PCB測試的物理安全和網路安全較差。不同產品之間共享空間和測試主機的情況極其常見,而且可能不會一直對測試系統進行修補。在最後測試中洩漏機密資料的風險最終取決於產品的實施及其最終測試過程。如果IC足夠安全,那麼最終的測試架構就可以完全保護資料免受測試環境中惡意軟體的危害。可惜該主題過於複雜,無法在本文中深入探討。

惡意程式碼植入

在PCB測試中最簡單的攻擊方法就是修改裝置軟體。由於啟用安全啟動和應用程式編程都在PCB測試的同一步驟中完成,因此人們擔心攻擊者完全控制測試、植入惡意程式碼並禁用安全啟動。可以透過樣本測試或雙插入測試流程來降低這種風險。此外,如果客製化編程可用,那麼要求晶片供應商配置並啟用安全啟動將能有效防禦惡意程式碼植入。以此方式使用編程服務時,PCB測試應能驗證安全啟動得以正確配置和啟用,這一點仍尤為重要。封裝步驟和最後測試步驟可以協同工作、相互驗證,因此,攻擊者要想更改晶片供應商或OEM的程式碼,就要破壞這兩個步驟才可能得逞。

值得注意的是,安全啟動是否強力有效取決於是否對私鑰保密。強烈建議在硬體安全模組(HSM)等安全金鑰庫中產生簽名金鑰,並且永遠不要導出該金鑰。此外,應嚴格限制金鑰簽名,最好是至少有兩個人的身份驗證,以確保單一人員不能對惡意映像檔進行簽名。

身份提取

由於OEM通常會在PCB測試中加入憑證(加密金鑰和認證),因此攻擊者會試圖竊取存取憑證或相關的金鑰資料。

事實證明,身份憑證的安全配置是一個十分複雜且極為微妙的問題。這不僅涉及裝置的功能、承包商的實體安全和網路安全,還涉及到配置方法的設計。而且,還要考慮到製造規模和成本所產生的特有問題。此外,與所有安全性能一樣,無法確保所有的系統漏洞都得以解決。為裝置提供身份認證很容易,但以可接受的成本和較大的規模為裝置提供強大的身份安全認證卻絕非易事。

如果系統設計完善,私鑰將始終綁定安全金鑰庫,因此他人不可能存取金鑰材料並偽造憑證。例如,Silicon Labs採取的措施是將產生裝置認證的私鑰儲存在PC上的可信平台模組(TPM)中,該模組可抵禦實體入侵和邏輯入侵,它位於站點資料中心的存取受限裝置之中。此外,使用這些金鑰還會受到限制,金鑰僅適用於某一批次的產品,且僅在該批次產品完成測試的前幾天可用,一旦該批次產品測試完成就會删除這些金鑰。最後,如果此種金鑰被洩漏,那麼使用該金鑰製造的裝置其憑證可被撤銷,代表這些不再是受信任的裝置。同樣地,所有支援安全金鑰儲存的裝置都在板上產生私鑰,而且這些裝置將始終綁定安全金鑰庫。必須對不支援安全金鑰儲存的裝置加入金鑰。而實際上,這些裝置更容易受到攻擊者的入侵,因為攻擊者會隱藏在測試基礎設施中以竊取私鑰。為了防止低安全性裝置的認證冒充高安全性裝置的認證,製造過程中產生的所有認證都包含有說明其私鑰儲存能力的資料。

OEM所採用的測試系統應能抵禦對實體存取的修改及限制,應檢查實體安全性、進行標準存取控制並及時記錄日誌。最後,應確保網路和PC操作標準安全。例如,測試系統不應直接與網際網路連接,也不應使用公共登錄憑證。應展開定期檢查,以確保在這些過程中發現並檢查到所有的修改。這些標準操作可以防止攻擊者一開始就獲取對測試系統的存取權。除以上操作外,OEM還可以將測試設備委託給不與其他供應商共用的合約製造商(CM),進一步提高物理安全和網路安全。這些系統也可以透過滲透測試來識別和修復漏洞,之後這些系統才可以使用。

最後,要妥善處理儲存在OEM的IT基礎設施中更高等級的金鑰。這些更高級的金鑰應儲存在金鑰庫中,且應制定合適的存取限制。這些金鑰的使用應得到監控,以便識別意外的操作,並可及時提醒相關工作人員。

對於那些不想自行建立憑證配置基礎設施的OEM,可選擇提供安全編程服務的晶片供應商。例如,Silicon Labs在其Vault-High產品目錄中提供憑證,並且可以將憑證編程到客製化元件上,而這些客製化元件是透過客製化零件製造服務(CPMS)訂購的。這些服務使建立憑證配置基礎設施的負擔從PCB測試階段轉移到了晶片供應商的編程階段。

機密資訊提取

當金鑰或專有演算法等機密資訊被編程為PCB測試的一部份時,攻擊者可能會透過破壞測試設備來獲取此資訊。PCB測試階段用以抵禦身份提取的所有建議措施均適用於此。同樣地,使用編程服務可以將這種風險從PCB測試階段轉移到晶片封裝測試階段。

使用一系列恰當的安全功能,即使測試系統受到威脅,也可以配置機密資訊並加以保護。如上所述,此配置要有安全的中央主機以及具有安全引擎的裝置,這種引擎可以不受測試系統影響且可以透過中央主機進行檢驗以驗證裝置的狀態。PCB測試將對IC進行編程、啟用安全啟動並鎖定裝置。然後裝置將證明其狀態。如果測試設備被入侵且不再正常發揮作用,中央主機將在已經得以證實的資訊中偵測到它。如果中央主機認為裝置配置正確,便可以與已知的可靠應用程式交換金鑰,然後透過該安全鏈接發送機密資訊。此過程可防止測試系統查看或更改機密資訊。

最終產品的安全需要OEM不懈努力

在最終產品的安全方面,OEM面臨著許多與晶片供應商相同的挑戰。雖然產品設計完善、實體環境和網路環境安全可靠構成了產品的第一道防線,但OEM可以按照其晶片供應商採取的許多相同步驟和程序進行操作,以防止針對其最終產品的大多數安全攻擊。此外,許多晶片供應商提供的服務能夠讓OEM降低確保其製造環境安全的工作量和複雜性。如今,有效落實這些技術將有助於確保OEM連接的所有裝置的安全,以及確保其所在的生態系統的安全。晶片供應商和OEM應攜手合作,為打造安全可靠的物聯網保駕護航。

(參考原文:A primer on security of key stages in OEM manufacturing lifecycle,by Josh Norem)

加入LINE@,最新消息一手掌握!

發表評論