利用机器学习技术实现CAN总线数据的自动逆向工程
1. 引言
现代汽车配备了复杂的电子和机电系统,这些系统通过CAN(控制器局域网)总线进行通信。CAN总线在现代汽车中非常常见,豪华汽车可能拥有多达100个电子控制单元(ECU),连接它们的电缆长度超过1公里。CAN总线通常根据功能和特定需求划分为不同的子网,例如用于发动机管理的高速CAN(CAN - C)和用于气候控制的低速CAN(CAN - B)。通过分析CAN总线流量,可以获取有关车辆内部运行的大量有价值信息,这些信息对于跟踪驾驶员行为、监测车辆健康状况等都非常有用。
然而,尽管CAN协议是标准化的,但不同汽车制造商甚至同一制造商的不同车型对CAN总线的实际实现都有所不同。汽车制造商可以自由选择ID代表的数据以及数据的表示方式等,并且这些配置信息通常不对外公开。因此,为了获取有用信息,需要对每辆车的CAN总线流量进行分析和逆向工程。目前的逆向工程技术相对简单,但非常耗时,需要反复试验,并且要求对车辆不同子系统的内部工作原理有深入了解。随着车辆复杂度的增加,逆向工程所需的时间也会大幅增加。
为了解决这个问题,我们采用了两种不同的技术,即算术方法和机器学习方法,来实现逆向工程过程的自动化,从而减少分析时间和工作量,同时获得可靠的结果。
2. 控制器局域网
CAN协议是由罗伯特·博世有限公司开发的标准,用于在实时应用中创建节点之间高效可靠的通信总线。CAN总线上传输的每个消息都带有一个特定的标识符,该标识符并不直接指示发送或接收节点,而是标识消息的内容。
CAN标准规定了消息的一般结构,但没有定义其他方面,如字节顺序、符号性、一个消息中的信号数量、字节对齐、比例等。这
超级会员免费看
订阅专栏 解锁全文

333

被折叠的 条评论
为什么被折叠?



