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核心隔离不当导致的数据泄露。应对这些威胁需要一个全面的验证流程,验证整个硬件系统。
引用
加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW
或用微信扫描左侧二维码
