CN116915589A - 一种车载can总线网络报文异常检测方法 - Google Patents
一种车载can总线网络报文异常检测方法 Download PDFInfo
- Publication number
- CN116915589A CN116915589A CN202311168443.7A CN202311168443A CN116915589A CN 116915589 A CN116915589 A CN 116915589A CN 202311168443 A CN202311168443 A CN 202311168443A CN 116915589 A CN116915589 A CN 116915589A
- Authority
- CN
- China
- Prior art keywords
- time
- current
- message
- diff
- vehicle
- 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
- 238000001514 detection method Methods 0.000 title claims abstract description 32
- 238000000034 method Methods 0.000 claims abstract description 25
- 230000002159 abnormal effect Effects 0.000 claims description 16
- 238000012545 processing Methods 0.000 claims description 6
- 230000009471 action Effects 0.000 claims description 2
- 238000004422 calculation algorithm Methods 0.000 abstract description 9
- 230000008569 process Effects 0.000 abstract description 4
- 230000007547 defect Effects 0.000 abstract description 3
- 230000005856 abnormality Effects 0.000 description 8
- 230000005540 biological transmission Effects 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 230000009191 jumping Effects 0.000 description 3
- 230000000737 periodic effect Effects 0.000 description 3
- 238000013024 troubleshooting Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000008054 signal transmission Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000001351 cycling effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0677—Localisation of faults
-
- 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/50—Testing arrangements
-
- 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
-
- 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/40267—Bus for use in transportation systems
- H04L2012/40273—Bus for use in transportation systems the transportation system being a vehicle
Abstract
本发明公开了一种车载CAN总线网络报文异常检测方法,属于车载信息检测领域,方法包括以下步骤:步骤一:通过Spy3接口实时读取当前车载CAN总线数据报文,并初始化;步骤二:对读取到的报文进行处理,通过比较读取到的报文ID与当前已处理过的所有报文ID是否相同来判断当前ID是否为首次出现的ID,本发明克服了传统检测方法性能低下、消耗硬件资源以及成本高等不足之处,本发明实时分析总线上的报文特征,报文接收完毕即统计完毕;报文接收过程中计算量小,不影响报文接收的实时性;算法复杂度低;对操作资源占用少。
Description
技术领域
本发明属于车载信息检测领域,具体涉及一种车载CAN总线网络报文异常检测方法。
背景技术
本发明主要针对汽车CAN总线网络信号周期发送的异常检测技术。近年来汽车中的CAN总线信号越来越多,CAN总线负载率越来越大,而在整车对CAN信号发送的实时性要求也越来越高,CAN信号在车载功能占比也越来越大,CAN网络信号发送的周期必须符合要求,因此拥有精准的CAN信号周期算法检测越来越重要。
目前常用的CAN信号周期异常检测有以下几种:
1)基于统计方法的异常检测算法:通过计算一个时间窗口内CAN总线上不同ID的报文频率,得到总线上的信息熵;
2)基于报文间隔的异常检测算法:依据在正常情况下一些 ECU 会周期性的发送报文这一特点,通过检测相邻两条消息的时间间隔来判断异常,如果两条连续的同 ID 报文的时间间隔小于阈值,就判断为异常;
3)基于频率的异常检测算法:通过计算一个滑动时间窗内报文频率,与历史平均记录进行比较来报告异常。
以上方式都存在一些弊端,方法1)只有在大量报文异常时总线上的信息熵才会引起变化;方法2)没有考虑到非周期报文对报文间隔值的影响,而且不能检测非周期报文的异常。方法3)不能定位异常报文。
发明内容
本发明根据CAN总线网络报文的特征,提出一种车载CAN总线网络报文异常检测方法,目的在于克服上述现有技术中针对传统检测方法性能低下、消耗硬件资源以及成本高等不足之处,提供一种易于实现、低成本、高性能以及高准确率的汽车CAN总线网络报文异常检测算法,本发明的技术方案如下:一种车载CAN总线网络报文异常检测方法,方法包括以下步骤:
步骤一:实时读取当前车载CAN总线数据报文,并初始化;
步骤二:对读取到的报文进行处理,通过比较读取到的报文的ID与当前已处理过的所有报文ID是否相同来判断当前ID是否为首次出现的ID。如果该ID是首次出现,则需要记录下该ID首次出现的时间(即Init_Time),并将Max_Time初始化为0、Min_Time初始化为正无穷大。对于CAN总线上读取到的报文,一般包括ID标识符,用于区分不同类型的报文;Data数据域,包含实际传输的数据信息;DLC数据长度码,表示Data中实际传输数据所占用的字节数。处理当前ID是否为首次出现的目的在于记录每个ID首次出现的时间,方便后续计算Diff_Time时能够准确地计算每个ID之间的时间间隔。这样做便于检测和排除故障,并提高系统稳定性和可靠性。
优选地,步骤一包括:
以ID为标识符,并初始化总ID的个数Count1为0,本步骤的目的是初始化总ID的个数为0,即在开始时将计数器归零。这是一个重要的步骤,因为在后续的操作中需要统计和管理CAN报文中不同ID的数量,以便进行异常检测和处理。通过将计数器初始化为0,可以确保每次开始新的统计时都从空白状态开始,并避免出现错误的计数结果;
建立一个用于存储CAN报文中出现的不同ID的数组Single_ID,定义数组Single_ID,不限制其大小;
同一个ID出现的时间差计为Diff_Time;定义Diff_Time的目的是记录CAN报文中同一个ID出现的时间差,即两个相邻相同ID的报文之间的时间间隔。通过计算Diff_Time,可以了解CAN总线上数据传输的速率和延迟情况,以及检测可能存在的通信异常或故障。例如,如果同一个ID的报文出现时间间隔较长,则可能表示某个节点发送数据时出现了问题或总线负载过高导致通信速度变慢。因此,通过记录并分析Diff_Time可以对CAN网络进行实时监测和故障排除。
计同一个ID出现的时间间隔最大值为Max_Time = 0,最小值为Min_Time = +∞,记ID首次出现的时间为Init_Time。将同一个ID出现的时间间隔的最大值初始化为0,最小值初始化为正无穷大,是为了在后续计算Diff_Time时能够准确记录每个ID的时间间隔情况。同时,记ID首次出现的时间也可以提供更精确的时间参考,以便进行实时监测和故障排除。
如果不对Max_Time和Min_Time进行初始化,则第一次计算Diff_Time可能会得到错误的结果。如果Max_Time未被初始化,而某个ID首次出现之前已经有其他ID出现过,则第一次计算该ID的Diff_Time时可能会得到负数。同样地,如果Min_Time未被初始化,则第一次计算Diff_Time时可能会得到比实际间隔时间更短的结果。因此,在CAN总线上进行数据传输分析时,对这些变量进行正确的初始化非常重要。
优选地,步骤二包括:
实时判断当前ID是否为首次出现的ID;
判断当前ID是否为第n次出现,其中n≥2,若是则将当前出现时间Temp_Time与上一次出现该ID的时间做差暂存于Diff_Time;否则将ID号加入数组Single_ID中,Count1和Count2都加1,记录当前ID首次出现的时间Init_Time;
将该ID当前时间间隔值Diff_Time与该ID出现的时间间隔最大值Max_Time、时间间隔最小值Min_Time比较,判断是否Diff_Time≥Max_Time;
计算ID的平均周期;
判断ID的平均周期是否在该ID的标准周期误差范围内,将计算出的平均周期Avg_Time与该ID的标准周期进行比较。
优选地,实时判断当前ID是否为首次出现的ID采用以下方法:
建立一个ID列表,记录已经出现过的所有ID;
每当接收到一个新的CAN报文时,先在ID列表中查找该报文的ID是否已经存在;
如果该ID不存在于列表中,则说明当前ID是首次出现的,将其加入到Single_ID列表中;如果该ID已经存在于列表中,则不是首次出现。
优选地,判断是否Diff_Time≥Max_Time,若是则将该ID当前时间间隔值Diff_Time赋值给时间间隔最大值Max_Time = Diff_Time,并记录当前ID对应的Count1的值;否则Diff_Time<Min_Time,则将该ID当前时间间隔值Diff_Time赋值给时间间隔最小值Min_Time = Diff_Time,并记录当前ID对应的Count1的值。
优选地,计算ID的平均周期包括:某ID最后一次出现的Temp_time减去初始时间Init_Time并将其除以该ID出现次数Count2,得到该ID的出现间隔时间,即可得到该ID的平均周期Avg_Time。
优选地,将计算出的平均周期Avg_Time与该ID的标准周期进行比较,如果平均周期在其误差范围内,则认为该ID检测无误并结束检测;否则判断为异常并记录该异常ID的最大时间间隔Max_Time和最小时间间隔Min_Time对应的ID序列,即当时Count1的值,定位该异常ID出现的位置,检测结束。
优选地,如果当前ID为首次出现的ID,则将其加入数组Single_ID中,同时Count1和Count2都加1。( Single_ID:这是一个数组,用于存储所有首次出现的CAN ID。每当遇到一个新的CAN ID时,就将其加入该数组中。Count1:表示所有出现的CAN ID数量即出现次序。每当一个CAN ID出现时,Count1就会加1。Count2:表示不同CAN ID出现的数量。)记录当前ID首次出现的时间Init_Time;否则将当前出现时间Temp_Time(当前ID出现的时间)与上一次出现该ID的时间做差暂存于Diff_Time(时间差即同一个ID出现的时间间隔)。
优选地,步骤一中初始化的步骤包括配置CAN控制器寄存器、设置波特率和滤波器,目的是确保CAN控制器能够正常地接收和发送CAN报文,并且只接收需要的报文,避免干扰和冲突,此外初始化设置还包括报文缓冲区和中断处理程序,以便实现对CAN报文的实时获取和处理。
优选地,初始化数组Single_ID后,在后续的操作中,如果有新的ID出现,则将其添加到Single_ID数组中,并增加Count2计数器的值;如果已经存在于Single_ID中,则不进行任何操作,通过建立这样一个数组并记录其中所有不同的ID,可以方便地对CAN报文进行分析和处理,例如识别和过滤掉重复的报文或异常数据等。
相对于现有技术,本发明的有益效果为:
1)实时分析总线上的报文特征,报文接收完毕即统计完毕;本发明通过Spy3接口实时读取当前车载CAN总线数据报文,当Spy3停止收取报文,统计随即结束并输出统计结果;
2)算法复杂度低;在报文接收过程中,通过简洁的算法即可完成检测;
3)报文接收过程中计算量小,不影响报文接收的实时性;通过实时接收的报文,经过简单的算法计算即可得到想要的结果,且结果可靠;
4)对操作资源占用少,包括CPU以及内存等;
5)可直接定位异常报文位置,方便测试结束查找异常报文;在计算过程中记录不同ID最大最小时间间隔的ID次序,如若出现异常,可根据Count1找到异常ID的确切位置。
附图说明
图1为本实施例中检测方法流程示意图。
具体实施方式
下面结合附图和具体实施方式,进一步阐明本发明,应理解下述具体实施方式仅用于说明本发明而不用于限制本发明的范围。
实施例1:如图1所示,一种车载CAN总线网络报文异常检测方法,方法包括以下步骤:
步骤一:通过Spy3接口实时读取当前车载CAN总线数据报文,并初始化;初始化的步骤包括配置CAN控制器寄存器、设置波特率和滤波器,目的是确保CAN控制器能够正常地接收和发送CAN报文,并且只接收需要的报文,避免干扰和冲突,此外初始化设置还包括报文缓冲区和中断处理程序,以便实现对CAN报文的实时获取和处理。
第一步,以ID为标识符,设置总ID的个数为Count1 = 0,本步骤的目的是初始化总ID的个数为0,即在开始时将计数器归零。这是一个重要的步骤,因为在后续的操作中需要统计和管理CAN报文中不同ID的数量,以便进行异常检测和处理。通过将计数器初始化为0,可以确保每次开始新的统计时都从空白状态开始,并避免出现错误的计数结果;
第二步,建立一个用于存储CAN报文中出现的不同ID的数组Single_ID,初始化数组Single_ID。该数组用于存储CAN报文中出现的不同ID,每个ID只能出现一次。在后续的操作中,如果有新的ID出现,则将其添加到Single_ID数组中,并增加Count2计数器的值;如果已经存在于Single_ID中,则不进行任何操作。通过建立这样一个数组并记录其中所有不同的ID,可以方便地对CAN报文进行分析和处理,例如识别和过滤掉重复的报文或异常数据等。
第三步,同一个ID出现的时间差计为Diff_Time,定义Diff_Time的目的是记录CAN报文中同一个ID出现的时间差,即两个相邻相同ID的报文之间的时间间隔。通过计算Diff_Time,可以了解CAN总线上数据传输的速率和延迟情况,以及检测可能存在的通信异常或故障。例如,如果同一个ID的报文出现时间间隔较长,则可能表示某个节点发送数据时出现了问题或总线负载过高导致通信速度变慢。因此,通过记录并分析Diff_Time可以对CAN网络进行实时监测和故障排除。
第四步,计同一个ID出现的时间间隔最大值为Max_Time = 0,最小值为Min_Time= +∞,记ID首次出现的时间为Init_Time。将同一个ID出现的时间间隔的最大值初始化为0,最小值初始化为正无穷大,是为了在后续计算Diff_Time时能够准确记录每个ID的时间间隔情况。同时,记ID首次出现的时间也可以提供更精确的时间参考,以便进行实时监测和故障排除。
如果不对Max_Time和Min_Time进行初始化,则第一次计算Diff_Time可能会得到错误的结果。如果Max_Time未被初始化,而某个ID首次出现之前已经有其他ID出现过,则第一次计算该ID的Diff_Time时可能会得到负数。同样地,如果Min_Time未被初始化,则第一次计算Diff_Time时可能会得到比实际间隔时间更短的结果。因此,在CAN总线上进行数据传输分析时,对这些变量进行正确的初始化非常重要。
步骤二:对读取到的报文进行处理,通过比较读取到的报文的ID与当前已处理过的所有报文的ID是否相同来判断当前ID是否为首次出现的ID。如果该ID是首次出现,则需要记录下该ID首次出现的时间(即Init_Time),并将Max_Time初始化为0、Min_Time初始化为正无穷大。对于CAN总线上读取到的报文,一般包括ID标识符,用于区分不同类型的报文;Data数据域,包含实际传输的数据信息;DLC数据长度码,表示Data中实际传输数据所占用的字节数。处理当前ID是否为首次出现的目的在于记录每个ID首次出现的时间,并再后续计算Diff_Time时能够准确地计算每个ID之间的时间间隔。这样做可以方便检测和排除故障,并提高系统稳定性和可靠性。
第一步:实时判断当前ID是否为首次出现的ID;
实时判断当前ID是否为首次出现的ID采用以下方法:
建立一个ID列表,记录已经出现过的所有ID;
每当接收到一个新的CAN报文时,先在ID列表中查找该报文的ID是否已经存在;
如果该ID不存在于列表中,则说明当前ID是首次出现的,将其加入到ID列表中;如果该ID已经存在于列表中,则不是首次出现。
如果当前ID为首次出现的ID,则将其加入数组Single_ID中,同时Count1和Count2都加1。( Single_ID:这是一个数组,用于存储所有首次出现的CAN ID。每当遇到一个新的CAN ID时,就将其加入该数组中。Count1:表示所有出现的CAN ID数量即出现次序。每当一个CAN ID出现时,Count1就会加1。Count2:表示不同CAN ID出现的数量。)记录当前ID首次出现的时间Init_Time;否则将当前出现时间Temp_Time(当前ID出现的时间)与上一次出现该ID的时间做差暂存于Diff_Time(时间差即同一个ID出现的时间间隔)。
第二步:判断当前ID是否为第n次出现,其中n≥2,若是则将当前出现时间Temp_Time与上一次出现该ID的时间做差暂存于Diff_Time;否则将ID号加入数组Single_ID中,Count1和Count2都加1,记录当前ID首次出现的时间Init_Time;
第三步:将该ID当前时间间隔值Diff_Time与该ID出现的时间间隔最大值Max_Time、时间间隔最小值Min_Time比较,判断是否Diff_Time≥Max_Time;
判断是否Diff_Time≥Max_Time,若是则将该ID当前时间间隔值Diff_Time赋值给时间间隔最大值Max_Time = Diff_Time,并记录当前ID对应的Count1的值;否则Diff_Time<Min_Time,则将该ID当前时间间隔值Diff_Time赋值给时间间隔最小值Min_Time = Diff_Time,并记录当前ID对应的Count1的值。
第四步:计算ID的平均周期;某ID最后一次出现的Temp_time减去初始时间Init_Time并将其除以出现次数Count2,得到每个ID的出现间隔时间;即可得到ID的平均周期Avg_Time。
第五步:判断ID的平均周期是否在该ID的周期误差范围内,将计算出的平均周期Avg_Time与该ID的标准周期进行比较,如果平均周期在误差范围内,则认为该ID检测无误并结束检测;否则判断为异常并记录该异常ID的最大时间间隔Max_Time和最小时间间隔Min_Time对应的ID序列,即当时Count1的值,定位该异常ID出现的位置,检测结束。
实施例2:表1中ID号为162的报文为例;
表1
CAN总线报文的消息特征主要在于它的标识和时间,因此处理的数据是 CAN 报文的标识符以及对应的时间周期等特征。如表1所示中ID号为162的报文为例:
步骤一:通过Spy3接口实时读取当前报文,并初始化。
第一步,以ID为标识符,设置总ID的个数为Count1 = 0;
第二步,建立一个数组Single_ID,设置Single_ID的个数为Count2 = 0;
第三步,同一个ID出现的时间差计为Diff_Time;
第四步,计同一个ID出现的时间间隔最大值为Max_Time = 0,最小值为Min_Time= +∞,记ID首次出现的时间为Init_Time;
步骤二:对读取到的报文处理。
第一步:检测到报文ID为162,先判断是否为第一次出现,为第一次出现,则跳转至第二步;
第二步:将162放入Single_ID数组中,Count1+1,Count2+1;并记录第一出现的时间Init_Time=0.000000;
第三步:检测下一个ID, Count1+1;当第二次出现162时, Count1=4, Count2=2,Temp_Time=0.026327;
第四步:用当前出现的时间Temp_Time与Init_Time做差,得到Diff_Time=0.026327;
第五步:将Diff_Time与Max_Time、Min_Time比较,判断是否Diff_Time≥Max_Time,若是则跳转第六步,否则Diff_Time<Min_Time,跳转第七步;
第六步:Diff_Time≥Max_Time,Max_Time = Diff_Time;即0.026327≥0,Max_Time =0.026327。并记录当前ID对应的Count1的值:Count1=4;
第七步:Diff_Time<Max_Time,Min_Time = Diff_Time;并记录当前ID对应的Count1的值;
第八步:循环直到最后一次162出现;
第九步:计算ID162的平均周期Avg_Time =(Temp_Time-Init_Time)/ Count2。Avg_Time=0.0131635;
第十步:将Avg_Time与162的标准周期对比,在误差范围内,无异常,测试结束。(假如不在误差范围内则异常,记录异常时的Max_Time的ID序列Count2=2,以及Count1=4。即异常的位置为第4个ID,162第二次出现时。)
需要说明的是,以上内容仅仅说明了本发明的技术思想,不能以此限定本发明的保护范围,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰均落入本发明权利要求书的保护范围之内。
Claims (10)
1.一种车载CAN总线网络报文异常检测方法,其特征在于,方法包括以下步骤:
步骤一:实时读取当前车载CAN总线数据报文,并初始化;
步骤二:对读取到的报文进行处理,通过比较读取到的报文ID与当前已处理过的所有报文ID是否相同来判断当前ID是否为首次出现的ID。
2.根据权利要求1所述的一种车载CAN总线网络报文异常检测方法,其特征在于,步骤一包括:
以ID为标识符,并初始化总ID的个数Count1为0;
建立一个用于存储CAN报文中出现的不同ID的数组Single_ID,定义数组Single_ID,不限制其大小;
同一个ID出现的时间差计为Diff_Time;
计同一个ID出现的时间间隔最大值为Max_Time = 0,最小值为Min_Time = +∞,记ID首次出现的时间为Init_Time。
3.根据权利要求1所述的一种车载CAN总线网络报文异常检测方法,其特征在于,步骤二包括:
实时判断当前ID是否为首次出现的ID;
判断当前ID是否为第n次出现,其中n≥2,若是则将当前出现时间Temp_Time与上一次出现该ID的时间做差暂存于Diff_Time;否则将ID号加入数组Single_ID中,Count1和Count2都加1,记录当前ID首次出现的时间Init_Time;
将该ID当前时间间隔值Diff_Time与该ID出现的时间间隔最大值Max_Time、时间间隔最小值Min_Time比较,判断是否Diff_Time≥Max_Time;
计算ID的平均周期;
判断ID的平均周期是否在该ID的周期误差范围内,将计算出的平均周期Avg_Time与该ID的标准周期进行比较。
4.根据权利要求3所述的一种车载CAN总线网络报文异常检测方法,其特征在于,实时判断当前ID是否为首次出现的ID采用以下方法:
建立一个ID列表,记录已经出现过的所有ID;
每当接收到一个新的CAN报文时,先在ID列表中查找该报文的ID是否已经存在;
如果该ID不存在于列表中,则说明当前ID是首次出现的,将其加入到Single_ID列表中;如果该ID已经存在于列表中,则不是首次出现。
5.根据权利要求3所述的一种车载CAN总线网络报文异常检测方法,其特征在于,判断是否Diff_Time≥Max_Time,若是则将该ID当前时间间隔值Diff_Time赋值给时间间隔最大值Max_Time = Diff_Time,并记录当前ID对应的Count1的值;否则Diff_Time < Min_Time,则将该ID当前时间间隔值Diff_Time赋值给时间间隔最小值Min_Time = Diff_Time,并记录当前ID对应的Count1的值。
6.根据权利要求3所述的一种车载CAN总线网络报文异常检测方法,其特征在于,计算ID的平均周期包括:最后一次出现的时间Temp_Time减去初始时间Init_Time并将其除以该ID出现的次数Count2,得到该ID出现的平均间隔时间;即可得到该ID的平均周期Avg_Time。
7.根据权利要求3所述的一种车载CAN总线网络报文异常检测方法,其特征在于,将计算出的平均周期Avg_Time与该ID的标准周期进行比较,如果平均周期在规定的误差范围内,则认为该ID检测无误并结束检测;否则判断为异常并记录该异常ID的最大时间间隔Max_Time和最小时间间隔Min_Time对应的ID序列,即当时Count1的值,定位该异常ID出现的位置,检测结束。
8.根据权利要求4所述的一种车载CAN总线网络报文异常检测方法,其特征在于,如果当前ID为首次出现的ID,则将其加入数组Single_ID中,同时Count1和Count2都加1。
9.根据权利要求1所述的一种车载CAN总线网络报文异常检测方法,其特征在于,步骤一中初始化的步骤包括配置CAN控制器寄存器、设置波特率和滤波器,此外初始化设置还包括报文缓冲区和中断处理程序。
10.根据权利要求2所述的一种车载CAN总线网络报文异常检测方法,其特征在于,初始化数组Single_ID后,在后续的操作中,如果有新的ID出现,则将其添加到Single_ID数组中,并增加Count2计数器的值;如果已经存在于Single_ID中,则不进行任何操作,通过建立这样一个数组并记录其中所有不同的ID。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311168443.7A CN116915589A (zh) | 2023-09-12 | 2023-09-12 | 一种车载can总线网络报文异常检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311168443.7A CN116915589A (zh) | 2023-09-12 | 2023-09-12 | 一种车载can总线网络报文异常检测方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116915589A true CN116915589A (zh) | 2023-10-20 |
Family
ID=88356870
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311168443.7A Pending CN116915589A (zh) | 2023-09-12 | 2023-09-12 | 一种车载can总线网络报文异常检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116915589A (zh) |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101360036A (zh) * | 2007-07-31 | 2009-02-04 | 比亚迪股份有限公司 | Can总线网关控制器及can总线之间数据传输方法 |
CN103605349A (zh) * | 2013-11-26 | 2014-02-26 | 厦门雅迅网络股份有限公司 | 一种基于CAN-bus的远程数据实时采集及分析统计系统及方法 |
CN107948176A (zh) * | 2017-12-03 | 2018-04-20 | 吴武飞 | 一种面向can网络的信息安全增强方法及控制器 |
CN108848072A (zh) * | 2018-05-25 | 2018-11-20 | 东南大学 | 一种基于相对熵的车载can总线异常检测方法 |
CN111030962A (zh) * | 2018-10-09 | 2020-04-17 | 厦门雅迅网络股份有限公司 | 车载网络入侵检测方法及计算机可读存储介质 |
CN111147448A (zh) * | 2019-12-06 | 2020-05-12 | 中科曙光(南京)计算技术有限公司 | 一种can总线洪范攻击防御系统及方法 |
CN111464415A (zh) * | 2020-04-02 | 2020-07-28 | 昆易电子科技(上海)有限公司 | 用于can总线消息异常预警的方法及电子设备 |
WO2020187985A1 (de) * | 2019-03-21 | 2020-09-24 | Volkswagen Aktiengesellschaft | Verfahren zur überwachung der kommunikation auf einem kommunikationsbus, elektronische vorrichtung zum anschluss an einen kommunikationsbus sowie fahrzeug |
CN114124472A (zh) * | 2021-11-02 | 2022-03-01 | 华东师范大学 | 一种基于gmm-hmm的车载网络can总线入侵检测方法及系统 |
CN114253779A (zh) * | 2021-12-01 | 2022-03-29 | 北京经纬恒润科技股份有限公司 | Can总线数据的异常检测方法、装置及设备 |
CN115022058A (zh) * | 2022-06-13 | 2022-09-06 | 恒大恒驰新能源汽车研究院(上海)有限公司 | 控制器局域网的安全检测方法、装置及电子设备 |
CN116112252A (zh) * | 2023-02-09 | 2023-05-12 | 南京工业职业技术大学 | 一种基于报文时钟周期的车载can总线入侵检测与防御系统 |
CN116155767A (zh) * | 2023-02-09 | 2023-05-23 | 网络通信与安全紫金山实验室 | 车载can总线的异常检测方法、装置、存储介质及电子设备 |
-
2023
- 2023-09-12 CN CN202311168443.7A patent/CN116915589A/zh active Pending
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101360036A (zh) * | 2007-07-31 | 2009-02-04 | 比亚迪股份有限公司 | Can总线网关控制器及can总线之间数据传输方法 |
CN103605349A (zh) * | 2013-11-26 | 2014-02-26 | 厦门雅迅网络股份有限公司 | 一种基于CAN-bus的远程数据实时采集及分析统计系统及方法 |
CN107948176A (zh) * | 2017-12-03 | 2018-04-20 | 吴武飞 | 一种面向can网络的信息安全增强方法及控制器 |
CN108848072A (zh) * | 2018-05-25 | 2018-11-20 | 东南大学 | 一种基于相对熵的车载can总线异常检测方法 |
CN111030962A (zh) * | 2018-10-09 | 2020-04-17 | 厦门雅迅网络股份有限公司 | 车载网络入侵检测方法及计算机可读存储介质 |
WO2020187985A1 (de) * | 2019-03-21 | 2020-09-24 | Volkswagen Aktiengesellschaft | Verfahren zur überwachung der kommunikation auf einem kommunikationsbus, elektronische vorrichtung zum anschluss an einen kommunikationsbus sowie fahrzeug |
CN111147448A (zh) * | 2019-12-06 | 2020-05-12 | 中科曙光(南京)计算技术有限公司 | 一种can总线洪范攻击防御系统及方法 |
CN111464415A (zh) * | 2020-04-02 | 2020-07-28 | 昆易电子科技(上海)有限公司 | 用于can总线消息异常预警的方法及电子设备 |
CN114124472A (zh) * | 2021-11-02 | 2022-03-01 | 华东师范大学 | 一种基于gmm-hmm的车载网络can总线入侵检测方法及系统 |
US20230137489A1 (en) * | 2021-11-02 | 2023-05-04 | China Automotive Innovation Co., Ltd | Method for detecting can bus intrusion of vehicle-mounted network based on gmm-hmm and system |
CN114253779A (zh) * | 2021-12-01 | 2022-03-29 | 北京经纬恒润科技股份有限公司 | Can总线数据的异常检测方法、装置及设备 |
CN115022058A (zh) * | 2022-06-13 | 2022-09-06 | 恒大恒驰新能源汽车研究院(上海)有限公司 | 控制器局域网的安全检测方法、装置及电子设备 |
CN116112252A (zh) * | 2023-02-09 | 2023-05-12 | 南京工业职业技术大学 | 一种基于报文时钟周期的车载can总线入侵检测与防御系统 |
CN116155767A (zh) * | 2023-02-09 | 2023-05-23 | 网络通信与安全紫金山实验室 | 车载can总线的异常检测方法、装置、存储介质及电子设备 |
Non-Patent Citations (2)
Title |
---|
季一木;焦志鹏;刘尚东;吴飞;孙静;王娜;陈治宇;毕强;田鹏浩;: "基于通信特征的CAN总线泛洪攻击检测方法", 网络与信息安全学报, no. 01 * |
王庆祥, 陈家琪: "利用遗传算法优化TTCAN网络的时间调度系统矩阵", 航空计算技术, no. 01 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111126824B (zh) | 多指标关联模型训练方法及多指标异常分析方法 | |
US20170249251A1 (en) | Communication Monitoring System | |
US11038587B2 (en) | Method and apparatus for locating fault cause, and storage medium | |
CN112214577B (zh) | 目标用户的确定方法、装置、设备及计算机存储介质 | |
CN108063687B (zh) | 一种can总线网络中故障节点判定方法 | |
CN106788888B (zh) | 弱网络环境下提高安卓移动终端通信成功率的方法及系统 | |
CN111596638B (zh) | 车辆故障排查方法、装置、设备和计算机可读存储介质 | |
CN111224807B (zh) | 分布式日志处理方法、装置、设备及计算机存储介质 | |
CN114384354A (zh) | 硬件实现的串行通讯高动态范围波特率识别方法及电路 | |
CN112506722B (zh) | 一种应用于交换机的自检复位方法及装置 | |
CN116915589A (zh) | 一种车载can总线网络报文异常检测方法 | |
CN112866270B (zh) | 入侵检测防御方法及系统 | |
KR102343139B1 (ko) | 어노멀리 검출방법 및 그 장치 | |
US10515039B2 (en) | Vehicle USB hub system | |
CN111948469B (zh) | 一种can总线电磁兼容性检测方法及系统 | |
CN111506468B (zh) | 硬盘状态监控系统及方法 | |
CN107168902A (zh) | 一种利用dma实现高速can波特率的自动识别方法 | |
CN112379211A (zh) | 输电线路故障区域定位装置的检测方法 | |
CN114268567A (zh) | 异常终端的识别方法、分析装置及设备、存储介质 | |
CN112751822B (zh) | 通信装置及操作方法、异常判定装置及方法、存储介质 | |
US11829122B2 (en) | Industrial network behavior analysis method, apparatus and system, and computer-readable medium | |
CN112615920B (zh) | 异常检测方法、装置、电子设备、存储介质及程序产品 | |
CN111385160B (zh) | 丢包率检测方法、装置、系统及介质 | |
CN117785613A (zh) | 内存监控方法、装置、设备、计算机存储介质及车辆 | |
CN116560892A (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 |