Can报文异常检测方法及系统的制作方法

文档序号:7816280阅读:318来源:国知局
Can报文异常检测方法及系统的制作方法
【专利摘要】本发明提出一种CAN报文的异常检测方法,包括以下步骤:建立与车辆的OBD-II口的连接,从OBD-II接收CAN帧;判断CAN帧的帧格式是否正确,如果CAN帧的帧格式错误,则丢弃CAN帧并报警;如果CAN帧的帧格式正确,则进一步调用检测函数对CAN帧进行合法性检测;如果CAN帧非法,则判定CAN帧异常并报警。本发明的CAN报文的异常检测方法简单高效、安全性高、实用性强。本发明还提出一种CAN报文的异常检测系统。
【专利说明】CAN报文异常检测方法及系统

【技术领域】
[0001] 本发明涉及汽车内CAN总线通信安全【技术领域】,尤其涉及一种CAN报文异常检测 方法及系统。

【背景技术】
[0002] 汽车内的电子系统包括多个电控单元(electronic control unit,EQJ),各个EQJ 之间通过控制器局域网(control area network, CAN)总线进行通信。CAN通信协议原本 是为封闭环境下的CAN总线通信设计,E⑶没有对外通信的接口。CAN通信协议中规定了数 据中贞的循环冗余校验码(cyclic redundancy check, CRC)段用于增强通信的可靠性,但未 提供数据帧的加密和认证过程。目前CAN网络存在与外部通信的接口,通过外部接口发送 的信息会向总线上的所有ECU广播,存在严重的安全隐患。设计一个可实际应用的异常检 测系统非常必要。。
[0003] 而现有的CAN总线异常检测方案,通常是设计一个应用于CAN总线的网关,网关将 CAN总线划分为不同的子网,对于经过不同子网的数据帧进行检测,拦截非法数据帧并报 警,同时只转发合法数据帧。目前实施这些CAN总线异常检测方案要求重新更改汽车网关 的软硬件设计,成本较高。


【发明内容】

[0004] 本发明旨在至少在一定程度上解决相关技术中的技术问题之一。为此,本发明的 第一个目的在于提出一种简单高效、安全性高、实用性强的CAN报文的异常检测方法。
[0005] 本发明的第二个目的在于提出一种CAN报文的异常检测系统。
[0006] 为了实现上述目的,本发明第一方面的实施例中提出一种CAN报文的异常检测方 法,包括以下步骤:建立与车辆的0BD-II 口的连接,从所述0BD-II接收CAN帧,其中,所述 CAN帧包括标识符和数据域;判断所述CAN帧的帧格式是否正确,如果所述CAN帧的帧格式 错误,则丢弃所述CAN帧并报警;如果所述CAN帧的帧格式正确,则进一步调用检测函数对 所述CAN帧进行合法性检测;如果所述CAN帧非法,则判定所述CAN帧异常,丢弃所述CAN 帧并报警,其中,所述检测函数包括对所述CAN帧的标识符、统计特性、语义范围和语义相 关性的检测。
[0007] 根据本发明实施例的CAN报文的异常检测方法,通过建立与车辆的0BD-II 口的连 接,从0BD-II接收CAN帧。判断CAN帧的帧格式是否正确,如果CAN帧的帧格式错误,则丢 弃CAN帧并报警。如果CAN帧的帧格式正确,则进一步调用检测函数对CAN帧进行合法性 检测。如果CAN帧非法,则判定CAN帧异常并进行报警。本发明的CAN报文的异常检测方 法简单高效、安全性高、实用性强。
[0008] 在一些示例中,所述检测函数根据预设的CAN帧索引表对所述CAN帧进行检测,其 中,所述CAN帧索引表包括:CAN帧的标识符、所述CAN帧的标识符对应的数据域语义值的 最大值和最小值、帧时间间隔阈值、阈值计数值、上一帧的接收时间、上一帧的数据域语义 值和相关性阈值。
[0009] 在一些示例中,所述标识符检测包括:将所述帧格式正确的所述CAN帧的标识符 与所述CAN帧索引表比对,若所述CAN帧索引表中不存在所述标识符,则丢弃所述CAN帧并 报警,反之则判定所述CAN帧的标识符合法。
[0010] 在一些示例中,所述统计检测包括:检测所述标识符相同的所述CAN帧的传输速 率,若所述传输速率大于或者等于预设阈值且所述传输速率连续大于或者等于预设阈值的 次数达到预定数值,则判定所述CAN帧非法并报警,反之,则判定所述CAN帧合法。
[0011] 在一些示例中,所述语义范围检测包括:检测所述CAN帧的数据域语义值是否在 预设范围内,若是,则判定所述CAN帧合法,反之,则判定所述CAN帧非法并报警。
[0012] 在一些示例中,所述语义相关性检测包括:检测所述CAN帧的数据域语义值的变 化速率是否大于预设相关性阈值,若是,则判定所述CAN帧非法并报警,反之,则判定所述 CAN帧合法。
[0013] 本发明第二方面的实施例中提出一种CAN报文的异常检测系统,包括:CAN收发 器,所述CAN收发器通过所述0BD-II通信接口建立与车辆的0BD-II 口的连接,从所述 0BD-II接收CAN帧,其中,所述CAN帧包括标识符和数据域;CAN控制器,所述CAN控制器用 于判断所述CAN帧的帧格式是否正确;过滤器,所述过滤器包括所述检测函数;报警器,所 述报警器用于报警;和微控制器,所述微控制器分别与所述CAN控制器、所述过滤器和所述 报警器相连,用于在所述CAN控制器判定所述CAN帧的帧格式错误时,丢弃所述CAN帧并控 制所述报警器报警,以及在所述CAN帧的帧格式正确时,调用所述过滤器的检测函数对所 述CAN巾贞进行合法性检测,如果所述CAN巾贞非法,则判定所述CAN巾贞异常,丢弃所述CAN中贞 并报警,其中,所述检测函数包括对所述CAN帧的标识符、统计特性、语义范围和语义相关 性的检测。
[0014] 根据本发明实施例的CAN报文的异常检测系统,通过CAN收发器建立与车辆的 0BD-II 口的连接,并从0BD-II接收CAN帧。CAN控制器判断CAN帧的帧格式是否正确,如 果CAN帧的帧格式错误,则微控制器控制CAN控制器丢弃CAN帧并触发报警器报警。如果 CAN帧的帧格式正确,则微控制器进一步控制过滤器调用检测函数对CAN帧进行合法性检 测。如果CAN帧非法,则判定CAN帧异常,微控制器触发报警器报警。本发明的CAN报文的 异常检测系统简单高效、安全性高、实用性强。
[0015] 在一些示例中,还包括:与所述微控制器相连的CAN帧索引表,所述检测函数根据 预设的CAN帧索引表对所述CAN帧进行检测,其中,所述CAN帧索引表包括:CAN帧的标识 符、所述CAN帧的标识符对应的数据域语义值的最大值和最小值、帧时间间隔阈值、阈值计 数值、上一帧的接收时间、上一帧的数据域语义值和相关性阈值。
[0016] 在一些示例中,所述标识符检测包括:将所述帧格式正确的所述CAN帧的标识符 与所述CAN帧索引表比对,若所述CAN帧索引表中不存在所述标识符,则丢弃所述CAN帧并 报警,反之则判定所述CAN帧的标识符合法。
[0017] 在一些示例中,所述统计检测包括:检测所述标识符相同的所述CAN帧的传输速 率,若所述传输速率大于或者等于预设阈值且所述传输速率连续大于或者等于预设阈值的 次数达到预定数值,,则判定所述CAN帧非法并报警,反之,则判定所述CAN帧合法。
[0018] 在一些示例中,所述语义范围检测包括:检测所述CAN帧的数据域语义值是否在 预设范围内,若是,则判定所述CAN帧合法,反之,则判定所述CAN帧非法并报警。
[0019] 在一些示例中,所述语义相关性检测包括:检测所述CAN帧的数据域语义值的变 化速率是否大于预设相关性阈值,若是,则判定所述CAN帧非法并报警,反之,则判定所述 CAN帧合法。
[0020] 本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变 得明显,或通过本发明的实践了解到。

【专利附图】

【附图说明】
[0021] 图1是根据本发明一个实施例的CAN报文的异常检测方法的流程图;和
[0022] 图2是根据本发明一个实施例的CAN报文的异常检测系统的结构框图。

【具体实施方式】
[0023] 下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终 相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附 图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
[0024] 参照图1,本发明第一方面实施例的CAN报文的异常检测方法,包括以下步骤:建 立与车辆的0BD-II 口的连接,从0BD-II接收CAN帧,其中,CAN帧包括标识符和数据域;判 断CAN帧的帧格式是否正确,如果CAN帧的帧格式错误,则丢弃CAN帧并报警;如果CAN帧 的帧格式正确,则进一步调用检测函数对CAN帧进行合法性检测;如果CAN帧非法,则判定 CAN帧异常,并进行报警,其中,检测函数包括对CAN帧的标识符、统计特性、语义范围和语 义相关性的检测。本发明实施例的CAN报文的异常检测方法的具体实现过程如下:
[0025] 步骤S101,建立与车辆的0BD-II 口的连接,从0BD-II接收CAN帧,其中,CAN帧包 括标识符和数据域。
[0026] 步骤S102,判断CAN帧的帧格式是否正确,如果CAN帧的帧格式错误,则丢弃CAN 帧并报警。
[0027] 具体地,CAN帧的帧格式检测的目的为了判断CAN帧是否符合CAN通信协议,CAN 总线的通信协议,包括ID域、控制域、数据域、校验域等各个部分位数、填充方式是否正确, 同时也进行CRC校验,如果CAN帧的帧格式出现错误即丢弃此CAN帧并报警。
[0028] 特别地,在步骤S102中还对来自网关和CAN子网的CAN帧进行所属帧类型的检 测。即,判断接收到的CAN帧为数据帧、远程帧、错误帧、过载帧的一种。需要指出的是远程 帧与数据帧的区别在于不包含数据域部分。对于错误帧和过载帧,仅进行帧格式检测。若 错误帧和过载帧的帧格式无异常则使其通过检测,否则丢弃并报警。
[0029] 步骤S103,如果CAN帧的帧格式正确,则进一步调用检测函数对CAN帧进行合法性 检测。
[0030] 具体地,如果CAN帧的帧格式正确,记录并存储此CAN帧的接收时间、标识符和数 据域语义值。
[0031] 进一步地,在本发明的一个实施例中,检测函数根据预设的CAN帧索引表对 CAN帧进行检测。其中,CAN帧索引表中存储有车辆0BD-II允许接收的CAN帧的标识符 (identifier,ID)及ID对应的语义的相关参数。如表1所示,CAN帧索引表包括:CAN帧合 法的ID、CAN帧合法的ID对应的数据域语义值的最大值和最小值、帧时间间隔阈值、阈值 计数值、上一帧的接收时间、上一帧的数据域语义值和相关性阈值等参数。在实现本发明的 CAN报文异常检测方法之初,需对索引表进行初始化,其中,阈值计数值初始化为0。并在实 施过程中,检测函数调用索引表,一个周期的检测结束后更新索引表。特别地,对于接收到 的对应不同合法ID的第一个CAN帧,用第一个CAN帧的数据域语义值、接收时间更新索引 表中上一帧的接收时间、上一帧的数据域语义值两个参数,但不进行与这两个参数相关的 异常检测。
[0032]表1 CAN帧索引表

【权利要求】
1. 一种CAN报文的异常检测方法,其特征在于,包括以下步骤: 建立与车辆的OBD-II 口的连接,从所述OBD-II接收CAN帧,其中,所述CAN帧包括标 识符和数据域; 判断所述CAN帧的帧格式是否正确,如果所述CAN帧的帧格式错误,则丢弃所述CAN帧 并报警; 如果所述CAN帧的帧格式正确,则进一步调用检测函数对所述CAN帧进行合法性检 测; 如果所述CAN帧非法,则判定所述CAN帧异常,并进行报警,其中,所述检测函数包括对 所述CAN帧的标识符、统计特性、语义范围和语义相关性的检测。
2. 根据权利要求1所述的方法,其特征在于,所述检测函数根据预设的CAN帧索引表 对所述CAN帧进行检测,其中,所述CAN帧索引表包括:CAN帧的标识符、所述CAN帧的标识 符对应的数据域语义值的最大值和最小值、帧时间间隔阈值、阈值计数值、上一帧的接收时 间、上一帧的数据域语义值和相关性阈值。
3. 如权利要求1或2任意一项所述的方法,其特征在于,所述标识符检测包括: 将所述帧格式正确的所述CAN帧的标识符与所述CAN帧索引表比对,若所述CAN帧索 引表中不存在所述标识符,则丢弃所述CAN帧并报警,反之则判定所述CAN帧的标识符合 法。
4. 如权利要求1或2任意一项所述的方法,其特征在于,所述统计检测包括: 检测所述标识符相同的所述CAN帧的传输速率,若所述传输速率大于或者等于预设阈 值且所述传输速率连续大于或者等于预设阈值的次数达到预定数值,则判定所述CAN帧非 法并报警,反之,则判定所述CAN帧合法。
5. 如权利要求1或2任意一项所述的方法,其特征在于,所述语义范围检测包括: 检测所述CAN帧的数据域语义值是否在预设范围内,若是,则判定所述CAN帧合法,反 之,则判定所述CAN帧非法并报警。
6. 如权利要求1或2任意一项所述的方法,其特征在于,所述语义相关性检测包括: 检测所述CAN帧的数据域语义值的变化速率是否大于预设相关性阈值,若是,则判定 所述CAN帧非法并报警,反之,则判定所述CAN帧合法。
7. -种CAN报文的异常检测系统,其特征在于,包括: CAN收发器,所述CAN收发器通过所述OBD-II通信接口建立与车辆的OBD-II 口的连 接,从所述OBD-II接收CAN帧,其中,所述CAN帧包括标识符和数据域; CAN控制器,所述CAN控制器用于判断所述CAN帧的帧格式是否正确; 过滤器,所述过滤器包括所述检测函数; 报警器,所述报警器用于报警;和 微控制器,所述微控制器分别与所述CAN控制器、所述过滤器和所述报警器相连,用于 在所述CAN控制器判定所述CAN帧的帧格式错误时,丢弃所述CAN帧并控制所述报警器报 警,以及在所述CAN帧的帧格式正确时,调用所述过滤器的检测函数对所述CAN帧进行合法 性检测,如果所述CAN帧非法,则判定所述CAN帧异常,并进行报警,其中,所述检测函数包 括对所述CAN帧的标识符、统计特性、语义范围和语义相关性的检测。
8. 根据权利要求7所述的系统,其特征在于,还包括:与所述微控制器相连的CAN帧索 引表,所述检测函数根据预设的CAN帧索引表对所述CAN帧进行检测,其中,所述CAN帧索 引表包括:CAN帧的标识符、所述CAN帧的标识符对应的数据域语义值的最大值和最小值、 帧时间间隔阈值、阈值计数值、上一帧的接收时间、上一帧的数据域语义值和相关性阈值。
9. 如权利要求7所述的系统,其特征在于,所述标识符检测包括: 将所述帧格式正确的所述CAN帧的标识符与所述CAN帧索引表比对,若所述CAN帧索 引表中不存在所述标识符,则丢弃所述CAN帧并报警,反之则判定所述CAN帧的标识符合 法。
10. 如权利要求7所述的系统,其特征在于,所述统计检测包括: 检测所述标识符相同的所述CAN帧的传输速率,若所述传输速率大于或者等于预设阈 值且所述传输速率连续大于或者等于预设阈值的次数达到预定数值,则判定所述CAN帧非 法并报警,反之,则判定所述CAN帧合法。
11. 如权利要求7所述的系统,其特征在于,所述语义范围检测包括: 检测所述CAN帧的数据域语义值是否在预设范围内,若是,则判定所述CAN帧合法,反 之,则判定所述CAN帧非法并报警。
12. 如权利要求7所述的系统,其特征在于,所述语义相关性检测包括: 检测所述CAN帧的数据域语义值的变化速率是否大于预设相关性阈值,若是,则判定 所述CAN帧非法并报警,反之,则判定所述CAN帧合法。
【文档编号】H04L12/26GK104320295SQ201410524529
【公开日】2015年1月28日 申请日期:2014年10月8日 优先权日:2014年10月8日
【发明者】王剑, 张子键, 袁坚 申请人:清华大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1