CN109617764A - Can报文检测方法和装置 - Google Patents
Can报文检测方法和装置 Download PDFInfo
- Publication number
- CN109617764A CN109617764A CN201811614174.1A CN201811614174A CN109617764A CN 109617764 A CN109617764 A CN 109617764A CN 201811614174 A CN201811614174 A CN 201811614174A CN 109617764 A CN109617764 A CN 109617764A
- Authority
- CN
- China
- Prior art keywords
- message
- current
- vehicle
- type
- operating data
- 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.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0805—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
- H04L43/0817—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking functioning
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/02—Capturing of monitoring data
- H04L43/028—Capturing of monitoring data by filtering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0823—Errors, e.g. transmission errors
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L2012/40208—Bus networks characterized by the use of a particular bus standard
- H04L2012/40215—Controller Area Network CAN
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Environmental & Geological Engineering (AREA)
- Small-Scale Networks (AREA)
Abstract
本申请实施例提供一种CAN报文检测方法和装置,该方法包括:获取车辆的当前运行数据,当前运行数据包括当前运行环境数据和/或当前运行状态数据;根据当前CAN报文与车辆的当前运行数据确定该当前CAN报文的类型,当前CAN报文的类型为正常报文、异常报文或可疑报文。本申请实施例综合考虑了车辆的当前运行数据和当前CAN报文,从而能够有效的检测异常CAN报文。
Description
技术领域
本申请实施例涉及通信技术,尤其涉及一种CAN报文检测方法和装置。
背景技术
车辆的电子系统包括多个电控单元(electronic control unit,ECU),ECU之间通过控制器局域网络(controller area network,简称CAN)总线并根据CAN通信协议通信。各ECU之间可通过汽车内部的CAN网关实现通信。
若ECU之间通信过程中,经CAN网关转发的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报文的类型的准确度,即可以有效的将异常报文检测出来。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的系统架构图;
图2为本申请提供的CAN报文检测方法实施例一的流程图;
图3为本申请提供的CAN报文检测方法实施例二的交互图;
图4为本申请提供的CAN报文检测装置实施例一的结构示意图;
图5为本申请提供的CAN报文检测装置实施例二的结构示意图;
图6为本申请提供的CAN报文检测装置实施例三的结构示意图;
图7为本申请提供的CAN报文检测装置实施例四的结构示意图;
图8为本申请提供的电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
具体地,本申请中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中a,b,c可以是单个,也可以是多个。本申请中术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
图1为本申请实施例提供的系统架构图。参见图1,该系统架构包括车辆、CAN网关和服务器;其中,CAN网关可位于车辆的内部。
具体地,CAN网关获取车辆的当前运行数据,根据当前CAN报文与车辆的当前运行数据,确定当前CAN报文的类型,CAN报文的类型为正常报文、异常报文或可疑报文。其中,当前CAN报文可为任一需要CAN网关转发的CAN报文。
其中,车辆的当前运行数据包括车辆的当前运行环境数据和/或当前运行状态数据。
本申请实施例综合考虑了车辆的当前运行数据和当前CAN报文,使得确定的CAN报文的类型比较准确,从而可以有效的将异常报文检测出来。
下面基于上述架构,结合具体的实施例对本申请的CAN报文检测方法进行说明。
图2为本申请提供的CAN报文检测方法实施例一的流程图,如图2所示,本实施例的方法可以包括:
步骤S101、CAN网关获取车辆的当前运行数据,车辆的当前运行数据包括车辆的当前运行环境数据和/或当前运行状态数据。
具体地,对于车辆的当前运行环境数据:CAN网关可从摄像头和/或激光雷达中获取摄像头和/或激光雷达采集到的路况数据,根据获取到的路况数据,得到车辆的当前运行环境数据。车辆的当前运行环境数据包括如下中的至少一项:在距离车辆的前方N米处具有一障碍物、障碍物的位置数据、前面M米处有一左拐路口和一又拐路口(无直行道路)、车辆的位置数据等等。
其中,CAN网关根据摄像头和/或激光雷达采集到的路况数据,得到车辆的当前运行环境数据的算法,可采用现有的算法,本实施例中不再赘述。
对于车辆的当前运行状态数据:CAN网关从车载远程信息处理器(TelematicsBOX,简称T-BOX)和/或车载专用中央处理器(In-Vehicle Infotainment简称IVI)和/或ECU中获取与车辆运行状态相关的数据,CAN网关根据获取的与车辆运行状态相关的数据得到车辆的当前运行状态数据。
其中,车辆的当前运行状态数据包括如下中的至少一项:车辆的速度、加速度、车辆内安装的各处理系统均处于联网状态,车辆内安装的各处理系统均处于非联网状态、车辆内安装的各处理系统存在安全漏洞,车辆内安装的各处理系统不存在安全漏洞、车辆内安装的各处理系统疑似存在安全漏洞等等。
其中,CAN网关根据从T-BOX、IVI和/或ECU中获取的与车辆运行状态相关的数据,得到车辆的当前运行状态数据的算法可参照现有的算法,本实施例中不再赘述。
步骤S102、CAN网关根据当前CAN报文与车辆的当前运行数据,确定当前CAN报文的类型,该类型为正常报文、异常报文或可疑报文。
具体地,对于可疑报文,在CAN网关无法确定当前CAN报文是正常报文还是异常报文时,当前CAN报文即为可疑报文。
在一种方式中:根据当前CAN报文与车辆的当前运行数据,确定当前CAN报文的类型,包括:
a1、确定当前CAN报文与车辆的当前运行数据是否匹配;
其中,本实施例中的当前CAN报文与车辆的当前运行数据是否匹配是指:当前CAN报文是否与车辆的当前运行数据相符合。
确定当前CAN报文与车辆的当前运行数据是否匹配,实际上为判断当前CAN报文包括的各字段的信息或者当前CAN报文的内容是否与车辆的当前运行数据匹配。当前CAN报文的内容可包括如下中的至少一项:发送当前CAN报文的源头的标识或IP地址、当前CAN报文对应的命令(比如刹车命令、开门命令、关门命令)以及当前CAN报文中包括的其它字段的信息。
a2、如果当前CAN报文与车辆的当前运行数据匹配,则确定当前CAN报文的类型为正常报文;
如果当前CAN报文与车辆的当前运行数据不匹配,则确定当前CAN报文的类型为异常报文;
如果无法确定当前CAN报文与车辆的当前运行数据是否匹配,则确定当前CAN报文的类型为可疑报文。
在另一种方式中,在根据当前CAN报文与车辆的当前运行数据,确定当前CAN报文的类型之前,还可包括:根据当前CAN报文,确定当前CAN报文的预选类型为正常报文或可疑报文。
具体地,可先根据当前CAN报文,确定当前CAN报文的预选类型,即先不考虑车辆的当前运行数据,先根据当前CAN报文的内容,对当前报文进行一次筛选。
比如,可采用深度包检测(deep packet inspection,简称DPI)对应的报文检测应用程序,根据当前CAN报文,确定当前CAN报文的预选类型。其中,DPI涉及的算法可参照目前已有的算法,本实施例中不再赘述。
如果确定的预选类型为异常报文,则直接确定该当前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,0);由于异常报文的内容与异常报文对应的车辆的当前运行数据是不匹配的,因此,包括异常报文的内容和异常报文对应的车辆的当前运行数据的样本的标签可为(0,1),由于异常报文的内容与异常报文对应的车辆的当前运行数据是不匹配的,因此,包括异常报文的内容和异常报文对应的车辆的当前运行数据的样本的标签可为(0.5,0.5)。
将得到的机器学习模型存储在CAN网关中。在实际CAN报文类型检测过程中,将该CAN网关获取到的车辆运行数据和该当前CAN报文作为上述得到的机器学习模型的输入,输出一目标标签,该目标标签用于指示该当前CAN报文与车辆运行数据是否匹配。比如,输出为(0.9,0.1)则认为该当前CAN报文与车辆运行数据匹配,并确定该当前CAN报文为正常报文,输出为(0.1,0.9)则认为该当前CAN报文与车辆运行数据不匹配,并确定该当前CAN报文为异常报文,输出为(0.51,0.49)则认为无法确定该当前CAN报文与车辆运行数据是否匹配,并确定该当前CAN报文为可疑报文。
接着采用具体的示例说明该步骤。
示例性地,车辆的当前运行状态数据中包括车辆当前的行驶速度为60km/h,当前CAN报文对应的命令为开门指令,由于正在行驶过程接收到这个指令是不正常的。但是由于在车辆上具有儿童,儿童可能会由于顽皮打开车门,因此,如果该当前CAN报文是车辆自身发出的,则可认为当前CAN报文与车辆的当前运行数据匹配,确定当前CAN报文的类型为正常报文。
示例性地,车辆的当前运行状态数据中包括车辆当前的行驶速度为60km/h,当前CAN报文对应的命令为刹车命令且当前CAN报文的源头的标识指示该当前CAN报文是另一远程设备发送过来的,则可认为当前CAN报文与车辆的当前运行数据不匹配,确定当前CAN报文的类型为异常报文;这是因为在车辆行驶过程中,刹车命令不可能携带在远程设备发送的报文中。
示例性地,车辆的当前运行状态数据中包括车辆当前的行驶速度为60km/h,加速度为-30km2/h,当前CAN报文对应的命令为刹车命令且当前CAN报文的源头的标识指示该当前CAN报文是该车辆发送来的,则可认为当前CAN报文与车辆的当前运行数据匹配,确定当前CAN报文为正常报文。如果根据当前CAN报文的内容,再次确定的当前CAN报文的类型为异常报文,则确定当前CAN报文的最终类型为异常报文。
本实施例中在检测CAN报文时,综合考虑了CAN报文本身和车辆的当前运行数据,提高了检测得到的CAN报文的类型的准确度,即可以有效的将异常报文检测出来。
为了进一步的提高确定CAN报文的类型的准确度,本实施例在上一实施例的基础上作了改进。图3为本申请提供的CAN报文检测方法实施例二的交互图,如图3所示,本实施例的方法可以包括:
步骤S201、CAN网关获取车辆的当前运行数据。
具体地,步骤S201的具体实现,参照图2所示的实施例中步骤S101的具体实现。
步骤S202、CAN网关根据当前CAN报文和车辆的当前运行数据,确定当前CAN报文的类型;CAN报文的类型为正常报文、异常报文或可疑报文。
具体地,CAN网关根据当前CAN报文和车辆的当前运行数据确定当前CAN报文的类型可采用报文检测应用程序实现。报文检测应用程序可为能够实现根据当前CAN报文和车辆的当前运行数据,确定当前CAN报文的类型的应用程序。
如果CAN网关确定当前CAN报文的类型为可疑报文,则执行步骤S203~步骤S204。
步骤S203、CAN网关将车辆的当前运行数据和当前CAN报文发送至服务器。
具体地,如果CAN网关确定当前CAN报文的类型为可疑报文,则CAN网关将车辆的当前运行数据和当前CAN报文发送至服务器,以使服务器来确定当前CAN报文的类型。
步骤S204、服务器根据当前CAN报文和车辆的当前运行数据确定当前CAN报文的类型。
具体地,服务器根据当前CAN报文和车辆的当前运行数据确定当前CAN报文的类型可以是采用服务器中安装的报文检测应用程序实现的。
其中,服务器根据当前CAN报文和车辆的当前运行数据确定当前CAN报文的类型方法,与CAN网关根据当前CAN报文和车辆的当前运行数据确定当前CAN报文的类型的方法相同。
可以理解的是,服务器中安装的能够实现根据当前CAN报文和车辆的当前运行数据确定当前CAN报文的类型的报文检测应用程序的版本与CAN网关中安装的能够实现根据当前CAN报文和车辆的当前运行数据确定当前CAN报文的类型的报文检测应用程序的版本可相同也可不相同。
如果服务器确定当前CAN报文的类型正常报文或异常报文,继续执行步骤S205~步骤S206。
步骤S205、服务器发送报文检测结果至CAN网关,报文检测结果为当前CAN报文的类型为正常报文或者异常报文。
步骤S206、服务器发送服务器中安装的报文检测应用程序的安装包至CAN网关。
具体地,如果服务器确定当前CAN报文的类型正常报文或异常报文,则说明服务器内安装的上述报文检测应用程序的版本高于CAN网关内安装的上述报文检测应用程序的版本。此时,服务器发送服务器中安装的报文检测应用程序的安装包至CAN网关。其中,服务器中安装的报文检测应用程序的安装包可以是服务器内缓存的,也可以为服务器从其它服务器中获取的。
如果在根据当前CAN报文与车辆的当前运行数据,确定当前CAN报文的类型之前还包括根据当前CAN报文确定当前CAN报文的预选类型为正常报文或可疑报文,或者,在根据当前CAN报文与车辆的当前运行数据,确定当前CAN报文的类型之后还包括根据当前CAN报文再次确定当前CAN报文的类型,且服务器确定当前CAN报文的类型正常报文或异常报文,则服务器还可将服务器中安装的能够实现“根据当前CAN报文,确定当前CAN报文的类型”的报文检测应用程序发送至CAN网关。
步骤S206、CAN网关根据服务器发送的报文检测应用程序的安装包,升级CAN网关安装的报文检测应用程序。
具体地,升级方法可参照现有的算法,本实施例中不再赘述。
本实施例通过更新CAN网关中的报文检测应用程序,使得CAN网关确定CAN报文的类型的准确度提高,即可有效的将异常CAN报文检测出来。同时,CAN网关中的报文检测应用程序保持最新版本,可增加确定的CAN报文的类型为正常报文或异常报文的概率,从而减少了需要服务器再次检测的几率,进而提高了CAN网关确定CAN报文的类型的效率。
以上结合图2~图3对本申请实施例的CAN报文检测方法进行了说明。下面采用结合图4~图7对本申请实施例的CAN报文检测方法进行说明。
图4为本申请提供的CAN报文检测装置实施例一的结构示意图,如图4所示,本实施例的装置可以包括:获取模块41和确定模块42。
获取模块41,用于获取车辆的当前运行数据;
确定模块42,用于根据当前CAN报文与所述车辆的当前运行数据,确定所述当前CAN报文的类型,所述类型为正常报文、异常报文或可疑报文。可选地,所述车辆的当前运行数据包括所述车辆的当前运行环境数据和/或当前运行状态数据。
可选地,所述确定模块,具体用于:
确定所述当前CAN报文与所述车辆的当前运行数据是否匹配;
如果所述当前CAN报文与所述车辆的当前运行数据匹配,则确定所述当前CAN报文的类型为正常报文;
如果所述当前CAN报文与所述车辆的当前运行数据不匹配,则确定所述当前CAN报文的类型为异常报文;
如果无法确定所述当前CAN报文与所述车辆的当前运行数据是否匹配,则确定所述当前CAN报文的类型为可疑报文。
在一种可能的设计中,所述确定模块,具体用于:
将所述当前CAN报文的内容和所述车辆的当前运行数据输入预先训练好的机器学习模型,输出目标标签,所述目标标签用于指示所述当前CAN报文与所述车辆的当前运行数据是否匹配。
本实施例的装置,可以用于执行图2所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
图5为本申请提供的CAN报文检测装置实施例二的结构示意图,如图5所示,本实施例的装置在图4所示装置结构的基础上,进一步地,还可以包括:发送模块43、接收模块44和升级模块45。
如果所述当前CAN报文的类型为可疑报文,则所述发送模块43,用于将所述车辆的当前运行数据和所述当前CAN报文发送至服务器;
所述接收模块44,用于接收所述服务器返回的结果,所述结果为当前CAN报文的类型为正常报文或者异常报文。
所述接收模块44,还用于接收服务器发送的报文检测应用程序的安装包;所述升级模块45,用于根据所述报文检测应用程序的安装包,升级所述CAN网关中安装的报文检测应用程序,所述报文检测应用程序用于确定所述当前CAN报文的类型。
本实施例的装置,可以用于执行图2或图3所示方法实施例中CAN网关对应的技术方案,其实现原理和技术效果类似,此处不再赘述。
图6为本申请提供的CAN报文检测装置实施例三的结构示意图,如图6所示,本实施例的装置可以包括:接收模块51和确定模块52。
接收模块,用于从CAN网关接收车辆的当前运行数据;
确定模块,用于根据当前CAN报文与所述车辆的当前运行数据,确定所述当前CAN报文的类型,所述类型为正常报文、异常报文或可疑报文。
本实施例的装置,可以用于执行图3所示方法实施例中服务器对应的技术方案,其实现原理和技术效果类似,此处不再赘述。
图7为本申请提供的CAN报文检测装置实施例四的结构示意图,如图7所示,本实施例的装置在图6所示装置结构的基础上,进一步地,还可以包括:发送模块53。
所述发送模块53,用于向所述CAN网关发送报文检测结果,所述接报文检测结果为所述当前CAN报文的类型为正常报文或者异常报文。
所述发送模块53,还用于向所述CAN网关发送所述服务器中安装的报文检测应用程序的安装包,所述服务器中安装的报文检测应用程序的安装包用于所述CAN网关升级所述CAN网关中安装的报文检测应用程序,所述报文检测应用程序用于确定所述当前CAN报文的类型。
本实施例的装置,可以用于执行图3所示方法实施例中服务器对应的技术方案,其实现原理和技术效果类似,此处不再赘述。
图8为本申请实施例提供的电子设备的结构示意图,参见图8,本实施例的服务器包括:处理器62、存储器61和通信总线63,通信总线63用于连接处理器62和存储器61,处理器62与存储器61耦合;
所述存储器61用于,存储计算机程序;
所述处理器62用于,调用所述存储器61中存储的计算机程序,以实现上述方法实施例中会议电话机或服务器的方法。
其中,计算机程序还可存储在电子设备外部的存储器中。
应理解,在本申请实施例中,该处理器62可以是CPU,该处理器62还可以是其他通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者是任何常规的处理器等。
该存储器61可以包括只读存储器和随机存取存储器,并向处理器62提供指令和数据。存储器61还可以包括非易失性随机存取存储器。例如,存储器61还可以存储设备类型的信息。
该存储器61可以是易失性存储器或非易失性存储器,或均可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data date SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlinkDRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,DR RAM)。
该总线63除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都标为总线63。
本申请实施例提供一种可读存储介质,包括程序或指令,当所述程序或指令在计算机上运行时,如上述任意方法实施例中CAN网关或服务器所述的方法被执行。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
Claims (18)
1.一种CAN报文检测方法,应用于CAN网关,其特征在于,包括:
获取车辆的当前运行数据,所述当前运行数据包括当前运行环境数据和/或当前运行状态数据;
根据当前CAN报文与所述车辆的当前运行数据,确定所述当前CAN报文的类型,所述类型为正常报文、异常报文或可疑报文。
2.根据权利要求1所述的方法,其特征在于,根据当前CAN报文与所述车辆的当前运行数据,确定所述当前CAN报文的类型,包括:
确定所述当前CAN报文与所述车辆的当前运行数据是否匹配;
如果所述当前CAN报文与所述车辆的当前运行数据匹配,则确定所述当前CAN报文的类型为正常报文;
如果所述当前CAN报文与所述车辆的当前运行数据不匹配,则确定所述当前CAN报文的类型为异常报文;
如果无法确定所述当前CAN报文与所述车辆的当前运行数据是否匹配,则确定所述当前CAN报文的类型为可疑报文。
3.根据权利要求2所述的方法,其特征在于,如果所述当前CAN报文的类型为可疑报文,则所述方法还包括:
将所述车辆的当前运行数据和所述当前CAN报文发送至服务器;
接收所述服务器返回的结果,所述结果为所述当前CAN报文的类型为正常报文或者异常报文。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
接收服务器发送的报文检测应用程序的安装包;
根据所述报文检测应用程序的安装包,升级所述CAN网关中安装的报文检测应用程序,所述报文检测应用程序用于确定所述当前CAN报文的类型。
5.根据权利要求2至4中任一项所述的方法,其特征在于,所述确定所述当前CAN报文与所述车辆的当前运行数据是否匹配,包括:
将所述当前CAN报文的内容和所述车辆的当前运行数据输入预先训练好的机器学习模型,输出目标标签,所述目标标签用于指示所述当前CAN报文与所述车辆的当前运行数据是否匹配。
6.一种CAN报文检测方法,应用于服务器,其特征在于,包括:
从CAN网关接收车辆的当前运行数据;
根据当前CAN报文与所述车辆的当前运行数据,确定所述当前CAN报文的类型,所述类型为正常报文、异常报文或可疑报文。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
向所述CAN网关发送报文检测结果,所述报文检测结果为所述当前CAN报文的类型为正常报文或者异常报文。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
向所述CAN网关发送所述服务器中安装的报文检测应用程序的安装包,所述服务器中安装的报文检测应用程序的安装包用于所述CAN网关升级所述CAN网关中安装的报文检测应用程序,所述报文检测应用程序用于确定所述当前CAN报文的类型。
9.一种CAN报文检测装置,其特征在于,包括:
获取模块,用于获取车辆的当前运行数据,所述当前运行数据包括当前运行环境数据和/或当前运行状态数据;
确定模块,用于根据当前CAN报文与所述车辆的当前运行数据,确定所述当前CAN报文的类型,所述类型为正常报文、异常报文或可疑报文。
10.根据权利要求9所述的装置,其特征在于,所述确定模块,具体用于:
确定所述当前CAN报文与所述车辆的当前运行数据是否匹配;
如果所述当前CAN报文与所述车辆的当前运行数据匹配,则确定所述当前CAN报文的类型为正常报文;
如果所述当前CAN报文与所述车辆的当前运行数据不匹配,则确定所述当前CAN报文的类型为异常报文;
如果无法确定所述当前CAN报文与所述车辆的当前运行数据是否匹配,则确定所述当前CAN报文的类型为可疑报文。
11.根据权利要求10所述的装置,其特征在于,还包括发送模块和接收模块;
如果所述当前CAN报文的类型为可疑报文,则所述发送模块,用于将所述车辆的当前运行数据和所述当前CAN报文发送至服务器;
所述接收模块,用于接收所述服务器返回的结果,所述结果为当前CAN报文的类型为正常报文或者异常报文。
12.根据权利要求11所述的装置,其特征在于,
所述接收模块,用于接收服务器发送的报文检测应用程序的安装包;
还包括:升级模块;所述升级模块,用于根据所述报文检测应用程序的安装包,升级所述CAN网关中安装的报文检测应用程序,所述报文检测应用程序用于确定所述当前CAN报文的类型。
13.根据权利要求10至12中任一项所述的装置,其特征在于,所述确定模块,具体用于:
将所述当前CAN报文的内容和所述车辆的当前运行数据输入预先训练好的机器学习模型,输出目标标签,所述目标标签用于指示所述当前CAN报文与所述车辆的当前运行数据是否匹配。
14.一种CAN报文检测装置,其特征在于,包括:
接收模块,从CAN网关接收车辆的当前运行数据;
确定模块,根据当前CAN报文与所述车辆的当前运行数据,确定所述当前CAN报文的类型,所述类型为正常报文、异常报文或可疑报文。
15.根据权利要求14所述的装置,其特征在于,还包括:发送模块;
所述发送模块,用于向所述CAN网关发送报文检测结果,所述接报文检测结果为所述当前CAN报文的类型为正常报文或者异常报文。
16.根据权利要求15所述的装置,其特征在于,所述发送模块,还用于向所述CAN网关发送所述服务器中安装的报文检测应用程序的安装包,所述服务器中安装的报文检测应用程序的安装包用于所述CAN网关升级所述CAN网关中安装的报文检测应用程序,所述报文检测应用程序用于确定所述当前CAN报文的类型。
17.一种可读存储介质,其特征在于,包括程序或指令,当所述程序或指令在计算机上运行时,权利要求1~5或6~8任一所述的方法被执行。
18.一种电子设备,其特征在于,包括:处理器,所述处理器与存储器耦合;
所述存储器用于,存储计算机程序;
所述处理器用于,调用所述存储器中存储的计算机程序,以实现权利要求1~5或6~8任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811614174.1A CN109617764A (zh) | 2018-12-27 | 2018-12-27 | Can报文检测方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811614174.1A CN109617764A (zh) | 2018-12-27 | 2018-12-27 | Can报文检测方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109617764A true CN109617764A (zh) | 2019-04-12 |
Family
ID=66012248
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811614174.1A Pending CN109617764A (zh) | 2018-12-27 | 2018-12-27 | Can报文检测方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109617764A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110228508A (zh) * | 2019-06-12 | 2019-09-13 | 中国神华能源股份有限公司 | 列车过车报文异常检测方法及检测装置 |
CN110351295A (zh) * | 2019-07-22 | 2019-10-18 | 百度在线网络技术(北京)有限公司 | 报文检测方法和装置、电子设备、计算机可读介质 |
CN113163369A (zh) * | 2020-01-20 | 2021-07-23 | 北京新能源汽车股份有限公司 | 一种车辆入侵防御处理方法、装置及汽车 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106878130A (zh) * | 2017-03-14 | 2017-06-20 | 成都雅骏新能源汽车科技股份有限公司 | 一种电动汽车can网络异常检测方法及装置 |
CN106899614A (zh) * | 2017-04-14 | 2017-06-27 | 北京洋浦伟业科技发展有限公司 | 基于报文周期的车内网络入侵检测方法及装置 |
CN107426285A (zh) * | 2017-05-19 | 2017-12-01 | 北京软安科技有限公司 | 一种车载can总线安全防护方法和装置 |
CN108390869A (zh) * | 2018-02-08 | 2018-08-10 | 成都信息工程大学 | 集成深度学习的车载智能网关装置及其命令序列检测方法 |
CN108848072A (zh) * | 2018-05-25 | 2018-11-20 | 东南大学 | 一种基于相对熵的车载can总线异常检测方法 |
-
2018
- 2018-12-27 CN CN201811614174.1A patent/CN109617764A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106878130A (zh) * | 2017-03-14 | 2017-06-20 | 成都雅骏新能源汽车科技股份有限公司 | 一种电动汽车can网络异常检测方法及装置 |
CN106899614A (zh) * | 2017-04-14 | 2017-06-27 | 北京洋浦伟业科技发展有限公司 | 基于报文周期的车内网络入侵检测方法及装置 |
CN107426285A (zh) * | 2017-05-19 | 2017-12-01 | 北京软安科技有限公司 | 一种车载can总线安全防护方法和装置 |
CN108390869A (zh) * | 2018-02-08 | 2018-08-10 | 成都信息工程大学 | 集成深度学习的车载智能网关装置及其命令序列检测方法 |
CN108848072A (zh) * | 2018-05-25 | 2018-11-20 | 东南大学 | 一种基于相对熵的车载can总线异常检测方法 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110228508A (zh) * | 2019-06-12 | 2019-09-13 | 中国神华能源股份有限公司 | 列车过车报文异常检测方法及检测装置 |
CN110228508B (zh) * | 2019-06-12 | 2021-10-12 | 中国神华能源股份有限公司 | 列车过车报文异常检测方法及检测装置 |
CN110351295A (zh) * | 2019-07-22 | 2019-10-18 | 百度在线网络技术(北京)有限公司 | 报文检测方法和装置、电子设备、计算机可读介质 |
CN113163369A (zh) * | 2020-01-20 | 2021-07-23 | 北京新能源汽车股份有限公司 | 一种车辆入侵防御处理方法、装置及汽车 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10382466B2 (en) | Cooperative cloud-edge vehicle anomaly detection | |
US10958675B2 (en) | Method for the automated creation of rules for a rule-based anomaly recognition in a data stream | |
US10498749B2 (en) | Systems and methods for in-vehicle network intrusion detection | |
US11423145B2 (en) | Methods and arrangements for multi-layer in-vehicle network intrusion detection and characterization | |
CN109617764A (zh) | Can报文检测方法和装置 | |
CN109495438B (zh) | 用于车内网络入侵检测的系统和方法 | |
CN106650505A (zh) | 一种车辆攻击检测方法和装置 | |
US20220164248A1 (en) | A system and method for labeling bits of controller area network (can) messages | |
US10109196B2 (en) | Real-time monitoring and diagnostic processing of traffic control data | |
Taylor et al. | Probing the limits of anomaly detectors for automobiles with a cyberattack framework | |
CN111447166B (zh) | 车辆攻击检测方法及装置 | |
Narayanan et al. | Security in smart cyber-physical systems: a case study on smart grids and smart cars | |
WO2020208639A2 (en) | A system and method for detection of anomalous controller area network (can) messages | |
US11868222B2 (en) | System and method for integration testing | |
CN107450525A (zh) | 车辆故障检测装置与方法 | |
EP3878154A1 (de) | Datenvermittlungsvorrichtung und datenvermittlungsverfahren für ein fahrzeug, vorrichtung und verfahren für eine fahrzeugkomponente eines fahrzeugs und computerprogramm | |
CN110333712A (zh) | 车辆故障诊断方法及系统 | |
CN111903095B (zh) | 检测装置及其方法以及记录介质 | |
CN106557773A (zh) | 一种车辆故障诊断的方法及系统 | |
CN106487630A (zh) | 一种基于测试用例检测汽车安全性的方法和装置 | |
CN106603360A (zh) | 基于总线批量数据测试汽车总线安全性的方法和装置 | |
CN106096036B (zh) | 一种can-bus总线的数据解析方法和系统 | |
US20230283617A1 (en) | Attack analysis device, attack analysis method, and non-transitory computer-readable recording medium | |
US11810409B2 (en) | Automotive network vehicle bus diagnostics | |
CN115384536A (zh) | 一种驾驶辅助系统控制器的评估方法、装置、设备及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190412 |