- A+
0×00 前言
在去年年末的时候有幸接触到了IOT安全,针对其中的OBD设备的攻击面和威胁进行了下研究,在乱搞的过程中发现,很多的OBD设备(大于95%)设备与手机APP进行同步数据的过程当中采用了BLE(低功耗蓝牙),很大部分的OBD设备的蓝牙通信过程都存在安全隐患(水平问题,还不能称之为漏洞),对此进行了下深入的学习。
0×01 从物联网到车联网
谈到车联网,需要先提以下物联网的架构,如图:
这样的一套系统,将我们的智能设备(汽车)、移动应用、Web应用、云服务构成一套闭环(其中一环出了安全问题,整套系统都受到威胁)
每一环都暴露在网络当中都存在着风险:移动应用->逆向分析破解篡改者,云服务->D客,Web应用->一键getshell,智能汽车->CarHacking(锤子可能更好用)
针对IOT这部分OWASP也出了响应的TOP10:
1.Insecure Web Interface(不安全的Web接口)
2.Insufficient Authentication/Authorization(不足的认证/授权)
3.Insecure Network Services(不安全的网络服务)
4.Lack of Transport Encryption(不安全加密传输)
5.Privacy Concerns(隐私泄露)
6.Insecure Cloud Interface(不安全的云接口)
7.Insecure Mobile Interface(不安全的移动应用接口)
8.Insufficient Security Configurability(安全配置不足)
9.Insecure Software/Firmware(不安全的软件/固件)
10.Poor Physical Security(物理安全性差)
注:Freebuf 之前也有人写过一些关于车联网安全的技术/新闻文章
[传送门]
http://www.freebuf.com/articles/terminal/136965.html(浅析车联网安全技术要点)
http://www.freebuf.com/articles/others-articles/36403.html(CAN-BUS安全)
0×02 智能网联汽车风险
车联网是一整套系统,智能网联汽车则是整个系统的核心,从这个角度看汽车这端威胁大概如下:
(从拿到钥匙的那一刻,威胁就开始了)
简述下对应的攻击手段(此处需要想象力)
1.汽车钥匙(RKE/PKE/PEPS):
(1)硬件逆向:对车钥匙电路逆向分析、获取算法和密钥;直接使用已知的芯片、算法的漏洞
(2)信号重放:从钥匙端截取操作指令(开门,打开车灯等),重放指令操纵汽车
(3)信号欺骗:逆向通信协议,伪造钥匙端操作指令,结合信号发射工具发射指令操作汽车
2.空中下载技术(OTA)
(1)恶意固件篡改:固件升级过程未做签名,输入恶意固件
(2)升级阻断:阻断升级安全补丁,攻击已知漏洞
3.车载娱乐系统(IVI)
(1)软件升级漏洞:升级期间访问控制失效,获取访问权限
(2)硬件接口入侵:USB接口,AUX(音频输入接口),光驱等进行入侵
(3)无线接口入侵:WiFi、BLE、GPS等接口入侵
(4)恶意应用攻击:下载安装的应用含恶意代码,实施勒索
(5)操作系统漏洞:Linux的提权漏洞,代码执行漏洞
(6)本地数据泄露:应用明文保存敏感信息在本地
4.远程信息处理器(T-BOX)
(1)固件逆向:逆向固件获取算法、身份验证密钥
(2)恶意接入:接入调试接口获取内部数据
(3)通信篡改:通信过程未/弱加密,对通信接口进行数据监听和篡改
5.车载诊断系统(OBD)
(1)固件逆向:逆向固件获取算法、身份验证密钥
(2)恶意接入:直接接入破解总线协议,ECU指令
(3)数据包注入:注入CAN指令、恶意攻击代码
(4)通信篡改:通信过程未/弱加密,对通信接口进行数据监听和篡改
6.车载传感器(VS)
(1)超声波雷达干扰:相同波长信号伪造障碍物对行车干扰
(2)毫米波雷达干扰:噪声攻击造成的传感器拒绝服务
(3)摄像头干扰:强光和红外造成的摄像头致盲
7.CAN总线:
(1)指令伪造:确实加密和访问控制导致的指令被分析和伪造
(2)指令重放:截获操作指令,接入CAN重放指令进行操作
(3)拒绝服务:使用高优先级的指令抢占正常指令,导致ECU无法接受相对低优先级的正常指令
0×03 OBD设备基础
简单说下基础知识:
上图(某著名厂商的OBD设备)
1.OBD-II:
全称为汽车诊断系统,在汽车运行过程中动态监控,通过该接口实现从CAN总线上的动态数据的采集
采集的数据可以包括:车速、各种温度、轮速、发动机扭矩、油门、制动踏板、排档杆位置、空调等各种设备是否工作、故障信息等所有在CAN总线上传递的数据
2.OBD标准:
SAEJ1979、ISO/DIS 15031
3.OBD协议类型:
SAEJ1850PWM SAEJ1850 VPW ISO9141-2 ISO14230 KWP2000 ISO 15765
4.英式OBD9引脚示意图如下:
引脚1: LS-CAN(低速中总线的)高电平
引脚2:SAEJ1850 PWM(脉冲宽度调制)+ 或VPW(可变脉冲宽度调节)+ 传输 可选协议
引脚4:外壳地
*引脚6:CAN总线高电平(CAN-H)
引脚7:ISO 9141-2 K-Line KWP 可选协议
引脚10:SAEJ1850 PWM(脉冲宽度调制)- 或VPW(可变脉冲宽度调节)- 传输
*引脚14:CAN总线高电平(CAN-H)
引脚16:电源(12+)
5.OBD设备类型
1) 简单OBD设备
仅包含蓝牙通信模块,与App同步车辆数据
2) 高级OBD设备
蓝牙通信/启动自连,自身热点(wifi),数据存储(内置/扩展),GPS/北斗(数据同步,防盗)
3) 新一代OBD设备
NB-IOT(窄带物联网)直连 App,车身姿态识别
0X04 OBD设备带来的风险
针对OBD整个使用的生命周期,此类设备可能存在以下风险
0×05 高能预警
下一篇讲会对此OBD设备从蓝牙角度进行安全分析、BLE的安全机制、小米手环二代以及某家成人用品的BLE安全分析