概述
目前,CAN作为汽车最主要的通信网络,对整车安全性极为重要,如何通过CAN线进行整车的安全分析,通过CAN线可以做哪些事情,本文通过总结国外的有关文献,给出一些建议。思路类比与计算机网络的渗透测试:
主机(ECU辨识)—>服务(CAN数据逆向)—>漏洞(Fuzzing)
DoS
通过CAN 辨识ECU
主机系统的辨识依赖于指纹库,通过CAN数据指纹,辨识ECU
Physical-Fingerprinting of Electronic Control Unit (ECU) Based on Machine Learning Algorithm for In-Vehicle Network Communication Protocol “CAN-BUS”
CAN数据逆向
CAN的逆向一般分为三步:
- 将物理事件链接到消息CAN ID
- 识别CAN信号位的位置和长度
- 识别信号的比例和偏移量
逆向方法:
CAN消息位辨识
READ: Reverse Engineering of Automotive Data Frames
Online Reverse Engineering of CAN Data Jens - 通过观察方法破解数据包
在汽车作出动作指令后, CAN ID 的报文是如何进行变化的, DBC 会把变化的部分标成红色。通过观察哪一个 CAN ID 在汽车发出指令后发生变化(这种变化通常只在瞬间),来确定此项车身控制指令对应的是哪一个 CAN ID。(可以得到最终