1、车载网络安全概述:汽车网络安全背景、法规标准(ISO 21434、UN R155)、攻击面分析

1.1 为什么汽车突然需要网络安全?

说实话,十年前我刚入行做嵌入式开发时,压根没想过汽车会被“黑”。那时候的车,就是个封闭的机械系统。你想想看,一辆车的电子控制单元(ECU)之间用CAN总线通信,连个加密都没有,大家也觉得很正常。

但时代变了。现在的车,说白了就是“四个轮子上的超级计算机”。智能座舱、自动驾驶、OTA远程升级……这些功能让汽车彻底暴露在了互联网上。我记得2015年那场著名的Jeep Cherokee被远程攻击事件,黑客通过娱乐系统进入了车辆控制网络,直接让一辆行驶中的SUV失去了动力。嗯,从那以后,整个行业都醒了。

我个人习惯把汽车网络安全比作“给高速移动的服务器装防火墙”。你想想,一个数据中心被黑,最多丢数据;一辆车被黑,那可是要命的事。所以,车载网络安全不是IT安全的简单移植,它有自己独特的挑战。

核心观点: 汽车网络安全的核心目标是保护“人”的安全,而不仅仅是“数据”的安全。

1.2 法规标准:ISO 21434 与 UN R155

聊法规之前,我先讲个故事。我曾经参与过一个项目,客户要求我们做网络安全设计,但问他们要遵循什么标准,对方说“你们看着办”。结果呢?产品做完了,第三方审核时发现一堆漏洞,返工成本高得吓人。所以,标准不是束缚,是帮你省钱的。

1.2.1 UN R155:强制性的“准生证”

UN R155是联合国欧洲经济委员会(UNECE)发布的法规。它不是什么建议,而是强制性的。从2022年7月起,所有在欧盟、日本、韩国等成员国销售的新车型,必须通过R155的认证。

R155的核心要求是什么?我总结为三点:

  • 必须有网络安全管理体系(CSMS):车企得证明自己有持续管理网络安全的能力,不是做完就扔。
  • 必须进行车辆类型认证:每款新车型上市前,要证明其网络安全设计是充分的。
  • 必须能应对远程攻击:特别是OTA相关的安全风险,必须提前考虑。

说白了,R155就是给汽车发“准生证”。没有它,你的车连上市资格都没有。

1.2.2 ISO 21434:落地的“操作手册”

如果说R155是“考纲”,那ISO 21434就是“教材”。ISO 21434是国际标准化组织发布的《道路车辆——网络安全工程》标准。它不强制,但你要想通过R155认证,基本都得照着它做。

我个人觉得ISO 21434最实用的地方,是它把网络安全融入了整个车辆开发流程(V模型)。从概念阶段、产品开发、生产制造,到运维报废,每个阶段都有明确的安全活动要求。

阶段 ISO 21434 关键活动 我踩过的坑
概念阶段 资产识别、威胁分析(TARA) 曾经把资产识别做成了“抄清单”,结果漏掉了关键传感器
产品开发 安全架构设计、安全编码 安全架构评审时才发现,加密密钥竟然硬编码在代码里
生产制造 安全启动、密钥注入 生产线上的密钥注入工具没做访问控制,差点被操作工误改
运维阶段 事件响应、OTA安全更新 第一次做OTA时,没考虑回滚保护,差点把车刷成砖
我的建议: 做ISO 21434时,别想着“一步到位”。先从TARA(威胁分析与风险评估)入手,把最关键的资产保护起来。其他的,可以迭代完善。

1.3 攻击面分析:黑客到底从哪里下手?

你可能会问:“一辆车那么多零件,黑客到底从哪里攻进来?” 我告诉你,攻击面比你想象的多得多。我参与过几个安全测试项目,每次都能发现新的“惊喜”。

1.3.1 外部通信接口:最直接的入口

  • T-Box / 4G/5G模块:这是车与外界通信的“大门”。我记得有一次测试,发现T-Box的远程诊断端口竟然没有身份认证,任何人都能连上去发指令。
  • Wi-Fi / 蓝牙:短距离无线通信,容易被中间人攻击。特别是蓝牙配对过程,很多实现都有漏洞。
  • GPS / GNSS:虽然不能直接控制车辆,但可以伪造定位信号,干扰导航或自动驾驶。

1.3.2 内部网络:攻破一点,控制全局

  • CAN总线:这是车内网络的“老大哥”。但CAN总线没有加密,没有认证。攻破一个ECU,就能在总线上发送任意报文。我曾经见过一个案例,黑客通过OBD-II接口接入CAN总线,直接控制了车窗和门锁。
  • 车载以太网:新一代车载网络,带宽高,但攻击面也大。如果没做网络隔离,一个娱乐系统的漏洞就能渗透到ADAS域。

1.3.3 物理接口:别小看“物理接触”

  • OBD-II接口:这是诊断用的标准接口,但也是黑客的“最爱”。只要插上设备,就能读取或篡改车辆数据。
  • USB接口:充电口也能成为攻击入口。恶意U盘插入后,可能自动执行恶意代码。
  • 调试接口(JTAG/SWD):开发时留下的调试口,如果量产时没禁用,就是给黑客留了后门。
避坑指南: 我曾经见过一个项目,工程师为了调试方便,在量产车上保留了UART调试日志输出。结果黑客通过这个接口读取了密钥。记住:量产车上的所有调试接口,必须物理禁用或逻辑锁定。

1.4 攻击面分析的实战方法

光知道攻击面还不够,你得会分析。我个人习惯用“STRIDE”模型来做威胁建模。STRIDE是微软提出的,但用在车上也很合适。

威胁类型 含义 车载案例
Spoofing(欺骗) 冒充合法实体 伪造GPS信号,让车辆误判位置
Tampering(篡改) 修改数据或代码 篡改ECU固件,提升发动机功率
Repudiation(抵赖) 否认做过某操作 黑客攻击后,日志被删除,无法溯源
Information Disclosure(信息泄露) 敏感数据被窃取 通过蓝牙窃取车辆位置和行驶轨迹
Denial of Service(拒绝服务) 系统不可用 向CAN总线发送大量报文,导致总线拥堵
Elevation of Privilege(权限提升) 获得更高权限 从娱乐系统漏洞获取ADAS域的控制权

做TARA时,我建议你画一张“数据流图”。把车上的每个ECU、每条总线、每个外部接口都画出来。然后对着STRIDE模型,一个一个问:“这个节点可能被欺骗吗?数据可能被篡改吗?” 嗯,这个过程很枯燥,但非常有效。

一个小技巧: 做攻击面分析时,别只盯着“技术漏洞”。也要考虑“物理安全”。比如,车辆在维修时,维修工可能通过诊断设备获取敏感数据。这些场景,ISO 21434里叫“操作环境”,一定要覆盖到。

1.5 小结:从“要不要做”到“怎么做”

回到开头的问题:为什么汽车需要网络安全?因为现在的车,已经不是那个封闭的机械系统了。法规(UN R155)和标准(ISO 21434)已经给出了明确的框架。攻击面分析告诉我们,黑客的入口无处不在。

我个人觉得,车载网络安全最难的,不是技术,而是“意识”。很多工程师还停留在“功能优先”的思维里,觉得安全是锦上添花。但经历过几次安全事件后,我越来越坚信:安全,是功能的一部分。

下一章,我们会深入聊聊TARA(威胁分析与风险评估)的具体做法。那是整个安全设计的起点,也是我最喜欢的一个环节。咱们到时候细聊。