说实话,当我第一次深入接触ISO 21434这个标准时,心里是打鼓的。毕竟,以前车企造车子,关注的是马力、油耗、悬挂软硬,现在突然要 worrying 一群搞机械工程的专家去担心“黑客会不会通过WiFi把我的车开走”,这跨度确实有点大。但当我真正沉下心来,把TARA(威胁分析与风险评估)做了几轮,看着那些原本以为“绝对安全”的ECU功能模块被一点点拆解、攻击路径被模拟出来时,我才意识到:这根本不是吓唬人,而是一场关乎生死的保卫战。
今天我不跟你扯那些枯燥的标准条文,我们就聊聊实战。怎么把TARA真正落地?怎么在供应商满天飞的大潮里守住底线?最后,怎么让那辆停在车库里的车,不再成为黑客遥控器下的玩偶?
一、 起步:别把TARA当成“填表游戏”
很多团队做TARA,第一步就错了。他们把ISO 21434当成一个需要填写的Excel模板,目的是应付审计,拿个证书交差。结果呢?报告写得漂漂亮亮,实车一测,漏洞百出。
TARA的核心不是文档,而是思维。
想象一下,你设计了一辆全新的SUV,有一个功能叫“远程无钥匙进入”。用户坐在办公室里,手机APP一点,车门就开了。这个功能很爽,对吧?但在TARA的视角里,这是一个巨大的攻击面。
1.1 识别“可保护资产”(Protectable Assets)
别急着找漏洞,先问自己:什么东西值得被保护?
是车辆行驶数据?是用户隐私?还是——人身安全。没错,ISO 21434把“安全”放在了最高优先级。如果你的车被黑客远程控制导致刹车失灵,那后果是人员伤亡。这时候,资产的价值就是“生命”。
实战案例:某新能源车企的“OTA升级”陷阱
有一家新势力车企,为了快速迭代,支持通过4G网络远程OTA升级电池管理系统(BMS)的固件。TARA团队在识别资产时,发现:
- 资产:BMS固件完整性、电池热管理数据。
- 价值:高。因为电池热失控会导致车辆自燃,直接威胁乘客生命。
如果黑客截获了OTA包,注入了恶意代码,让BMS误判电池温度,关闭液冷系统,会发生什么?车子在半路“煮熟”了。
所以,在TARA的第一步,我们必须明确:哪个功能模块直接关联到车辆的动态驾驶或乘员安全? 这才是重中之重。
1.2 构建“系统架构”与“数据流”
你得画清楚,数据从哪来,到哪去。
比如“远程控车”这个场景:
- 数据源:用户手机APP
- 传输路径:云端服务器 -> 车载T-Box(联网模块) -> CAN总线 -> 车身控制模块(BCM) -> 门锁执行器
- 数据终点:门锁状态
在这个链条里,任何一个环节被攻破,黑客都能拿到控制权。
这里有个很多人忽略的点: 内部网络拓扑。很多工程师只关注外部接口(如OBD接口、无线通信),却忘了车内网络。现在一辆车有上百个ECU,它们之间通过CAN、Ethernet通信。如果黑客已经通过蓝牙配对了钥匙进入车内,他就可以通过OBD接口或无线诊断服务,横向移动,攻陷核心驱动系统。
二、 TARA落地:四步走,步步惊心
TARA的标准流程是:资产识别 -> 威胁场景分析 -> 风险评估 -> 风险处置。我们一个个拆解。
2.1 威胁场景分析:站在黑客的视角
这是最考验想象力的一步。你得把自己当成一个黑客,思考:“我怎么才能让这辆车出事?”
常见的攻击场景有哪些?
- 远程无线攻击:通过蜂窝网络、Wi-Fi、蓝牙。这是最常见的“远程劫持”路径。
- 近场通信攻击:通过NFC、密钥无进入系统(KESS)。黑客可以伪装成合法钥匙。
- 车载网络攻击:物理接入OBD接口,或通过已感染的手机/设备通过USB连接。
- 供应链攻击:这是最隐蔽的。黑客不直接攻车,而是攻你的供应商,污染了某个芯片或软件库。
实战例子:TS07攻击(Toyota Safety Sense)
2015年,安全研究员Valentin Miller和Nick Petroni演示了如何通过攻击丰田的娱乐系统,进而控制刹车和转向。他们的路径是:
- 利用娱乐系统的蓝牙漏洞配对。
- 通过蓝牙获取Shell访问权限。
- 利用该权限访问车载以太网,进而注入CAN报文。
这个案例告诉我们:没有孤岛。 娱乐系统和动力系统虽然逻辑上隔离,但物理上可能共享总线或通过网关通信。TARA必须覆盖全链路。
2.2 风险评估:量化“坏到什么程度”
评估通常涉及两个维度:可能性(Likelihood) 和 影响(Impact)。
- 可能性:黑客发现这个漏洞并实施攻击的概率。这取决于漏洞的公开程度、攻击门槛(是需要专业设备还是普通手机)、以及车辆的保有量(目标越大,越可能被盯上)。
- 影响:一旦成功,后果有多严重?是娱乐系统死机(低影响),还是车辆失控(高影响)?
ISO 21434提供了一个参考表,但我建议你们结合自家车型的实际使用情况来打分。
举个真实的评分例子:
| 威胁场景 | 可能性 (1-5) | 影响 (1-5) | 风险等级 |
|---|---|---|---|
| 通过蓝牙钥匙伪造信号 | 3 (中等,需近距离) | 5 (车辆被盗) | 高 |
| OTA升级包被篡改 | 2 (低,需攻破云端) | 5 (电池起火) | 高 |
| CAN总线 sniffing | 4 (高,需物理接入) | 3 (信息泄露) | 中 |
注:1为极低,5为极高。
关键点: 如果风险等级是“高”或“极高”,你必须采取行动,不能接受残留风险。
2.3 风险处置:四个选择
面对高风险,你怎么办?ISO 21434给了四个选项:
- 规避(Avoid):彻底取消这个功能。比如,如果远程启动引擎的风险太高,且无必要,那就砍掉。但这在商业上往往行不通。
- 降低(Mitigate):这是最常用的。增加安全措施,比如加密通信、身份认证、入侵检测系统(IDS)。
- 转移(Transfer):买保险,或者让供应商承担责任。但这不能解决安全问题,只能解决经济问题。
- 接受(Accept):风险很低,或者安全措施成本过高。但必须书面记录,并经高层签字。
实战:如何降低“远程劫持”风险?
针对我们开篇提到的“远程控车”,我们采取了以下多重防御(Mitigate):
- 双向认证:车与云端通信时,不仅车要验证云端,云端也要验证车(基于车载证书)。防止中间人攻击。
- 命令签名:每一个控制指令(如“解锁”)都带有数字签名。车辆验证签名有效后才执行。黑客即使截获了报文,没有私钥也无法伪造新指令。
- 操作耗时与范围限制:远程启动引擎后,最多允许运行15分钟,且车速被限制在20km/h以内(如果支持自动驾驶转移)。给驾驶员留出反应时间。
- 入侵检测系统(IDS):在网关处部署IDS,监测异常的CAN报文频率或ID。如果检测到疑似攻击流量,立即切断与该ECU的通信,并报警。
三、 供应商协同:最难啃的骨头
现在的汽车,70%以上的软件来自供应商。博世、大陆、Momenta、宁德时代……你的车是无数个供应商零件的拼装。ISO 21434专门有一章讲“供应商协同”,因为这恰恰是大多数车企的软肋。
3.1 甩锅是甩不掉的
很多主机厂(OEM)的心态是:“这个模块是供应商提供的,安全他们负责,我只负责集成。” 大错特错。
ISO 21434明确规定:OEM对整车的网络安全负最终责任。 如果供应商的模块出了漏洞,导致整车被劫持,监管机构和法院不会听你解释“这是供应商的问题”。
3.2 建立“网络安全包”(Cybersecurity Package)
你必须向供应商索要一份详尽的网络安全包。这不是几页纸的承诺函,而是一套可执行、可验证的文件。
必备的交付物包括:
- TARA报告:供应商对自己模块进行的威胁分析。你要看的是:他识别了哪些资产?评估了哪些威胁?风险处置措施是什么?
- 安全需求规格说明书(SSRS):供应商承诺实现的具体安全功能。比如,“支持TLS 1.3加密”、“固件签名验证”等。
- 软件物料清单(SBOM):这个模块里用了哪些开源组件?哪些第三方库?版本是多少?
- 为什么SBOM这么重要? 因为如果某个开源库爆出了CVE(通用漏洞披露),你得知道你的供应商有没有用到这个版本,以便及时更新。
- 测试报告:渗透测试报告、模糊测试(Fuzzing)报告。证明供应商真的测过,而不是嘴上说说。
- 漏洞管理流程:供应商承诺,如果发现新漏洞,多久内通知你?多久内提供补丁?
3.3 合同里的“牙齿”
在采购合同里,必须加入网络安全条款。这不是客套话,是要有法律效力的。
建议条款:
- 供应商需配合OEM进行第三方渗透测试。
- 供应商需提供终身(或约定年限,如10年)的漏洞修复支持。
- 若因供应商组件漏洞导致整车安全事故,供应商需承担相应责任及赔偿。
- OEM有权审核供应商的网络安全开发流程是否符合ISO 21434。
实战案例:某国产车企的“黑名单”事件
有一家 Tier 1 供应商交付的娱乐系统,虽然功能炫酷,但TARA报告显示其采用的开源WebKit组件存在已知的高危远程代码执行漏洞,且供应商承诺的补丁遥遥无期。
OEM的安全团队没有妥协,依据合同条款拒绝验收,并将该供应商列入“高风险合作名单”,暂停新项目合作。最终,供应商不得不投入资源修复漏洞,并提供了完整的SBOM和渗透测试报告。
这件事传递了一个信号:在网络安全问题上,OEM必须有话语权,不能当甩手掌柜。
四、 如何规避“功能车被黑客远程劫持”?
回到你最关心的问题:怎么让车不被远程劫持?
这需要构建一个纵深防御(Defense in Depth)体系。没有单一的黑客能穿透所有防线。
4.1 第一道防线:边界防护(Gateway & T-Box)
- 防火墙:T-Box与内部网络之间必须有防火墙。只开放必要的端口和服务。默认拒绝所有其他连接。
- 入侵检测/预防系统(IDPS):监控进出网关的流量。如果检测到异常(如大量的错误ID报文、未授权的诊断服务请求),立即阻断并记录。
- VPN/加密隧道:所有外部通信必须经过加密隧道。防止报文被窃听或篡改。
4.2 第二道防线:内部网络隔离
- 多域网络:不要把所有ECU都连在同一个CAN总线上。将动力总成、底盘、车身、娱乐系统划分到不同的域。
- 安全网关:域之间通过安全网关通信。网关负责协议转换、访问控制和内容检查。
- 关键消息优先级:刹车、转向等关键消息,赋予最高优先级,并确保其报文ID不易被伪造(如果采用CAN FD或Ethernet,可使用安全通信SecOC)。
4.3 第三道防线:ECU内部安全
- 安全启动(Secure Boot):确保ECU只运行经过签名的固件。防止黑客刷入恶意软件。
- 运行时保护:ECU内部监控关键变量的异常变化。例如,如果刹车压力传感器读数瞬间跳变到最大值,但没有对应的驾驶员操作,系统应判定为异常,触发故障安全模式。
- 安全芯片(HSM):每个关键ECU都应配备硬件安全模块(HSM),用于存储密钥、执行加密运算和签名验证。密钥永不离开HSM,防止被提取。
4.4 第四道防线:云端与APP安全
- API安全:手机APP与云端的API接口要严格限制。实施速率限制、参数校验、多因素认证。
- 设备绑定:APP账户必须与特定的车辆VIN码绑定。即使黑客盗取了你的APP账号,如果没有这辆车,他也无法控制。
- 行为分析:云端记录每个用户的正常操作模式。如果某个账户突然在异国他乡尝试解锁车辆,系统应触发二次验证或直接拒绝。
五、 给小朋友也能听懂的比喻
如果让我给小学生解释这套复杂的流程,我会这么说:
想象你的自行车有一把超级智能的锁,只有你的手机能开。
- TARA 就是你先想想,谁会偷你的自行车?是小偷?还是外星人?他们可能怎么偷?是用万能钥匙?还是假装成修车师傅?
- 供应商协同 就像是你的锁是找别人代工的。你得确认他用的锁芯是真的结实,不是那种一撬就开的便宜货。你得看他有没有合格证,有没有偷偷用劣质零件。
- 远程劫持防范 就是你的手机和锁之间,要说只有你们俩懂的“暗号”。小偷就算偷听了,也听不懂。而且,你的锁会自己检查,如果有人一直乱按密码,锁就会自动报警并锁死,让小偷打不开。
所以,安全不是靠运气,而是靠一层又一层的“暗号”和“检查”,让坏人知难而退。
六、 结语:安全是一个过程,不是一份报告
最后,我想说,ISO 21434不是一道关卡,过了就万事大吉。网络安全是持续的斗争。
技术在进步,黑客的工具也在进步。今天安全的系统,明天可能就会暴露出新漏洞。所以,建立一种“安全文化”比任何技术措施都重要。
- 全员参与:从CEO到一线工程师,都要有安全意识。
- 持续监控:利用SOCK(安全运营中心)实时监控全网车辆的异常行为。
- 快速响应:建立漏洞响应团队(CSIRT),一旦发现问题,能在24小时内评估,72小时内提供补丁或缓解措施。
车企们,别再抱着侥幸心理了。当黑客坐在家里,敲敲键盘就能让你的汽车“动”起来的时候,我们所做的一切TARA工作、供应商审核、纵深防御,就是保护每一位司机、每一位乘客最坚实的盾牌。
这条路很难,但必须走。因为我们要交付的,不只是一辆交通工具,更是一份对生命的承诺。