测试环境
System : ubuntu 14.04 TLS
攻击链
OBD, Adas –> … –> ECU/BCM
Bluetooh, RFID[无钥匙进入, 无线电频率识别], TPMS, WIFI, DSRC –> … –> ECU/BCM
GPS, RFID, Cellular, 3G/4G/5G –> … –> ECU/BCM
测试样板
查看汽车的功能部件和参数
频率信息,接口信息,系统信息,服务信息,软件信息等
例如:
TPMS波段频率 —1.92Mhz
无蓝牙钥匙,无钥匙key波段频率 —2.4GHz
民用GPS L1波段频率 1575420000
间接测试[OBD, ADAS]
OBD测试
测试名称:OBD–>车机
测试软件:参考车机测试环境
测试硬件:OBD-USB数据转换线
危害描述:通过OBD获取can数据,获取指令信息
修复建议:
测试方法:
1.使用数据线直接连接OBD接口
2.使用CANtoolz对CAN数据进行嗅探,截获其指令数据包信息
3.如果OBD连接了网关和防火墙可攻击网关或者防火墙获取权限,从而放松任意CAN消息
ADAS测试
测试名称:ADAS–>车机
测试软件:
参考无线测试环境
参考车机测试环境
测试硬件:hackrf
危害描述:
修复建议:
1.优化车机与车内、TSP、APP交互过程,加强蓝牙、WIFI、移动网、USB、RFID模块管理
2.保护固件提取,去除调试口、标识、保护车机布线图
3.加固固件,代码混淆,删除日志、隐藏加密重要信息,提高逆向难度
4.强化代码质量,严格认证、合理授权root和普通权限,为已知的漏洞打补丁或者升级
测试方法:
1.确定车机系统的版本、功能、架构,包括蓝牙、WIFI、移动网、USB、RFID、其与车内、TSP、APP交互的过程
2.拆车机,分析硬件模块,硬件架构和布线、是否有测试调试口和后门,提取固件
3.逆向固件,还原车机系统代码逻辑,主要静态分析,部分结合动态调式
4.分析利用,获取root
短距离测试[Bluetooh, RFID, TPMS, WIFI, DSRC]
RFID测试
测试名称:FM信号–>车机
测试软件:参考无线测试环境
测试硬件:hackrf
危害描述:
修复建议:
测试方法:
1.测试信号重放
录制FM频率:
$ hackrf_transfer -r 1.raw -f 98000000 -g 30 -l 24 -a 1 -p 1 -s 8000000 -b 4000000
使用hackrf_transfer进行发射:
$ hackrf_transfer -t 1.raw -f 98000000 -x 32 -a 1 -p 1 -s 8000000 -b 4000000 -R
TPMS测试
测试名称:TPMS–>车机
测试软件:参考无线测试环境
测试硬件:hackrf
危害描述:
修复建议:
测试方法:
蓝牙测试
测试名称:蓝牙–>车机
测试软件:参考无线测试环境
测试硬件:hackrf
危害描述:
修复建议:
测试方法:
wifi测试
测试名称:wifi–>车机
测试软件:参考车机测试环境
测试硬件:手机/电脑
危害描述:
修复建议:
测试方法:
1.通过手机或者电脑建立热点;
2.车机连接手机热点
3.使用nmap工具对车机开放的端口进行扫描
4.对开放的服务进行测试[如:D-bus服务等]
5.搭建web服务,使用车机的浏览器进行访问获取浏览器和车机的信息;车机如果安装了flash可同挂机挂马或者钓鱼来获取车机的权限
DSRC测试
测试名称:DSRC–>车机
测试软件:参考无线测试环境
测试硬件:hackrf
危害描述:
修复建议:
测试方法:
远距离测试[GPS, RFID, Cellular, 3G/4G/5G]
GPS测试
测试名称:GPS–>车机
测试软件:参考无线测试环境
测试硬件:hackrf
危害描述:
修复建议:
测试方法:
# GPS信号欺骗
1. RINEX星历数据下载
ftp://cddis.gsfc.nasa.gov/pub/gps/data/daily/2016/brdc
找brdc0050.16n.Z 这样的文件,解压出来就是了
2. 生成GPS仿真数据
$./gps-sdr-sim -e brdc3540.14n -l 29.643598,91.101319,100 -b 8
指定星历文件(可自行更新至最新的星历数据),设置经纬度(拉萨市),必须指定采样精度为8否则用hackRF one欺骗成功率不高,反正我指定16是没成功过(默认为16,乌云文章也是16但设备是bladeRF)
另外如果有其他目的也可以伪造一个动态的GPS数据样本,例如欺骗计步器,轨迹等
$./gps-sdr-sim -e brdc3540.14n -u circle.csv -b 8
3. HackRF发射GPS数据
$ hackrf_transfer -t gpssim.bin -f 1575420000 -s 2600000 -a 1 -x 0 -R
指定GPS数据,指定频率为1575420000 即民用GPS L1波段频率,指定采样速率2.6Msps,开启天线增益,指定TX VGA(IF)为0(为了限制影响范围,最大为47慎用!!!),最后开启重复发射数据功能
手机终端1分40秒就可以被欺骗成功,这里有一个测试技巧,就是定模模式选仅GPS定位,不要用基站、WLAN定位,这样打开地图等软件就是伪造后的GPS坐标点。
参考资源
http://www.freebuf.com/sectool/175282.html — 汽车安全软硬件测试清单
https://wenku.baidu.com/view/404f0c4376c66137ef06190c.html —无线gnu 入门