2. ECU基础与安全威胁

电子控制单元(Electronic Control Unit,ECU)是汽车电子电气架构中承担感知、决策与执行控制的最小功能计算节点。它通常由微控制器(MCU)、电源管理、存储、通信收发器、输入输出驱动以及嵌入式软件组成,通过CAN、CAN FD、LIN、FlexRay、以太网等车载网络与其他节点交互。理解ECU的身份与生命周期安全,必须先看清它在整车中的位置、类型、通信角色以及可能被攻击的入口。

一、ECU的定义与基本构成

从工程视角看,ECU不是单一芯片,而是一个“软硬件协同的封闭控制单元”。其核心组成包括:

  • 计算核心:MCU/SoC,运行控制算法与通信协议栈,部分高性能域控制器还集成AI加速单元。
  • 存储资源:Flash存放固件与标定数据,RAM用于运行时数据,EEPROM/Flash模拟区保存故障码、学习值与身份凭证。
  • 通信接口:CAN/CAN FD收发器、LIN收发器、以太网PHY、FlexRay控制器等。
  • 输入输出:ADC采样、PWM驱动、高低边开关、传感器与执行器接口。
  • 安全相关组件:安全启动ROM、硬件安全模块(HSM/SE)、密钥存储区、调试接口(JTAG/SWD)与诊断接口(UDS/OBD)。

ECU的身份通常由唯一标识(如VIN、ECU序列号、证书指纹)和密钥材料共同定义。生命周期安全则覆盖生产、下线、售后、OTA升级、报废等阶段,确保身份不被冒用、固件不被篡改、密钥不被泄露。

二、ECU分类与车载网络角色

按功能域,ECU可分为动力总成、底盘安全、车身舒适、信息娱乐、智能驾驶与网关等类型。不同域对实时性、安全等级和算力要求差异显著。例如,发动机控制ECU要求毫秒级闭环控制,而座舱域控制器更关注多媒体与互联体验。

按网络角色,ECU可分为:

  • 端节点:直接连接传感器或执行器,如车门模块、雨量传感器。
  • 网关:连接不同网段,进行协议转换与路由,是攻击者横向移动的关键跳板。
  • 域控制器:集中多个ECU功能,减少线束但扩大单点失效影响。
  • 诊断节点:暴露OBD/UDS接口,支持故障读取、刷写与标定。

下表汇总了典型ECU类型及其安全关注点:

ECU类型 典型网络 主要功能 安全关注点
动力总成ECU CAN FD 喷油、点火、扭矩控制 实时性、刷写鉴权、密钥保护
底盘安全ECU CAN/FlexRay ABS、ESP、转向 功能安全、消息完整性
车身ECU LIN/CAN 车窗、灯光、门锁 重放攻击、非法唤醒
网关 CAN/以太网 跨网段路由、诊断转发 访问控制、防火墙、DoS
座舱/智驾域控 以太网 娱乐、导航、辅助驾驶 远程攻击面、OTA安全、隐私

三、常见攻击面与威胁模型

ECU的攻击面可分为物理、网络、诊断、软件与供应链五类。物理攻击包括直接访问调试口、拆解Flash读取密钥、故障注入(电压/时钟毛刺)。网络攻击利用CAN总线广播特性进行报文伪造、重放与洪泛。诊断攻击通过UDS服务越权刷写或读取敏感数据。软件攻击利用固件漏洞、缓冲区溢出或恶意OTA包。供应链攻击则发生在芯片、固件库或生产工具被植入后门。

威胁模型常用STRIDE或攻击树描述。以“伪造ECU身份接入CAN总线”为例,攻击者可能先通过OBD口获取诊断权限,再重放合法ECU的报文,最终向网关发送伪造控制指令。防御需结合安全启动、消息认证码(MAC)、SecOC、密钥生命周期管理与入侵检测。

常见误区:认为“CAN总线是封闭的,所以不需要加密”。实际上,OBD接口、蓝牙钥匙、远程信息处理单元(T-Box)都可能成为入口。另一个误区是只保护固件而忽略密钥存储,导致攻击者提取密钥后长期冒用身份。

四、案例与复盘:从OBD到网关的横向移动

某研究团队通过OBD-II接口发送UDS诊断请求,利用未鉴权的例程控制服务解锁网关的调试模式,随后向CAN总线注入伪造的转向报文。复盘发现三个关键问题:诊断服务缺少身份认证、网关未做报文频率限制、ECU之间未启用SecOC。改进措施包括:诊断服务强制27服务安全访问、网关部署白名单与速率限制、关键控制报文启用MAC校验。

以下是一个简化的诊断请求日志示例,用于说明攻击者如何探测ECU:

发送: 02 10 03 00 00 00 00 00   // 请求进入扩展会话
响应: 06 50 03 00 32 01 F4 00   // 肯定响应,P2=50ms
发送: 02 27 01 00 00 00 00 00   // 请求安全访问种子
响应: 06 67 01 12 34 56 78 00   // 返回种子
发送: 06 27 02 9A BC DE F0 00   // 发送密钥
响应: 02 67 02 00 00 00 00 00   // 安全访问通过

该日志表明,若ECU未对诊断服务做鉴权或密钥空间过小,攻击者可暴力破解并获取刷写权限。因此,身份与生命周期安全必须覆盖诊断接口、密钥更新与权限回收。

工程建议:为每个ECU建立唯一身份档案,记录证书、密钥版本、固件哈希与生命周期状态;在网关和域控制器上实施最小权限原则;对关键报文启用SecOC或端到端MAC;定期进行渗透测试与密钥轮换。

ECU攻击面与威胁模型 ECU MCU + 存储 + 通信 身份凭证 / 密钥 物理攻击面 调试口 / 拆解 / 毛刺 网络攻击面 CAN伪造 / 重放 / 洪泛 诊断攻击面 UDS越权 / 刷写 软件攻击面 固件漏洞 / 恶意OTA 供应链攻击面 芯片 / 库 / 工具后门 远程攻击面 T-Box / 蓝牙 / 蜂窝 身份冒用 / 固件篡改 密钥泄露 / 车辆失控 安全启动 · SecOC · 密钥管理 · IDS

综上,ECU安全不是单点加固,而是围绕身份、通信、诊断、软件与供应链构建纵深防御。只有把每个ECU当作有身份、有权限、有生命周期的实体来管理,才能有效降低整车被攻击的风险。