SoC中哪些硬件層面的漏洞值得關注?
硅安全傳統上側重于密碼學,包括加固加密加速器和保護密鑰存儲。在系統芯片(SoC)設計中,這種方法不夠。SoC將多個組件,如核心、內存和第三方IP塊集成到一個芯片上。這種集成引入了硬件層面的漏洞,這些漏洞并非針對加密算法本身。
相反,這些威脅利用芯片的物理實現和架構結構。對于系統架構師和工程師來說,了解這些漏洞至關重要。那么,這些非密碼風險究竟存在于哪里?這些擔憂可分為三大類:側信道攻擊、故障注入攻擊和架構隔離缺陷。
側通道攻擊
側信道攻擊(SCA)被動利用硬件在運行過程中產生的非預期信息泄漏。這種泄漏可能包括功耗、電磁輻射或時序的變化(CWE-1300)。
雖然許多已知的SCA針對高性能CPU,但資源受限的微控制器(MCU)也存在脆弱性。MCU可能存在利用內存總線仲裁和片上通信結構的時序側信道。
該場景如圖1所示。該攻擊是一個三階段過程,利用SoC組件觀察受害者任務:
圖1。對MCU的三相定時側信道攻擊。(圖片來源:arXiv)
準備階段:CPU上的惡意軟件任務(攻擊者)將外設(如DMA控制器或定時器)配置為觀察工具。
記錄階段:上下文切換后,受信任的受害任務執行。當受阻者訪問內存(3)時,會在共享互連上產生爭用。配置后的外設(2)也會經歷這種總線爭用,導致其作出現細微延遲(例如延遲定時器的開始)。
檢索階段:攻擊者任務重新控制,讀取外設狀態(4)(例如計時器值),并從測量到的延遲推斷受害者的內存訪問模式。
故障注入攻擊
但是,如果攻擊者想做的不僅僅是被動傾聽呢?故障注入攻擊(FIA)故意誘導硬件錯誤,以控計算、繞過安全檢查或提取機密。
雖然常見的FIA漏洞涉及物理方法,如電壓故障或電磁故障注入(CWE-1332),但較新的變體是軟件控制故障注入。
例如,“V0LTpwn”攻擊利用軟件暴露的電源管理接口對物理核心進行降壓。如圖2所示,該攻擊分為三個階段進行:
圖2。軟件控制的故障注入攻擊(如V0LTpwn)的工作流程。(圖片來源:USENIX)
第一階段(離線分析):攻擊者對代表性芯片進行“電壓分析”,以識別一個“可利用的電壓窗口”,該窗口能誘發錯誤而不導致系統崩潰。
第二階段(在線分析):攻擊者對具體目標芯片進行分析,以找出最易出錯的核心。
第三階段(攻擊):攻擊者使用軟件在受害者程序運行時觸發“定時降壓”事件。這會引發硬件故障并損害計算的完整性。
架構與隔離缺陷
即使單個組件安全,連接方式會帶來哪些風險?這類漏洞源于多個IP核心(通常來自第三方供應商)集成在共享總線上。安全風險源自互聯。
圖3。典型的物聯網SoC子系統在共享互聯上集成多個IP核心。(圖片來源:施普林格自然)
圖3是基于ARM的物聯網子系統的框圖,展示了這一挑戰。它展示了Cortex-M3處理器、多層AHB(高級高性能總線)互連,以及包括“非ARM IP”(如DMA和WiFi無線電)在內的多種IP。這種架構可能導致兩個主要缺陷:
總線監聽:連接到共享AHB互連的惡意或被攻破的IP(如WiFi無線電中的硬件木馬)可以被動監控CPU、SRAM及其他外設之間傳輸的未加密數據。
SoC資源隔離不當(CWE-1189):這是一種設計缺陷,指總線架構未能正確將資源在可信和不可信組件之間分離。如果互聯不強制執行訪問控制規則,WiFi IP可能會直接訪問安全內存區域,繞過任何軟件層權限。
總結
全面的SoC安全策略必須超越密碼算法。它還必須考慮芯片物理實現和架構設計中的漏洞。這些問題包括通過側信道的被動信息泄露、通過故障注入進行的主動作,以及由于共享總線上集成IP核心隔離不當導致的數據泄露。應對這些威脅需要一個全面的驗證流程,驗證整個硬件系統。









評論