没有合适的资源?快使用搜索试试~ 我知道了~
基于卷积循环神经网络的网络流量异常检测技术.docx
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 185 浏览量
2022-06-17
17:07:52
上传
评论
收藏 1.26MB DOCX 举报
温馨提示
试读
18页
基于卷积循环神经网络的网络流量异常检测技术.docx
资源推荐
资源详情
资源评论
0 引言
近年来随着互联网技术的快速发展网络安全问题得到越来越多的关注。无
论是日常广泛使用的各类互联网网络服务还是极其重要的国防工业网络系统都
时刻面临着严重的网络安全威胁。一旦出现网络攻击造成网络异常 轻则导致应
用服务中断、用户隐私泄露重则可能导致经济问题甚至是国家安全问题。随着
各类网络系统功能的增加各类新式物联网设备投入使用网络系统结构变得越来
越复杂对其中传送的流量数据进行监管与检测也变得越来越困难。传统的网络
流量异常检测包括深度包检测技术和基于异常特征库匹配的入侵检测技术 然而
传统的网络流量异常检测方式存在固有缺陷:一方面 基于异常特征库匹配的入
侵检测方式对异常特征库中没有的攻击缺乏检测能力 异常特征库如果没有及时
更新和维护该方式的检测能力会大打折扣另一方面随着网络中的加密流量越来
越多深度包检测的检测效果非常有限
等人指出利用深度包检测技术对
加密流量进行检测只有 的准确率。
为了克服深度包检测和基于异常特征库匹配的入侵检测方法的缺陷 基于经
典机器学习的网络流量分类方法成为网络流量异常检测的主流方法之一
。使用
经典机器学习方法解决网络流量异常检测问题需要设计合适的网络流量特征集
对网络流量样本进行描述和表示。这种方法的检测效果很大程度上依赖于网络
流量特征集的设计。然而设计合适的网络流量特征集仍然是一个很难解决的问
题
特别是针对不同类型的网络环境特征集设计往往需要大量的专家经验。为
了摆脱经典机器学习方法需要设计合适的特征集的困境 本文首先提出一种不同
颗粒度的网络流量样本生成方法然后将生成的不同颗粒度的网络流量样本作为
输入依靠深度学习中的卷积神经网络()自动提取其空间特征随后将得到
的网络流量特征数据视为序列输入循环神经网络()提取其时间特征进而
对网络流量进行分类。
1 相关工作
迄今为止研究者们提出了多种类型的网络流量特征。
等人使用朴
素贝叶斯方法训练机器学习模型对流量进行分类 共使用了 种特征对流量进
行描述 网络流量数据集含有 种流量特征 数据集则包
含数据包大小、数据包间隔时间、标志位是否置位等 项流量特征
!
。虽然上
述研究在某些特定网络流量分类上取得了较好的检测效果但选出的特征一旦对
于某些异常流量的区分度不好检测结果就会大打折扣。
近年来随着深度学习在图像识别、图像分类和自然语言处理等方面取得巨
大成功研究者们开始使用深度学习中的卷积神经网络或循环神经网络对网络流
量进行异常检测
。使用深度学习中的卷积神经网络或循环神经网络进行流量异
常检测可以直接从原始网络流量中提取特征从而避免了人工特征集设计困难的
问题。相关典型研究包括:"#$
等人构建 %%&! 数据集使用类
似经典 '
的卷积神经网络结构将原始网络流量数据处理为图片作为输入
取得了非常高的检测精度梁杰
等人利用独热编码对数据集中的原始网络数据
进行编码利用 $(()' 进行特征提取学习得到了 以上的检测精度张艳
升
等人使用卷积神经网络对工业控制网络流量进行异常检测 得到了 *的
检测精度#&
等人将网络流量编码为计算机之间对话的单词序列使用
长短时记忆循环神经网络( %)进行异常检测取得了较好的检测效果。上
述网络流量异常检测研究有 两个共同点:一是这些研究均将网络流(%+,--./
&(0)
作为流量样本划分的标准然而将网络流作为流量样本划分的标准在一
些情况下有其固有缺陷。例如网络中的流量数据主要使用 1 时由于 1 没
有连接的概念很难按照网络流的形式划分样本又如若攻击者将恶意流量数据混
在正常数据包之间并利用同一个网络连接进行发送则同一条网络流中会出现正
常和异常数据都存在的情况严重影响检测效果。二是这些研究都使用卷积神经
网络和循环神经网络中的一个没有将两者结合以更充分地挖掘网络流量内在的
空间特征和时间特征。
综合以上分析发现网络流量数据在处理为样本图片后具有内在的空间特征
样本中的流量字节组合在一起又可以视为一个序列具有内在的时间特征。因此
在网络流量异常检测问题上如果首先对流量数据提出合理的样本划分方法再综
合利用卷积神经网络和循环神经网络的时空特征提取能力 则可以避免人工设计
特征集的问题同时取得较好的检测效果。
2 网络流量异常检测
*不同颗粒度的网络流量样本生成方法
基于卷积循环神经网络的网络流量异常检测方法首先需要按照一定的颗粒
度将连续的网络流量切分为多个离散单元每个离散单元作为输入神经网络的一
个样本进行异常检测。在以往的研究中大部分研究均以五元组(2源 1 地址、
目的 1 地址、源端口、目的端口、传输层协议3)对网络中的数据包进行划分
将属于同一五元组的数据包划为一类再根据这些数据包是否属于同一个连接进
行划分。图
为 %1 流生成示意图。
图
图 1TCP 流生成示意图
这些研究中广泛使用的样本划分方法有一定缺陷。首先 如果网络中绝大部
分数据包使用的是 1则没有连接的概念有大量数据包分别属于不同的五元
组难以进行进一步的合理划分其次如果仅凭五元组进行样本划分则如果网络
拓扑结构固定将会有大量数据包被划分到同一个五元组导致产生的样本数量少
且每个样本数据冗长异常数据包还可能混在每个样本中从而无法实现有效的异
常检测。为了克服上述缺陷本文提出一种流量样本生成方法其流程如图
所示。
图
图 2流量样本生成示意图
以五元组为依据将数据包分组后在步骤 )中每组内依次选定 N 个数据
包作为一个样本。在步骤 )中由于同一网络环境中有大量数据包有相同的
# 地址和 1 地址为了消除这些因素对分类可能造成的影响需要去除这部分
数据称为样本匿名化处理。在步骤 )中将匿名化后的样本按照固定的字节个
数 M 进行统一长度处理。M 的选取和 N 以及卷积神经网络结构相关如果 N 个数
据包的字节个数大于 M则对该样本进行截断处理如果小于 M则以十六进制数
“45进行字节填充。最终生成适合作为深度神经网络输入的灰度图。
*基于卷积循环神经网络的网络流量异常检测算法
近年来卷积神经网络在图像分类问题上取得了优异的效果
。相较于一般
的深度神经网络卷积神经网络具有局部连接、权值共享以及池化操作等特点具
有很强的空间特征学习能力。循环神经网络在自然语言处理问题上也取得了优
异的效果
!
。循环神经网络通过在中间层的神经元中添加自连接的权重使得每
轮训练可以记录之前训练的状态信息实现了保存序列信息的能力具有很强的时
间特征学习能力。本文提出的网络流量异常检测算法可以将网络流量数据处理
成灰度图通过卷积循环神经网络提取空间特征和时间特征并进行分类从而实现
异常检测。本文算法以 T% 组具有相同五元组的流量数据包 F1,F2,⋯,FT&&
⋯&%样本数据包数目 N 以及标准输入大小 M 为输入以样本数据的分类结果为
输出。算法详细步骤如下:
)对原始网络流量数据进行合理划分获得图片网络流量样本。
对于 F1,F2,⋯,FT&&⋯&% 中的每组数据 Fi&.每 N 个数据包划分为一个
样本得到 ei=|Fi|//N.6787&.78799 个样本。其中|Fi|787&.787表示该组数据
包的数目:995表示整除后向下取整。对于从 F
i
中获得的每个样本计算其总字节
个数 M0。若 M0>M3将样本截断至 M 字节否则在样本结尾补充十六
进 制 数 “ 45 至 M 字 节 。 该 步 骤 对 于 每 组 数 据 F
i
得 到 样 本 Xij(j=1,2,
⋯,ei);.<=<6⋯.>。其中i. 为分组序号j< 为样本序号。
)将由步骤 )得到的每个图片样本 X
ij
作为输入构建神经网络模型。
X
ij
767x
x
?x
a
?x
M
。其中xa74,=a,6?7M>为构成 X
ij
各个字节的十进制
值a, 为字节索引。输入第 层卷积神经网络后得到的特征值为
y1ab=σ(∑Ss=1w0s,bx0a+s−1,b+T0b)@,A6B=C D60DA4,EDFA7
E7%A7>
=>
其中σB 为激活函数本文选择 函数bA 为卷积特征图索引S 为过滤
器的尺寸w0 为卷积核权重T0b%A 为第 bA 个特征图的偏置。因此第 l 层卷积
层的输出为
ylab=σ(∑Ss=1wl−1s,bxl−1a+s−1,b+Tl−1b)@,A6B=C D60DAF4,ED
FAF7E7%AF7>
=>
在每层卷积层后本文选择添加一个最大池化层以减少网络参数降低计算复
杂度并在一定程度上防止过拟合。最大池化运算如公式()所示。其中r+ 为
每次池化的范围Clab,A 为第 l 层最大池化层的输出。
Clab=maxr(yl−1r,b),A67G,4+=@+AF>
=>
在最后一个最大池化层之后使用一层双向 % 作为循环神经网络层。双
向 % 层沿正向和反向对输入序列进行处理将处理结果合并在一起比单向
% 层更能捕捉到网络流量的内在模式。使用双向 % 层的好处在于它能
够携带信息状态跨越多个时间步具体来讲每个 % 层均有控制信息流动的门
控单元根据这些门控单元控制其状态的更新。在得到第 l 层的最大池化层的输
出 Clab,A 后Clab,A 将作为 % 层的输入。若 h
t
为 % 层的输出向量
则 % 层的遗忘门、输入门和输出门在每个时间步的更新按照以下方式进行:
ft=σ(Bf+∑UfClab+∑Wf×ht−1)-'67B=H-E7C-7,A7E7C"-IJ'F7>
=>
剩余17页未读,继续阅读
资源评论
罗伯特之技术屋
- 粉丝: 3650
- 资源: 1万+
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功