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

一种基于注意力机制的僵尸网络检测方法

文献发布时间:2023-06-19 19:28:50


一种基于注意力机制的僵尸网络检测方法

技术领域

本发明涉及网络安全技术领域,更具体的,涉及一种基于注意力机制的僵尸网络检测方法。

背景技术

根据中国互联网络信息中心(CNNIC)发布的第50次《中国互联网络发展状态统计报告》显示,截至2022年6月,我国网民规模为10.51亿,较2021年12月新增网民1919万,互联网普及率达74.4%。从报告可以看出,互联网已经成为我国人民生活中不可或缺的一部分,但互联网技术在给广大人民群众生活提供便利的同时,其所带来的安全威胁同样不容小觑。

僵尸网络(Botnet)就是不法分子利用网络进行非法牟利的一种常用攻击手段。僵尸网络发展迅速,波及范围广,破坏力大,技术复杂,相比较于传统的病毒和蠕虫等威胁更大,已经成为安全行业最大的威胁之一。僵尸网络主要对僵尸程序进行传播,使得众多主机被感染,它能够通过命令与控制信道操纵感染了僵尸程序的主机执行恶意活动,包括点击欺诈、分布式拒绝服务(DDoS)、垃圾邮件、窃取机密信息和虚拟货币挖掘等,对国家、组织和个人的信息安全造成极大的危害。

僵尸网络的流量数据往往是相似的,且表现出与正常流量的差异性。鉴于此特性,目前僵尸网络的检测主要应用机器学习算法,如随机森林算法、支持向量机(SVM)、k–means等。此类方法采用监督学习方法建立基于人为标记的网络流量特征的模型检测僵尸流量,但基于人为标记特征的方式是劳动密集的,需要大量拥有足够领域知识的专家才能保证特征精确度。近年来研究者也开始使用深度学习算法检测僵尸网络流量,并取得了一些很好的效果,如卷积神经网络(CNN)、递归神经网络(RNN)等,解决了人为标记特征的痛点。但新型僵尸网络流量的样本数量往往较小,现有的基于深度学习的检测模型很难精确检测出新型僵尸网络流量,导致检测模型对新型僵尸网络的检测准确率低。

现有技术公开了一种僵尸网络流量分类检测方法,包括:获取僵尸网络流量数据集;将所述僵尸网络流量数据集转化为单通道二维灰度图像矩阵;将所述单通道二维灰度图像矩阵输入至预设的可分离卷积神经网络模型进行检测,确定与所述单通道二维灰度图像矩阵对应的所述僵尸网络流量数据集是否属于恶意流量,以及,若所述僵尸网络流量数据集属于恶意流量,则确定恶意类别;其中,所述预设的可分离卷积神经网络模型为采用单通道二维灰度图像矩阵样本作为输入数据,以及与所述单通道二维灰度图像矩阵样本对应的检测结果作为输出数据,基于机器学习算法训练得到的;所述检测结果包括:不属于恶意流量,或,属于恶意流量以及与所述恶意流量对应的恶意类别;但未针对新型僵尸网络流量样本数量小的特点导致检测模型对新型僵尸网络的检测准确率低。

发明内容

本发明为了解决现有技术中未针对新型僵尸网络流量样本数量小的特点导致检测模型对新型僵尸网络的检测准确率低的问题,提出了一种基于注意力机制的僵尸网络检测方法,通过构建基于注意力机制的僵尸网络检测模型,使用通过自适应综合过采样算法、主成分分析法预处理后的数据集对网络检测模型进行训练,提高模型的检测准确率。

为解决上述技术问题,本发明采用的技术方案是:

一种基于注意力机制的僵尸网络检测方法,步骤如下:

S1:获取数据集,对数据集进行预处理,得到预处理后的数据集;预处理的方法如下:按照五元组分割流量数据,得到单条数据流的集合;提取单条数据流的集合中的流量统计特征,对非数值的流量统计特征进行独热编码;使用自适应综合过采样算法实现数据增强,使用主成分分析法实现数据降维;

S2:构建基于注意力机制的僵尸网络检测模型,根据预处理后的数据集进行训练;

S3:捕获网络数据流,使用训练后的僵尸网络检测模型判断捕获的网络数据流是否来自僵尸网络。

本发明的工作原理如下:

通过五元组对数据集的流量数据进行分割,通过自适应综合过采样算法、主成分分析法对数据集进行预处理,构建基于注意力机制的僵尸网络检测模型,通过预处理后的数据集对网络检测模型进行训练,使用训练后的僵尸网络检测模型判断捕获的网络数据流是否来自僵尸网络。

优选地,构建僵尸网络检测模型进行训练的方法如下:

将处理后的数据集分为训练集和测试集,其中,所述的训练集包括N种僵尸网络流量;所述的测试集包括M种僵尸网络流量;M大于N,且N、M为正整数;

随机初始化网络中参数,僵尸网络检测模型的一轮迭代训练由一次前向传播和一次反向传播构成;

所述的前向传播过程如下:训练集经过整个僵尸网络检测模型逐层传递得到对应的特征值,得到预测结构;将实际结果和预测结果作为交叉熵损失函数的输入,计算实际结果与预测结果的误差,得到损失值;

所述的反向传播过程如下:基于得到的损失值计算僵尸网络检测模型各个参数的梯度,根据对应的梯度对僵尸网络检测模型的各个参数进行优化更新;

经过多轮迭代训练得到待测试的僵尸网络检测模型,将测试集输入待测试的僵尸网络检测模型进行测试,检测僵尸网络检测模型的准确率;若准确率小于阈值,则进行训练,若准确率大于阈值,则进行下一步;

所述的交叉熵损失函数公式如下:

其中,Loss表示交叉熵损失函数,N表示样本数量,y

优选地,所述的五元组包括源IP,源端口,目的IP,目的端口,通信协议。

优选地,所述的自适应综合过采样算法的步骤如下:

S201:计算少数类样本与多数类样本的比值d;

式中,m

S202:计算要生成的少数类样本的总数G;

G=(m

式中,β是少数类样本与多数类样本的比例;β=1表示表示自适应综合过采样算法执行后得到少数类样本与多数类样本完全平衡的数据集;

S203:对少数类样本使用欧式距离计算k个邻居,Δ

S204:将r

S205:对每个少数类样本计算合成样本的数目g

由于r

S206:生成合成的少数类样本s

s

式中,λ为随机数且满足λ∈[0,1];x

进一步地,所述的主成分分析法的步骤如下:

S211:使用min-max方法对特征向量进行标准化,使所有的数据分布在[0,1],计算公式:

式中,X为原始特征数据,X

S212:计算数据集中特征的协方差矩阵;

S213:运行协方差矩阵的特征方程,提取出所有特征值,根据对应的特征值的大小,将特征向量按递减顺序排列,记作λ

R-λE=0

S214:提取累计贡献率在80%-95%之间特征值相对应的k个主成分,累计贡献率计算公式:

最终得到降维后的特征矩阵W=(w

优选地,所述的僵尸网络检测模型包括依次连接的卷积神经网络、注意力机制模块、双向长短时记忆网络、全连接层、输出层;

所述的卷积神经网络,用于提取输入数据的特征信息,作为注意力机制模块的输入;

所述的注意力机制模块,用于根据输入的特征信息重新分配通道的权重;

所述的双向长短时记忆网络,用于学习网络流量中特征之间的关系;

所述的全连接层用于将特征信息映射到更大的空间中,增加的僵尸网络检测模型的表征能力;

所述的输出层用于输出检测分类的结果。

进一步地,所述的卷积神经网络包括依次连接的第一卷积层C1、第一池化层S1、第二卷积层C2;

所述的第一卷积层C1由两个3×3卷积层串联组成;所述的第一池化层S1为最大池化层或平均池化层;所述的第二卷积层C2使用1×1卷积核。

进一步地,所述的注意力机制模块使用卷积块注意力模块;

所述的卷积块注意力模块用于二维数据处理,由挤压阶段和激励阶段组成;

在挤压阶段时,流量数据特征图F分别在全局平均池化层和最大池化层中,从两个不同的维度提取特征图的特征信息,从(c,w)维形式转变到(c,1)维形式,获得两个压缩数据,以此获取每个通道的全局信息;

在激励阶段时,压缩数据由多层感知器自适应地重新校准,对特征图每个通道进行权重赋值,获得两个(c,1)维的特征图,将两个特征图进行加法操作,然后使用sigmoid激活函数,最后获得权重向量M

M

式中,σ表示Sigmoid激活函数,W表示多层感知器参数,AvgPool表示平均池化层,MaxPool表示最大池化层,F表示输入的流量数据特征。

进一步地,所述的双向长短时记忆网络包括第一LSTM层和第二LSTM层;

所述的第一LSTM层以正向方式获取输入,第二LSTM层以逆向方式获取输入;

第一LSTM层、第二LSTM层在一个时间步长的更新情况如下:

i

f

o

h

其中,i

所述的双向长短时记忆网络在一个时间步长的更新情况如下:

其中,h

进一步地,所述的全连接层包括第一全连接层FC1、第二全连接层FC2;所述的第一全连接层FC1由32个神经元组成,输出为32维向量;所述的第二全连接层FC2由16个神经元组成,输出为16维向量;第一全连接层FC1和第二全连接层FC2所使用的的激活函数均为Relu函数;

所述的输出层所使用的激活函数为Sigmoid函数,输出最终的僵尸网络监测分类结果,Sigmoid函数的函数计算公式如下:

式中,x表示上一个全连接层的权重累加和,v表示最终的僵尸网络监测分类结果概率值。

与现有技术相比,本发明的有益效果是:

1.使用自适应综合过采样方法对少数类样本进行扩充,有助于防止模型过拟合。

2.使用主成分分析作为数据降维方法,降维的同时一定程度上将信息的损失尽量降低。

3.基于注意力机制的僵尸网络检测模型关注更为重要的特征信息,利用流量数据的时序性进行分类检测,进一步提高了检测的准确率。

附图说明

图1为所述的一种基于注意力机制的僵尸网络检测方法的步骤流程图。

图2为所述的僵尸网络检测模型的网络架构图。

具体实施方式

下面结合附图和具体实施方式对本发明做详细描述。

实施例1

在本实施例中,如图1所示,一种基于注意力机制的僵尸网络检测方法,步骤如下:

S1:获取数据集,对数据集进行预处理,得到预处理后的数据集;预处理的方法如下:按照五元组分割流量数据,得到单条数据流的集合;提取单条数据流的集合中的流量统计特征,对非数值的流量统计特征进行独热编码;使用自适应综合过采样算法实现数据增强,使用主成分分析法实现数据降维;

S2:构建基于注意力机制的僵尸网络检测模型,根据预处理后的数据集进行训练;

S3:捕获网络数据流,使用训练后的僵尸网络检测模型判断捕获的网络数据流是否来自僵尸网络。

本发明的工作原理如下:

通过五元组对数据集的流量数据进行分割,通过自适应综合过采样算法、主成分分析法对数据集进行预处理,构建基于注意力机制的僵尸网络检测模型,通过预处理后的数据集对网络检测模型进行训练,使用训练后的僵尸网络检测模型判断捕获的网络数据流是否来自僵尸网络。

在本实施例中,所述的五元组包括源IP,源端口,目的IP,目的端口,通信协议。所述的数据集采用ISCX botnet数据集;ISCX botnet数据集是在2014年创建的,它是由加拿大纽布伦斯威克大学网络安全研究所创建的僵尸网络数据集,该数据集通过覆盖方法合并了ISOT、ISCX 2012IDS、Botnet traffic generated by the Malware Capture FacilityProject的子集;数据流定义为拥有相同五元组且按照时间顺序排列的数据包的集合;数据包表示为(q,l,t);其中,q表示此数据包的五元组,l表示此数据包的长度,t表示此数据包的起始时间;

所述的单条数据流定义为:

p=(q,l,t)

式中,p表示单条数据流。

统计特征包括流持续时间、重连接次数等反映流量的通信模式的特征,从中提取出112维的特征向量;非数值特征包括protocol等特征。

在本实施例中,构建僵尸网络检测模型进行训练的方法如下:

将处理后的数据集分为训练集和测试集,其中,所述的训练集包括N种僵尸网络流量;所述的测试集包括M种僵尸网络流量;M大于N,且N、M为正整数;

随机初始化网络中参数,僵尸网络检测模型的一轮迭代训练由一次前向传播和一次反向传播构成;

所述的前向传播过程如下:训练集经过整个僵尸网络检测模型逐层传递得到对应的特征值,得到预测结构;将实际结果和预测结果作为交叉熵损失函数的输入,计算实际结果与预测结果的误差,得到损失值;

所述的反向传播过程如下:基于得到的损失值计算僵尸网络检测模型各个参数的梯度,根据对应的梯度对僵尸网络检测模型的各个参数进行优化更新;

经过多轮迭代训练得到待测试的僵尸网络检测模型,将测试集输入待测试的僵尸网络检测模型进行测试,检测僵尸网络检测模型的准确率;若准确率小于阈值,则进行训练,若准确率大于阈值,则进行下一步;

所述的交叉熵损失函数公式如下:

其中,Loss表示交叉熵损失函数,N表示样本数量,y

在本实施例中,所述的自适应综合过采样算法的步骤如下:

S201:计算少数类样本与多数类样本的比值d;

式中,m

S202:计算要生成的少数类样本的总数G;

G=(m

式中,β是少数类样本与多数类样本的比例;β=1表示自适应综合过采样算法执行后得到少数类样本与多数类样本完全平衡的数据集;

S203:对少数类样本使用欧式距离计算k个邻居,Δ

S204:将r

S205:对每个少数类样本计算合成样本的数目g

由于r

S206:生成合成的少数类样本s

s

式中,λ为随机数且满足λ∈[0,1];x

自适应综合过采样算法在实现数据增强的同时,拓展占与处理前的数据集较小比例的僵尸网络流量样本,平衡多数类样本和少数类样本的百分比,提高僵尸网络检测模型对少数类样本的检测能力。

在本实施例中,所述的主成分分析法的步骤如下:

S211:使用min-max方法对特征向量进行标准化,使所有的数据分布在[0,1],计算公式:

式中,X为原始特征数据,X

S212:计算数据集中特征的协方差矩阵;

S213:运行协方差矩阵的特征方程,提取出所有特征值,根据对应的特征值的大小,将特征向量按递减顺序排列,记作λ

R-λE=0

S214:提取累计贡献率在80%-95%之间特征值相对应的k个主成分,累计贡献率计算公式:

最终得到降维后的特征矩阵W=(w

主成分分析法在实现数据降维的同时,剔除不相关活冗余特征,减少特征个数来提高僵尸网络检测模型的精确度;主成分分析法通过将一个大的变量集转化为一个较小的变量集,而较小的变量集仍包括大的变量集中的大部分信息;主成分分析法利用数据本身存在相关性的特点,在降维的同时尽量降低了信息的损失。

实施例2

在本实施例中,如图2所示,所述的僵尸网络检测模型包括依次连接的卷积神经网络、注意力机制模块、双向长短时记忆网络、全连接层、输出层;

所述的卷积神经网络,用于提取输入数据的特征信息,作为注意力机制模块的输入;

所述的注意力机制模块,用于根据输入的特征信息重新分配通道的权重;

所述的双向长短时记忆网络,用于学习网络流量中特征之间的关系;

所述的全连接层用于将特征信息映射到更大的空间中,增加的僵尸网络检测模型的表征能力;

所述的输出层用于输出检测分类的结果。

更具体的,所述的卷积神经网络包括依次连接的第一卷积层C1、第一池化层S1、第二卷积层C2;

所述的第一卷积层C1由两个3×3卷积层串联组成,用于代替一个5×5卷积层,这样做可以有效地减少模型参数;所述的第一池化层S1为最大池化层或平均池化层;所述的第二卷积层C2使用1×1卷积核。

视觉注意力机制是人类视觉所特有的大脑信号处理机制。人类视觉通过快速扫描全局图像,获得需要重点关注的目标区域,也就是一般所说的注意力焦点,而后对这一区域投入更多注意力资源,以获取更多所需要关注目标的细节信息,而抑制其他无用信息。这一机制运用于机器学习中,体现在:机器学习中的注意力机制是指学习图片、文本或任何数据媒介中最重要的内容。注意力机制可以令使得神经网络具备专注于输入特征的某些局部重要信息的能力。

所述的注意力机制模块使用卷积块注意力模块;

所述的卷积块注意力模块用于二维数据处理,由挤压阶段和激励阶段组成;

在挤压阶段时,流量数据特征图F分别在全局平均池化层和最大池化层中,从两个不同的维度提取特征图的特征信息,从(c,w)维形式转变到(c,1)维形式,获得两个压缩数据,以此获取每个通道的全局信息;

在激励阶段时,压缩数据由多层感知器自适应地重新校准,对特征图每个通道进行权重赋值,获得两个(c,1)维的特征图,将两个特征图进行加法操作,然后使用sigmoid激活函数,最后获得权重向量M

M

式中,σ表示Sigmoid激活函数,W表示多层感知器参数,AvgPool表示平均池化层,MaxPool表示最大池化层,F表示输入的流量数据特征。

所述的双向长短时记忆网络包括第一LSTM层和第二LSTM层;所述的第一LSTM层以正向方式获取输入,第二LSTM层以逆向方式获取输入;

双向长短时记忆网络有效地增加了网络可用的信息量,改善算法可用的上下文信息,进而提高僵尸网络的检测准确率。

长短时记忆网络LSTM引入了存储单元和单元状态,以克服循环神经网络RNN中存在的长期依赖问题;长期依赖问题是RNN计算远处节点的关系时,由矩阵的多次乘法引起的梯度爆炸或梯度分散问题。

第一LSTM层、第二LSTM层在一个时间步长的更新情况如下:

i

f

o

h

其中,i

双向长短时网络Bi-LSTM通过在现有的前向隐藏状态

所述的双向长短时记忆网络在一个时间步长的更新情况如下:

其中,h

采用Adam优化器计算出更新的步长,Adam优化器吸收了自适应学习率的梯度下降算法和动量梯度下降算法的优点,既能适应稀疏梯度,又能缓解梯度震荡的问题,对梯度的一阶矩估计和二阶矩估计进行综合考虑,计算出更新的步长,适用于僵尸网络检测模型的训练;梯度的一阶矩估计为梯度的均值,梯度的二阶矩估计为梯度的方差;

更具体的,所述的全连接层包括第一全连接层FC1、第二全连接层FC2;所述的第一全连接层FC1由32个神经元组成,输出为32维向量;所述的第二全连接层FC2由16个神经元组成,输出为16维向量;第一全连接层FC1和第二全连接层FC2所使用的的激活函数均为Relu函数;

所述的输出层所使用的激活函数为Sigmoid函数,输出最终的僵尸网络监测分类结果,Sigmoid函数的函数计算公式如下:

式中,x表示上一个全连接层的权重累加和,y表示最终的僵尸网络监测分类结果概率值。

实施例3

在本实施例中,使用Wireshark工具捕获网络数据流,对待检测网络的数据流进行预处理,按照五元组对数据流进行分割,提取能够反映僵尸网络流量通信和行为特征的流量统计特征,对非数值的流量统计特征进行独热编码。根据将预处理过后的网络数据流输入到训练后的僵尸网络检测模型分类器,分类器对待检测的网络数据流进行分类,获得待检测的网络数据流是否来自僵尸网络的检测结果。

分类器将待检测的网络数据流做出分类判断,获得二分类结果的混淆矩阵,混淆矩阵包括二分类准确度、精确度、召回率和F1分数。

显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。

相关技术
  • 一种基于复杂网络和图神经网络的僵尸网络检测方法
  • 一种基于威胁情报的僵尸网络检测方法及检测系统
技术分类

06120115922309