一种基于时空特征学习的物联网网络攻击流量监测系统的制作方法

    专利2022-07-07  127


    本发明涉及人工智能领域,尤其涉及一种基于时空特征学习的物联网网络攻击流量监测系统。



    背景技术:

    随着信息化的发展,人、网络、物联网间的关系逐步紧密,成为社会生产生活的一部分。与此同时,网络也变得非常复杂,如何有效地检测出网络攻击,保证网络的安全渐渐成为了人们密切关注的问题。检测物联网网络攻击,主要就是对于网络中的恶意流量进行检测,防止恶意流量的入侵。由于网络中的流量越来越多,网络流量的检测任务也十分艰巨,恶意流量很容易混入其中成为漏网之鱼。恶意流量不仅能攻击人们的网站、服务器,也能攻击人们的账号,还能进行一些恶意的刷评论等操作,甚至能窃取人们的服务器的隐私数据,对于网络安全的威胁相当大。网络攻击检测对于解决网络入侵这一问题,有着巨大的作用。网络攻击检测可以检测来自网络的攻击行为及非法访问,以及时向网络管理员汇报这些异常情况,以及时采取各种安全防范措施。网络攻击检测的方法主要有基于传统的机器学习的网络攻击检测以及应用深度学习的网络攻击检测技术。

    传统的网络流量检测方法主要分为四类,基于端口的方法、基于深度报文检测的方法、基于统计的方法、基于行为的方法等。目前研究较多的是基于统计和基于行为的方法。这两种方法都是基于机器学习的思路。首先设计一组流量特征集,然后针对这组流量特征集进行建模和训练,训练好的模型可以对新流量进行判别和分类。这两种方法不需要查看端口和解析流量,计算复杂度相对不高,还能发现许多复杂的流量模式,近年来越来越受到学术界的关注。但是,这两种方法都具有传统机器学习方法普遍存在的一个问题,即需要设计一组能够准确反映流量特征的特征集。特征集质量能够直接决定分类的效果。但是如何设计一个良好的特征集仍然是一个尚未解决的研究课题。

    随着人工智能时代的到来,深度学习掀起了新一轮热潮。深度学习已经广泛应用于语音识别、图像识别,另外在自然语言处理的主题分类,机器翻译等领域也已经取得了很好的成绩。深度学习能够从高维的数据中发现数据的复杂结构和直接从原始数据中自动学习特征从而避免人工设计特征的问题。另外大量的数据和计算速度的加快也为深度学习的发展带来了越来越多的发展机会,新的模型的不断提出也会加速深度学习的发展。类似地,在网络流量分类领域同样可以借助深度学习的优势,克服传统的基于统计和基于行为的方法的缺点,进一步提高网络流量分类的能力。



    技术实现要素:

    为此,本发明提出了一种基于时空特征学习的物联网网络攻击流量监测系统,在数据包层次,系统通过原始流量预处理将每个数据包转换为二维图像格式,然后利用卷积神经网络方法,构造基于原始流的cnn分类模型实现学习数据包内部的空间特征,在网络流层次,系统利用循环神经网络方法构造基于原始流的lstm分类模型实现学习数据包间的时序特征,最终,在综合利用两种深层神经网络的特征学习能力的基础上,得到准确刻画网络流量行为的网络流时空特征,并最终用于攻击流量检测,最终得到网络中的异常状态和攻击行为。

    所述原始流量预处理方法实现方式为:采用流和会话的形式,对原始流量进行聚合,对每条流中包的数目进行统计,选取合适的流长度,并对数据包进行截取或者补充,使最终输入训练网络的数据具有相同的维度,将流或者会话形式的预处理数据进行向量化,作为标准的训练数据进行实验。

    所述向量化过程为:使用工具拆分流量数据包具有相同的五元组信息的流,在获得的流中;在每个流量数据包中仅提取160个字节作为流量数据包特征,如果一个数据包的长度小于160个字节,将0填充用于这个包,如果数据包长于160个字节,则仅取前160个字节,使用每个流前10个流量数据包使数据发送到该模型具有相同的尺寸。

    所述基于原始流的cnn分类模型具体为:首先将1600维特征转换为40*40灰度图像作为cnn网络输入层的输入,cnn的隐藏层使用两个卷积层和两个最大池化层来对原始流数据执行空间特征提取,其中,第一卷积层使用32个5*5卷积内核,然后执行最大池化操作,第二个卷积层使用64个3*3卷积内核,然后执行最大池化操作,卷积运算后,cnn隐藏层首先使用relu激活函数进行转换,然后使用最大池化操作,原始40*40灰度图像变为具有64个通道的8*8。在8*8*64图像上执行展平操作后,获得4096维矢量,然后将其发送到cnn的输出层,cnn的输出层使用完全连接层,而完全连接层使用1600个神经元,在完全连接层之后执行删除操作以随机地使完全连接层的一些神经元失活。

    所述基于原始流的lstm分类模型具体为:,lstm网络使用两层单元进行时序特征提取,lstm的每个单元使用256个隐藏层单元,每层的单元激活函数使用sigmod型函数进行非线性运算,lstm网络的最后一层使用完全连接层,并且完全连接层中神经元的数量等于流类别的数量。

    所述攻击流量检测方法为:综合使用卷积神经网络和循环神经网络,分别学习原始网络流量的低维空间特征和高维时序特征,然后将空间特征向量和时序特征向量进行拼接得到流特征向量,最后将特征向量输入到分类器中。

    本发明所要实现的技术效果在于:

    针对人为设计特征提取会造成部分流量信息的丢失,从而影响检测精度的问题,设计了一种基于物联网网络原始数据流的特征提取算法,并在此基础上专门设计cnn和lstm模型学习原始流的时空特征。本发明提出的模型明显优于其他网络攻击检测模型。在cicids2017数据集和ctu数据集,这两个数据集上的实验结果表明,模型可达到很高的精度、精确度、召回率,从而使得系统的性能得到整体的提升。

    附图说明

    图1cnn网络结构图;

    图2lstm网络结构图;

    图3网络攻击流量监测训练验证流程图;

    具体实施方式

    以下是本发明的优选实施例并结合附图,对本发明的技术方案作进一步的描述,但本发明并不限于此实施例。

    本发明提出了一种基于时空特征学习的物联网网络攻击流量监测系统,通过深层神经网络自动学习网络流量的时空特征,实现高效的物联网网络攻击流量检测。其基本工作流程为:在数据包层次,系统将每个数据包转换为二维图像格式,然后利用卷积神经网络学习数据包内部的空间特征。在网络流层次,系统利用循环神经网络进一步学习数据包间的时序特征。最终,在综合利用两种深层神经网络的特征学习能力的基础上,得到准确刻画网络流量行为的网络流时空特征,并最终用于攻击流量检测。

    原始流量预处理

    基于机器学习的流量分类方法需要首先按照一定的粒度将连续的流量包切分为多个离散单元。每个单元中的每个包,按照osi或者tcp/ip又可以划分为多个层。网络流量的切分方式有五种:tcp连接、流、会话、服务、主机。同样的原始流量数据按照不同依据切分后的数据集的表示形式有很大的不同。因此选取合适的切分方法十分重要。本发明采用流和会话的形式,对原始流量进行聚合。

    由于不用流或者会话中的流量包数目不相同,因此不能使用一个流中的所有包。需要对每条流中包的数目进行统计,选取合适的流长度。同样的,每个数据包的长度也不一致,为了使最终输入训练网络的数据具有相同的维度,需要对数据包进行截取或者补充。最终将流或者会话形式的预处理数据进行向量化,作为标准的训练数据进行实验。

    提取流量特征进行向量化的过程如下:

    (1)数据:每个数据包都有数据链路层,网络层,传输层和应用层。在本专利中,我们不使用数据链路层和网络层的“版本”和“差异服务”字段。因为在数据链路层中,三个字段是mac源地址,mac目标地址和协议版本。根据anderson等对流的特征分析,这些字段通常不用作流量数据包的特征。

    (2)拆分:我们使用工具拆分流量数据包具有相同的五元组信息的流。在获得的流中,我们发现流量包的数量在一定范围内,不同流所包含的是不相同的时间戳记。因此,我们不会在流中使用所有流量数据包。

    (3)矢量化:统计显示大多数流中的数据包少于10个,但是某些流中的数据包大于10甚至超过100。由于每个流量数据包的有效载荷长度不相等,为了使用我们的原始数据来训练我们的分类模型,我们在每个流量数据包中仅提取160个字节作为流量数据包特征。因此,如果一个数据包的长度小于160个字节,那么我们需要将0填充用于这个包。如果数据包长于160个字节,则仅取前160个字节。为了使数据发送到该模型具有相同的尺寸,我们只使用每个流前10个流量数据包。因此,对于每个流,我们提取1600维原始数据。原始流量数据提取方法如算法1所示。

    使用cnn学习空间特征

    本专利使用改进的lenet-5网络结构,它是经典的手写数字识别cnn网络。在本专利中,首先将1600维特征转换为40*40灰度图像作为cnn网络输入层的输入。cnn的隐藏层使用两个卷积层和两个最大池化层来对原始流数据执行空间特征提取。其中,第一卷积层使用32个5*5卷积内核,然后执行最大池化

    操作。第二个卷积层使用64个3*3卷积内核,然后执行最大池化操作。卷积运算后,cnn隐藏层首先使用relu激活函数进行转换,然后使用最大池化操作。原始40*40灰度图像变为具有64个通道的8*8。在8*8*64图像上执行展平操作后,获得4096维矢量,然后将其发送到cnn的输出层。cnn的输出层使用完全连接层,而完全连接层使用1600个神经元。目的是保持相同维度的数据特征作为提取空间特征后的原始路况数据。另外,为了防止过度拟合,在完全连接层之后执行删除操作以随机地使完全连接层的一些神经元失活。本专利使用的cnn网络结构如图1所示:

    使用lstm学习时序特征

    深度学习中的递归神经网络(rnn)广泛用于语音处理,并且在语音识别和时间序列处理中取得了良好的效果。在流量数据中,数据包的传输有时间顺序,并且由于延迟问题,流量数据包在接收端也具有顺序。同时,在某个时间戳内发送的流量包的数量会发生变化,这些流量包的特性表明它们具有时间特征。本专利使用lstm网络,lstm网络结构是rnn的变体。lstm算法中的单元处理器结构确定是否添加有用的消息。

    由于流量包在每个流中的到达时间例如ttl等字段的值都是不同的。与传统的提取时间特征的方法不同。本专利使用lstm网络自动对原始流量数据进行时序特征提取。在本专利中,lstm网络使用两层单元进行时序特征提取。lstm的每个单元使用256个隐藏层单元。每层的单元激活函数使用sigmod型函数进行非线性运算。lstm网络的最后一层使用完全连接层,并且完全连接层中神经元的数量等于流类别的数量。

    攻击流量检测阶段

    综合使用卷积神经网络和循环神经网络,如图3所示,去分别学习原始网络流量的低维空间特征,和高维时序特征,然后将空间特征向量和时序特征向量进行拼接得到流特征向量,最后将特征向量输入到分类器中,实现更加精准的恶意攻击流量分类。


    技术特征:

    1.一种基于时空特征学习的物联网网络攻击流量监测系统,其特征在于:通过原始流量预处理将每个数据包转换为二维图像格式,然后利用卷积神经网络方法,构造基于原始流的cnn分类模型实现学习数据包内部的空间特征,在网络流层次,系统利用循环神经网络方法构造基于原始流的lstm分类模型实现学习数据包间的时序特征,最终,在综合利用两种深层神经网络的特征学习能力的基础上,得到准确刻画网络流量行为的网络流时空特征,并最终用于攻击流量检测,得到网络中的异常状态和攻击行为。

    2.根据权利要求1所述的一种基于时空特征学习的物联网网络攻击流量监测系统,其特征在于:所述原始流量预处理方法实现方式为:采用流和会话的形式,对原始流量进行聚合,对每条流中包的数目进行统计,选取合适的流长度,并对数据包进行截取或者补充,使最终输入训练网络的数据具有相同的维度,将流或者会话形式的预处理数据进行向量化,作为标准的训练数据进行实验。

    3.根据权利要求2所述的一种基于时空特征学习的物联网网络攻击流量监测系统,其特征在于:所述向量化过程为:使用工具拆分流量数据包具有相同的五元组信息的流,在获得的流中;在每个流量数据包中仅提取160个字节作为流量数据包特征,如果一个数据包的长度小于160个字节,将0填充用于这个包,如果数据包长于160个字节,则仅取前160个字节,使用每个流前10个流量数据包使数据发送到该模型具有相同的尺寸。

    4.根据权利要求3所述的一种基于时空特征学习的物联网网络攻击流量监测系统,其特征在于:所述基于原始流的cnn分类模型具体为:首先将1600维特征转换为40*40灰度图像作为cnn网络输入层的输入,cnn的隐藏层使用两个卷积层和两个最大池化层来对原始流数据执行空间特征提取,其中,第一卷积层使用32个5*5卷积内核,然后执行最大池化操作,第二个卷积层使用64个3*3卷积内核,然后执行最大池化操作,卷积运算后,cnn隐藏层首先使用relu激活函数进行转换,然后使用最大池化操作,原始40*40灰度图像变为具有64个通道的8*8。在8*8*64图像上执行展平操作后,获得4096维矢量,然后将其发送到cnn的输出层,cnn的输出层使用完全连接层,而完全连接层使用1600个神经元,在完全连接层之后执行删除操作以随机地使完全连接层的一些神经元失活。

    5.根据权利要求4所述的一种基于时空特征学习的物联网网络攻击流量监测系统,其特征在于:所述基于原始流的lstm分类模型具体为:,lstm网络使用两层单元进行时序特征提取,lstm的每个单元使用256个隐藏层单元,每层的单元激活函数使用sigmod型函数进行非线性运算,lstm网络的最后一层使用完全连接层,并且完全连接层中神经元的数量等于流类别的数量。

    6.根据权利要求5所述的一种基于时空特征学习的物联网网络攻击流量监测系统,其特征在于:所述攻击流量检测方法为:综合使用卷积神经网络和循环神经网络,分别学习原始网络流量的低维空间特征和高维时序特征,然后将空间特征向量和时序特征向量进行拼接得到流特征向量,最后将特征向量输入到分类器中。

    技术总结
    本发明通过人工智能领域的方法,实现了一种基于时空特征学习的物联网网络攻击流量监测系统,通过原始流量预处理将每个数据包转换为二维图像格式,然后利用卷积神经网络方法,构造基于原始流的CNN分类模型实现学习数据包内部的空间特征,在网络流层次,系统利用循环神经网络方法构造基于原始流的LSTM分类模型实现学习数据包间的时序特征,最终,在综合利用两种深层神经网络的特征学习能力的基础上,得到准确刻画网络流量行为的网络流时空特征,并最终用于攻击流量检测。上述方案中,由于本发明模型明显优于其他网络攻击检测模型,使得系统可达到很高的精度、精确度、召回率。

    技术研发人员:李博;杨競婿
    受保护的技术使用者:北京航空航天大学
    技术研发日:2020.11.30
    技术公布日:2021.03.12

    转载请注明原文地址:https://wp.8miu.com/read-7799.html

    最新回复(0)