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时,没考虑回滚保护,差点把车刷成砖 |
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):开发时留下的调试口,如果量产时没禁用,就是给黑客留了后门。
1.4 攻击面分析的实战方法
光知道攻击面还不够,你得会分析。我个人习惯用“STRIDE”模型来做威胁建模。STRIDE是微软提出的,但用在车上也很合适。
| 威胁类型 | 含义 | 车载案例 |
|---|---|---|
| Spoofing(欺骗) | 冒充合法实体 | 伪造GPS信号,让车辆误判位置 |
| Tampering(篡改) | 修改数据或代码 | 篡改ECU固件,提升发动机功率 |
| Repudiation(抵赖) | 否认做过某操作 | 黑客攻击后,日志被删除,无法溯源 |
| Information Disclosure(信息泄露) | 敏感数据被窃取 | 通过蓝牙窃取车辆位置和行驶轨迹 |
| Denial of Service(拒绝服务) | 系统不可用 | 向CAN总线发送大量报文,导致总线拥堵 |
| Elevation of Privilege(权限提升) | 获得更高权限 | 从娱乐系统漏洞获取ADAS域的控制权 |
做TARA时,我建议你画一张“数据流图”。把车上的每个ECU、每条总线、每个外部接口都画出来。然后对着STRIDE模型,一个一个问:“这个节点可能被欺骗吗?数据可能被篡改吗?” 嗯,这个过程很枯燥,但非常有效。
1.5 小结:从“要不要做”到“怎么做”
回到开头的问题:为什么汽车需要网络安全?因为现在的车,已经不是那个封闭的机械系统了。法规(UN R155)和标准(ISO 21434)已经给出了明确的框架。攻击面分析告诉我们,黑客的入口无处不在。
我个人觉得,车载网络安全最难的,不是技术,而是“意识”。很多工程师还停留在“功能优先”的思维里,觉得安全是锦上添花。但经历过几次安全事件后,我越来越坚信:安全,是功能的一部分。
下一章,我们会深入聊聊TARA(威胁分析与风险评估)的具体做法。那是整个安全设计的起点,也是我最喜欢的一个环节。咱们到时候细聊。