最近越来越多的人开始关注车联网安全(可能是传统安全实在太卷),在各种会议中也能看到不少车联网安全相关的议题。其中很重要的一部分就是车载通信安全,而在各种车载通信协议中,使用的最多的就是CAN总线,本章介绍CAN模拟器ICSim的安装和使用。
控制器局域网总线(CAN,Controller Area Network)是一种用于实时应用的串行通讯协议总线,它可以使用双绞线来传输信号,是世界上应用最广泛的现场总线之一。CAN协议用于汽车中各种不同元件之间的通信,以此取代昂贵而笨重的配电线束。该协议的健壮性使其用途延伸到其他自动化和工业应用。CAN协议的特性包括完整性的串行数据通讯、提供实时支持、传输速率高达1Mb/s、同时具有11位的寻址以及检错能力。

说的简单一些就是车上很多模块之间通过CAN总线连接,通过这些CAN总线,可以在汽车的各个ECU之间传递数据,比如当我们解锁车辆时,BCM(车身控制模块)收到解锁信号就会向CAN总线上发送解锁报文以解锁车辆,打开车门;我们打开车门后,对应的ECU也会向总线上发送车门的状态,告诉总线上的其他ECU车门被打开了。
1. 安装ICSim
# 安装依赖
sudo apt-get install libsdl2-dev libsdl2-image-dev can-utils
# 下载ICSim
git clone https://gith