智能网联汽车信息安全实训平台之CAN总线的逆向实验

今日头条

1097人已加入

描述

智能网联汽车信息安全实训平台是以建设车联网安全检测和培训体系为目的而搭建的一套成熟、落地、可操作的安全检测环境,其测试方案覆盖车机软件、车载通信、车内智能终端设备、车内总线等检测环境。以提升能力为根本,帮助学院构造车载信息安全知识体系框架,培养学员车载信息安全检测能力。

测试对象:CAN总线

教学目的:学习如何获取汽车中的CAN总线数据,并对CAN总线数据报文进行协议逆向。

通过工具获取汽车中的CAN总线数据,根据CAN总线协议对CAN总线的数据进行分析,通过逆向分析的手段,对CAN总线进行协议逆向,解析出相应指令的数据报文。

依赖文件和软件

can-utils

Linux系统中对CAN总线分析的工具,可以显示抓取CAN报文,重放CAN日志文件,发送单个帧,生成随机CAN流量,显示CAN数据内容的差异,通过该工具,可以帮助我们对CAN总线进行协议逆向分析。

ICSim

CAN总线模拟仿真工具,可以在主机中模拟出CAN总线的仪表盘,对接受的CAN报文进行解析,并在仪表盘中显示指令动作。

依赖硬件工具

CAN-USB CAN总线嗅探工具,通过USB口连接在主机中,分析CAN报文。

实验整体流程

CAN总线

实验流程和网络拓扑

实验步骤

1.打开模拟器,在终端中打开汽车靶机模拟器

cd ICSim ./setup_vcan.sh ./icsim vcan0

在另一个终端中打开模拟器控制器:

./controls vcan0

2.使用模拟器发送指令

操纵模拟器控制器,执行键盘上的上下可以控制车速,左右可以控制车灯,如下图所示。

模拟器控制器

可以在仪表盘模拟器中观察到相应的反应,如下图所示。

仪表盘显示状态

3.嗅探接收CAN报文

使用ifconfig命令可以看到vcan0接口存在,我们可以通过该接口与CAN网络进行交互,抓取嗅探CAN报文:

candump vcan0

可以看到抓取到了CAN报文数据,如下图所示。

CAN总线

CAN报文数据

通过不断的控制模拟器,在屏幕上可以动态的显示CAN报文。

4.捕获并重放CAN操作

为了逆向CAN总线,我们需要缩小逆向范围,抓取单一指令的报文数据,通过模拟器控制器执行操作,通过candump工具来抓取相应的报文并存储为本地日志文件。

candump -l vcan0

将停止对模拟器控制器操作,将上面抓取的报文进行重放测试。

canplayer -I candump-2020-05-13_154442.log

观察模拟器仪表盘,可以看到出现相应的反应。can总线是不可靠的服务,发送报文后无法确保能传输成功,因此可以多尝试几次发送,保证指令正确执行。

5.差分法逆向

对can日志文件进行差分法发送,每次都截取一半数据报文进行发送,直到捕捉到对应指令的报文。

fqj

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分