当前位置: 首页 > 专利查询>上海大学专利>正文

一种面向工业物联网安全的网络包负载异常检测方法技术

技术编号:35438520 阅读:11 留言:0更新日期:2022-11-03 11:48
本发明专利技术提出一种面向工业物联网安全的网络包负载异常检测方法,步骤如下:对通过工业物联网设备的网络流量负载按请求和响应两个方向逐行进行建模,生成以二维灰度图像表示的负载样本。部署基于GAN架构的网络包负载异常检测模型,包括基于2D

【技术实现步骤摘要】
一种面向工业物联网安全的网络包负载异常检测方法


[0001]本专利技术涉及一种面向工业物联网安全的网络包负载异常检测方法。

技术介绍

[0002]互联网的连接性通过物联网扩展到许多工业领域,工业控制系统正在向工业物联网过渡。越来越多的计算机、通信等领域的成熟技术被应用到工业控制系统中。与传统物联网不同的是,工业物联网常用的Modbus、DNP3等标准协议设计之初未考虑安全需求、信息传输过程中缺乏认证技术和明文数据传输等。并且为了提高工业制造的效率,工业物联网将工控系统间的设备交互和实时信息收集结合起来,这使得对于正常负载的建模并进行异常检测的问题在工业物联网时代成了一个新的挑战。
[0003]一方面,现有的网络包负载异常检测方法要么依赖于提取n

grams及其统计变体的特征,要么在不考虑通信方向的排列的情况下处理原始负载。这类方法在针对普通物联网环境的负载异常识别是有效的,但无法很好的应对工业物联网环境下复杂且多样化的正常负载模式建模需求。因为工业工厂必然存在高度异构的通信系统,并且通信协议通常有独特的报头结构,此外,工业物联网通信模式通常发生在请求负载和相应的响应负载的双向通信之间,许多正常的工业通信模式可能隐藏在其中。这些因素都降低了网络流量异常检测的准确性。
[0004]另一方面,近年来的一些研究工作意识到使用深度神经网络模型可以帮助解决包负载异常检测的有效载荷复杂性问题。通常的方案是通过自动编码器架构学习正常负载的模式并对输入负载进行重建。这种设计方式可以通过输入负载与重建负载之间的巨大差异来检测潜在的异常。但是当前这种架构严格限于先前在训练集中存在的样本,无法对正常负载的真实特征分布进行泛化。这个缺陷会导致异常检测模型容易产生大量误报,因此在训练集之外重建正常负载样本的有效性非常低。而自动编码器与GAN网络相结合的GAN架构能够学习训练集之外的更一般的正常负载样本,使网络包负载异常检测方法能够满足工业物联网安全需求。
[0005]综上所述,为解决面向工业物联网的网络包负载异常检测难题,需要使用2D

CNN直接学习二维负载特征,并通过GAN架构有效泛化训练集的正常样本。

技术实现思路

[0006]本专利技术的目的在于突破当前网络包负载异常检测方法中局限于一维负载建模的限制和无法泛化正常负载样本的难题,提出一种面向工业物联网安全的网络包负载异常检测方法,基于2D

CNN,使用GAN架构,无需任何特征工程过程,直接从二维的原始负载中学习,以便对其中更复杂的正常模式进行建模。并使用自动编码器联合GAN模型,在GAN对抗训练收敛之后,可以用生成器来构建更通用的样本,从而将其作为构建更广义的自动编码器的核心,以满足工业物联网的网络安全管理需求。本方法适用于工业物联网高度复杂的工业过程下学习负载的正常模式,对网络包负载进行异常检测,为进一步的网络运营和维护
提供保障。
[0007]为了达到上述专利技术目的,本专利技术通过以下具体技术方案进行实现:
[0008]一种面向工业物联网安全的网络包负载异常检测方法,包括以下步骤:
[0009]步骤1)、对通过工业物联网设备的网络流量负载按请求和响应两个方向逐行进行建模,生成以二维灰度图像表示的负载样本;
[0010]步骤2)、部署基于GAN架构的网络包负载异常检测模型,包括基于2D

CNN的自动编码器,辅助编码器和鉴别器;其中自动编码器的解码器作为GAN的生成器,并将负载的字节数据视为第1个卷积层的输入节点;
[0011]步骤3)、构建三个损失函数将自动编码器、辅助编码器和鉴别器结合在一起并使用正常负载样本进行模型训练,利用随机梯度下降法训练神经网络;
[0012]步骤4)、将工业物联网的网络包负载输入训练好的神经网络,然后通过原始负载与生成器重建的负载之间的重建误差来检测异常。
[0013]所述步骤1)具体包括下列步骤:
[0014]步骤1.1)、以TCP为标志进行切流,通过TCP三次握手的SYN包考虑网络流的开始,通过TCP四次挥手的FIN包考虑网络流的结束,最后过滤掉所有空的TCP数据包,并将封装负载数据的数据包留在每个TCP流中;
[0015]步骤1.2)、确定二维负载样本宽度X,X为请求数据包中负载的最大字节数、响应数据包负载的最大字节数或者数据包负载串联后的最大字节数;这里的数据包串联又分为存在两个响应之间的请求数据包串联,或者是两个请求之间的响应数据包串联;
[0016]步骤1.3)、确定二维负载样本宽度Y,Y由最长网络流中数据包的数量来确定,这里的数据包是请求数据包、响应数据包或者是两者之间的包组合;
[0017]步骤1.4)、对于尺寸无法达到X
×
Y的二维负载样本,使用0进行填充以达到这个大小,得到具有统一尺寸X
×
Y,以二维灰度图像表示的负载样本。
[0018]所述步骤2)具体包括下列步骤:
[0019]步骤2.1)、部署的自动编码器编码部分与辅助编码器的结构完全相同,均具有3对卷积层和最大池化层,解码器具有相同数量的转置卷积层和上采样层对;鉴别器的结构与编码器类似,仅最后通过附加一个全连接层、一个激活函数以及一个softmax层,以便将输入负载分类为原始或重建;
[0020]步骤2.2)、在编码器、辅助编码器和鉴别器的神经网络中,3个卷积层的卷积核个数分别为256,128,100;卷积滤波器和最大池化滤波器的尺寸均为3
×
3;在鉴别器的神经网络中,3 个转置卷积层的卷积核个数分别为100,128,256;上采样池和转置卷积的滤波器尺寸均为3
×
3。
[0021]所述步骤3)具体包括下列步骤:
[0022]步骤3.1)、第一个损失函数为重建负载与原始负载的重建误差;
[0023]步骤3.2)、第二个损失函数为重建的潜在向量与原始潜在向量的重建误差;
[0024]步骤3.3)、第三个损失函数为GAN鉴别器造成的分类误差,用于区分真正的正常负载和自动编码器重建的伪造负载;
[0025]步骤3.4)、使用权重将三个损失函数组合在一起,得到最终的损失函数,以指导自动编码器的训练;
[0026]步骤3.5)、输入正常负载样本进行模型训练,得到神经网络训练的损失;
[0027]步骤3.6)、将网络损失采用梯度下降法后向传播,从而更新神经网络模型权重,重复步骤3.5)直到网络损失收敛。
[0028]所述步骤4)具体包括下列步骤:
[0029]步骤4.1)、将测试集的负载样本输入训练好的神经网络,并使用重建负载与原始输入计算重建误差;
[0030]步骤4.2)、计算每个样本产生的重建误差,做出受试者工作特征(receiver operatingcharacteristic,ROC)曲线,通过约登指数确定异常检测模型的判定阈值;将负载样本计本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种面向工业物联网安全的网络包负载异常检测方法,其特征在于,包括以下步骤:步骤1)、对通过工业物联网设备的网络流量负载按请求和响应两个方向逐行进行建模,生成以二维灰度图像表示的负载样本;步骤2)、部署基于GAN架构的网络包负载异常检测模型,包括基于2D

CNN的自动编码器,辅助编码器和鉴别器;其中自动编码器的解码器作为GAN的生成器,并将负载的字节数据视为第1个卷积层的输入节点;步骤3)、构建三个损失函数将自动编码器、辅助编码器和鉴别器结合在一起并使用正常负载样本进行模型训练,利用随机梯度下降法训练神经网络;步骤4)、将工业物联网的网络包负载输入训练好的神经网络,然后通过原始负载与生成器重建的负载之间的重建误差来检测异常。2.根据权利要求1所述的面向工业物联网安全的网络包负载异常检测方法,其特征在于,所述步骤1)具体包括下列步骤:步骤1.1)、以TCP为标志进行切流,通过TCP三次握手的SYN包考虑网络流的开始,通过TCP四次挥手的FIN包考虑网络流的结束,最后过滤掉所有空的TCP数据包,并将封装负载数据的数据包留在每个TCP流中;步骤1.2)、确定二维负载样本宽度X,X为请求数据包中负载的最大字节数、响应数据包负载的最大字节数或者数据包负载串联后的最大字节数;这里的数据包串联又分为存在两个响应之间的请求数据包串联,或者是两个请求之间的响应数据包串联;步骤1.3)、确定二维负载样本宽度Y,Y由最长网络流中数据包的数量来确定,这里的数据包是请求数据包、响应数据包或者是两者之间的包组合;步骤1.4)、对于尺寸无法达到X
×
Y的二维负载样本,使用0进行填充以达到这个大小,得到具有统一尺寸X
×
Y,以二维灰度图像表示的负载样本。3.根据权利要求1所述的面向工业物联网安全的网络包负载异常检测方法,其特征在于,所述步骤2)具体包括下列步骤:步骤2...

【专利技术属性】
技术研发人员:周鹏陈冲
申请(专利权)人:上海大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1