[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

CN104301177B - Can报文异常检测方法及系统 - Google Patents

Can报文异常检测方法及系统 Download PDF

Info

Publication number
CN104301177B
CN104301177B CN201410524934.5A CN201410524934A CN104301177B CN 104301177 B CN104301177 B CN 104301177B CN 201410524934 A CN201410524934 A CN 201410524934A CN 104301177 B CN104301177 B CN 104301177B
Authority
CN
China
Prior art keywords
frames
frame
identifier
index tables
legal
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201410524934.5A
Other languages
English (en)
Other versions
CN104301177A (zh
Inventor
王剑
张子键
袁坚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tsinghua University
Original Assignee
Tsinghua University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tsinghua University filed Critical Tsinghua University
Priority to CN201410524934.5A priority Critical patent/CN104301177B/zh
Publication of CN104301177A publication Critical patent/CN104301177A/zh
Application granted granted Critical
Publication of CN104301177B publication Critical patent/CN104301177B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Small-Scale Networks (AREA)

Abstract

本发明提出一种CAN报文的异常检测方法,包括以下步骤:建立与车辆的CAN总线的网关和CAN子网的连接,从CAN总线的网关和CAN子网接收CAN帧;判断CAN帧的帧格式是否正确,如果CAN帧的帧格式错误,则丢弃CAN帧并报警;如果CAN帧的帧格式正确,则进一步调用检测函数对CAN帧进行合法性检测;如果CAN帧非法,则判定CAN帧异常,丢弃CAN帧或并报警。如果CAN帧合法,则发送CAN帧至网关或CAN子网。本发明的CAN报文的异常检测方法简单高效、安全性高、实用性强。本发明还提出一种CAN报文的异常检测系统。

Description

CAN报文异常检测方法及系统
技术领域
本发明涉及CAN总线通信安全技术领域,尤其涉及一种CAN报文的异常检测方法及系统。
背景技术
汽车的电子系统包括多个电控单元(electronic control unit,ECU),ECU之间通过控制器局域网络(controller area network,CAN)总线并根据CAN通信协议通信。CAN通信协议中规定了数据帧的循环冗余校验码(cyclic redundancy check,CRC)段用于增强通信的可靠性,但未提供数据帧的加密和认证过程,无法增强通信的安全性。若攻击者控制汽车网关或某个CAN子网中的ECU,就可能向其它任意一个的CAN子网发送攻击信息,影响整个CAN网络中ECU的正常通信和运行。
而现有的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帧;判断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帧的传输速率,若所述传输速率大于或者等于预设阈值且所述传输速率连续大于或者等于预设阈值的次数达到预定数值,则判定所述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控制器判定所述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帧至网关或CAN子网。本发明的CAN报文的异常检测系统简单高效、安全性高、实用性强。
在一些示例中,所述标识符检测包括:将所述帧格式正确的所述CAN帧的标识符与第一CAN帧索引表或第二CAN帧索引表比对,若所述第一CAN帧索引表或所述第二CAN帧索引表中不存在所述标识符,则丢弃所述CAN帧并报警,反之则判定所述CAN帧的标识符合法。
在一些示例中,所述统计检测包括:检测所述标识符相同的所述CAN帧的传输速率,若所述传输速率大于或者等于预设阈值且所述传输速率连续大于或者等于预设阈值的次数达到预定数值,则判定所述CAN帧非法并报警,反之,则判定所述CAN帧合法。
在一些示例中,所述语义范围检测包括:检测所述CAN帧的数据域语义值是否在预设范围内,若是,则判定所述CAN帧合法,反之,则判定所述CAN帧非法并报警。
在一些示例中,所述语义相关性检测包括:检测所述CAN帧的数据域语义值的变化速率是否大于预设相关性阈值,若是,则判定所述CAN帧非法并报警,反之,则判定所述CAN帧合法。
在一些示例中,所述第一CAN收发器还用于,将合法的来自所述CAN子网的所述CAN帧发送至所述网关。
在一些示例中,所述第二CAN收发器还用于,将合法的来自所述网关的所述CAN帧发送至所述CAN子网。
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
图1是根据本发明一个实施例的CAN报文的异常检测方法的流程图;和
图2是根据本发明一个实施例的CAN报文的异常检测系统的结构框图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
下面结合图示详细说明本发明的CAN报文的异常检测方法及系统。
参阅图1,本发明实施例的CAN报文的异常检测方法,包括以下步骤:建立与车辆的CAN总线的网关和CAN子网的连接,从网关和CAN子网接收CAN帧,CAN帧包括标识符和数据域;判断CAN帧的帧格式是否正确,如果CAN帧的帧格式错误,则丢弃CAN帧并报警;如果CAN帧的帧格式正确,则进一步调用检测函数对CAN帧进行合法性检测;如果CAN帧非法,则判定CAN帧异常,丢弃CAN帧并报警,其中,检测函数包括对CAN帧的标识符、统计特性、语义范围和语义相关性的检测;如果CAN帧合法,则发送CAN帧至网关或CAN子网。具体的实现过程如下:
步骤S101,建立与车辆的CAN总线的网关和CAN子网的连接,从网关和CAN子网接收CAN帧,CAN帧包括标识符和数据域。
步骤S102,判断CAN帧的帧格式是否正确,如果CAN帧的帧格式错误,则丢弃CAN帧并报警。
具体地,CAN帧的帧格式检测的目的为了判断CAN帧是否符合CAN通信协议,CAN总线的通信协议,包括标识符(identifier,ID)域、控制域、数据域、校验域等各个部分位数、填充方式是否正确,同时也进行CRC校验,如果CAN帧的帧格式出现错误即丢弃此CAN帧并报警。
特别的,在步骤S102中对来自网关和CAN子网的CAN帧还进行所属帧类型的检测。即,判断接收到的CAN帧为数据帧、远程帧、错误帧、过载帧的一种。需要指出的是远程帧与数据帧的区别在于不包含数据域部分。对于错误帧和过载帧,仅进行帧格式检测。若错误帧和过载帧的帧格式无异常则使其通过检测,否则丢弃并报警。
步骤S103,如果CAN帧的帧格式正确,则进一步调用检测函数对CAN帧进行合法性检测。
具体地,如果CAN帧的帧格式正确,记录并存储此CAN帧的接收时间、标识符和数据域语义值。
进一步地,在本发明的一个实施例中,检测函数根据预设的第一CAN帧索引表和第二CAN帧索引表对来自网关或CAN子网的CAN帧进行检测。第一CAN帧索引表包括:来自网关的CAN帧的ID、CAN帧的标识符对应的数据域语义的最大值和最小值、帧时间间隔阈值、阈值计数值、上一帧的接收时间、上一帧的数据域语义值和相关性阈值。第二CAN帧索引表包括:来自CAN子网的CAN帧的标识符、CAN帧的标识符对应的数据域语义值的最大值和最小值、帧时间间隔阈值、阈值计数值、上一帧的接收时间、上一帧的数据域语义值和相关性阈值。如表1所示,第一CAN帧索引表或第二CAN帧索引表包括:CAN帧合法的ID、CAN帧合法的ID对应的数据域语义的最大值和最小值、帧时间间隔阈值、阈值计数值、上一帧的接收时间、上一帧的数据域语义值和相关性阈值等参数。在实现本发明的CAN报文异常检测方法之初,需对索引表进行初始化,其中,阈值计数值初始化为0。并在实施过程中,检测函数调用索引表,一个周期的检测结束后更新索引表。特别地,对于接收到的对应不同合法ID的第一个CAN帧,用第一个CAN帧的数据域语义值、接收时间更新索引表中上一帧的数据域语义值、上一帧的接收时间两个参数,但不进行与这两个参数相关的异常检测。
表1 CAN帧索引表
检测函数包括对CAN帧的ID、统计特性、语义范围和语义相关性的检测。具体地,
1、对于来自网关的CAN帧的合法性检测包括:
(1)ID检测为:将帧格式正确的CAN帧的ID与第一CAN帧索引表比对,若第一CAN帧索引表中不存在该ID,则丢弃此CAN帧并报警,反之则判定CAN帧的ID合法。
具体地,ID检测函数的输入参数为CAN帧的ID,利用二分法查找第一CAN帧索引表,如果在第一CAN帧索引表中未查到此ID,则判定该CAN帧为一个攻击帧,丢弃并报警;如果查找到此ID,返回此ID在第一CAN帧索引表中的存储地址,并将存储地址作为基准地址,调用第一CAN帧索引表其它参数时可以直接利用此存储地址和其它参数的偏移地址。
(2)统计特性检测为:检测ID相同的CAN帧的传输速率,若传输速率大于或者等于预设阈值且所述传输速率连续大于或者等于预设阈的次数达到预设数值,即阈值计数值达到某一限值则判定CAN帧非法并报警,反之,则判定CAN帧合法。
例如,检测ID相同的CAN帧的传输速率是否过高,可以通过比较相同ID的CAN帧的接收时间间隔与帧时间间隔阈值进行判断。如果接收时间间隔大于帧时间间隔阈值,则阈值计数值更新为0。如果接收时间间隔小于帧时间间隔阈值,则阈值计数值增加1并在CAN索引表中更新。当阈值计数值等于某个值n时,连续n个CAN帧的发送速率过高,判定遭到攻击并报警,并将阈值计数值更新为0。如果阈值计数值不为0且小于n,判定此CAN帧合法。
进一步地,可以通过调整统计特性检测函数中的n值设置不同的安全级别,n越小安全级别越高。
(3)语义范围检测:检测CAN帧的数据域语义值是否在预设范围内,若是,则判定CAN帧合法,反之,则判定CAN帧非法并报警。
如果CAN帧的数据域语义值超过其ID对应的CAN索引表中数据域语义值的最大值或者低于数据域语义值的最小值,则判定CAN帧遭到攻击并报警,反之,则判定CAN帧合法。
(4)语义相关性检测:检测CAN帧的数据域语义值的变化速率是否大于相关性阈值,若是,则判定CAN帧非法并报警,反之,则判定CAN帧合法。
具体地,CAN帧的ID对应的数据域语义值的变化速率即CAN帧与相同ID的上一CAN帧的数据域语义值的差值与接收时间间隔的比值,如果大于相关性阈值,判定该CAN帧非法并报警,反之,则判定CAN帧合法。
特别地,在实际运行中,检测结束后,需更新第一CAN帧索引表中上一CAN帧的接收时间、上一CAN帧的数据域语义值两个参数。
需要指出的是,由于远程帧不包含数据域部分,因此对远程帧只进行帧格式检测、标识符(ID)检测和统计检测。
2、对于来自CAN子网的CAN帧的合法性检测包括:
(1)ID检测为:将帧格式正确的CAN帧的ID与第二CAN帧索引表比对,若第二CAN帧索引表中不存在该ID,则丢弃此CAN帧并报警,反之则判定CAN帧的ID合法。
具体地,ID检测函数的输入参数为CAN帧的ID,利用二分法查找第二CAN帧索引表,如果在第二CAN帧索引表中未查到此ID,则判定该CAN帧为一个攻击帧,丢弃并报警;如果查找到此ID,返回此ID在第二CAN帧索引表中的存储地址,并将存储地址作为基准地址,调用第二CAN帧索引表其它参数时可以直接利用此存储地址和其它参数的偏移地址。
(2)统计特性检测为:检测ID相同的CAN帧的传输速率,若传输速率大于或者等于预设阈值且所述传输速率连续大于或者等于预设阈的次数达到预设数值,即阈值计数值达到某一限值,则判定CAN帧非法并报警,反之,则判定CAN帧合法。
例如,检测与ID相同的CAN帧的传输速率是否过高,可以通过比较相同ID的CAN帧的接收时间间隔与帧时间间隔阈值进行判断。如果接收时间间隔大于帧时间间隔阈值,则阈值计数值更新为0。如果接收时间间隔小于帧时间间隔阈值,则阈值计数值增加1并在CAN索引表中更新。当阈值计数值等于某个值n时,连续n个CAN帧的发送速率过高,判定遭到攻击并报警,并将阈值计数值更新为0。如果阈值计数值不为0且小于n,判定此CAN帧合法。
进一步地,可以通过调整统计特性检测函数中的n值设置不同的安全级别,n越小安全级别越高。
(3)语义范围检测:检测CAN帧的数据域语义值是否在预设范围内,若是,则判定CAN帧合法,反之,则判定CAN帧非法并报警。
如果CAN帧的数据域语义值超过其ID对应的CAN索引表中数据域语义值的最大值或者低于数据域语义值的最小值,则判定CAN帧遭到攻击并报警,反之,则判定CAN帧合法。
(4)语义相关性检测:检测CAN帧的数据域语义值的变化速率是否大于相关性阈值,若是,则判定CAN帧非法并报警,反之,则判定CAN帧合法。
具体地,CAN帧的ID对应的数据域语义值的变化速率即CAN帧与相同ID的上一CAN帧的数据域语义值的差值与接收时间差值的比值,如果大于相关性阈值,判定该CAN帧非法并报警,反之,则判定CAN帧合法。
特别地,在实际运行中,检测结束后,需更新第二CAN帧索引表中上一CAN帧的接收时间、上一CAN帧的数据域语义值两个参数。
需要指出的是,由于远程帧不包含数据域部分,因此对远程帧只进行帧格式检测、标识符(ID)检测和统计特性检测。
步骤S104,如果CAN帧合法,则发送CAN帧至网关或CAN子网。
根据本发明实施例的CAN报文的异常检测方法,通过建立与车辆的CAN总线的网关和CAN子网的连接,从CAN总线的网关和CAN子网接收CAN帧;判断CAN帧的帧格式是否正确,如果CAN帧的帧格式错误,则丢弃CAN帧并报警;如果CAN帧的帧格式正确,则进一步调用检测函数对CAN帧进行合法性检测;如果CAN帧非法,则判定CAN帧异常,丢弃CAN帧并报警。如果CAN帧合法,则发送CAN帧至网关或CAN子网。本发明的CAN报文的异常检测方法简单高效、安全性高、实用性强。
本发明第二方面的实施例提出一种CAN报文的异常检测系统100,包括:第一CAN收发器120、第一CAN控制器122、第二CAN收发器140、第二CAN控制器142、过滤器30、报警器50、微控制器20、第一CAN帧索引表42和第二CAN帧索引表44。
第一CAN收发器120与网关200连接,从网关200接收CAN帧,CAN帧包括标识符和数据域。第一CAN控制器122用于判断来自网关200的CAN帧的帧格式是否正确。第二CAN收发器140与CAN子网300连接,从CAN子网300接收CAN帧,CAN帧包括标识符和数据域。第二CAN控制器142用于判断来自CAN子网300的CAN帧的帧格式是否正确。
过滤器30包括检测函数。报警器50用于报警。
微控制器20分别与第一CAN控制器122、第二CAN控制器142、过滤器30和报警器50相连,用于在第一CAN控制器122或第二CAN控制器142判定CAN帧的帧格式错误时,丢弃CAN帧并控制报警器50报警,以及在CAN帧的帧格式正确时,调用过滤器30的检测函数对CAN帧进行合法性检测,如果CAN帧非法,则判定CAN帧异常,丢弃CAN帧并报警,其中,检测函数包括对CAN帧的标识符、统计特性、语义范围和语义相关性的检测。
特别地,对来自网关和CAN子网的CAN帧还进行所属帧类型的检测。即,判断接收到的CAN帧为数据帧、远程帧、错误帧、过载帧的一种。需要指出的是远程帧与数据帧的区别在于不包含数据域部分。对于错误帧和过载帧,仅进行帧格式检测。若错误帧和过载帧的帧格式无异常则使其通过检测,否则丢弃并报警。
与微控制器20相连的第一CAN帧索引表42和第二CAN帧索引表44,检测函数根据预设的第一CAN帧索引表42和第二CAN帧索引表44对CAN帧进行检测,其中,第一CAN帧索引表42包括:来自网关200的CAN帧的标识符、CAN帧的标识符对应的数据域语义值的最大值和最小值、帧时间间隔阈值、阈值计数值、上一帧的接收时间、上一帧的语义值和相关性阈值。第二CAN帧索引表44包括:来自CAN子网300的CAN帧的标识符、CAN帧的标识符对应的数据域语义值的最大值和最小值、帧时间间隔阈值、阈值计数值、上一帧的接收时间、上一帧的语义值和相关性阈值。如表2所示,第一CAN帧索引表或第二CAN帧索引表包括:CAN帧合法的ID、CAN帧合法的ID对应的数据域语义值的最大值和最小值、帧时间间隔阈值、阈值计数值、上一帧的接收时间、上一帧的数据域语义值和相关性阈值等参数。在实现本发明的CAN报文异常检测方法之初,需对索引表进行初始化,其中,阈值计数值初始化为0。并在实施过程中,检测函数调用索引表,一个周期的检测结束后更新索引表。特别地,对于接收到的对应不同合法ID的第一个CAN帧,用第一个CAN帧的数据域语义值、接收时间更新索引表中上一帧的接收时间、上一帧的数据域语义值两个参数,但不进行与这两个参数相关的异常检测。使用本发明的系统100与CAN总线网络相连,供电后即在对第一CAN帧索引表42和第二CAN帧索引表44进行初始化。其中,阈值计数值初始化为0。并在实施过程中,过滤器30的检测函数调用第一CAN帧索引表42或第二CAN帧索引表44,一个周期的检测结束后更新第一CAN帧索引表42或第二CAN帧索引表44。特别地,对于接收到的对应不同合法ID的第一个CAN帧,用第一个CAN帧的数据域语义值、接收时间更新索引表中上一帧的接收时间、上一帧的数据域语义值两个参数,但不进行与这两个参数相关的异常检测。
表2 CAN帧索引表
在本发明的一个实施例中,过滤器30的检测函数包括对CAN帧的ID、统计特性、语义范围和语义相关性的检测。具体地,
1、对于来自网关200的CAN帧的合法性检测包括:
(1)ID检测为:将帧格式正确的CAN帧的ID与第一CAN帧索引表42比对,若第一CAN帧索引表42中不存在该ID,则丢弃此CAN帧并报警,反之则判定CAN帧的ID合法。
具体地,ID检测函数的输入参数为CAN帧的ID,利用二分法查找第一CAN帧索引表42,如果在第一CAN帧索引表42中未查到此ID,则判定该CAN帧为一个攻击帧,丢弃并报警;如果查找到此ID,返回此ID在第一CAN帧索引表42中的存储地址,并将存储地址作为基准地址,调用第一CAN帧索引表42其它参数时可以直接利用此存储地址和其它参数的偏移地址。
(2)统计特性检测为:检测ID相同的CAN帧的传输速率,若传输速率大于或者等于预设阈值且所述传输速率连续大于或者等于预设阈的次数达到预设数值,即阈值计数值达到某一限值,则判定CAN帧非法并报警,反之,则判定CAN帧合法。
例如,检测ID相同的CAN帧的传输速率是否过高,可以通过比较相同ID的CAN帧的接收时间间隔与时间间隔阈值进行判断。如果接收时间间隔大于帧时间间隔阈值,则阈值计数值更新为0。如果接收时间间隔小于帧时间间隔阈值,则阈值计数值增加1并在CAN索引表中更新。当阈值计数值等于某个值n时,连续n个CAN帧的发送速率过高,判定CAN帧遭到攻击并报警,并将阈值计数值更新为0。如果阈值计数值不为0且小于n,判定此CAN帧合法。
进一步地,可以通过调整统计检测函数中的n值设置不同的安全级别,n越小安全级别越高。
(3)语义范围检测:检测CAN帧的数据域语义值是否在预设范围内,若是,则判定CAN帧合法,反之,则判定CAN帧非法并报警。
如果CAN帧的数据域语义值超过其ID对应的CAN索引表中数据域语义值的最大值或者低于数据域语义值的最小值,则判定CAN帧遭到攻击并报警,反之,则判定CAN帧合法。
(4)语义相关性检测:检测CAN帧的数据域语义值的变化速率是否大于相关性阈值,若是,则判定CAN帧非法并报警,反之,则判定CAN帧合法。
具体地,CAN帧的ID对应的数据域语义值的变化速率即CAN帧与相同ID的上一CAN帧的数据域语义值的差值与接收时间差值的比值,如果大于相关性阈值,判定该CAN帧非法并报警,反之,则判定CAN帧合法。
特别地,在实际运行中,检测结束后,需更新第一CAN帧索引表42中上一CAN帧的接收时间、上一CAN帧的数据域语义值两个参数。
需要指出的是,由于远程帧不包含数据域部分,因此对远程帧只进行帧格式检测、标识符(ID)检测和统计特性检测。
2、对于来自CAN子网300的CAN帧的合法性检测包括:
(1)ID检测为:将帧格式正确的CAN帧的ID与第二CAN帧索引表44比对,若第二CAN帧索引表44中不存在该ID,则丢弃此CAN帧并报警,反之则判定CAN帧的ID合法。
具体地,ID检测函数的输入参数为CAN帧的ID,利用二分法查找第二CAN帧索引表44,如果在第二CAN帧索引表44中未查到此ID,则判定该CAN帧为一个攻击帧,丢弃并报警;如果查找到此ID,返回此ID在第二CAN帧索引表44中的存储地址,并将存储地址作为基准地址,调用第二CAN帧索引表44其它参数时可以直接利用此存储地址和其它参数的偏移地址。
(2)统计特性检测为:检测ID相同的CAN帧的传输速率,若传输速率大于或者等于预设阈值且所述传输速率连续大于或者等于预设阈的次数达到预设数值,即阈值计数值达到某一限值,则判定CAN帧非法并报警,反之,则判定CAN帧合法。
例如,检测ID相同的CAN帧的传输速率是否过高,可以通过比较相同ID的CAN帧的接收时间间隔与时间间隔阈值进行判断。如果接收时间间隔大于帧时间间隔阈值,则阈值计数值更新为0。如果接收时间间隔小于帧时间间隔阈值,则阈值计数值增加1并在CAN索引表中更新。当阈值计数值等于某个值n时,连续n个CAN帧的发送速率过高,判定遭到攻击并报警,并将阈值计数值更新为0。如果阈值计数值不为0且小于n,判定此CAN帧合法。
进一步地,可以通过调整统计检测函数中的n值设置不同的安全级别,n越小安全级别越高。
(3)语义范围检测:检测CAN帧的数据域语义值是否在预设范围内,若是,则判定CAN帧合法,反之,则判定CAN帧非法并报警。
如果CAN帧的数据域语义值超过其ID对应的CAN索引表中数据域语义值的最大值或者低于数据域语义值的最小值,则判定CAN帧遭到攻击并报警,反之,则判定CAN帧合法。(4)语义相关性检测:检测CAN帧的数据域语义值的变化速率是否大于相关性阈值,若是,则判定CAN帧非法并报警,反之,则判定CAN帧合法。
具体地,CAN帧的ID对应的数据域语义值的变化速率即CAN帧与相同ID的上一CAN帧的数据域语义值的差值与接收时间间隔的比值,如果大于相关性阈值,判定该CAN帧非法并报警,反之,则判定CAN帧合法。
特别地,在实际运行中,检测结束后,需更新第二CAN帧索引表44中上一CAN帧的接收时间、上一CAN帧的数据域语义值两个参数。
需要指出的是,由于远程帧不包含数据域部分,因此对远程帧只进行帧格式检测、标识符(ID)检测和统计特性检测。
进一步地,当过滤器30检测来自网关200或CAN子网300的CAN帧合法后,在微控制器20的控制下,通过第一CAN收发器120或第二CAN收发器140发送合法的CAN帧至网关200或CAN子网300。
具体地,以图2为例,具体说明本发明的用于汽车CAN总线的异常检测系统100的工作过程:
(1)当第一CAN收发器120接收到来自网关200的CAN帧时,微控制器20控制第一CAN控制器122实现对CAN帧的帧格式检测。
若CAN帧的帧格式正确,则第一CAN控制器122发送数据帧至微控制器20。反之,则丢弃数据帧并通过微控制器20触发报警器50报警。微控制器20将帧格式正确的CAN帧发送至过滤器30。
过滤器30接收到帧格式正确的CAN帧并进行ID检测、统计特性检测、语义范围检测和语义相关性检测。当其中任意一个检测函数检测到CAN帧非法时,即丢弃CAN帧,并通过微控制器20触发报警器报警。
(2)当第二CAN收发器140接收到来自CAN子网300的CAN帧时,通过第二CAN控制器142发送信号至微控制器20,微控制器20控制第二CAN控制器142实现对CAN帧的帧格式检测。
若CAN帧的帧格式正确,则第二CAN控制器142发送数据帧至微控制器20。反之,则丢弃数据帧并通过微控制器20触发报警器50报警。微控制器20将帧格式正确的CAN帧发送至过滤器30。过滤器30接收到帧格式正确的CAN帧并进行ID检测、统计特性检测、语义范围检测和语义相关性检测。当其中任意一个检测函数检测到CAN帧非法时,即丢弃CAN帧,并通过微控制器20触发报警器报警。
当上述的合法性检测通过后,微控制器控制第一CAN收发器120或第二CAN收发器140将合法的CAN帧发送至网关200或CAN子网300。
根据本发明实施例的CAN报文的异常检测系统,通过第一CAN收发器和第二CAN收发器建立与车辆的CAN总线网络的连接,并从CAN总线网络的网关和CAN子网接收CAN帧。第一CAN控制器和第二CAN控制器判断CAN帧的帧格式是否正确,如果CAN帧的帧格式错误,则微控制器控制CAN控制器丢弃CAN帧并触发报警器报警。如果CAN帧的帧格式正确,则微控制器进一步控制过滤器调用检测函数对CAN帧进行合法性检测。如果CAN帧非法,则判定CAN帧异常,微控制器控制过滤器丢弃CAN帧并触发报警器报警。如果CAN帧合法,则微控制器控制第一CAN收发器或第二CAN收发器发送合法的CAN帧至网关或CAN子网。本发明的CAN报文的异常检测系统简单高效、安全性高、实用性强。
在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“长度”、“宽度”、“厚度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”“内”、“外”、“顺时针”、“逆时针”、“轴向”、“径向”、“周向”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
在本发明中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系,除非另有明确的限定。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
在本发明中,除非另有明确的规定和限定,第一特征在第二特征“上”或“下”可以是第一和第二特征直接接触,或第一和第二特征通过中间媒介间接接触。而且,第一特征在第二特征“之上”、“上方”和“上面”可是第一特征在第二特征正上方或斜上方,或仅仅表示第一特征水平高度高于第二特征。第一特征在第二特征“之下”、“下方”和“下面”可以是第一特征在第二特征正下方或斜下方,或仅仅表示第一特征水平高度小于第二特征。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。

Claims (12)

1.一种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帧的标识符对应的数据域语义值的最大值和最小值、帧时间间隔阈值、阈值计数值、上一帧的接收时间、上一帧的语义值和相关性阈值。
2.如权利要求1所述的方法,其特征在于,所述标识符检测包括:
将所述帧格式正确的所述CAN帧的标识符与第一CAN帧索引表或第二CAN帧索引表比对,若所述第一CAN帧索引表或所述第二CAN帧索引表中不存在所述标识符,则丢弃所述CAN帧并报警,反之则判定所述CAN帧的标识符合法。
3.如权利要求1所述的方法,其特征在于,所述统计检测包括:
检测所述标识符相同的所述CAN帧的传输速率,若所述传输速率大于或者等于预设阈值且所述传输速率连续大于或者等于预设阈值的次数达到预定数值,则判定所述CAN帧非法并报警,反之,则判定所述CAN帧合法。
4.如权利要求1所述的方法,其特征在于,所述语义范围检测包括:
检测所述CAN帧的数据域语义值是否在预设范围内,若是,则判定所述CAN帧合法,反之,则判定所述CAN帧非法并报警。
5.如权利要求1所述的方法,其特征在于,所述语义相关性检测包括:
检测所述CAN帧的数据域语义值的变化速率是否大于预设相关性阈值,若是,则判定所述CAN帧非法并报警,反之,则判定所述CAN帧合法。
6.一种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帧的标识符、统计特性、语义范围和语义相关性的检测;
还包括:与所述微控制器相连的第一CAN帧索引表和第二CAN帧索引表,所述检测函数根据预设的所述第一CAN帧索引表和所述第二CAN帧索引表对所述CAN帧进行检测,其中,所述第一CAN帧索引表包括:来自所述网关的所述CAN帧的标识符、所述CAN帧的标识符对应的数据域语义值的最大值和最小值、帧时间间隔阈值、阈值计数值、上一帧的接收时间、上一帧的语义值和相关性阈值;
所述第二CAN帧索引表包括:来自所述CAN子网的所述CAN帧的标识符、所述CAN帧的标识符对应的数据域语义值的最大值和最小值、帧时间间隔阈值、阈值计数值、上一帧的接收时间、上一帧的语义值和相关性阈值。
7.如权利要求6所述的系统,其特征在于,所述标识符检测包括:将所述帧格式正确的所述CAN帧的标识符与第一CAN帧索引表或第二CAN帧索引表比对,若所述第一CAN帧索引表或所述第二CAN帧索引表中不存在所述标识符,则丢弃所述CAN帧并报警,反之则判定所述CAN帧的标识符合法。
8.如权利要求6所述的系统,其特征在于,所述统计检测包括:
检测所述标识符相同的所述CAN帧的传输速率,若所述传输速率大于或者等于预设阈值且所述传输速率连续大于或者等于预设阈值的次数达到预设数值,则判定所述CAN帧非法并报警,反之,则判定所述CAN帧合法。
9.如权利要求6所述的系统,其特征在于,所述语义范围检测包括:
检测所述CAN帧的数据域语义值是否在预设范围内,若是,则判定所述CAN帧合法,反之,则判定所述CAN帧非法并报警。
10.如权利要求6所述的系统,其特征在于,所述语义相关性检测包括:
检测所述CAN帧的数据域语义值的变化速率是否大于预设相关性阈值,若是,则判定所述CAN帧非法并报警,反之,则判定所述CAN帧合法。
11.如权利要求6所述的系统,其特征在于,所述第一CAN收发器还用于,将合法的来自所述CAN子网的所述CAN帧发送至所述网关。
12.如权利要求6所述的系统,其特征在于,所述第二CAN收发器还用于,将合法的来自所述网关的所述CAN帧发送至所述CAN子网。
CN201410524934.5A 2014-10-08 2014-10-08 Can报文异常检测方法及系统 Active CN104301177B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410524934.5A CN104301177B (zh) 2014-10-08 2014-10-08 Can报文异常检测方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410524934.5A CN104301177B (zh) 2014-10-08 2014-10-08 Can报文异常检测方法及系统

Publications (2)

Publication Number Publication Date
CN104301177A CN104301177A (zh) 2015-01-21
CN104301177B true CN104301177B (zh) 2018-08-03

Family

ID=52320755

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410524934.5A Active CN104301177B (zh) 2014-10-08 2014-10-08 Can报文异常检测方法及系统

Country Status (1)

Country Link
CN (1) CN104301177B (zh)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6594732B2 (ja) * 2015-01-20 2019-10-23 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 不正フレーム対処方法、不正検知電子制御ユニット及び車載ネットワークシステム
CN104836636B (zh) * 2015-02-17 2019-02-26 华为技术有限公司 基于新型can帧进行通信的方法、装置及系统
CN104767618B (zh) * 2015-04-03 2018-02-09 清华大学 一种基于广播的can总线认证方法及系统
CN112261026B (zh) * 2015-08-31 2023-02-28 松下电器(美国)知识产权公司 不正常检测方法、不正常检测电子控制单元以及不正常检测系统
JP6525824B2 (ja) * 2015-08-31 2019-06-05 国立大学法人名古屋大学 中継装置
CN105893844A (zh) * 2015-10-20 2016-08-24 乐卡汽车智能科技(北京)有限公司 车辆总线网络的报文发送方法和装置
JP6286749B2 (ja) * 2015-10-21 2018-03-07 本田技研工業株式会社 通信システム、制御装置、及び制御方法
WO2017104096A1 (ja) * 2015-12-14 2017-06-22 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ セキュリティ装置、ネットワークシステム及び攻撃検知方法
WO2017104112A1 (ja) * 2015-12-16 2017-06-22 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ セキュリティ処理方法及びサーバ
WO2017119246A1 (ja) * 2016-01-08 2017-07-13 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 異常検知方法、異常検知装置及び異常検知システム
CN107426285B (zh) * 2017-05-19 2022-11-25 北京智联安行科技有限公司 一种车载can总线安全防护方法和装置
CN107454107B (zh) * 2017-09-15 2020-11-06 中国计量大学 一种检测注入式攻击的控制器局域网汽车总线报警网关
CN107948176A (zh) * 2017-12-03 2018-04-20 吴武飞 一种面向can网络的信息安全增强方法及控制器
CN108650152B (zh) * 2018-05-21 2020-08-11 新华三技术有限公司 异常报文确定方法、装置及计算机可读存储介质
JP7121737B2 (ja) * 2018-05-23 2022-08-18 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 異常検知装置、異常検知方法およびプログラム
CN109286547B (zh) 2018-08-30 2021-03-23 百度在线网络技术(北京)有限公司 报文处理方法、装置、电子控制单元及可读存储介质
CN111224917B (zh) * 2018-11-23 2021-11-23 广州汽车集团股份有限公司 一种汽车网关防火墙报文健康检查方法及网关装置、汽车
CN110351295A (zh) * 2019-07-22 2019-10-18 百度在线网络技术(北京)有限公司 报文检测方法和装置、电子设备、计算机可读介质
CN110750790B (zh) * 2019-09-06 2021-09-24 深圳开源互联网安全技术有限公司 Can总线漏洞的检测方法、装置、终端设备及介质
CN112153070B (zh) * 2020-09-28 2021-11-26 安徽江淮汽车集团股份有限公司 车载can总线的异常检测方法、设备、存储介质及装置
CN112637013B (zh) * 2020-12-21 2022-11-04 苏州三六零智能安全科技有限公司 Can总线报文异常检测方法及装置、设备、存储介质
CN113328919B (zh) * 2021-05-28 2023-10-10 江苏徐工工程机械研究院有限公司 一种can总线标识符、通信方法以及通信系统
CN113485284B (zh) * 2021-06-07 2023-04-07 岚图汽车科技有限公司 报文数据的处理方法、装置、设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102291334A (zh) * 2010-06-21 2011-12-21 哈尔滨工业大学 一种汽车车身can-lin网关的设计
CN104012065A (zh) * 2011-12-21 2014-08-27 丰田自动车株式会社 车辆网络监测方法及车辆网络监测装置
CN104079444A (zh) * 2013-03-27 2014-10-01 西门子公司 一种用于工业以太网数据帧深度检测的方法和装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102291334A (zh) * 2010-06-21 2011-12-21 哈尔滨工业大学 一种汽车车身can-lin网关的设计
CN104012065A (zh) * 2011-12-21 2014-08-27 丰田自动车株式会社 车辆网络监测方法及车辆网络监测装置
CN104079444A (zh) * 2013-03-27 2014-10-01 西门子公司 一种用于工业以太网数据帧深度检测的方法和装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Enhancing Security in CAN Systems using a Star Coupling Router;Roland Kammerer;《7th IEEE International Symposium on Industrial Embedded Systems (SIES"12)》;20120622;第237-246页 *

Also Published As

Publication number Publication date
CN104301177A (zh) 2015-01-21

Similar Documents

Publication Publication Date Title
CN104301177B (zh) Can报文异常检测方法及系统
CN104320295B (zh) Can报文异常检测方法及系统
CN107426285B (zh) 一种车载can总线安全防护方法和装置
US9231967B2 (en) Apparatus and method for detecting in-vehicle network attack
CN101589595B (zh) 用于潜在被污染端系统的牵制机制
JP4545647B2 (ja) 攻撃検知・防御システム
US20210185070A1 (en) Lightweight intrusion detection apparatus and method for vehicle network
CN106537872B (zh) 用于检测计算机网络中的攻击的方法
JP2017112590A (ja) 通信装置、通信方法、及び通信プログラム
EP3568963A1 (en) Security architecture for machine type communications
GB2532630A (en) Network intrusion alarm method and system for nuclear power station
CN109088743A (zh) 用于在安全系统中提供网络攻击的通知的系统和方法
EP1833227A1 (en) Intrusion detection in an IP connected security system
CN107135127A (zh) 一种网络流量异常检测方法及装置
KR20160002269A (ko) Sdn 기반의 arp 스푸핑 탐지장치 및 그 방법
US11700271B2 (en) Device and method for anomaly detection in a communications network
CN105791027A (zh) 一种工业网络异常中断的检测方法
US10187402B2 (en) Network intrusion mitigation
US20210329454A1 (en) Detecting Unauthorized Access to a Wireless Network
Dupont et al. Network intrusion detection systems for in-vehicle network-Technical report
CN103001958A (zh) 异常tcp报文处理方法及装置
CN112152972A (zh) 检测iot设备漏洞的方法和装置、路由器
CN114630329A (zh) 用于在peps场景中识别中继攻击的方法和设备
CN105721334B (zh) 确定传输路径和更新acl的方法及设备
CN100544288C (zh) 客户端及其连接侦测方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant