CN118316721A - 异常报文检测方法、计算机装置、计算机可读存储介质 - Google Patents

异常报文检测方法、计算机装置、计算机可读存储介质 Download PDF

Info

Publication number
CN118316721A
CN118316721A CN202410574892.XA CN202410574892A CN118316721A CN 118316721 A CN118316721 A CN 118316721A CN 202410574892 A CN202410574892 A CN 202410574892A CN 118316721 A CN118316721 A CN 118316721A
Authority
CN
China
Prior art keywords
message
messages
abnormal
probability
boundary value
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
Application number
CN202410574892.XA
Other languages
English (en)
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.)
Beijing Topsec Technology Co Ltd
Beijing Topsec Network Security Technology Co Ltd
Beijing Topsec Software Co Ltd
Original Assignee
Beijing Topsec Technology Co Ltd
Beijing Topsec Network Security Technology Co Ltd
Beijing Topsec Software Co Ltd
Filing date
Publication date
Application filed by Beijing Topsec Technology Co Ltd, Beijing Topsec Network Security Technology Co Ltd, Beijing Topsec Software Co Ltd filed Critical Beijing Topsec Technology Co Ltd
Publication of CN118316721A publication Critical patent/CN118316721A/zh
Pending legal-status Critical Current

Links

Abstract

本申请公开了一种异常报文检测方法、计算机装置、计算机可读存储介质。其中,异常报文检测方法包括:创建长度为N的缓存队列;将获取的CAN报文按照时间顺序依次存储至缓存队列;当缓存队列存满时,将存入的N个CAN报文标记为一个序列,获取序列的发生概率;获取预设下限边界值、预设上限边界值;若发生概率小于预设下限边界值,或者大于预设上限边界值,判定序列中存在异常报文。该方法能够覆盖报文间的交互异常检测,实现对报文的快速、全面、精确的检测;同时该方法简单易行、成本低,能够同时对多个报文进行安全监控,突破了对连续报文检测数量的限制,通过该方法公开的方案,能够有效提高系统的安全性和稳定性。

Description

异常报文检测方法、计算机装置、计算机可读存储介质
技术领域
本公开涉及车载网络安全技术领域,尤其涉及一种异常报文检测方法、计算机装置、计算机可读存储介质。
背景技术
随着车联网技术的迅猛发展,车辆的网络安全问题日益凸显,成为各大汽车制造商关注的焦点。在现代车辆网络系统中,确保数据通信的安全性和可靠性至关重要,随着车辆功能的日益复杂化和电子化,车辆内部的控制器局域网络(CAN)承载着大量的数据交换任务。这些数据交换通常涉及多个电子控制单元(ECU)之间的通信,它们通过发送和接收CAN报文来实现信息的传递。然而,随着车辆网络面临的安全威胁日益增加,如何有效地检测和防范潜在的异常报文成为了一个亟待解决的问题。
传统的异常检测方法往往侧重于单个报文的特征分析,例如报文频率、内容模式等,而忽视了报文之间的时序关系和转换模式;这种方法在面对复杂的攻击模式,如连续报文模式的异常变化时,往往难以有效识别。此外,现有的检测技术通常需要为每种CANID的报文配置特定的检测规则,这不仅增加了系统的复杂性,而且难以适应动态变化的网络环境。
发明内容
有鉴于此,本公开实施例提供了一种异常报文检测方法、计算机装置、计算机可读存储介质,能够解决现有技术存在的报文异常检测方法单一、不全面、识别准确率低、无法覆盖报文间的交互异常检测等的问题。
第一方面,本公开实施例提供了一种异常报文检测方法,采用如下技术方案:
创建长度为N的缓存队列;
将获取的CAN报文按照时间顺序依次存储至所述缓存队列;
当所述缓存队列存满时,将存入的N个所述CAN报文标记为一个序列,获取所述序列的发生概率;
获取预设下限边界值、预设上限边界值;
若所述发生概率小于所述预设下限边界值,或者大于所述预设上限边界值,判定所述序列中存在异常报文;
其中,N≥2。
可选的,所述获取所述序列的发生概率,包括:
获取所有相邻两个所述CAN报文的ID转换概率;
将获取的P个所述ID转换概率相乘,获得所述发生概率;
P=N-1。
可选的,所述获取所有相邻两个所述CAN报文的ID转换概率,包括:
确定相邻两个所述CAN报文的两个ID值,并将第一个报文的ID值标记为ID1,将第二个报文的ID值标记为ID2;
基于构造的报文转换概率矩阵获取所述ID1到所述ID2的ID转换概率。
可选的,所述报文转换概率矩阵的构造方法,包括:
获取包含所有不同预设类型报文的样本集;
所述样本集为预设周期内车辆在运行过程中CAN总线上的流量数据;
获取所述样本集的CANID值集合;
将所述CANID值集合中两两相邻的报文ID标记为一组ID信息;
获取每组所述ID信息的样本转换概率Yi
获取所述CANID值集合中所有不同的CANID值,并标记为第一集合;
将所述第一集合中的CANID值按照从小到大的顺序排列,获得矩阵第一行索引、矩阵第一列索引;
基于所述矩阵第一行索引、所述矩阵第一列索引、每组所述ID信息的样本转换概率,构造所述报文转换概率矩阵;
所述报文转换概率矩阵的行数、列数均为K,K=T+1;其中,T为所述CANID值集合中所有不同的CANID值的数量。
可选的,所述样本转换概率为Yi,Yi=(Si+1/Si+1+1)×100%;
其中,Si为所述样本集中与所述ID信息中第一个报文的ID相同的其它ID信息的组数,Si+1为所述样本集中与所述ID信息相同的其它ID信息的组数;
所述ID信息为第i组,0<i≤Q-1,Q为所述样本集中报文的数量。
可选的,所述获取预设下限边界值、预设上限边界值,包括:
计算所述样本集中连续N个相邻CAN报文的事件出现概率;
将获取的所述事件出现概率中的最小值作为所述预设下限边界值;
将获取的所述事件出现概率中的最大值作为所述预设上限边界值。
可选的,所述计算所述样本集中连续N个相邻CAN报文的事件出现概率,包括:
初始化大小为N的滑动窗口;
基于构造的所述报文转换概率矩阵获取当前所述滑动窗口内相邻两个报文ID之间的P个样本转换概率;
将获取的P个样本转换概率相乘,获得当前所述滑动窗口的事件出现概率;
通过所述滑动窗口在所述样本集上滑动,获取所述样本集中所有的事件出现概率;
所述滑动窗口的滑动步长为一个报文位置,且所述滑动窗口覆盖N个相邻的CAN报文。
可选的,所述异常报文检测方法还包括:
当接收到第R个CAN报文时,删除所述缓存队列中最早接收存储的CAN报文;
将第R个CAN报文按照时间顺序存入所述缓存队列中,获得新的缓存队列;
其中,R=N+1。
第二方面,本公开实施例还提供了一种异常报文检测系统,采用如下技术方案:
创建模块,配置为创建长度为N的缓存队列;N≥2;
存储模块,配置为将获取的CAN报文按照时间顺序依次存储至所述缓存队列;
计算模块,配置为当所述缓存队列存满时,将存入的N个所述CAN报文标记为一个序列,获取所述序列的发生概率;
获取模块,配置为获取预设下限边界值、预设上限边界值;
判断模块,配置为若所述发生概率小于所述预设下限边界值,或者大于所述预设上限边界值,判定所述序列中存在异常报文。
第三方面,本公开实施例还提供了一种计算机装置,采用如下技术方案:
所述计算机装置包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行以上任一所述的异常报文检测方法。
第四方面,本公开实施例还提供了一种计算机可读存储介质,该计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行以上任一所述的异常报文检测方法。
第五方面,本公开实施例还提供了一种计算机程序产品,包括计算机程序/指令,该计算机程序/指令被处理器执行时实现以上任一项所述方法的步骤。
本申请公开的异常报文检测方法,通过创建的缓存队列,可以对接收到的待检测的CAN报文进行有序存储,保证CAN报文的时序性;将连续的多个报文视为一个整体序列进行分析,通过评估序列的发生概率来识别潜在的异常报文,不仅可以快速、准确地检测出异常报文,还考虑了报文间的相互关联性,能够覆盖报文间的交互异常检测。同时该方法简单易行、成本低,能够同时对多个报文进行安全监控,突破了对连续报文检测数量的限制,通过该方法公开的方案,能够有效提高系统的安全性和稳定性。
上述说明仅是本公开技术方案的概述,为了能更清楚了解本公开的技术手段,而可依照说明书的内容予以实施,并且为让本公开的上述和其他目的、特征和优点能够更明显易懂,以下特举较佳实施例,并配合附图,详细说明如下。
附图说明
为了更清楚地说明本公开实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本公开实施例提供的异常报文检测方法的流程示意图。
图2为图1中序列的发生概率的获取方法的流程示意图。
图3为图2中相邻两个CAN报文的ID转换概率的获取方法的流程示意图。
图4为图3中报文转换概率矩阵的构造方法的流程示意图。
图5为图4中边界值的获取方法的流程示意图。
图6为图5中事件出现概率的获取方法的流程示意图。
图7为本公开实施例提供的异常报文检测系统的原理框图。
图8为本公开实施例提供的一种计算机装置的结构示意图。
具体实施方式
下面结合附图对本公开实施例进行详细描述。
应当明确,以下通过特定的具体实例说明本公开的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本公开的其他优点与功效。显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。本公开还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本公开的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
需要说明的是,下文描述在所附权利要求书的范围内的实施例的各种方面。应显而易见,本文中所描述的方面可体现于广泛多种形式中,且本文中所描述的任何特定结构及/或功能仅为说明性的。基于本公开,所属领域的技术人员应了解,本文中所描述的一个方面可与任何其它方面独立地实施,且可以各种方式组合这些方面中的两者或两者以上。举例来说,可使用本文中所阐述的任何数目各方面来实施设备及/或实践方法。另外,可使用除了本文中所阐述的方面中的一或多者之外的其它结构及/或功能性实施此设备及/或实践此方法。
还需要说明的是,以下实施例中所提供的图示仅以示意方式说明本公开的基本构想,图式中仅显示与本公开中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
另外,在以下描述中,提供具体细节是为了便于透彻理解实例。然而,所属领域的技术人员将理解,可在没有这些特定细节的情况下实践所述方面。
参照图1,本申请的第一方面公开了一种异常报文检测方法,该方法包括以下步骤:
S100,创建缓存队列;
缓存队列的长度为N。
其中,N≥2。
在该步骤中,通过创建的缓存队列便于后续处理和分析。
S200,将获取的CAN报文按照时间顺序依次存储至缓存队列。
在该步骤中,按照时间顺序存储CAN报文可以确保数据的时序性,即可以准确记录每个报文的接收时间,有利于后续分析和判断报文的发生规律;通过有序存储CAN报文,可以更准确地判断报文之间的关联性和规律性,从而提高异常报文的检测准确性,减少误判的可能性;按照时间顺序存储CAN报文可以降低数据处理的复杂度,优化算法性能,提高系统的运行效率和稳定性。
S300,当缓存队列存满时,将存入的N个CAN报文标记为一个序列,获取序列的发生概率。
在该步骤中,存入的N个CAN报文为连续的N个CAN报文,将N个CAN报文作为一个序列进行统计分析,覆盖了报文之间的关联关系,不同于现有技术中对单个报文的分析,该方案能够更加全面、精准,确保在判断异常报文时更加客观和准确,有效降低误报的概率,避免对正常报文的误判。
S400,获取预设下限边界值、预设上限边界值。
S500,判断发生概率是否小于预设下限边界值,或者是否大于预设上限边界值,若是,判定该序列中存在异常报文。
在该步骤中,通过设定的预设下限和上限边界值,可以明确异常报文的判定标准,从而将异常报文的识别过程变得更加准确和确定,提高了检测的可靠性;通过预设边界值进行判定,能够实现对异常报文的自动化识别,减少了人工判断的成本和时间,提高了系统的效率和准确性;一旦发现序列中存在异常报文,系统可以立即做出反应并进行处理,及时排除异常因素,增强了系统的实时性和灵活性。
本申请公开的异常报文检测方法,通过创建的缓存队列,可以对接收到的待检测的CAN报文进行有序存储,保证CAN报文的时序性;将连续的多个报文视为一个整体序列进行分析,通过评估序列的发生概率来识别潜在的异常报文,不仅可以快速、准确地检测出异常报文,还考虑了报文间的相互关联性,能够覆盖报文间的交互异常检测。同时该方法简单易行、成本低,能够同时对多个报文进行安全监控,突破了对连续报文检测数量的限制,通过该方法公开的方案,能够有效提高系统的安全性和稳定性。
需要说明的是,获取预设下限边界值、预设上限边界值的步骤,可以放在对发生概率进行判断前的任一位置,该实施例给出的具体步骤并不限制该申请的保护范围,故在此不再一一赘述。
参照图2,序列的发生概率的获取方法具体包括以下步骤:
S310,获取所有相邻两个CAN报文的ID转换概率;
S320,将获取的P个ID转换概率相乘,获得发生概率;
P=N-1。
在该实施例中,通过获取相邻两个CAN报文的ID转换概率,可以准确地分析每对报文之间的转换规律,从而更精确地计算整个序列的发生概率,提高了统计结果的准确性和可靠性;将获取的P个ID转换概率相乘来获得整个序列的发生概率,可以简化计算过程,减少了计算的复杂度和时间,提高了数据处理的效率。
该方案通过对相邻报文的ID转换概率进行计算,可以应用于不同的CAN报文序列,具有较强的通用性和可扩展性,适用于各种CAN报文数据的处理和分析。
通过结合多个相邻报文之间的ID转换概率相乘来计算整个序列的发生概率,考虑了多种转换规律的综合影响,有助于全面分析序列中的异常情况。
参照图3,相邻两个CAN报文的ID转换概率的获取方法具体包括以下步骤:
S311,确定相邻两个CAN报文的两个ID值,并将相邻两个CAN报文中第一个报文的ID值标记为ID1,将第二个报文的ID值标记为ID2;
S312,基于构造的报文转换概率矩阵获取ID1到ID2的ID转换概率。
在该实施例中,通过确定相邻两个CAN报文的ID值并基于报文转换概率矩阵获取ID1到ID2的转换概率,可以实现对每对相邻报文之间转换行为的精细化分析;采用报文转换概率矩阵获取ID1到ID2的转换概率的方法,可以实现高效的数据分析和处理过程,同时具有较强的灵活性,能够根据具体需求灵活调整分析参数和模型,满足不同场景的应用需求;通过分析相邻两个CAN报文的ID转换概率,可以控制数据的维度和复杂度,有效地提取重要信息和规律,避免数据过于冗杂导致分析困难,有助于深入挖掘数据内在的规律和特征。
参照图4,报文转换概率矩阵的构造方法具体包括以下步骤:
A100,获取包含所有不同预设类型报文的样本集;
样本集为预设周期内车辆在运行过程中CAN总线上的流量数据。
具体地,样本集包括所适应场景的所有的CANID值,保证构造的报文转换概率矩阵全面、准确,样本集具有广泛的代表性。
在本实施例中,样本集的收集优选通过使用VN1640或USBCAN-4E-U等硬件工具连接车辆的OBD接口或车内网关设备,并利用CANOE或ZCANPRO等软件作为上位机捕获CAN总线上的数据流量。
A200,获取样本集的CANID值集合。
A300,将CANID值集合中两两相邻的报文ID标记为一组ID信息;
获取每组ID信息的样本转换概率Yi
在该步骤中,可以获取CANID值集合中所有相邻两个报文ID之间的样本转换概率。
每组ID信息的样本转换概率Yi均为第一个报文的ID向第二个报文的ID转换的概率。
A400,获取CANID值集合中所有不同的CANID值,并标记为第一集合;
将第一集合中的CANID值按照从小到大的顺序排列,获得矩阵第一行索引、矩阵第一列索引。
在该步骤中,将获得的排好序的CANID值,作为矩阵第一行索引、矩阵第一列索引,即矩阵第一列索引与矩阵第一行索引设置相同。
A500,基于矩阵第一行索引、矩阵第一列索引、每组ID信息的样本转换概率,构造报文转换概率矩阵;
具体地,报文转换概率矩阵的行数、列数均为K,K=T+1;其中,T为CANID值集合中所有不同的CANID值的数量。
在该报文转换概率矩阵中,包含有T2个样本转换概率。
在该实施例中,通过获取包含所有不同预设类型报文的样本集,并构建报文转换概率矩阵,可以对整个CAN总线上的流量数据进行综合性分析,全面把握各种报文之间的转换规律;基于样本集的CANID值集合,将相邻的报文ID标记为一组ID信息,并根据每组ID信息的样本转换概率构建概率矩阵,可以准确地反映不同ID之间的转换概率,提高了数据分析的精准度和可靠性;根据CANID值集合构造报文转换概率矩阵,并按照指定顺序排列CANID值,可以清晰地展现不同ID之间的转换规律,有助于用户直观地理解报文之间的关联性,提高了数据分析的直观性和可视化效果;通过构造报文转换概率矩阵,根据行数、列数的设定,可以快速有效地整合和处理大量的CAN总线流量数据,可以直观地呈现不同ID之间的转换概率,帮助用户更直观地理解CAN报文之间的转换规律。
具体地,样本转换概率为Yi,Yi=(Si+1/Si+1+1)×100%。
其中,Si为样本集中与ID信息中第一个报文的ID相同的其它ID信息的组数,Si+1为样本集中与ID信息相同的其它ID信息的组数。
ID信息为第i组,0<i≤Q-1,Q为样本集中报文的数量。
具体地,若ID信息为W1,且W1为ID1、ID2时,则在样本集中查询第一位报文为ID1的所有的ID信息的组数,即为Si+1;然后在样本集中查询第一位报文为ID1且第二位报文为ID2的所有的ID信息的组数,即为Si+1+1,从而可以得到ID1转换至ID2的概率,即对应样本的样本转换概率。
进一步地,在该预设周期内,车辆执行所有的操作,以保证获取的样本集全面、可靠。
需要说明的是,本申请中“基于构造的报文转换概率矩阵获取ID1到ID2的ID转换概率”,具体是从构造的报文转换概率矩阵中找到(ID1、ID2)的样本转换概率,作为实际的ID1到ID2的ID转换概率。
参照图5,边界值(即预设下限边界值、预设上限边界值)的获取方法具体包括以下步骤:
B100,计算样本集中连续N个相邻CAN报文的事件出现概率;
B200,将获取的事件出现概率中的最小值作为预设下限边界值;
将获取的事件出现概率中的最大值作为预设上限边界值。
在该实施例中,通过计算样本集中连续N个相邻CAN报文的事件出现概率,可以得到一组事件出现概率,并将其中的最小值作为预设下限边界值,最大值作为预设上限边界值,这样一来,可以明确地界定出数据的异常值范围,有利于区分异常情况和正常数据,帮助用户更好地识别和处理潜在问题;预设下限边界值和上限边界值的获取基于实际的事件出现概率,能够更加客观和准确地反映数据的变化范围,有利于优化分析模型和参数设置,通过设置合理的边界值,可以减少误判和漏报的可能性,提高数据分析的准确性和稳定性;边界值的获取方法基于样本集中的事件出现概率,考虑了数据的分布情况和波动性,使得边界值更具有代表性和鲁棒性。在实际应用中,可以根据实际情况灵活调整边界值,满足不同需求,提高系统的适应性和可靠性;通过取最小值和最大值作为预设下限和上限边界值,简单明了地确定了数据的范围,易于理解和应用。用户可以直观地通过边界值的设置来判断数据的异常情况,快速作出反应并采取相应措施,提高数据分析的效率和实用性。
参照图6,事件出现概率的获取方法具体包括以下步骤:
B110,初始化滑动窗口;滑动窗口的大小为N。
具体地,创建一个大小为N的滑动窗口,用于计算连续N个CAN报文的事件出现概率。
B120,基于构造的报文转换概率矩阵获取当前滑动窗口内相邻两个报文ID之间的P个样本转换概率。
具体地,根据滑动窗口的当前位置,获取当前滑动窗口内的报文信息,然后可以直接在构造的报文转换概率矩阵中获取当前滑动窗口内的相邻两个报文ID之间的P个样本转换概率。
B130,将获取的P个样本转换概率相乘,获得当前滑动窗口的事件出现概率。
具体地,当前滑动窗口内的事件出现概率为当前滑动窗口内所有样本转换概率的乘积。
B140,通过滑动窗口在样本集上滑动,获取样本集中所有的事件出现概率;
滑动窗口的滑动步长为一个报文位置,且滑动窗口覆盖N个相邻的CAN报文。
具体地,该滑动窗口每次向后移动一个报文位置,仅在窗口内始终包含N个完整报文时进行概率计算;若滑动后窗口无法完整覆盖N个报文,则停止进一步滑动,概率统计结束。
进一步地,基于构造的报文转换概率矩阵获取当前滑动窗口内相邻两个报文ID之间的样本转换概率,则当前滑动窗口内的事件出现概率为当前滑动窗口内所有样本转换概率的乘积。
然后根据滑动窗口的每次移动,计算对应的事件出现概率,因此即可获取样本集中所有的事件出现概率。
例如,当N为4时,若当前的滑动窗口内的报文为:报文1、报文2、报文3、报文4时,并且已知,报文1的ID值为ID3,报文2的ID值为ID1,报文3的ID值为ID2,报文4的ID值为ID4,则可以直接在构造的报文转换概率矩阵中获取样本转换概率Yi(ID3、ID1)、Yi(ID1、ID2)、Yi(ID2、ID4),然后当前的滑动窗口内的事件出现概率则为这三个样本转换概率的乘积。
在该实施例中,通过初始化滑动窗口,在样本集上滑动并获取事件出现概率,可以实现对事件发生的实时监测和检测,采用滑动窗口的方式,能够动态地跟踪样本集中不同时间段内事件出现的概率变化,有效反映数据的实时情况;滑动窗口的大小和步长设定合理,可以保证覆盖样本集中所有的事件,并获取完整的事件出现概率,通过全面覆盖样本集,可以有效地捕捉事件发生的变化趋势和规律,提高数据分析的全面性和准确性;通过调整滑动窗口的大小和步长,可以灵活控制事件出现概率的获取粒度和时间跨度,根据具体需求,可以调整窗口参数,实现对不同时间尺度下事件概率的监测和分析,有利于定制化数据处理和分析模型;采用滑动窗口在样本集上滑动的方法获取事件出现概率,可以实现对数据实时性的监测和分析,通过实时监测事件出现的概率,可以及时发现数据的异常情况和变化趋势,为系统运行状态的监控和调整提供重要参考依据。
因此,事件出现概率的获取方法具有动态实时性、全面覆盖性、参数灵活性和数据实时监测等优势,有助于深入分析数据特征和规律,提高异常检测和数据监测的效果和效率。
进一步地,本申请公开的异常报文检测方法还包括:
当接收到第R个CAN报文时(即缓存队列存满时),删除缓存队列中最早接收存储的CAN报文;
将第R个CAN报文按照时间顺序存入缓存队列中,获得新的缓存队列;
然后将新的缓存队列作为一个序列,获取该序列的发生概率,根据该发生概率与预设下限边界值、预设上限边界值的大小比较,进而来判断该序列中是否存在异常报文。
其中,R=N+1。
例如,当存满的缓存队列为ABCD时,新进来一个报文E,则删除最早接收存储的CAN报文并存储完新的报文后,得到的新的缓存队列为BCDE。
在该实施例中,通过定时删除最早存储的CAN报文,并实时更新缓存队列,可以保持缓存队列中的数据始终与最新接收到的CAN报文保持同步,这样可以及时监测最新的报文序列,确保异常报文的检测具有实时性和准确性,及时发现和处理异常情况;将新的缓存队列作为一个序列,获取该序列的发生概率,并与预设下限边界值、上限边界值进行比较,可以有效判断序列中是否存在异常报文,这种方法结合了序列概率分析和边界值比较,可以高效地检测异常报文,提高检测的有效性和高效性,减少误报和漏报的可能性;通过比较序列发生概率与预设边界值,可以实现自动化异常检测,减少人工干预和操作上的复杂性,系统可以根据设定的规则自动判断异常报文的存在,并及时发出警报或采取相应的处理措施,提高了数据处理的自动化程度和效率。
综上,该异常报文检测方法具有实时性和准确性、有效性和高效性、参数可调性和自动化异常检测等优点,有助于及时捕捉异常报文,保障系统的稳定性和可靠性。
进一步地,本申请公开的异常报文检测方法还包括:当判定某个序列中存在异常报文后,分析下该序列中是否出现样本转换概率为0的组合(即ID信息),如果在异常序列中出现这样情况,可直接判判定样本转换概率为0的ID信息中的两个报文均为异常报文。
或者,还可以将报文序列通过告警日志记录下来,需要安全人员再进一步分析异常原因。
本申请公开的异常报文检测方法,旨在集成至车载网关或ECU设备内的CAN入侵检测系统(IDS)或入侵防护系统(IPS)中,扩展检测引擎的功能,以增强对报文序列异常的识别能力。
具体地,可以在现有CAN入侵检测系统(IDS)或入侵防护系统(IPS)中,新增报文序列异常检测功能。使用CANOE或者ZCANPRO作为上位机工具向部署有本发明的检测引擎中注入异常报文,可看到检测引擎产生的告警日志。
参照图7,第二方面本公开实施例还提供了一种异常报文检测系统,采用如下技术方案:
创建模块,配置为创建缓存队列;缓存队列的长度为N。
其中,N≥2;
存储模块,配置为将获取的CAN报文按照时间顺序依次存储至所述缓存队列;
计算模块,配置为当所述缓存队列存满时,将存入的N个所述CAN报文标记为一个序列,获取所述序列的发生概率;
获取模块,配置为获取预设下限边界值、预设上限边界值;
判断模块,配置为若所述发生概率小于所述预设下限边界值,或者大于所述预设上限边界值,判定所述序列中存在异常报文。
根据本公开实施例的计算机装置包括存储器和处理器。该存储器用于存储非暂时性计算机可读指令。具体地,存储器可以包括一个或多个计算机程序产品,该计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。该易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。该非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。
该处理器可以是中央处理单元(CPU)或者具有数据处理能力和/或指令执行能力的其它形式的处理单元,并且可以控制计算机装置中的其它组件以执行期望的功能。在本公开的一个实施例中,该处理器用于运行该存储器中存储的该计算机可读指令,使得该计算机装置执行前述的本公开各实施例的异常报文检测方法全部或部分步骤。
本领域技术人员应能理解,为了解决如何获得良好用户体验效果的技术问题,本实施例中也可以包括诸如通信总线、接口等公知的结构,这些公知的结构也应包含在本公开的保护范围之内。
如图8为本公开实施例提供的一种计算机装置的结构示意图。其示出了适于用来实现本公开实施例中的计算机装置的结构示意图。图8示出的计算机装置仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图8所示,计算机装置可以包括处理器(例如中央处理器、图形处理器等),其可以根据存储在只读存储器(ROM)中的程序或者从存储装置加载到随机访问存储器(RAM)中的程序而执行各种适当的动作和处理。在RAM中,还存储有计算机装置操作所需的各种程序和数据。处理器、ROM以及RAM通过总线彼此相连。输入/输出(I/O)接口也连接至总线。
通常,以下装置可以连接至I/O接口:包括例如传感器或者视觉信息采集设备等的输入装置;包括例如显示屏等的输出装置;包括例如磁带、硬盘等的存储装置;以及通信装置。通信装置可以允许计算机装置与其他设备(比如边缘计算设备)进行无线或有线通信以交换数据。虽然图8示出了具有各种装置的计算机装置,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在非暂态计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置从网络上被下载和安装,或者从存储装置被安装,或者从ROM被安装。在该计算机程序被处理器执行时,执行本公开实施例的异常报文检测方法的全部或部分步骤。
有关本实施例的详细说明可以参考前述各实施例中的相应说明,在此不再赘述。
根据本公开实施例的计算机可读存储介质,其上存储有非暂时性计算机可读指令。当该非暂时性计算机可读指令由处理器运行时,执行前述的本公开各实施例的异常报文检测方法的全部或部分步骤。
上述计算机可读存储介质包括但不限于:光存储介质(例如:CD-ROM和DVD)、磁光存储介质(例如:MO)、磁存储介质(例如:磁带或移动硬盘)、具有内置的可重写非易失性存储器的媒体(例如:存储卡)和具有内置ROM的媒体(例如:ROM盒)。
有关本实施例的详细说明可以参考前述各实施例中的相应说明,在此不再赘述。
以上结合具体实施例描述了本公开的基本原理,但是,需要指出的是,在本公开中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优点、优势、效果等是本公开的各个实施例必须具备的。另外,上述公开的具体细节仅是为了示例的作用和便于理解的作用,而非限制,上述细节并不限制本公开为必须采用上述具体的细节来实现。
在本公开中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序,本公开中涉及的器件、装置、设备、系统的方框图仅作为例示性的例子并且不意图要求或暗示必须按照方框图示出的方式进行连接、布置、配置。如本领域技术人员将认识到的,可以按任意方式连接、布置、配置这些器件、装置、设备、系统。诸如“包括”、“包含”、“具有”等等的词语是开放性词汇,指“包括但不限于”,且可与其互换使用。这里所使用的词汇“或”和“和”指词汇“和/或”,且可与其互换使用,除非上下文明确指示不是如此。这里所使用的词汇“诸如”指词组“诸如但不限于”,且可与其互换使用。
另外,如在此使用的,在以“至少一个”开始的项的列举中使用的“或”指示分离的列举,以便例如“A、B或C的至少一个”的列举意味着A或B或C,或AB或AC或BC,或ABC(即A和B和C)。此外,措辞“示例的”不意味着描述的例子是优选的或者比其他例子更好。
还需要指出的是,在本公开的系统和方法中,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本公开的等效方案。
可以不脱离由所附权利要求定义的教导的技术而进行对在此所述的技术的各种改变、替换和更改。此外,本公开的权利要求的范围不限于以上所述的处理、机器、制造、事件的组成、手段、方法和动作的具体方面。可以利用与在此所述的相应方面进行基本相同的功能或者实现基本相同的结果的当前存在的或者稍后要开发的处理、机器、制造、事件的组成、手段、方法或动作。因而,所附权利要求包括在其范围内的这样的处理、机器、制造、事件的组成、手段、方法或动作。
提供所公开的方面的以上描述以使本领域的任何技术人员能够做出或者使用本公开。对这些方面的各种修改对于本领域技术人员而言是非常显而易见的,并且在此定义的一般原理可以应用于其他方面而不脱离本公开的范围。因此,本公开不意图被限制到在此示出的方面,而是按照与在此公开的原理和新颖的特征一致的最宽范围。
为了示例和描述的目的已经给出了以上描述。此外,此描述不意图将本公开的实施例限制到在此公开的形式。尽管以上已经讨论了多个示例方面和实施例,但是本领域技术人员将认识到其某些变形、修改、改变、添加和子组合。

Claims (10)

1.一种异常报文检测方法,其特征在于,包括:
创建长度为N的缓存队列;
将获取的CAN报文按照时间顺序依次存储至所述缓存队列;
当所述缓存队列存满时,将存入的N个所述CAN报文标记为一个序列,获取所述序列的发生概率;
获取预设下限边界值、预设上限边界值;
若所述发生概率小于所述预设下限边界值,或者大于所述预设上限边界值,判定所述序列中存在异常报文;
其中,N≥2。
2.根据权利要求1所述的异常报文检测方法,其特征在于,所述获取所述序列的发生概率,包括:
获取所有相邻两个所述CAN报文的ID转换概率;
将获取的P个所述ID转换概率相乘,获得所述发生概率;
P=N-1。
3.根据权利要求2所述的异常报文检测方法,其特征在于,所述获取所有相邻两个所述CAN报文的ID转换概率,包括:
确定相邻两个所述CAN报文的两个ID值,并将第一个报文的ID值标记为ID1,将第二个报文的ID值标记为ID2;
基于构造的报文转换概率矩阵获取所述ID1到所述ID2的ID转换概率。
4.根据权利要求3所述的异常报文检测方法,其特征在于,所述报文转换概率矩阵的构造方法,包括:
获取包含所有不同预设类型报文的样本集;
所述样本集包括预设周期内车辆在运行过程中CAN总线上的流量数据;
获取所述样本集的CAN ID值集合;
将所述CAN ID值集合中两两相邻的报文ID标记为一组ID信息;
获取每组所述ID信息的样本转换概率Yi
获取所述CAN ID值集合中所有不同的CAN ID值,并标记为第一集合;
将所述第一集合中的CAN ID值按照从小到大的顺序排列,获得矩阵第一行索引、矩阵第一列索引;
基于所述矩阵第一行索引、所述矩阵第一列索引、每组所述ID信息的样本转换概率,构造所述报文转换概率矩阵;
所述报文转换概率矩阵的行数、列数均为K,K=T+1;其中,T为所述CAN ID值集合中所有不同的CAN ID值的数量。
5.根据权利要求4所述的异常报文检测方法,其特征在于,所述样本转换概率为Yi,Yi=(Si+1/Si+1+1)×100%;
其中,Si为所述样本集中与所述ID信息中第一个报文的ID相同的其它ID信息的组数,Si+1为所述样本集中与所述ID信息相同的其它ID信息的组数;
所述ID信息为第i组,0<i≤Q-1,Q为所述样本集中报文的数量。
6.根据权利要求5所述的异常报文检测方法,其特征在于,所述获取预设下限边界值、预设上限边界值,包括:
计算所述样本集中连续N个相邻CAN报文的事件出现概率;
将获取的所述事件出现概率中的最小值作为所述预设下限边界值;
将获取的所述事件出现概率中的最大值作为所述预设上限边界值。
7.根据权利要求6所述的异常报文检测方法,其特征在于,所述计算所述样本集中连续N个相邻CAN报文的事件出现概率,包括:
初始化大小为N的滑动窗口;
基于构造的所述报文转换概率矩阵获取当前所述滑动窗口内相邻两个报文ID之间的P个样本转换概率;
将获取的P个样本转换概率相乘,获得当前所述滑动窗口的事件出现概率;
通过所述滑动窗口在所述样本集上滑动,获取所述样本集中所有的事件出现概率;
所述滑动窗口的滑动步长为一个报文位置,且所述滑动窗口覆盖N个相邻的CAN报文。
8.根据权利要求1-7中任一项所述的异常报文检测方法,其特征在于,所述异常报文检测方法还包括:
当接收到第R个CAN报文时,删除所述缓存队列中最早接收存储的CAN报文;
将第R个CAN报文按照时间顺序存入所述缓存队列中,获得新的缓存队列;
其中,R=N+1。
9.一种计算机装置,其特征在于,所述计算机装置包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求8所述的异常报文检测方法。
10.一种计算机可读存储介质,其特征在于,该计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行权利要求8所述的异常报文检测方法。
CN202410574892.XA 2024-05-10 异常报文检测方法、计算机装置、计算机可读存储介质 Pending CN118316721A (zh)

Publications (1)

Publication Number Publication Date
CN118316721A true CN118316721A (zh) 2024-07-09

Family

ID=

Similar Documents

Publication Publication Date Title
US9323651B2 (en) Bottleneck detector for executing applications
CN116188821B (zh) 版权检测方法、系统、电子设备和存储介质
JP5913145B2 (ja) ログ可視化装置及び方法及びプログラム
JP2015028700A (ja) 障害検知装置、障害検知方法、障害検知プログラム及び記録媒体
JP2015011027A (ja) 時系列データにおける異常を検出する方法
CN110275878B (zh) 业务数据检测方法、装置、计算机设备及存储介质
Folmer et al. Detection of temporal dependencies in alarm time series of industrial plants
CN110300008A (zh) 一种确定网络设备的状态的方法及装置
KR101266930B1 (ko) 포렌식 감사 데이터 시각화 시스템
CN114710369B (zh) 一种异常数据检测方法、装置、计算机设备及存储介质
CN115185761A (zh) 异常检测方法及装置
CN112671767A (zh) 一种基于告警数据分析的安全事件预警方法及装置
CN111400114A (zh) 基于深度递归网络大数据计算机系统故障检测方法及系统
CN111090593A (zh) 确定崩溃归属的方法、装置、电子设备及存储介质
CN113645215B (zh) 异常网络流量数据的检测方法、装置、设备及存储介质
CN111369792A (zh) 一种交通事件的分析方法、装置及电子设备
CN116743637B (zh) 一种异常流量的检测方法、装置、电子设备及存储介质
CN118316721A (zh) 异常报文检测方法、计算机装置、计算机可读存储介质
CN116647389A (zh) 一种工业控制系统网络访问安全性预警系统及方法
CN111176950A (zh) 一种监控服务器集群的网卡的方法和设备
CN115801538A (zh) 场站服务器应用资产深度识别方法、系统及设备
CN115189961A (zh) 一种故障识别方法、装置、设备及存储介质
KR20150056268A (ko) 공장 운영 장애에 대한 분석용 어플리케이션 및 분석 방법
CN118101999B (zh) 一种短视频流量数据分析方法
US11829122B2 (en) Industrial network behavior analysis method, apparatus and system, and computer-readable medium

Legal Events

Date Code Title Description
PB01 Publication