3、威胁模型分析:设备身份面临的常见攻击及攻击面
设备身份(Device Identity)是物联网、车联网、金融终端及工业控制系统安全信任链的根节点。一旦设备身份被克隆、伪造或篡改,攻击者即可冒充合法设备接入网络、伪造数据上报、下发恶意指令,甚至横向移动至核心业务系统。因此,在设计安全存储与防篡改方案之前,必须系统性地梳理设备身份面临的威胁模型,明确攻击者的能力假设、攻击路径与可利用的攻击面。本章将围绕克隆、伪造、篡改、侧信道、物理提取五类典型攻击展开分析,并结合硬件攻击面与软件攻击面给出可落地的威胁建模方法。
上图展示了设备身份威胁模型的核心框架:设备身份作为信任锚点,面临五类典型攻击,每类攻击又可映射到硬件、软件、通信、供应链四个攻击面。实际威胁建模时,需要将攻击者能力(如物理接触时间、设备数量、资金预算)与攻击面结合,形成可量化的风险矩阵。
3.1 克隆攻击:身份复制与批量仿冒
核心原理
克隆攻击是指攻击者通过某种途径获取合法设备的身份凭证(如私钥、证书、唯一序列号、安全元件中的密钥),并将其复制到另一台设备或模拟环境中,使仿冒设备在网络上呈现与合法设备完全相同的身份。克隆攻击的本质是身份凭证的机密性被破坏。常见的克隆途径包括:
- 固件提取:从设备Flash或外部存储中读取包含私钥或证书的文件。
- 调试接口泄露:通过UART、JTAG、SWD等调试接口直接读取安全存储区。
- 备份恢复:从设备备份文件(如Android的TWRP备份)中提取密钥库。
- 侧信道辅助克隆:利用功耗或电磁泄露恢复密钥后,再写入克隆设备。
判断方法与操作流程
判断设备是否存在克隆风险,可从以下维度进行威胁建模:
- 身份凭证存储位置:是否存储在安全元件(SE)、TEE或专用密钥存储区?还是存储在普通Flash或文件系统中?
- 密钥是否可导出:安全硬件是否支持密钥导出接口?是否允许读取私钥明文?
- 设备唯一性绑定:身份凭证是否与设备硬件唯一标识(如芯片ID、eFuse值)绑定?
- 批量克隆成本:攻击者克隆一台设备的成本是否远低于其预期收益?
案例拆解:智能门锁身份克隆事件
某智能门锁厂商采用ESP32主控+外部SPI Flash存储设备证书和私钥。攻击者通过拆解门锁,使用SPI Flash编程器直接读取Flash内容,提取到设备私钥和云端通信证书。随后,攻击者将提取的固件镜像写入另一块空白Flash,替换到另一台普通门锁中,成功仿冒原设备接入云端管理平台,可远程开锁。该案例中,攻击者仅需约30分钟和几十元硬件成本即可完成克隆。
复盘经验:设备身份凭证必须存储在具备防提取能力的安全硬件中,且应启用安全启动校验,防止固件被整体替换。此外,云端应增加设备行为基线检测,发现同一身份在短时间内出现地理位置跳变或异常操作时及时告警。
3.2 伪造攻击:从零构造虚假身份
核心原理
伪造攻击与克隆攻击的区别在于:克隆是复制已有合法身份,而伪造是攻击者自行构造一个在系统中不存在或未注册的身份,并试图通过认证。伪造攻击通常发生在设备注册流程不严谨、证书签发机制存在漏洞或设备认证协议缺乏双向校验的场景。典型伪造方式包括:
- 证书伪造:攻击者自行生成自签名证书,或利用CA私钥泄露签发合法证书。
- 注册流程绕过:在设备注册阶段,攻击者伪造设备序列号、MAC地址或IMEI等信息完成注册。
- 协议重放:捕获合法设备的注册请求,修改设备标识后重放。
判断方法与操作流程
评估伪造攻击风险时,应重点审查:
- 设备注册是否具备可信根:注册时是否验证设备的物理不可克隆函数(PUF)或安全元件中的预置证书?
- 证书链是否完整:设备证书是否由受信任的CA签发?CA私钥是否存储在HSM中?
- 设备标识是否可预测:序列号、MAC地址等是否采用随机数或加密生成?
- 认证协议是否双向:服务器是否验证设备身份的同时,设备也验证服务器身份?
案例拆解:伪造车载T-Box身份接入车联网平台
某车联网平台允许T-Box(车载远程通信终端)通过4G网络上报数据,认证方式为设备序列号+预共享密钥(PSK)。攻击者通过分析T-Box固件,发现PSK由序列号经过简单哈希生成,且序列号段可预测。攻击者编写脚本批量生成合法格式的序列号和对应PSK,伪造大量虚拟T-Box接入平台,向车辆发送虚假的远程控制指令。该攻击导致平台信任体系崩溃,最终需召回所有T-Box更换认证机制。
复盘经验:设备身份认证必须采用非对称密码体系,私钥存储在安全硬件中,公钥证书由CA签发。同时,设备注册应增加物理存在证明(如安全元件生成的签名挑战),防止批量虚拟身份注册。
3.3 篡改攻击:身份数据与权限的非法修改
核心原理
篡改攻击是指攻击者对设备身份相关的数据、配置或权限进行未授权的修改,使设备身份的真实性、完整性或授权范围发生变化。与克隆和伪造不同,篡改攻击不一定需要复制或构造新身份,而是在原有身份基础上进行越权修改。常见篡改目标包括:
- 权限提升:将普通用户设备身份修改为管理员或服务商身份。
- 属性篡改:修改设备所属组织、安全等级、信任级别等属性。
- 密钥替换:将设备公钥替换为攻击者自己的公钥,实现身份接管。
- 配置篡改:修改安全策略配置,如关闭安全启动、禁用签名校验。
判断方法与操作流程
篡改攻击的威胁建模需关注以下环节:
- 身份数据的完整性保护:是否使用消息认证码(MAC)或数字签名保护身份数据?
- 权限模型的粒度:设备身份是否具备最小权限原则?是否支持权限分离?
- 更新机制的安全性:固件或配置更新时是否验证签名?是否允许降级?
- 运行时防护:设备运行过程中是否有内存保护、控制流完整性等机制防止动态篡改?
案例拆解:工控PLC身份权限篡改导致生产线停摆
某工厂的PLC(可编程逻辑控制器)使用基于角色的访问控制(RBAC),设备身份中存储了角色字段(如操作员、工程师、管理员)。攻击者通过工业以太网接入PLC的调试端口,利用未加密的Modbus协议读取并修改PLC内部寄存器,将自身角色从“操作员”篡改为“管理员”,随后修改了生产线的关键工艺参数,导致产品批量报废。该攻击利用了身份数据存储于普通寄存器且无完整性校验的漏洞。
复盘经验:设备身份中的权限字段必须存储在受保护的安全存储区,并使用密钥进行签名。任何权限变更操作都应记录审计日志,并支持远程撤销。对于工业设备,建议采用独立的安全监控模块实时校验身份数据的完整性。
3.4 侧信道攻击:利用物理泄露提取身份密钥
核心原理
侧信道攻击不直接攻击设备的软件或硬件接口,而是通过监测设备在运行过程中泄露的物理信息(如功耗、电磁辐射、运行时间、温度、声音等)来推断密钥或敏感数据。对于设备身份而言,最危险的侧信道攻击是功耗分析(SPA/DPA)和电磁辐射分析(EMA),它们可以在不拆开芯片封装的情况下提取安全元件中的私钥。侧信道攻击的前提是攻击者能够物理接触设备,并能够控制设备的输入(如让设备执行签名操作)。
判断方法与操作流程
评估侧信道攻击风险时,需考虑:
- 密码算法实现:是否采用常数时间实现?是否使用掩码、随机化等抗侧信道技术?
- 硬件防护能力:安全芯片是否具备功耗平坦化、电磁屏蔽、噪声注入等防护?
- 攻击者接触时间:设备是否长期暴露在攻击者可接触的环境中?
- 密钥使用频率:设备是否频繁执行签名/解密操作,为攻击者提供足够的采样样本?
案例拆解:智能电表私钥的DPA攻击提取
某智能电表使用商用安全芯片存储用于远程费控的私钥,芯片宣称具备抗DPA能力。研究人员通过示波器以100MS/s采样率采集电表在执行ECDSA签名时的功耗曲线,采集约10,000条曲线后,利用差分功耗分析(DPA)成功恢复了私钥。攻击过程中,研究人员仅需将电流探头夹在电表电源线上,无需拆开安全芯片封装。恢复私钥后,攻击者可伪造电表的远程充值指令,实现“免费用电”。
复盘经验:仅依赖安全芯片的“宣称”防护是不够的,必须进行独立的侧信道评估测试。对于高价值设备,建议采用密钥分割(将私钥拆分为多份,分别存储在不同区域)或引入PUF(物理不可克隆函数)作为密钥生成根,使侧信道攻击难以获得完整密钥。
3.5 物理提取攻击:直接侵入芯片内部
核心原理
物理提取攻击是最高级别的硬件攻击,攻击者通过破坏性/半破坏性手段直接读取安全芯片内部的密钥或身份数据。常见技术包括:
- 聚焦离子束(FIB)编辑:使用FIB切割芯片钝化层,探针直接接触内部总线或存储单元。
- 去封装+微探针:通过化学腐蚀去除芯片封装,使用微探针台读取SRAM或Flash内容。
- 激光故障注入:使用激光照射芯片特定区域,诱导错误输出,结合差分故障分析(DFA)恢复密钥。
- 电子显微镜成像:对芯片逐层拍照,逆向工程存储单元状态。
判断方法与操作流程
物理提取攻击的威胁建模需评估:
- 芯片安全等级:是否通过CC EAL5+/6+或同等安全认证?是否具备主动屏蔽层、光传感器、电压/温度传感器?
- 密钥存储方式:密钥是否以明文存储在Flash/EEPROM中?还是由PUF动态生成?
- 攻击成本与收益:一次物理提取攻击的成本(设备+时间+专业人才)是否超过攻击者预期收益?
- 批量攻击可行性:攻击方法是否可复制?能否在有限时间内提取多台设备的密钥?
案例拆解:金融支付终端安全芯片的FIB攻击
某金融支付终端使用一款宣称“防物理提取”的安全芯片存储PIN加密密钥。安全研究团队使用FIB设备对芯片进行逆向工程,首先通过X射线定位密钥存储区域,然后使用FIB切割钝化层,露出内部数据总线。通过微探针监听总线数据,在终端执行PIN加密操作时捕获到明文密钥。整个攻击耗时约2周,设备成本约50万美元。虽然攻击成本高昂,但对于攻击者而言,获取该密钥后可伪造支付终端,实施银行卡盗刷,潜在收益远超攻击成本。
复盘经验:物理提取攻击无法完全杜绝,但可以通过增加攻击成本来降低风险。建议采用以下措施:使用具备主动屏蔽层和传感器的高安全芯片;将密钥分割存储于多个独立区域;采用PUF技术使密钥仅在运行时生成,断电后消失;建立密钥轮换机制,即使单次提取成功,影响范围也有限。
3.6 攻击面分析与威胁建模实践
核心原理
攻击面是指设备身份数据从生成、存储、使用到销毁全生命周期中,所有可能被攻击者利用的入口和路径。完整的攻击面分析应覆盖硬件、软件、通信、供应链四个维度,并结合STRIDE或攻击树等方法进行系统性梳理。
| 攻击面 | 典型入口 | 涉及攻击类型 | 防护重点 |
|---|---|---|---|
| 硬件攻击面 | JTAG/SWD调试口、UART串口、SPI/I2C总线、芯片引脚、电源/时钟引脚 | 物理提取、侧信道、篡改 | 禁用调试接口、总线加密、电压/温度传感器、主动屏蔽层 |
| 软件攻击面 | 固件更新接口、操作系统漏洞、驱动漏洞、API接口、配置管理 | 篡改、伪造、克隆 | 安全启动、代码签名、运行时完整性校验、最小权限 |
| 通信攻击面 | Wi-Fi/蓝牙/蜂窝网络、CAN总线、Modbus、MQTT/CoAP协议 | 伪造、重放、中间人 | 双向TLS认证、证书固定、协议层加密、防重放机制 |
| 供应链攻击面 | 芯片制造、固件烧录、设备组装、物流运输、部署配置 | 克隆、伪造、篡改 | 可信供应链审计、安全烧录、运输监测、设备注册校验 |
判断方法与操作流程
威胁建模的实践流程建议如下:
- 定义设备信任边界:明确哪些组件是可信的(如安全元件),哪些是不可信的(如外部通信接口)。
- 枚举资产:列出所有需要保护的设备身份相关资产(私钥、证书、序列号、权限配置等)。
- 绘制数据流图:标识身份数据在设备内部及与外部交互的流动路径。
- 应用STRIDE模型:对每个数据流节点分析欺骗(S)、篡改(T)、否认(R)、信息泄露(I)、拒绝服务(D)、权限提升(E)风险。
- 评估攻击者能力:根据攻击者的物理接触时间、设备数量、资金预算,确定威胁等级。
- 输出风险矩阵:将威胁等级与攻击面结合,形成优先级排序,指导安全设计决策。
案例拆解:工业网关设备威胁建模完整流程
某工业网关设备需接入云端管理平台,设备身份为内置证书+私钥。安全团队按以下流程进行威胁建模:
步骤1:定义信任边界——将安全芯片(ATECC608B)标记为可信根,主控CPU(i.MX6ULL)标记为部分可信,外部通信接口(以太网、RS485)标记为不可信。
步骤2:枚举资产——私钥(存储于ATECC608B)、设备证书(存储于外部Flash)、固件签名密钥、云端API密钥。
步骤3:绘制数据流图——设备启动时,主控CPU通过I2C总线从ATECC608B读取签名结果;设备通过以太网与云端建立TLS连接;固件更新时通过USB口接收新固件。
步骤4:STRIDE分析——发现I2C总线上的签名操作可能被侧信道攻击(信息泄露);USB固件更新接口可能被用于注入恶意固件(篡改);云端API密钥存储于外部Flash可能被提取(信息泄露)。
步骤5:评估攻击者能力——工业网关部署在无人值守的机房,攻击者具备物理接触条件,但设备数量有限(约500台),单台攻击预算约2000美元。
步骤6:输出风险矩阵——优先级排序为:①I2C总线侧信道攻击(高);②USB固件更新篡改(高);③API密钥提取(中)。据此,团队决定在ATECC608B与主控之间增加功耗平坦化电路,禁用USB口(改为仅在生产模式启用),并将API密钥迁移至安全芯片内部存储。
复盘经验:威胁建模不是一次性的静态活动,而应贯穿设备全生命周期。每次固件更新、硬件改版或部署环境变化时,都应重新评估威胁模型。同时,威胁建模的输出应直接驱动安全设计决策,而非仅作为文档存档。
3.7 常见误区与总结复盘
核心原理
在设备身份威胁建模实践中,安全团队常陷入以下误区,导致防护措施失效或资源浪费:
- 误区一:认为安全芯片“绝对安全”——任何安全芯片都存在被物理提取或侧信道攻击的可能,只是攻击成本高低不同。安全芯片应被视为“提高攻击门槛”的工具,而非“一劳永逸”的解决方案。
- 误区二:忽视供应链攻击面——许多团队只关注设备运行时的攻击,却忽略了设备在制造、运输、部署阶段可能被植入后门或替换身份数据。
- 误区三:威胁建模与安全设计脱节——威胁建模完成后未转化为具体的安全需求,导致设计阶段未落实防护措施。
- 误区四:只关注技术攻击,忽视社会工程学——攻击者可能通过钓鱼、贿赂内部人员等方式获取设备身份数据,而非直接进行技术攻击。
判断方法与操作流程
为避免上述误区,建议采取以下措施:
- 建立分层防御体系:即使安全芯片被攻破,仍有应用层加密、云端行为检测等后续防线。
- 将供应链纳入威胁模型:在设备出厂前进行安全校验,使用一次性防篡改标签,部署后验证设备身份与出厂记录的一致性。
- 建立威胁建模到安全需求的映射:使用工具(如Microsoft Threat Modeling Tool)自动生成安全需求清单,并跟踪落实情况。
- 结合人员安全意识培训:对设备维护人员、仓库管理人员进行安全意识培训,防止社会工程学攻击。
案例拆解:某医疗设备厂商的威胁建模改进
某医疗设备厂商最初仅关注设备运行时的通信安全,为每台设备配置了TLS证书和私钥,但私钥存储于普通eMMC中。在一次安全审计中,发现攻击者可通过拆解设备、读取eMMC芯片提取私钥,进而伪造设备身份接入医院网络。厂商随后进行了全面的威胁建模改进:
改进前:私钥存储于eMMC,无硬件保护;设备注册仅验证证书有效性;固件更新无签名校验。
改进后:引入安全芯片存储私钥,且密钥不可导出;设备注册增加安全芯片签名挑战;固件更新启用代码签名;增加供应链安全流程,确保设备在出厂前私钥已安全注入且不可被外部读取。
结果对比:改进后,攻击者提取私钥的成本从原来的“拆机+读eMMC”(约1小时,成本50美元)提升至“FIB攻击安全芯片”(约2周,成本50万美元),攻击门槛显著提高。同时,由于增加了固件签名校验,即使攻击者提取了固件镜像,也无法注入恶意代码。
复盘经验:威胁建模应遵循“木桶原理”——攻击者会选择最薄弱的环节进行突破。因此,安全团队应定期进行红队演练,模拟攻击者从硬件、软件、供应链等不同路径发起攻击,找出防护体系的短板并优先修复。
综上所述,设备身份的威胁模型分析是安全存储与防篡改设计的基础。通过系统性地识别克隆、伪造、篡改、侧信道、物理提取五类攻击,并结合硬件、软件、通信、供应链四个攻击面进行综合评估,安全团队能够制定出有针对性的防护策略。威胁建模不是一次性的工作,而应随着设备生命周期、攻击技术演进和业务场景变化持续更新。下一阶段,我们将基于本章的威胁模型,深入探讨设备身份安全存储的具体实现方案。