设备异常通信行为检测方法及装置

专利2024-12-03  47



1.本发明涉及网络安全技术领域,尤其涉及一种设备异常通信行为检测方法及装置。


背景技术:

2.目前工业入侵检测技术是工控网络安全防护的主要手段之一。通常情况下,工控设备的工作模式固定、网络行为稳定,网络流量特征具有一定的辨识度。入侵检测技术通过对工控网络的流量进行实时监测,当工控网络受到攻击的时候,可以根据设备的流量特征来判断其是否处于正常工作状态,抑或受到网络攻击。
3.为了实现设备网络行为的实时监测,需要从设备的通信数据包中提取关键特征,进一步利用该特征对设备的状态进行识别、判断与评估。现有技术中,入侵检测技术通常借助互联网协议(internet protocol,ip)地址、媒体访问控制(media access control,mac)地址、端口号等标识,或数据包的方向、数据包负载长度以及设备响应时间等特征来识别设备通信行为是否异常,但目前较为成熟的网络攻击均可实现对这些标识或特征的伪造,因此利用这些标识或特征检测设备异常通信行为的准确率较低,安全防护效果较差。


技术实现要素:

4.针对现有技术存在的问题,本发明提供一种设备异常通信行为检测方法及装置。
5.第一方面,本发明提供一种设备异常通信行为检测方法,包括:
6.获取数据包组,所述数据包组中包括目标设备在一个轮询周期内的多个数据包;
7.根据所述数据包组中每个数据包的有效负载,构建负载灰度图像;其中,一个数据包的有效负载对应所述负载灰度图像的一行;
8.获取所述负载灰度图像的时空特征向量,所述时空特征向量用于表征所述负载灰度图像中各像素点之间的空间关系以及各行之间的时序关系;
9.利用所述负载灰度图像的时空特征向量构建相应的设备行为指纹,并根据所构建的设备行为指纹和所述目标设备的时空特征行为指纹,对所述目标设备的通信行为或所述数据包组中的待检测数据包进行检测。
10.可选地,所述获取所述负载灰度图像的时空特征向量,包括:
11.分别提取所述负载灰度图像的空间特征向量和时序特征向量;
12.将所述空间特征向量和时序特征向量级联,得到所述负载灰度图像的时空特征向量;
13.其中,所述空间特征向量用于表征所述负载灰度图像中各像素点之间的空间关系,所述时序特征向量用于表征所述负载灰度图像中各行之间的时序关系。
14.可选地,提取所述负载灰度图像的空间特征向量,包括:
15.基于cnn模型,提取所述负载灰度图像的空间特征向量;
16.其中,所述cnn模型是基于带有设备通信行为分类标签的负载灰度图像样本训练
得到的。
17.可选地,提取所述负载灰度图像的时域特征向量,包括:
18.基于lstm模型,提取所述负载灰度图像的时序特征向量;
19.其中,所述lstm模型是基于带有设备通信行为分类标签的负载灰度图像样本训练得到的。
20.可选地,所述根据所构建的设备行为指纹和所述目标设备的时空特征行为指纹,对所述目标设备的通信行为或所述数据包组中的待检测数据包进行检测,包括:
21.计算所构建的设备行为指纹和所述目标设备的时空特征行为指纹之间的距离;
22.根据所述距离与所述目标设备对应的距离阈值之间的比较结果,确定对所述目标设备的通信行为或所述数据包组中的待检测数据包进行检测的结果。
23.可选地,所述根据所述距离与所述目标设备对应的距离阈值之间的比较结果,确定对所述目标设备的通信行为或所述数据包组中的待检测数据包进行检测的结果,包括:
24.若所述距离大于所述距离阈值,则确定所述目标设备的通信行为异常,或所述待检测数据包检测异常;
25.若所述距离小于或等于所述距离阈值,则确定所述目标设备的通信行为正常,或所述待检测数据包检测正常。
26.可选地,所述获取数据包组,包括:
27.获取第一数据包组,所述第一数据包组中包括所述目标设备在待检测的一个轮询周期内的所有数据包;或者,
28.确定待检测数据包,并根据所述待检测数据包中的设备标识确定目标设备;
29.以所述目标设备的一个轮询周期作为提取数据包组的滑动窗口,获取第二数据包组,所述第二数据包组中包括所述待检测数据包,以及所述目标设备在待检测数据包之前的多个数据包。
30.可选地,所述负载灰度图像的行数根据所述目标设备所在的数控网络中的最大轮询周期确定。
31.第二方面,本发明还提供一种设备异常通信行为检测装置,包括:
32.数据包获取模块,用于获取数据包组,所述数据包组中包括目标设备在一个轮询周期内的多个数据包;
33.图像构建模块,用于根据所述数据包组中每个数据包的有效负载,构建负载灰度图像;其中,一个数据包的有效负载对应所述负载灰度图像的一行;
34.向量获取模块,用于获取所述负载灰度图像的时空特征向量,所述时空特征向量用于表征所述负载灰度图像中各像素点之间的空间关系以及各行之间的时序关系;
35.检测模块,用于利用所述负载灰度图像的时空特征向量构建相应的设备行为指纹,并根据所构建的设备行为指纹和所述目标设备的时空特征行为指纹,对所述目标设备的通信行为或所述数据包组中的待检测数据包进行检测。
36.第三方面,本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上所述第一方面所述的设备异常通信行为检测方法。
37.第四方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程
序,该计算机程序被处理器执行时实现如上所述第一方面所述的设备异常通信行为检测方法。
38.第五方面,本发明还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述设备异常通信行为检测方法。
39.本发明提供的设备异常通信行为检测方法及装置,通过利用数据包负载构建负载灰度图像,并提取负载灰度图像的时空特征作为设备行为指纹,使得该指纹既包含了复杂多变的负载内容特征,又保证了攻击者在不了解指纹提取框架的情况下,很难准确伪造出可以绕过检测的数据包,从而可提高检测的准确率;并且,该方法的检测过程计算量较小,可应用于在线实时检测,更加方便快捷。
附图说明
40.为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
41.图1是本发明提供的设备异常通信行为检测方法的流程示意图;
42.图2是本发明提供的时空特征行为指纹构建流程示意图;
43.图3是本发明提供的提取时空特征行为指纹的神经网络模型的流程示意图;
44.图4是本发明提供的利用时空特征行为指纹识别设备通信行为的流程示意图;
45.图5是本发明提供的利用时空特征行为指纹实现数据包的在线入侵检测的流程示意图;
46.图6是本发明提供的数据包负载长度分布统计图;
47.图7是本发明提供的负载灰度图像列数与时空特征行为指纹提取流程示意图;
48.图8是本发明提供的不同负载灰度图像列数情况下的分类实验结果曲线图;
49.图9是本发明提供的四台相同品牌与型号的机床在不同负载灰度图像尺寸下分类实验的混淆矩阵示意图;
50.图10是本发明提供的设备异常通信行为检测装置的结构示意图;
51.图11是本发明提供的电子设备的结构示意图。
具体实施方式
52.为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
53.针对现有的工控网络入侵检测技术准确率较低,安全防护效果较差的问题,本发明提供一种解决方案,可根据数控机床的通信模式,利用数据包负载构建负载灰度图像,利用神经网络提取负载灰度图像的时空特征,采用时空特征向量作为设备行为指纹,解决了固定字段作为标识可被伪造、篡改的问题。负载灰度图像是对一个轮询周期内的数据包负载进行提取而构建的,这保留了原始数据包的序列关系,即数据包负载之间的时序关系;数
据包的内容则反应在负载灰度图像中像素点的值及其之间的位置关系,即负载灰度图像像素点之间的空间关系。检测过程中,可以以机床的轮询周期为单位,提取数据包的负载构建负载灰度图像,并提取时空特征向量与已构建好的设备行为指纹进行比对,判断设备的网络行为是否异常。
54.图1为本发明提供的设备异常通信行为检测方法的流程示意图,如图1所示,该方法包括如下步骤:
55.步骤100、获取数据包组,数据包组中包括目标设备在一个轮询周期内的多个数据包。
56.具体地,本发明各实施例中的设备可以是指数控机床或其他工控设备。对设备进行异常通信行为检测时,需要首先获取待检测的数据包组。
57.可选地,获取数据包组,可以包括:
58.获取第一数据包组,第一数据包组中包括目标设备在待检测的一个轮询周期内的所有数据包;或者,
59.确定待检测数据包,并根据待检测数据包中的设备标识确定目标设备;
60.以目标设备的一个轮询周期作为提取数据包组的滑动窗口,获取第二数据包组,第二数据包组中包括待检测数据包,以及目标设备在待检测数据包之前的多个数据包。
61.具体地,若需要对某个目标设备的通信行为进行检测,比如检测该设备的通信行为是否异常,可以获取该设备在待检测的一个轮询周期内的所有数据包,构成一个数据包组。
62.若需要对某个数据包进行检测,比如需要进行数据包的实时在线入侵检测,检测每个数据包是否真的发送至/来自于其设备标识所对应的设备,那么,可以拾取某个数据包之后,先根据该数据包中的设备标识(比如ip地址)确定与该数据包进行比对的目标设备,然后维持一个长度为该目标设备轮询周期的滑动窗口来提取数据包,得到数据包组,该数据包组中包括待检测数据包,以及目标设备在待检测数据包之前的多个数据包。
63.步骤101、根据数据包组中每个数据包的有效负载,构建负载灰度图像;其中,一个数据包的有效负载对应负载灰度图像的一行。
64.具体地,获取数据包组之后,可以根据数据包组中每个数据包的有效负载,构建该数据包组所对应的一个负载灰度图像。
65.下面对负载灰度图像p的构建进行举例说明。
66.(1)假设n是负载灰度图像p的列数,以tcp数据包为例,tcp有效负载保存为十六进制格式时,每个有效负载视为一个实例其中xi为实例的第i个十六进制数。实例的长度随有效负载的长度而变化,因此采用填充和截断机制。设k为有效负载长度,当k≥n时,采用截断机制,截取长度为n的有效负载,剩余的有效负载将被丢弃,定义为:
[0067][0068]
当k《n时,实例将被00填充,定义如下:
[0069][0070]
其中x
k+1
=x
k+2


=xn=00。
[0071]
(2)假设m是负载灰度图像p的行数,可选地,负载灰度图像的行数可以根据目标设备所在的数控网络中的最大轮询周期确定。比如,由于行的数目随设备轮询周期的变化而变化,为了确保每个图像能够描述一个完整的轮询周期,可以使用填充机制,设t为目标设备的轮询周期,m为数控网络中最大的轮询周期,当t=m时,p定义为:
[0072][0073]
当t《m,负载灰度图像矩阵将被零向量填充,此时p定义如下:
[0074][0075]
其中是长度为n的零向量,定义如下:
[0076][0077]
其中x1=x2=

=xn=00。
[0078]
可选地,为了增强负载灰度图像可视化的效果,可以在每一个负载灰度图像的末尾添加一行空白行。下表1为本发明提供的轮询周期列表示例,其中最大的轮询周期为42,为了增强负载灰度图像可视化的效果,在每一个图像的末尾添加了一行空白行,从而负载灰度图像的行数为43,图像末尾多出的一行没有特征可被提取,所以不会影响检测结果。
[0079]
表1轮询周期列表示例
[0080][0081]
步骤102、获取负载灰度图像的时空特征向量,时空特征向量用于表征负载灰度图像中各像素点之间的空间关系以及各行之间的时序关系。
[0082]
具体地,构建负载灰度图像之后,便可以进一步获取负载灰度图像的时空特征向量,比如,可以通过神经网络提取负载灰度图像的时空特征向量。
[0083]
可选地,获取负载灰度图像的时空特征向量,可以包括:
[0084]
分别提取负载灰度图像的空间特征向量和时序特征向量;
[0085]
将空间特征向量和时序特征向量级联,得到负载灰度图像的时空特征向量;
[0086]
其中,空间特征向量用于表征负载灰度图像中各像素点之间的空间关系,时序特征向量用于表征负载灰度图像中各行之间的时序关系。
[0087]
具体地,图2为本发明提供的时空特征行为指纹构建流程示意图,如图2所示,构建负载灰度图像之后,可以分别提取负载灰度图像的时序特征和空间特征,再通过特征级联
得到时空特征向量,并构建基于时空特征的设备行为指纹。
[0088]
以下对获取时空特征行为指纹的过程进行举例说明。
[0089]
(1)负载灰度图像空间特征提取。
[0090]
可选地,提取负载灰度图像的空间特征向量,可以包括:基于卷积神经网络(convolutional neural networks,cnn)模型,提取负载灰度图像的空间特征向量;其中,cnn模型是基于带有设备通信行为分类标签的负载灰度图像样本训练得到的。
[0091]
具体地,本发明实施例中,空间特征提取可以由cnn实现,在这一过程中使用卷积层和池化层,以负载灰度图像p作为卷积层的输入,过滤并提取每个子区域的特征,加入偏置,提高特征的泛化能力,然后通过非线性激活函数激活特征,生成下一层的输入特征图,每一层的卷积计算过程如下:
[0092][0093]
其中,c
k,l
是x
i,j
经过卷积计算的输出,x
i,j
表示负载灰度图像矩阵的第i行第j列的元素,c
k,l
表示特征图矩阵的第k行第l列的元素,w
p,q
是一个p*q的卷积核权重矩阵,x
i+p,j+q
是负载灰度图像需要过滤的子区域,b1是偏置向量,并且采用了修正线性单元(rectified linear unit,relu)作为非线性激活函数,其定义如下:
[0094]
f(x)=max(0,x)
[0095]
在每个卷积层之后,池化层需要进行降采样操作来减小特征图尺寸,可采用最大池化层。提取空间特征的步骤主要包括以下几个阶段:
[0096]
训练阶段:利用误差反向传播,不断调整卷积神经网络的权重参数w
p,q
和偏置向量b1,并且保存好训练的模型。训练样本集为带有标签的负载灰度图像样本,标签为每个负载灰度图像对应的已知设备分类以及每个负载灰度图像对应的已知设备通信行为正常或异常的结果。
[0097]
测试阶段:负载灰度图像p作为已训练好模型的输入,输出空间特征向量
[0098][0099]
其中,空间特征向量为cnn输出的最后一层特征图转换得到的一维特征向量。比如最后一层特征图矩阵为则
[0100]
(2)负载灰度图像时序特征提取。
[0101]
可选地,提取负载灰度图像的时序特征向量,可以包括:基于长短期记忆网络(long short-term memory,lstm)模型,提取负载灰度图像的时序特征向量;其中,lstm模型是基于带有设备通信行为分类标签的负载灰度图像样本训练得到的。
[0102]
具体地,本发明实施例中,时间特征提取由lstm实现,本步骤采用多元多步结构,该结构采用多个序列作为输入和输出,其中每个序列包含多个时间步。因此,可以将同一个cnn处理过的图像矩阵p拆分为m个实例将m个实例作为lstm单元的一组输入序列,计算
公式如下:
[0103][0104]
其中h
t
为第t个单元的隐藏状态,w
i,h
与w
h,h
分别代表输入层与隐藏层,隐藏层与隐藏层之间的权重矩阵,b2是与权重矩阵对应的偏置向量,σ是非线性激活函数,可以采用与cnn相同的激活函数relu。
[0105]
提取时间特征的步骤主要包括以下几个阶段:
[0106]
训练阶段:利用误差反向传播,不断调整权重矩阵w
i,h
、w
h,h
与偏置向量b2的值,并且保存完成训练的模型。训练样本集为带有标签的负载灰度图像样本,标签为每个负载灰度图像对应的已知设备分类以及每个负载灰度图像对应的已知设备通信行为正常或异常的结果。
[0107]
测试阶段:负载灰度图像被拆分成序列形式依次输入已训练好的lstm网络,计算并输出时序特征向量
[0108][0109]
其中,与空间特征向量类似,时序特征向量是lstm的输出结果转换得到的一维特征向量。
[0110]
(3)构建时空特征行为指纹。
[0111]
为确保该行为指纹同时包含时序特征与空间特征,采用级联方法构建时空特征向量
[0112][0113]
与一般深度学习模型相似,可以选择全连接层作为输出层,通过非线性变换提取时空特征之间的关联关系。然后将这些特征映射到空间全连接层的计算方法为:
[0114][0115]
其中w与b3分别为全连接层的权重矩阵与偏置向量,同样采用relu作为非线性激活函数f。与时空特征提取过程相同,全连接层同样分为两个阶段:
[0116]
训练阶段:基于实际输出向量与理想输出向量的偏差调节权重矩阵w与偏置向量b3并求得最优解,最终保存训练好的模型与最优参数。训练样本集为带有标签的负载灰度图像样本,标签为每个负载灰度图像对应的已知设备分类以及每个负载灰度图像对应的已知设备通信行为正常或异常的结果。
[0117]
测试阶段:从负载灰度图像中提取的时空特征向量通过全连接层实现分类,并完成设备通信行为的识别。
[0118]
图3为本发明提供的提取时空特征行为指纹的神经网络模型的流程示意图,共包括六个步骤:数据包捕获、数据包解析、负载灰度图像构建、时空特征提取、特征级联、分类。数据包获取与数据包解析两步依次捕获数据包并从数据包中提取负载向量,为负载灰度图像构建做准备。在负载灰度图像构建阶段,以一个轮询周期为单位,依次将提取的负载向量
按行组成负载灰度图像,为了确保不同设备的负载灰度图像具有相同的尺寸,应进一步确定负载灰度图像的行数与列数。比如,负载灰度图像的行数统一为43,负载灰度图像的列数的大小可以根据实验优化的结果进行确定。时空特征提取利用了一种并行式神经网络架构,一路利用cnn从负载灰度图像中提取空间特征,另一路采用同一个负载灰度图像作为输入,利用lstm提取图像行之间的(即一个周期内的数据包负载向量之间的)时序特征。最后将两种特征级联,作为负载灰度图像(或者设备)的时空特征行为指纹并进行分类。进行训练时,该神经网络模型的训练样本集即为带有标签的负载灰度图像样本,标签为每个负载灰度图像对应的已知设备分类以及每个负载灰度图像对应的已知设备通信行为正常或异常的结果。
[0119]
步骤103、利用负载灰度图像的时空特征向量构建相应的设备行为指纹,并根据所构建的设备行为指纹和目标设备的时空特征行为指纹,对目标设备的通信行为或数据包组中的待检测数据包进行检测。
[0120]
具体地,目标设备的时空特征行为指纹可以理解为在该目标设备正常通信行为下所提取的数据包组构建负载灰度图像之后,所提取的负载灰度图像的时空特征向量构建的设备行为指纹,可以根据负载灰度图像的最佳尺寸,通过图3所示的神经网络模型确定每个设备唯一对应的一个时空特征行为指纹,从而在进行设备异常通信行为检测时,获取到待检测的负载灰度图像的时空特征向量之后,便可以利用负载灰度图像的时空特征向量构建相应的设备行为指纹,并根据所构建的设备行为指纹和目标设备的时空特征行为指纹,对目标设备的通信行为或数据包组中的待检测数据包进行检测。
[0121]
需要说明的是,时空特征向量是负载灰度图像的一个属性。基于时空特征的行为指纹是设备的一个属性,时空特征行为指纹是由相应的时空特征向量组成的。
[0122]
可选地,根据所构建的设备行为指纹和目标设备的时空特征行为指纹,对目标设备的通信行为或数据包组中的待检测数据包进行检测,包括:
[0123]
计算所构建的设备行为指纹和目标设备的时空特征行为指纹之间的距离;
[0124]
根据该距离与目标设备对应的距离阈值之间的比较结果,确定对目标设备的通信行为或数据包组中的待检测数据包进行检测的结果。
[0125]
具体地,上述距离可以是指两个指纹之间的欧氏距离或其他类型的距离,在此不做具体限制。
[0126]
可选地,目标设备对应的距离阈值可以是根据神经网络模型训练过程中获取的目标设备正常通信行为下所对应的多个不同的时空特征行为指纹之间的最大距离确定的,因此可以根据待检测的负载灰度图像所对应的时空特征行为指纹和目标设备的时空特征行为指纹之间的距离与目标设备对应的距离阈值之间的比较结果,确定对目标设备的通信行为或数据包组中的待检测数据包进行检测的结果。
[0127]
可选地,根据该距离与目标设备对应的距离阈值之间的比较结果,确定对目标设备的通信行为或数据包组中的待检测数据包进行检测的结果,可以包括:
[0128]
若该距离大于距离阈值,则确定目标设备的通信行为异常,或待检测数据包检测异常;
[0129]
若该距离小于或等于距离阈值,则确定目标设备的通信行为正常,或待检测数据包检测正常。
[0130]
具体地,以下分别以识别设备通信行为是否异常以及实时在线检测数据包为例进行举例说明。
[0131]
图4为本发明提供的利用时空特征行为指纹识别设备通信行为的流程示意图,如图4所示,其主要包括下列步骤:
[0132]
(1)读取n0、m0、stff0、d0记录文件:读取待识别设备对应的最佳负载灰度图像尺寸(n0为最佳负载灰度图像列数,m0为最佳负载灰度图像行数)、最佳时空特征行为指纹stff0(即最佳负载灰度图像尺寸下,对应设备的时空特征行为指纹)、最大欧氏距离d0(即在训练阶段,待识别设备的所有时空特征行为指纹之间最大的欧氏距离,也即异常检测的距离阈值),用于构建待检测的负载灰度图像,并提取指纹,计算欧氏距离。
[0133]
(2)构建负载灰度图像:在核心交换处抓取数据,以n0、m0为列数与行数构建负载灰度图像。
[0134]
(3)提取负载灰度图像的时空特征向量并构建相应的设备行为指纹stff:根据本发明上述各实施例所述的方法,提取负载灰度图像的时空特征行为指纹stff,该指纹需要与stff0进行欧氏距离计算。
[0135]
(4)计算欧氏距离d:计算指纹stff与stff0的欧氏距离d,用于与最大欧氏距离d0进行比较。
[0136]
(5)判断待识别设备:若d0≥d,表明该设备的网络通信行为符合正常行为模式,该设备的网络行为合法。若d0《d,表明该设备的网络通信行为不符合正常行为模式,该设备的网络行为不合法。
[0137]
图5为本发明提供的利用时空特征行为指纹实现数据包的在线入侵检测的流程示意图,如图5所示,其主要包括下列步骤:
[0138]
(1)读取n0、m0、stff0、d0记录文件:读取当前设备对应的最佳负载灰度图像尺寸(n0为最佳负载灰度图像列数,m0为最佳负载灰度图像行数)、最佳时空特征行为指纹stff0(即最佳负载灰度图像尺寸下,对应设备的时空特征行为指纹)、最大欧氏距离d0(即在训练阶段,当前设备的所有时空特征行为指纹之间最大的欧氏距离,也即异常检测的距离阈值),用于构建待检测的负载灰度图像,提取指纹,计算欧氏距离并判别数据包是否异常。
[0139]
(2)拾取数据包a,构建负载灰度图像:在线检测数据包具有实时性,因此需要维持一个长度为当前设备轮询周期的滑动窗口来提取数据包,比如可以提取数据包a之前的多个与数据包a同ip地址数据包,这些数据包与数据包a一起构建负载灰度图像。提取数据包之后,可以利用填充与截断机制,以n0、m0为列数与行数构建负载灰度图像。
[0140]
(3)提取负载灰度图像的时空特征向量并构建相应的设备行为指纹stff:根据本发明上述各实施例所述的方法,提取负载灰度图像的时空特征行为指纹stff,该指纹需要与stff0进行欧氏距离计算。
[0141]
(4)计算欧氏距离d:计算指纹stff与stff0的欧氏距离d,用于与最大欧氏距离d0进行比较。
[0142]
(5)检测数据包:若d0≥d,表明被检测的数据包a检测正常。若d0《d,表明被检测的数据包a检测异常。因为每个stff0唯一的代表一个设备。每个数据包都有ip,因此通过此方法可以检测数据包是否发送至/来自其ip所对应的设备。
[0143]
本发明提供的设备异常通信行为检测方法,通过利用数据包负载构建负载灰度图
像,并提取负载灰度图像的时空特征作为设备行为指纹,使得该指纹既包含了复杂多变的负载内容特征,又保证了攻击者在不了解指纹提取框架的情况下,很难准确伪造出可以绕过检测的数据包,从而可提高检测的准确率;并且,该方法的检测过程计算量较小,可应用于在线实时检测,更加方便快捷。
[0144]
由于负载灰度图像的最佳尺寸以及目标设备的时空特征行为指纹是利用时空特征行为指纹进行设备通信行为识别与数据包检测的前提。以下对负载灰度图像的最佳列数n0和设备的时空特征行为指纹stff0的确定方式进行举例说明。
[0145]
图6为本发明提供的数据包负载长度分布统计图,如图6所示,为了选择合适的负载灰度图像列数n的值,可以先对数据包长度进行统计分析,比如图6中包含了418455个数据包的负载长度,可以看出较长的数据包数量较少,因此选择n值的时候可以尽量考虑大多数数据包的特点,适当选取较小一些的n值,忽略那些较长数据包的尾部特征。可以理解,负载灰度图像列数n越大,图像矩阵中包含的信息越多,但同时也导致需要更复杂的神经网络,更大的参数量。为了平衡运行时间和检测精度,参考图6所示的统计数据,可以通过在实验中构建多个不同尺寸的负载灰度图像(例如,n的取值可以分别为640、400、200、100、50、35、30等)进行神经网络的训练与测试,最终确定负载灰度图像的最佳列数n0。
[0146]
具体地,图7为本发明提供的负载灰度图像列数与时空特征行为指纹提取流程示意图,如图7所示,可以首先以640作为负载灰度图像的列数,43作为负载灰度图像的行数m0,提取相应的负载灰度图像,然后利用神经网络提取时空特征行为指纹,并计算分类准确率。依次减小负载灰度图像的列数(取值范围[1,640]),重复以上过程,计算并找到最高的分类准确率,此时的负载灰度图像列数为最优值n0,此时的时空特征行为指纹为该设备的时空特征行为指纹stff0。图7中,r表示当前负载灰度图像列数情况下提取的时空特征行为指纹以ip为标签的指纹分类实验准确率,相应地,r
max
表示最佳负载灰度图像列数下,对应设备的时空特征行为指纹以ip为标签的指纹分类实验准确率。
[0147]
一个实施例中,采用本发明提供的指纹提取方法,对15台两种品牌6种型号的机床分别进行指纹提取,逐渐减小负载灰度图像列数进行时空特征行为指纹提取,并进一步进行指纹分类验证,结果如下。
[0148]
图8为本发明提供的不同负载灰度图像列数情况下的分类实验结果曲线图,图中每条曲线所对应的横坐标为迭代轮次(epoch),纵坐标为准确率(accuracy)或损失函数(loss),如图8所示,当n》35时,分类准确率可以达到99.09%以上。当n《35时,分类准确率大幅下降,如图8中的(e)部分所示,从原始数据中可以确认,这是由于代号为9、10、11、12的四台机床拥有相同的品牌和型号所致,如图8中的(f)所示。
[0149]
针对代号为9、10、11、12的四台机床进行进一步负载灰度图像尺寸优化,图9为本发明提供的四台相同品牌与型号的机床在不同负载灰度图像尺寸下分类实验的混淆矩阵示意图,如图9所示,当n≥32时,指纹的分类准确率可以达到99%以上,当n《32时,分类精度大幅下降,因此可以确定在该数控网络环境下,最佳的负载灰度图像列数为32。从整个实验结果来看,负载灰度图像越大,指纹分类的准确率越高,理论上是可以达到100%,但是图像越大导致指纹提取框架的参数越多,降低了指纹提取速度,因此在准确率达到应用要求的情况下,应该尽量先择较小的负载灰度图像尺寸。
[0150]
本发明通过结合数据采集周期,将数据包负载转换为负载灰度图像,并进一步利
用所提出的并行式神经网络架构从图像中提取时空特征行为指纹,一个工控网内的每一台机床(以机床为例),均可以利用一个时空特征行为指纹来唯一表示,既可以实现机床网络行为的识别也可以实现数据包的检测,具有如下优点:
[0151]
(1)不易被伪造:现有入侵检测技术均是以数据包整体特征或者可追溯的公开字段特征为基础而构建的,目前较为成熟的网络攻击均可以伪造这些特征,进而伪造合法数据包并绕过入侵检测。本发明所述的时空特征行为指纹是利用神经网络从数据包负载中提取,该指纹一方面包含了复杂多变的负载内容特征,另一方面采用的理论可解释性不清晰的神经网络进行提取(神经网络具有清晰的数学可推导性,和应用在不同领域的不充分的理论可解释性,此处意在说明神经网络在不同专业内的理论可解释性不清晰,应当理解,其在数学领域的理论可解释性和可推导性都是很明确很清晰的),提高了该指纹的伪造难度,攻击者在不了解指纹提取框架的情况下,很难准确伪造出可以绕过检测的数据包。
[0152]
(2)可实现实时检测:由于入侵检测系统对实时性要求较高,本发明提供的检测方法,可以准备阶段先在正常网络内对神经网络进行训练,并对每台机床的指纹进行保存。当在线实时检测时,只要计算实时提取的指纹与机床指纹的距离并进行比较,即可完成检测。因此检测过程计算量很小,可以实现实时在线检测。
[0153]
下面对本发明提供的设备异常通信行为检测装置进行描述,下文描述的设备异常通信行为检测装置与上文描述的设备异常通信行为检测方法可相互对应参照。
[0154]
图10为本发明提供的设备异常通信行为检测装置的结构示意图,如图10所示,该装置包括:
[0155]
数据包获取模块1000,用于获取数据包组,数据包组中包括目标设备在一个轮询周期内的多个数据包;
[0156]
图像构建模块1010,用于根据数据包组中每个数据包的有效负载,构建负载灰度图像;其中,一个数据包的有效负载对应负载灰度图像的一行;
[0157]
向量获取模块1020,用于获取负载灰度图像的时空特征向量,时空特征向量用于表征负载灰度图像中各像素点之间的空间关系以及各行之间的时序关系;
[0158]
检测模块1030,用于利用负载灰度图像的时空特征向量构建相应的设备行为指纹,并根据所构建的设备行为指纹和目标设备的时空特征行为指纹,对目标设备的通信行为或数据包组中的待检测数据包进行检测。
[0159]
可选地,获取负载灰度图像的时空特征向量,包括:
[0160]
分别提取负载灰度图像的空间特征向量和时序特征向量;
[0161]
将空间特征向量和时序特征向量级联,得到负载灰度图像的时空特征向量;
[0162]
其中,空间特征向量用于表征负载灰度图像中各像素点之间的空间关系,时序特征向量用于表征负载灰度图像中各行之间的时序关系。
[0163]
可选地,提取负载灰度图像的空间特征向量,包括:
[0164]
基于cnn模型,提取负载灰度图像的空间特征向量;
[0165]
其中,cnn模型是基于带有设备通信行为分类标签的负载灰度图像样本训练得到的。
[0166]
可选地,提取负载灰度图像的时序特征向量,包括:
[0167]
基于lstm模型,提取负载灰度图像的时序特征向量;
[0168]
其中,lstm模型是基于带有设备通信行为分类标签的负载灰度图像样本训练得到的。
[0169]
可选地,根据所构建的设备行为指纹和目标设备的时空特征行为指纹,对目标设备的通信行为或数据包组中的待检测数据包进行检测,包括:
[0170]
计算所构建的设备行为指纹和目标设备的时空特征行为指纹之间的距离;
[0171]
根据该距离与目标设备对应的距离阈值之间的比较结果,确定对目标设备的通信行为或数据包组中的待检测数据包进行检测的结果。
[0172]
可选地,根据该距离与目标设备对应的距离阈值之间的比较结果,确定对目标设备的通信行为或数据包组中的待检测数据包进行检测的结果,包括:
[0173]
若该距离大于距离阈值,则确定目标设备的通信行为异常,或待检测数据包检测异常;
[0174]
若该距离小于或等于距离阈值,则确定目标设备的通信行为正常,或待检测数据包检测正常。
[0175]
可选地,获取数据包组,包括:
[0176]
获取第一数据包组,第一数据包组中包括目标设备在待检测的一个轮询周期内的所有数据包;或者,
[0177]
确定待检测数据包,并根据待检测数据包中的设备标识确定目标设备;
[0178]
以目标设备的一个轮询周期作为提取数据包组的滑动窗口,获取第二数据包组,第二数据包组中包括待检测数据包,以及目标设备在待检测数据包之前的多个数据包。
[0179]
可选地,负载灰度图像的行数根据目标设备所在的数控网络中的最大轮询周期确定。
[0180]
在此需要说明的是,本发明提供的上述装置,能够实现上述方法实施例所实现的所有方法步骤,且能够达到相同的技术效果,在此不再对本实施例中与方法实施例相同的部分及有益效果进行具体赘述。
[0181]
图11为本发明提供的电子设备的结构示意图,如图11所示,该电子设备可以包括:处理器(processor)1110、通信接口(communications interface)1120、存储器(memory)1130和通信总线1140,其中,处理器1110,通信接口1120,存储器1130通过通信总线1140完成相互间的通信。处理器1110可以调用存储器1130中的逻辑指令,以执行上述各实施例提供的任一所述设备异常通信行为检测方法。
[0182]
此外,上述的存储器1130中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0183]
在此需要说明的是,本发明提供的电子设备,能够实现上述方法实施例所实现的所有方法步骤,且能够达到相同的技术效果,在此不再对本实施例中与方法实施例相同的
部分及有益效果进行具体赘述。
[0184]
另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,计算机程序可存储在非暂态计算机可读存储介质上,所述计算机程序被处理器执行时,计算机能够执行上述各实施例提供的任一所述设备异常通信行为检测方法。
[0185]
在此需要说明的是,本发明提供的计算机程序产品,能够实现上述方法实施例所实现的所有方法步骤,且能够达到相同的技术效果,在此不再对本实施例中与方法实施例相同的部分及有益效果进行具体赘述。
[0186]
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各实施例提供的任一所述设备异常通信行为检测方法。
[0187]
在此需要说明的是,本发明提供的非暂态计算机可读存储介质,能够实现上述方法实施例所实现的所有方法步骤,且能够达到相同的技术效果,在此不再对本实施例中与方法实施例相同的部分及有益效果进行具体赘述。
[0188]
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
[0189]
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
[0190]
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

技术特征:
1.一种设备异常通信行为检测方法,其特征在于,包括:获取数据包组,所述数据包组中包括目标设备在一个轮询周期内的多个数据包;根据所述数据包组中每个数据包的有效负载,构建负载灰度图像;其中,一个数据包的有效负载对应所述负载灰度图像的一行;获取所述负载灰度图像的时空特征向量,所述时空特征向量用于表征所述负载灰度图像中各像素点之间的空间关系以及各行之间的时序关系;利用所述负载灰度图像的时空特征向量构建相应的设备行为指纹,并根据所构建的设备行为指纹和所述目标设备的时空特征行为指纹,对所述目标设备的通信行为或所述数据包组中的待检测数据包进行检测。2.根据权利要求1所述的设备异常通信行为检测方法,其特征在于,所述获取所述负载灰度图像的时空特征向量,包括:分别提取所述负载灰度图像的空间特征向量和时序特征向量;将所述空间特征向量和时序特征向量级联,得到所述负载灰度图像的时空特征向量;其中,所述空间特征向量用于表征所述负载灰度图像中各像素点之间的空间关系,所述时序特征向量用于表征所述负载灰度图像中各行之间的时序关系。3.根据权利要求2所述的设备异常通信行为检测方法,其特征在于,提取所述负载灰度图像的空间特征向量,包括:基于cnn模型,提取所述负载灰度图像的空间特征向量;其中,所述cnn模型是基于带有设备通信行为分类标签的负载灰度图像样本训练得到的。4.根据权利要求2或3所述的设备异常通信行为检测方法,其特征在于,提取所述负载灰度图像的时序特征向量,包括:基于lstm模型,提取所述负载灰度图像的时序特征向量;其中,所述lstm模型是基于带有设备通信行为分类标签的负载灰度图像样本训练得到的。5.根据权利要求1所述的设备异常通信行为检测方法,其特征在于,所述根据所构建的设备行为指纹和所述目标设备的时空特征行为指纹,对所述目标设备的通信行为或所述数据包组中的待检测数据包进行检测,包括:计算所构建的设备行为指纹和所述目标设备的时空特征行为指纹之间的距离;根据所述距离与所述目标设备对应的距离阈值之间的比较结果,确定对所述目标设备的通信行为或所述数据包组中的待检测数据包进行检测的结果。6.根据权利要求5所述的设备异常通信行为检测方法,其特征在于,所述根据所述距离与所述目标设备对应的距离阈值之间的比较结果,确定对所述目标设备的通信行为或所述数据包组中的待检测数据包进行检测的结果,包括:若所述距离大于所述距离阈值,则确定所述目标设备的通信行为异常,或所述待检测数据包检测异常;若所述距离小于或等于所述距离阈值,则确定所述目标设备的通信行为正常,或所述待检测数据包检测正常。7.根据权利要求1所述的设备异常通信行为检测方法,其特征在于,所述获取数据包
组,包括:获取第一数据包组,所述第一数据包组中包括所述目标设备在待检测的一个轮询周期内的所有数据包;或者,确定待检测数据包,并根据所述待检测数据包中的设备标识确定目标设备;以所述目标设备的一个轮询周期作为提取数据包组的滑动窗口,获取第二数据包组,所述第二数据包组中包括所述待检测数据包,以及所述目标设备在待检测数据包之前的多个数据包。8.根据权利要求1所述的设备异常通信行为检测方法,其特征在于,所述负载灰度图像的行数根据所述目标设备所在的数控网络中的最大轮询周期确定。9.一种设备异常通信行为检测装置,其特征在于,包括:数据包获取模块,用于获取数据包组,所述数据包组中包括目标设备在一个轮询周期内的多个数据包;图像构建模块,用于根据所述数据包组中每个数据包的有效负载,构建负载灰度图像;其中,一个数据包的有效负载对应所述负载灰度图像的一行;向量获取模块,用于获取所述负载灰度图像的时空特征向量,所述时空特征向量用于表征所述负载灰度图像中各像素点之间的空间关系以及各行之间的时序关系;检测模块,用于利用所述负载灰度图像的时空特征向量构建相应的设备行为指纹,并根据所构建的设备行为指纹和所述目标设备的时空特征行为指纹,对所述目标设备的通信行为或所述数据包组中的待检测数据包进行检测。10.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至8任一项所述设备异常通信行为检测方法。11.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至8任一项所述设备异常通信行为检测方法。12.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至8任一项所述设备异常通信行为检测方法。

技术总结
本发明提供一种设备异常通信行为检测方法及装置,该方法包括:获取数据包组,所述数据包组中包括目标设备在一个轮询周期内的多个数据包;根据所述数据包组中每个数据包的有效负载,构建负载灰度图像;获取所述负载灰度图像的时空特征向量;利用所述负载灰度图像的时空特征向量构建相应的设备行为指纹,并根据所构建的设备行为指纹和所述目标设备的时空特征行为指纹,对所述目标设备的通信行为或所述数据包组中的待检测数据包进行检测。通过本发明提供的设备异常通信行为检测方法及装置,可提高检测的准确率;并且,该方法的检测过程计算量较小,可应用于在线实时检测,更加方便快捷。捷。捷。


技术研发人员:李楠 金忠峰 刘超 李梅梅 黄伟庆
受保护的技术使用者:中国科学院信息工程研究所
技术研发日:2022.06.17
技术公布日:2022/11/1
转载请注明原文地址: https://tieba.8miu.com/read-10659.html

最新回复(0)