第一章:车载防火墙概述
1.1 车载网络发展史——从一根线到一张网
说起车载网络的发展,我入行那会儿,车上最复杂的网络就是一根CAN总线。那时候的ECU也就十几个,大家共用一条线,谁有话就说,简单粗暴。
但你看现在的车,尤其是智能电动车,光域控制器就三四个,再加上激光雷达、摄像头、座舱芯片……整个网络架构已经变成了一个“小互联网”。
我简单梳理一下这个演变过程:
- 1990年代:CAN总线一统天下。每个节点都能发消息,没有身份验证,没有加密。说白了,谁都能说话,谁都能听。
- 2000年代:LIN、FlexRay、MOST陆续出现。网络开始分层,但安全?基本为零。
- 2010年代:以太网进入车载。带宽上去了,但攻击面也大了。我记得第一次看到车载以太网报文时,心里就咯噔一下——这不就是办公室局域网那套东西吗?
- 2020年代至今:域集中+中央计算。网络变成星型拓扑,网关成了核心枢纽。这时候,防火墙不再是“可选项”,而是“必需品”。
为什么会这样?你想想看,当一辆车能远程升级、能跟云端通信、能跟手机互联时,它就不再是一个封闭系统了。封闭系统不需要防火墙,但开放系统需要。
1.2 为什么需要车载防火墙?
我在项目中遇到过不少工程师问:“CAN总线那么封闭,黑客怎么进来?”
嗯,这个问题问得好。但现实是,现在的车已经不再封闭了。
核心观点:车载防火墙不是用来防“物理接触”的攻击者,而是用来防“网络可达”的攻击者。
具体来说,有三大驱动力:
- 攻击面急剧扩大:T-Box、蓝牙、Wi-Fi、4G/5G、USB、OBD接口……每一个接口都是一个潜在的入口。我见过一个案例,攻击者通过车载Wi-Fi的漏洞,直接进入了CAN网络,然后控制了刹车系统。
- 功能安全与信息安全交织:以前我们只关心功能安全(比如刹车不能失效),但现在信息安全问题会直接导致功能安全问题。一个被篡改的CAN报文,可能让气囊在正常行驶时弹出。
- 法规强制要求:UN R155和ISO 21434已经明确要求,车辆必须具备网络安全防护能力。防火墙是最基础、最有效的防护手段之一。
注意:不要以为只有高端车才需要防火墙。我见过一些低端车型,因为成本原因砍掉了安全模块,结果在渗透测试中直接被攻破。省下的几百块钱,可能换来的是整个品牌的口碑崩塌。
1.3 车载防火墙 vs 传统IT防火墙
很多刚转行做车载安全的同事,会习惯性地把IT防火墙那套东西搬过来。我一开始也犯过这个错。
但车载防火墙和IT防火墙,本质上就是两个物种。我列个表,你一看就明白:
| 对比维度 | 传统IT防火墙 | 车载防火墙 |
|---|---|---|
| 运行环境 | 恒温机房,电力充足 | -40℃~125℃,振动,供电不稳定 |
| 实时性要求 | 毫秒级延迟可接受 | 微秒级,甚至纳秒级(比如CAN报文) |
| 资源限制 | CPU、内存、存储几乎无限 | MCU主频几百MHz,RAM几MB |
| 协议栈 | TCP/IP为主 | CAN、CAN FD、FlexRay、车载以太网 |
| 更新方式 | 随时在线升级 | 需通过OTA或诊断,且不能中断行车 |
| 安全目标 | 防数据泄露、防入侵 | 防功能篡改、防安全功能失效 |
说白了,IT防火墙可以“慢慢想,再决定”,但车载防火墙必须“边跑边判断”。
举个例子:一个CAN报文从发出到被消费,通常只有几百微秒的窗口期。防火墙如果在这个窗口期内做不了决策,那这个报文要么被放行(有风险),要么被丢弃(功能可能失效)。
我的经验:在车载防火墙的规则设计上,我建议优先考虑“白名单”机制。也就是只允许已知的、合法的报文通过。黑名单在车载场景下很难维护,因为攻击者总能找到你没封住的那个ID。
1.4 车载防火墙的核心能力
基于上面的分析,我认为一个合格的车载防火墙,至少需要具备以下能力:
- 报文过滤:基于CAN ID、信号值、报文周期等维度进行过滤。这是最基础的能力。
- 深度包检测:对于以太网报文,需要能解析应用层协议(比如SOME/IP、DoIP)。
- 状态感知:能根据车辆当前状态(行驶、充电、休眠)动态调整规则。
- 日志与告警:记录异常报文,并能在必要时触发安全响应。
我曾经参与过一个项目,客户要求防火墙能识别“伪装成正常报文的攻击报文”。说实话,这很难。因为攻击者完全可以复制一个合法的CAN ID,只是把数据域里的某个信号值改了。这时候,单纯靠ID过滤已经不够了,需要结合信号级别的语义分析。
嗯,这部分内容我们会在后面的章节详细展开。今天先到这里,下一章我们聊聊防火墙的部署位置和硬件选型。