免责声明:该⽂章仅供安全学习和技术分享,请勿将该⽂章和⽂章中提到的技术⽤于违法活动上,切勿在⾮授权状态
下对其他站点进⾏测试,如产⽣任何后果皆由读者本⼈承担,与作者无关!如有侵权,联系删除,转载请注明出处,感谢!
0x00 什么是车联网安全
车联网安全主要指的是车联网系统的安全,该系统主要分为四个部分,主机、车载T-BOX、手机APP及后台系统。
主机主要用于车内的影音娱乐,以及车辆信息显示也就是IVI或者MCU;
车载T-BOX主要用于和后台系统/手机APP通信,实现手机APP的车辆信息显示与控制。
当用户通过手机端APP发送控制命令后,TSP后台会发出监控请求指令到车载T-BOX,车辆在获取到控制命令后,通过CAN总线发送控制报文并实现对车辆的控制,最后反馈操作结果到用户的手机APP上,仅这个功能可以帮助用户远程启动车辆、打开空调、调整座椅至合适位置等。
OTA英文全称是Over-The-Air,是指通过移动通信的空中接口实现对移动终端设备及SIM卡数据进行远程管理的技术
其实车联网系统中还有其他很多小点,例如MQTT、TPMS等,但是实际攻击场景较少,不作为大类描述。这里简单介绍几例:
MQTT(消息队列遥测传输)是ISO/IEC PRF 20922标准下制定的消息协议。
TPMS(胎压管理系统)曾经有人利用该系统向汽车发动攻击,通过远程手段使TPMS发出告警,迫使驾驶员停车。
TPM(可信平台模块)它负责保护车辆的外部接口,例如在车载信息娱乐系统(IVI)或远程信息处理单元的接口。它检查数字数据发送方和接收方的身份,对数据加密和解密,同时交互中安全功能所需的加密密钥也存储在TPM中。
HSM(硬件安全模块)用于车辆安全信息如密钥的生产、存储以及处理,隔离外部恶意软件的攻击。密钥以密文形式存储,可用于构建、验证可靠的软件,以保护在软件加载并初次访问之前的安全启动。
车联网系统中还有一个比较重要且独特的传输方式——CAN总线,他也是一个非常容易受到攻击的点。
简单的说,CAN可以让车内不同的电子模块互相通信,共享数据。CAN提案的主要动机是它允许多个ECU仅使用一根电缆进行通信。大大方便了每个ECU之间的通信。
CAN总线分为两条,分别为CAN HIGH和CAN LOW。
CAN HIGH负责对速度有要求的ECU,例如安全气囊,发动机控制单元等。
CAN LOW负责提升驾驶员状态的ECU,例如空调、车窗等。
0x01 攻击面
攻击面分为三大类:接触式,近程,远程。
接触式通常是对车辆的各个硬件以及接口的攻击,包括HMI(人机交互接口),USB,OBD-II(can总线的外置接口)等等。
近程代表着与车辆有距离限制,代表攻击点有WIFI、蓝牙、NFC、无线电等。
远程即代表可以远程攻击的点,如4G,GSM等。
0x02 常见攻击方式
app:
app的攻击通常是对一些带有控制功能的app,例如远程启动,车辆召唤等等。通过抓包分析,关注业务流程以及token令牌等方式达到目的。其次还可以对app进行逆向分析,找到api接口并尝试分析功能和作用,进行构造。
车机:
可以通过链接wifi或插入双头USB的方式连接进车机,判断车机系统,这里可以参考内网渗透的过程,车机多为linux系统。
硬件提取:
有些芯片存在默认口令的问题,可以通过拆解硬件,找到USB口并分析走向,接上飞线或者HSD接口进入到芯片系统里面去。
T-BOX:
T-BOX通常进行活体测试,通过本地getshell的方式对内部服务进行研究,通常从启动开始分析,判断哪些服务为核心服务,做了什么事情等。或者通过编译好的arm的tcpdump进t-box,捕捉socket流量并进行逆向拆包分析。
CAN:
CAN通常需要通过OBD-II接口接入,也就是需要一根OBD2USB转接线,通过对CAN报文的嗅探,更改接口与仲裁ID发送恶意构造的报文来执行命令。
蓝牙:
测试蓝牙的方式有很多,可以使用Bluesnarfing、Bluebugging等工具对蓝牙进行测试。
数字钥匙:
数字钥匙的攻击方式取决于它的运行机制,早先存在着滚码遍历的攻击方式,但后来厂商基本上都使用了回码机制,该攻击方式已经不常见了。其他的还有重放攻击,中继攻击,生物特征对抗等等。