2、威胁模型与攻击面分析:常见的攻击向量
大家好,我是你们的讲师。今天我们来聊聊威胁模型和攻击面分析。说实话,这是整个汽车网络安全里最核心的环节之一。你连敌人在哪、用什么武器都不知道,那防御就无从谈起。
我经常跟团队说一句话:“不知道谁会攻击你,你就没法保护自己。” 这句话在汽车电子领域尤其适用。一辆车可能有上百个ECU,几十个传感器,还有各种无线接口。攻击面太大了。
2.1 常见的攻击向量
攻击向量,说白了就是黑客“下手”的路径。我习惯把它们分成三类:物理、无线、云端。咱们一个一个来看。
2.1.1 物理攻击向量
物理攻击是最“古老”的方式,但也是最直接的。我记得有一次做渗透测试,我们直接拿着螺丝刀拆开了OBD接口的盖板……嗯,不到30秒就接入了CAN总线。
- OBD-II接口:这是最经典的物理入口。直接插上工具就能读写CAN报文。我建议所有OBD接口都要做访问控制。
- 调试接口(JTAG/SWD):很多ECU板上会留调试口。我曾经见过一个项目,量产车上居然还留着JTAG焊盘……这等于把家门钥匙挂在门外。
- 传感器/执行器线路:比如刹车压力传感器、轮速传感器。攻击者可以直接剪断线路或者注入虚假信号。
- USB接口:车载娱乐系统的USB口,插个恶意U盘就能植入代码。这不是科幻片,是真实发生过的。
⚠️ 注意: 物理攻击虽然“土”,但效果极好。攻击者只要有几分钟物理接触,基本就能拿下整车网络的控制权。所以,物理安全是底线。
2.1.2 无线攻击向量
无线攻击是现在最热门的。为什么呢?因为攻击者不需要靠近车,远程就能搞事情。你想想看,这多可怕。
- 蓝牙/BLE:常用于无钥匙进入、车载电话。我记得有个案例,攻击者用中继器把钥匙信号放大,直接开了别人的车门。这叫“中继攻击”。
- Wi-Fi:车载Wi-Fi热点如果没做好隔离,攻击者连上后就能访问车内网络。我建议Wi-Fi一定要和CAN网络做物理隔离。
- 蜂窝网络(4G/5G):T-Box通过蜂窝网连接云端。如果T-Box有漏洞,攻击者可以从互联网直接进入车内。
- GPS/北斗:虽然不能直接控制车,但可以伪造GPS信号,让导航系统“迷路”。
- NFC/RFID:用于数字钥匙。攻击者可以克隆或者重放信号。
💡 个人经验: 我参与过一个项目,客户说“蓝牙不可能被攻击”。结果我们用一个20块钱的蓝牙嗅探器,就抓到了配对密钥。从那以后,我再也不敢小看任何无线接口了。
2.1.3 云端攻击向量
云端攻击是“高级玩家”的玩法。攻击者不需要碰车,直接攻击车企的后台服务器,然后远程控制所有车辆。
- API接口:车联网平台暴露的API。如果认证没做好,攻击者可以调用接口解锁车门、启动引擎。
- OTA升级服务器:如果OTA服务器被攻破,攻击者可以推送恶意固件给所有车辆。这后果……我不敢想。
- 移动端App:车主用的App。如果App有漏洞,攻击者可以窃取账号密码,然后远程控制车辆。
- 第三方服务:比如地图、语音助手。这些服务如果被攻破,也可能成为跳板。
| 攻击向量 | 典型入口 | 攻击难度 | 影响范围 |
|---|---|---|---|
| 物理 | OBD、JTAG、USB | 低 | 单辆车 |
| 无线 | 蓝牙、Wi-Fi、蜂窝 | 中 | 局部区域 |
| 云端 | API、OTA、App | 高 | 全部车辆 |
2.2 攻击者画像与动机
搞清楚了攻击路径,我们还得知道“谁”会来攻击。我见过各种各样的攻击者,他们的动机完全不同。
2.2.1 攻击者类型
- 脚本小子:用现成工具,没什么技术含量。动机就是“好玩”或者“炫技”。
- 黑客组织:有组织有技术。动机可能是勒索、窃取数据、或者破坏。
- 竞争对手:想窃取你的技术方案。我遇到过一家车企,竞争对手派人假装应聘,就为了偷ECU的源码。
- 内部人员:离职员工、不满的员工。他们知道系统弱点,破坏力极大。
- 国家背景:这个级别太高了,但确实存在。动机是情报收集或者破坏基础设施。
2.2.2 攻击动机
说白了,攻击者为什么要费这么大劲?
- 经济利益:勒索赎金、卖数据、卖破解方案。
- 政治目的:破坏某个国家的汽车产业。
- 技术挑战:就是“我想看看能不能攻破”。
- 报复:对车企或者某个员工不满。
🔑 关键点: 防御策略要根据攻击者画像来定。如果主要威胁是脚本小子,那做好基础防护就够了。但如果对手是国家背景……嗯,那得用军用级方案。
2.3 攻击面分析方法
最后,咱们聊聊怎么分析攻击面。我个人的习惯是三步走:识别、分类、评估。
2.3.1 识别攻击面
先把车上所有“能跟外界交互”的点列出来。我建议用一张系统架构图,然后标出所有接口。
- 所有物理接口(OBD、USB、以太网口)
- 所有无线接口(蓝牙、Wi-Fi、蜂窝、NFC)
- 所有云端接口(API、OTA、App)
- 所有传感器/执行器(摄像头、雷达、刹车)
2.3.2 分类攻击面
然后按风险等级分类。我常用的方法是:
| 等级 | 描述 | 例子 |
|---|---|---|
| 高 | 能直接控制车辆运动 | CAN总线、刹车系统 |
| 中 | 能访问敏感数据或影响功能 | 娱乐系统、GPS |
| 低 | 只能获取非敏感信息 | 车外温度传感器 |
2.3.3 评估攻击面
最后一步,评估每个攻击面的“可利用性”和“影响”。我习惯用STRIDE模型或者攻击树分析法。
举个例子:OBD接口
- 可利用性:高(物理接触即可)
- 影响:高(能控制整车网络)
- 结论:必须做防护,比如加锁、加密通信。
💡 避坑指南: 我曾经犯过一个错误——只分析了“已知”的攻击面,忽略了“未知”的。比如,一个看似无害的空调控制模块,居然能通过CAN总线影响动力系统。所以,分析攻击面时,一定要考虑所有可能的路径,哪怕看起来不相关。
好了,这一章的内容就到这里。总结一下:攻击向量分物理、无线、云端三类;攻击者画像决定了你的防御策略;攻击面分析要系统化、全面化。下一章我们会讲具体的防护措施,到时候见。