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

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

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

【背景技术】
[0002] 汽车的电子系统包括多个电控单元(electronic control unit,EQJ),EQJ之间通 过控制器局域网络(controller area network, CAN)总线并根据CAN通信协议通信。CAN 通信协议中规定了数据巾贞的循环冗余校验码(cyclic redundancy check,CRC)段用于增强 通信的可靠性,但未提供数据帧的加密和认证过程,无法增强通信的安全性。若攻击者控制 汽车网关或某个CAN子网中的ECU,就可能向其它任意一个的CAN子网发送攻击信息,影响 整个CAN网络中E⑶的正常通信和运行。
[0003] 而现有的CAN总线异常检测方案,通常是设计一个应用于CAN总线的网关,网关将 CAN总线划分为不同的子网,对于经过不同子网的数据帧进行检测,拦截非法数据帧并报 警。目前实施这些CAN总线异常检测方案要求重新更改汽车网关的软硬件设计,成本较高。


【发明内容】

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

【专利附图】

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

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

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