智能汽车安全-漏洞挖掘到控车攻击
字数 1703 2025-08-29 08:29:41
智能汽车安全:从漏洞挖掘到控车攻击实战指南
前言与背景
智能网联汽车安全现状:
- 我国L3-L4级自动驾驶试点城市已拓展至数十个
- 面临车载系统漏洞、远程攻击、数据泄露等安全风险
- 汽车安全研究已有十多年历史,攻击难度和成本逐年提升
- 汽车作为复杂系统,存在"水桶效应":攻击者只需攻破一个ECU即可横向控制整车
法规要求:
- 中国2024年公布汽车信息安全强标
- 国际法规R155、R156对汽车网络安全提出要求
研究准备工作
硬件准备
-
获取研究目标:
- 购买整车或搭建台架(推荐从闲鱼或汽修厂购买二手零部件)
- 重点关注VCU、仪表盘、BCM等模块
- 购买时确认是否有售后服务及引脚定义等技术支持
-
硬件安全研究方向:
- 调试口测试
- 侧信道攻击
- 故障注入
固件获取方法
硬件提取方法
-
寻找调试口:
- 检查芯片Datasheet确定调试接口
- 对于BGA封装芯片需吹焊后使用编程器读取
- 可使用飞线连接调试工具
-
固件分析:
- 分析文件系统和文件格式
- 使用binwalk等工具进行解包分析
互联网获取方法
- 资源渠道:
- 修车论坛、发烧友论坛
- 网盘资源
- QQ/WX/TG群聊
- 闲鱼等平台直接购买
固件分析与逆向
安卓车机分析实例
- 挂载固件:
#!/bin/sh
sudo mount -t ext4 -o loop system.img xxxivi
echo "Mount Over!!!"
-
定位工程模式:
- 使用字符串搜索定位工程模式APK
- 重点关注
getCertPwd()等认证函数
-
密码生成脚本:
- 根据逆向结果编写工程模式密码生成工具
- 用于开启调试接口
工程模式案例
- 多数汽车留有工程(后门)模式用于售后
- 不同车型工程模式开启方法各异
- 示例:某新能源车ADB开启方法较为复杂
网络探测与攻击面发现
端口扫描方法
-
接入车内网络:
- 首选车机热点功能
- 次选让车机连接研究者创建的热点
-
扫描工具:
- 使用Nmap等工具扫描车内网络
- 常见开放端口:ivi、qnx和tbox的5555、21端口等
Tbox快速定位技巧
-
网关定位法:
- 连接车机热点后查看WIFI网卡网关
- 通常网关地址即为Tbox地址
-
路由追踪法:
- 使用
traceroute追踪到公网的路由 - 公网IP前一个地址通常为Tbox IP
- 使用
突破网络隔离方法
-
IP地址修改:
- 修改IP到非限制网段(如从0-120改为150)
-
路由表添加:
- 获取ivi或ECU shell后添加路由表
实战漏洞案例
弱口令/硬编码漏洞
-
攻击链:
- 接入车辆WIFI → 利用硬编码进入ivi shell → 连接tbox SSH → 通过Dbus控车
-
发现方法:
- 逆向发现账户信息泄露
- APP逆向发现AK/SK泄露导致主机接管
-
防护建议:
- 避免使用弱口令和硬编码凭证
- 加强敏感信息保护
堆栈溢出/拒绝服务漏洞
-
发现流程:
- 端口扫描发现开放服务
- 逆向定位漏洞:
strstr操作后无判空strncpy不检查长度导致栈溢出
-
EXP编写:
- 回溯漏洞触发路径
- 构造恶意输入触发漏洞
-
影响:
- 导致车机不断重启
- 难以进一步利用(缺少root权限)
命令注入漏洞
-
攻击过程:
- 发现root权限服务端口
- 逆向定位命令注入点
- 获取rootshell后观察IPC通信
- 逆向通信协议伪造控车指令
-
实际效果:
- 完成汽车解锁等控制
蓝牙漏洞
-
攻击特点:
- 无需配对的无感攻击
- 模拟HID设备键盘输入
-
攻击效果:
- 一键下电
- 开启车门/车窗
- 通过更改payload实现不同功能
远程控制漏洞
-
攻击链:
- 逆向车主APP发现接口泄露MQTT凭证
- 获取证书文件(ZIP包)
- 登录MQTT订阅主题获取信息
- 获取车主Token并伪造控车指令
-
获取信息:
- 车辆位置
- 车主电话
- 控车权限
安全建议
对厂商的建议
-
安全体系建设:
- 遵循国家强标和国际法规
- 拆分安全建设阶段
-
具体措施:
- 建立渗透测试环节
- 引入安全测试流程
- 创建SRC平台
- 定期OTA更新
对消费者的建议
-
购车选择:
- 优先大厂品牌
- 选择有专业安全团队的厂商
- 选择频繁OTA更新的车型
-
日常防护:
- 关注汽车安全新闻
- 及时更新车载系统
总结
汽车安全研究要点:
- 攻击成本与防御投入的平衡
- 绝对安全不存在,目标是提高攻击成本
- 需要持续学习新技术应对新威胁
研究伦理:
- 作为安全研究人员需认识漏洞的严重性
- 负责任地披露漏洞
- 为车联网安全保驾护航