掌桥专利:专业的专利平台
掌桥专利
首页

基于神经网络的CAN总线入侵检测方法、装置及介质

文献发布时间:2024-04-18 19:58:53


基于神经网络的CAN总线入侵检测方法、装置及介质

技术领域

本发明涉及网络安全技术领域,尤其涉及一种基于神经网络的CAN总线入侵检测方法、装置、设备及介质。

背景技术

物联网、人工智能和大数据分析等技术的快速发展,为智能网联汽车(Intelligent Connected Vehicles,ICVs)提供了技术基础。最终控制器局域网(Controller Area Network,CAN)是一种用于在汽车和工业控制系统中进行通信的串行通信协议和总线系统。CAN总线采用了一种分布式通信架构,其中多个ECU通过CAN总线进行相互通信和数据交换。它使用差分信号线来传输数据,其中一根线传输高电平,另一根线传输低电平,从而提高抗干扰性能和信号可靠性。然而为了满足汽车内部低时延与多节点等要求,CAN总线传输的数据并没有进行加密且对数据发送方也不进行验证,这就导致CAN总线本身没有足够的安全防御机制来抵挡入侵者的攻击,攻击者可以轻松通过外部接口访问到CAN总线网络并展开危害攻击。

近年来,深度学习作为一种基于神经网络的机器学习方法,在CAN总线入侵检测中得到了广泛应用。深度学习通过学习CAN总线数据集中的规律和特征来判断数据是否存在异常,从而提高了入侵检测的准确率。

然而在现有的CAN总线入侵检测研究工作中,基于深度学习的CAN总线入侵检测往往会忽略CAN总线数据集中数据之间的时间序列特征。CAN总线数据的时间序列特征反映了CAN总线数据在时间上的变化规律,而这些规律可能会受到攻击者的干扰。因此,如何利用CAN总线数据的时间序列特征来提高入侵检测的准确率是一个重要的问题。

发明内容

为克服相关技术中存在的问题,本公开提供一种基于神经网络的CAN总线入侵检测方法、装置、设备及介质,以解决相关技术中的技术问题。

本说明书一个或多个实施例提供了一种基于神经网络的CAN总线入侵检测方法,包括:

获取历史CAN总线数据,所述CAN总线数据为通过各类型CAN帧构成的文本数据;

对历史CAN总线数据进行预处理,将CAN总线数据中提取到的文本数据转换为图形数据;

建立用于检测CAD入侵攻击类型的入侵检测模型,将步骤S2获得的图形数据输入待训练的入侵检测模型,根据收敛条件对所述CAD入侵检测模型进行训练,获得训练好的入侵检测模型;其中,所述入侵检测模型依次包括用于提取图形数据特征的ResNet网络、用于学习时间序列特征的LSTM层和全联接层;

将实时获取的CAN总线数据输入至训练好的入侵检测模型,通过入侵检测模型确定是否存在入侵行为及入侵的攻击类型。

本说明书一个或多个实施例提供了一种基于神经网络的CAN总线入侵检测装置,包括:

数据获取模块:用于获取历史CAN总线数据,所述CAN总线数据为通过各类型CAN帧构成的文本数据;

数据预处理模块:用于对历史CAN总线数据进行预处理,将CAN总线数据中提取到的文本数据转换为图形数据;

模型建立及训练模块:用于建立用于检测CAD入侵攻击类型的入侵检测模型,将数据预处理模块获得的图形数据输入待训练的入侵检测模型,根据收敛条件对所述CAD入侵检测模型进行训练,获得训练好的入侵检测模型;其中,所述入侵检测模型依次包括用于提取图形数据特征的ResNet网络、用于学习时间序列特征的LSTM层和全联接层;

预测模块:用于将实时获取的CAN总线数据输入至训练好的入侵检测模型,通过入侵检测模型确定是否存在入侵为及入侵的攻击类型。

本说明书一个或多个实施例提供了计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述所述基于神经网络的CAN总线入侵检测方法。

本说明书一个或多个实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上述所述基于神经网络的CAN总线入侵检测方法的步骤。

本实施例提供的基于神经网络的CAN总线入侵检测方法、装置、设备及介质,本公开通过考虑针对CAN总线中的时序特征给出一种有效利用方法,数据中不仅考虑考虑了CAN消息的内容信息中的重要的信息,还考虑了多个时间间隔的组合特征,加强特征间的关联性,提高检测结果的准确性;另本实施例中使用基于残差网络和长短期记忆网络的新型混合入侵检测模型,该模型可以通过预处理的数据、网络构建和网络数据转换等操作,充分提取并利用时间序列特征提升模型的性能,最终达到高准确率、实时性、低时延的优点,并能够有效的检测CAN总线中的入侵攻击。

附图说明

为了更清楚地说明本说明书一个或多个实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本说明书一个或多个实施例提供的一种基于神经网络的CAN总线入侵检测方法的流程图;

图2为本说明书一个或多个实施例提供的数据块转换为图片的示意图;

图3为本说明书一个或多个实施例提供的一种基于神经网络的CAN总线入侵检测方法中的入侵检测模型网络结构示意图;

图4为本说明书一个或多个实施例提供的一种基于神经网络的CAN总线入侵检测方法中LSTM单元结构示意图;

图5为本说明书一个或多个实施例提供的一种基于神经网络的CAN总线入侵检测装置框图;

图6为本说明书一个或多个实施例提供的一种计算机的结构示意图。

具体实施方式

为了使本技术领域的人员更好地理解本说明书一个或多个实施例中的技术方案,下面将结合本说明书一个或多个实施例中的附图,对本说明书一个或多个实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书的一部分实施例,而不是全部的实施例。基于本说明书一个或多个实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明件的保护范围。

下面结合具体实施方式和说明书附图对本发明做出详细的说明。

方法实施例

根据本发明实施例,提供了一种基于神经网络的CAN总线入侵检测方法,如图1所示,为本实施例提供的基于神经网络的CAN总线入侵检测方法流程图,根据本发明实施例的基于神经网络的CAN总线入侵检测方法,包括:

步骤S1、获取历史CAN总线数据,所述CAN总线数据为通过各类型CAN帧构成的文本数据;

步骤S2、对历史CAN总线数据进行预处理,将CAN总线数据中提取到的文本数据转换为图形数据;本步骤对CAN总线数据进行数据清洗,去除噪声、无效数据和重复数据,确保数据格式一致并具有可处理性。接着是提取具有10个重要特征的CAN文本数据,将这些CAN文本数据归一化处理后转换为数据块,再通过组合数据块的形式将数据样本转化为图片;其中CAN总线数据包含了拒绝服务(DenialofService,DOS)攻击数据、模糊(Fuzzy)攻击数据、模拟(Impersonation)攻击数据以及无攻击的正常数据。而在这些数据中,每条数据均由Timestamp、CAN ID、DLC、DATA域和标签属性构成,具体如下表1所示。

表1、数据属性描述表

步骤S3、建立用于检测CAD入侵攻击类型的入侵检测模型,将步骤S2获得的图形数据输入待训练的入侵检测模型,根据收敛条件对所述CAD入侵检测模型进行训练,获得训练好的入侵检测模型;其中,所述入侵检测模型依次包括用于提取图形数据特征的ResNet网络、用于学习时间序列特征的LSTM层和全联接层;

步骤S4、将实时获取的CAN总线数据输入至训练好的入侵检测模型,通过入侵检测模型确定是否存在入侵行为及入侵的攻击类型。

本实施例提供的基于神经网络的CAN总线入侵检测方法,通过考虑针对CAN总线中的时序特征给出一种有效利用方法,数据中不仅考虑考虑了CAN消息的内容信息中的重要的信息,还考虑了多个时间间隔的组合特征,加强特征间的关联性,提高检测结果的准确性;另本实施例中使用基于残差网络和长短期记忆网络的新型混合入侵检测模型,该模型可以通过预处理的数据、网络构建和网络数据转换等操作,充分提取并利用时间序列特征提升模型的性能,最终达到高准确率、实时性、低时延的优点,并能够有效的检测CAN总线中的入侵攻击。

本实施例中,历史CAN总线数据的具体表现形式是CAN帧结构,通过CAN帧结构有助于了解CAN总线数据集的文本数据内容。CAN帧是在CAN总线上传输的数据报文,本实施例,CAN帧的文本数据中包括10个重要特征,其中包括时间戳、基本ID以及8个数据字段。按照用途可以将CAN帧划分为四种不同的类型,如下表2所示。

表2、CAN帧类型及用途

上述数据帧在CAN帧中使用范围与使用频率最为广泛,其主要作用是用于ECU之间的数据传输,远程帧携带了某一具体节点向其它节点发送的请求数据。错误帧的主要用途是当CAN总线检测到错误时,向总线中各个节点发送通知消息。过载帧则是用于当某个节点处于繁忙或无法处理数据时,向发送单元传递该状态信息。数据帧和远程帧具有两种形式:标准帧格式和扩展帧格式,拓展数据帧与标准数据帧相比仅额外增加了18位的拓展标示符。

本实施例,为了让ResNet模型更好的训练数据,需要将CAN总线中提取到的文本数据转换为图形数据。由于图像的像素范围值为[0,255],因此需要对CAN帧数据进行缩放以匹配图像像素范围,因此采取使用最大最小归一化的方法进行,具体步骤在下文进行阐述。步骤S2中,对历史CAN总线数据进行预处理(包括数据清洗、特征提取),将CAN总线数据中提取到的文本数据转换为图形数据。其中总线数据在步骤S2中已给出。

本实施例,由于CAN帧的文本数据中包括10个重要特征,且各特征的值域范围不同,因此需要为它们分别设置缩放比例。时间戳字段虽然没有固定的值域范围,但是对于一个有限的数据集,其时间范围往往是平滑且可预见的。因此,可以使用最大最小值归一化的方法,将原始时间序列数据缩放到[0,1]之间,其中,最大最小值归一化具体如下式:

式中,x是原始数据,x

将所有的数据归一化后,还需要将数据样本转换为数据块,再通过组合数据块的形式将数据样本转化为图片,具体为,首先将预设条CAN帧文本数据视为一个数据块,例如将每30条CAN帧文本数据视为一个数据块,然后将获得的各数据块通过堆叠的方式转换为一张3通道的图片数据。参考图2所示,为本实施例提供的数据块转换为图片的示意图,数据块(下图中的小矩形)由30条CAN帧文本数据构成(小矩形左侧的数字30表示该矩形共有30条CAN帧文本数据),每条CAN帧文本数据中包含10个特征(小矩形上方的数字10表示10个特征),所以一个数据块就能够转化为一个大小例如(10,10,3)的张量(每30条为例),具体而言如下图中的灰色部分,它将一个小矩形(数据块)分成三个通道,每个通道具有10条CAN帧文本数据,每个CAN帧文本具有10个特征(左侧的数字10和上侧的数据10),最终形成一张(10,10,3)的3通道图片数据,该数据可以视为一张图片,但实际上还是文本数据。最后,将这个张量作为一张3通道的图片数据,输入到深度学习模型中进行训练。

在一些实施例中,步骤S3中,用于提取图形数据特征的ResNet网络可具体参考图3所示,为本实施例提供的入侵检测模型网络图,其中虚线部分为ResNet网络结构。

本实施例,选用ResNet-50作为组合模型的特征提取模块。该ResNet-50的结构包括5个阶段(stage),及stage0-stage5,其中,

stage0:结构简单对应图中Conv1部分,包含一Conv2d层和一Maxpool层,它主要是对输入的图形数据进行预处理,其余stage均包含了多个残差块组,每个残差块组至少包含一个残差块。

具体说明stage0的处理过程,在ResNet50模块中,例如尺寸为(3,224,224)的特征图会被输入到stage0中,并通过一个卷积核大小为7×7,卷积核数量为64,卷积核步长为2的卷积层(Convolution,CONV)对输入数据进行处理。接着,对数据使用批量归一化(BatchNormalization)处理和ReLU激活函数激活,最后经过一个核为3×3,步长为2的最大池化(MaxPooling)层,得到一个尺寸为(64,56,56)的输出。

Stage1:包括一个Bottlenneck1类型残差块和两个Bottleneck2类型残差块,stage0处理后的数据会经过一个Bottlenneck1类型残差块和两个Bottleneck2类型残差块计算,数据经过Bottlenneck1残差后,其输入尺寸和输出尺寸发生改变,本实施例设置尺寸为(64,56,56)的特征数据将转变为(256,56,56),而后经过两个Bottlenneck2残差块,其尺寸保持尺寸不变,最终以(256,56,56)的尺寸输出。

在Bottlenneck1中,其残差函数由3个CONV层组成,最后一个CONV层的输出通道数为输入通道数的4倍。该残差块中恒等函数部分包含一个CONV层,其输出通道数为输入通道的4倍。在Bottlenneck2中,最后一个CONV层的输出通道数与输入通道数相同,且恒等函数部分并没有额外的CONV层。

Stage2:包括一个Bottlenneck1类型残差块和三个Bottleneck2类型残差块,stage1处理后的数据会经过一个Bottlenneck1类型残差块和三个Bottleneck2类型残差块计算,数据经过Bottlenneck1残差后,其输入尺寸和输出尺寸发生改变,本实施例设置尺寸为(256,56,56)的特征数据将转变为(512,28,28),而后经过两个Bottlenneck2残差块,其尺寸保持尺寸不变,最终以(512,28,28)的尺寸输出。

Stage3:包括一个Bottlenneck1类型残差块和五个Bottleneck2类型残差块,stage2处理后的数据会经过一个Bottlenneck1类型残差块和三个Bottleneck2类型残差块计算,数据经过Bottlenneck1残差后,其输入尺寸和输出尺寸发生改变,本实施例设置尺寸为(512,28,28)的特征数据将转变为(1024,14,14),而后经过两个Bottlenneck2残差块,其尺寸保持尺寸不变,最终以(1024,14,14)的尺寸输出。

Stage4:包括一个Bottlenneck1类型残差块和两个Bottleneck2类型残差块,stage3处理后的数据会经过一个Bottlenneck1类型残差块和三个Bottleneck2类型残差块计算,数据经过Bottlenneck1残差后,其输入尺寸和输出尺寸发生改变,本实施例设置尺寸为(1024,14,14)的特征数据将转变为(2048,7,7),而后经过两个Bottlenneck2残差块,其尺寸保持尺寸不变,最终以(2048,7,7)的尺寸输出。

stage2、stage3、stage4的过程与stage1除了构成的残差块数量不同外,其余部分基本相似,这里不在赘述。最终ResNet-50输出的特征图尺寸为(2048,7,7)。

在一些实施例中,将由ResNet-50输出的特征矩阵输入到LSTM神经网络模型中进行训练,本实施例LSTM模型的隐藏层尺寸被设置为128,并且在网络层两两之间设置一层dropout层来防止出现过拟合现象,最后将LSTM的输出输入到全连接层中进行计算,从而得到最终输出。通过该模型进行消除长依赖问题,并且保留CAN总线流量中时间特征的相关性,起到提高检测准确率的作用。LSTM层模型会输出一个根据输入的序列数据学习到的对应输出序列,最后将这个序列输入到一个名为Dense的全联接层(Fully Connected Layer)中进行计算,最终输出检测结果。

本实施例中,参考图4所示,为本实施例提供的LSTM层结构图,包括包括:单元状态(cell state)、遗忘门(forget gate)、单元状态更新值、输入门(input gate)和输出门(output gate),其中,

单元状态是LSTM的骨干部分,它从始至终贯穿了整个LSTM链式系统。它的数学表达式如下:

其中,C

遗忘门f

f

其中,σ(·)为激活函数,W

单元状态更新值

输入门i

i

输出门用于计算隐藏状态的值,其实数学表达式如下:

o

h

其中,o

综上,LSTM通过门状态来控制传输状态,记住那些需要长期记忆的特征,忘记那些不重要的特征,从而解决长期依赖问题,且对传统的LSTM模型进行了改进,防止出现过拟合现象。

本实施例提供的神经网络的CAN总线入侵检测方法,解决现有的CAN总线入侵检测研究工作,基于深度学习的CAN总线入侵检测往往会忽略CAN总线数据集中数据之间的时间序列特征。本发明针对这个问题,基于残差网络和长短期记忆网络的新型混合入侵检测模型,该模型可以通过数据预处理、网络构建和网络数据转换等操作,充分提取并利用时间序列特征提升模型的性能,最终达到高准确率、实时性、低时延的优点,并能够有效的检测CAN总线中的入侵攻击。

装置实施例

根据本发明实施例,提供了一种基于神经网络的CAN总线入侵检测装置,如图5所示,为本实施例提供的基于神经网络的CAN总线入侵检测装置框图,根据本发明实施例的基于神经网络的CAN总线入侵检测装置,包括:

数据获取模块:用于获取历史CAN总线数据,所述CAN总线数据为通过各类型CAN帧构成的文本数据;

数据预处理模块:用于对历史CAN总线数据进行预处理,将CAN总线数据中提取到的文本数据转换为图形数据;

模型建立及训练模块:用于建立用于检测CAD入侵攻击类型的入侵检测模型,将数据预处理模块获得的图形数据输入待训练的入侵检测模型,根据收敛条件对所述CAD入侵检测模型进行训练,获得训练好的入侵检测模型;其中,所述入侵检测模型依次包括用于提取图形数据特征的ResNet网络、用于学习时间序列特征的LSTM层和全联接层;

预测模块:用于将实时获取的CAN总线数据输入至训练好的入侵检测模型,通过入侵检测模型确定是否存在入侵行为及入侵的攻击类型。

本实施例提供的基于神经网络的CAN总线入侵检测装置,通过考虑针对CAN总线中的时序特征,数据中不仅考虑考虑了CAN消息的内容信息中的重要的信息,还考虑了多个时间间隔的组合特征,加强特征间的关联性,提高检测结果的准确性;另本实施例中模型建立及训练模块使用基于残差网络和长短期记忆网络的新型混合入侵检测模型,该模型可以通过预处理的数据、网络构建和网络数据转换等操作,充分提取并利用时间序列特征提升模型的性能,最终达到高准确率、实时性、低时延的优点,并能够有效的检测CAN总线中的入侵攻击。

本发明实施例是与上述方法实施例对应的装置实施例,各个模块处理步骤的具体操作可以参照方法实施例的描述进行理解,在此不再赘述。

如图6所示,本发明还提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述实施例中基于神经网络的CAN总线入侵检测方法,或者计算机程序被处理器执行时实现上述实施例中基于神经网络的CAN总线入侵检测方法,所述计算机程序被所述处理器执行时实现如下方法步骤:

步骤S1、获取历史CAN总线数据,所述CAN总线数据为通过各类型CAN帧构成的文本数据;

步骤S2、对历史CAN总线数据进行预处理,将CAN总线数据中提取到的文本数据转换为图形数据;

步骤S3、建立用于检测CAD入侵攻击类型的入侵检测模型,将步骤S2获得的图形数据输入待训练的入侵检测模型,根据收敛条件对所述CAD入侵检测模型进行训练,获得训练好的入侵检测模型;其中,所述入侵检测模型依次包括用于提取图形数据特征的ResNet网络、用于学习时间序列特征的LSTM层和全联接层;

步骤S4、将实时获取的CAN总线数据输入至训练好的入侵检测模型,通过入侵检测模型确定是否存在入侵行为及入侵的攻击类型。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围,且本发明说明书中未作详细描述的内容属本领域技术人员的公知技术。

技术分类

06120116513824