一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于多路分支结构的卷积神经网络的网络攻击行为检测方法与流程

2022-02-22 06:42:44 来源:中国专利 TAG:


1.本发明涉及互联网安全技术领域,尤其涉及基于多路分支结构的卷积神经网络的网络攻击行为检测方法。


背景技术:

2.传统入侵检测采用的方式是特征工程加规则匹配或者机器学习模型的方式进行分析。具体说来,特征工程就是指先从网络日志中过滤掉噪音信息,提取出具有分析价值的多维特征信息。然后交给规则匹配程序进行规则匹配,这部分也叫特征分析。而所谓的规则是指一些恶意的程序标识或一些恶意的行为描述,规则匹配就是对这些信息按照人工定义的方式,编写规则匹配的程序代码进行匹配分析。一般来说只要能够与规则相匹配到的程序代码或者网络行为,就会被认定为是攻击行为。而对于近些年来的网络安全研究方向也开始慢慢转向机器学习的方式来进行分析。这种分析方式主要是通过收集正常的程序数据和网络行为数据,通过特征工程提取多维度的特征,在此基础上通过训练分类机器学习模型(通常有朴素贝叶斯,决策树,svn和随机森林等)。在检测阶段,与正常值在特征空间中的中心的距离超过了容限的程序代码或者网络行为会被认为是恶意代码或者网络攻击行为。
3.对于特征工程加规则匹配这种方式只能应对那些已知的攻击,对于那些新型未知的攻击只能束手无策。与基于规则匹配的方式相比,基于机器学习的方式在对那些新型的未知攻击进行检测的时候会有比较好的检测效果。实践表明机器学习模型极度依赖与特征工程,特征工程的优劣直接决定了机器学习模型的识别准确率。而作为特征提取工作的特征工程主要是由领域专家人工完成,使得该工作严重依赖于专家经验,所以人工成本以及行业门槛较高,而且无法自适应于不同的应用场景。


技术实现要素:

4.本发明的目的在于提供基于多路分支结构的卷积神经网络的网络攻击行为检测方法。
5.本发明采用的技术方案是:
6.基于多路分支结构的卷积神经网络的网络攻击行为检测方法,其包括以下步骤:
7.步骤1:分析数据源并预处理:人工进行样本数据收集与标注:
8.步骤2:多维度特征提取:将数据源作为输入并分别通过多组并行的卷积层进行特征提取,分别经过relu激活函数后再进行最大池化操作;
9.利用卷积层的范围特征提取能力,再配合神经网络的反向传播来进行权值更新,从而使模型具备了自我学习的能力;
10.步骤3:分类预测:将模型卷积层后三条线路的输出结果在第一维度上进行拼接,展平后采取两层全连接层,第一层采用relu激活函数,最后的输出层采用softmax作为激活函数
11.步骤4:训练过程:前向传播后通过反向传播然后用梯度下降法来训练模型的权
重;
12.步骤5:结果输出:通过softmax输出结果的概率分布。
13.进一步地,步骤1中的样本数据的数据源包括网关的网络采集日志或者soc平台(网络安全管理平台)在网络中采集全网安全事件信息。
14.进一步地,步骤2中多维度特征提取利用卷积层的范围特征提取能力,再配合神经网络的反向传播来进行权值更新,从而使模型具备了自我学习的能力。
15.进一步地,步骤3中分类预测将模型卷积层后分别三条线路的输出结果在第一维度上进行拼接(这里的第一维度是指暂时不考虑数据批量化的维度)。由于后面要进行全连接,所以要将拼接后的结果进行展平成向量。展平后接下来就是常见的两层全连接层,第一层还是采用relu激活函数,最后的输出层由于是分类问题,本发明采用softmax作为激活函数(为了可以扩展为多分类本发明采用softmax而不用二分类的sigmoid函数)。
16.进一步地,步骤4中将预测值与真实值做比较,采用交叉熵作为损失函数;再采用梯度下降法来最小化损失函数找到全局的最小值,梯度的计算方式按照分别求损失函数在各个权值参数方向上的的偏导数,然后通过反向传播分别更新权值参数的值。
17.进一步地,步骤5中当定义的分类类型为5类时,则输出的结果为一个5维的向量,向量的五个维度的值的和为1,值最大的那个维度对应的分类就是模型预测出的分类结果。
18.本发明采用以上技术方案,采用端到端的训练模式,模型可以通过反向传播进行表征的自我学习,从而自动学习到特征的提取能力,从而大大减少人工提取特征的工作量,减少耗费在特征工程上的时间。也由于深度学习可以通过增加隐藏层的数量来增加拟合能力,对于检测的错误率是可以逼近至贝叶斯最优错误率,也就是理论上的最好检测效果。对比传统的解决方案的优势如下:1.能够通过海量数据自动学习特征提取能力。2.网络层数高,理论上可以拟合任意函数。3.比起传统的机器学习有更强大的泛化能力。4.数据量越大模型拟合效果越好,上限高。本发明既为了解决传统的特征规则匹配所无法解决的新型未知攻击行为的检测,也为了解决传统机器学习模型极度依赖繁琐的特征工程以及专家经验。同时更是为了大幅度的提升在网络攻击行为检测上的准确率。
附图说明
19.以下结合附图和具体实施方式对本发明做进一步详细说明;
20.图1为本发明基于多路分支结构的卷积神经网络的网络攻击行为检测方法的结构示意图;
21.图2为本发明训练模型示意图;
22.图3为本发明损失函数三维示意图。
具体实施方式
23.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图对本技术实施例中的技术方案进行清楚、完整地描述。
24.如图1至图3之一所示,本发明公开了基于多路分支结构的卷积神经网络的网络攻击行为检测方法,其包括以下步骤:
25.步骤1:分析数据源并预处理:人工进行样本数据收集与标注:
26.步骤2:多维度特征提取:将数据源作为输入并分别通过多组并行的卷积层进行特征提取,分别经过relu激活函数后再进行最大池化操作;
27.利用卷积层的范围特征提取能力,再配合神经网络的反向传播来进行权值更新,从而使模型具备了自我学习的能力;
28.步骤3:分类预测:将模型卷积层后三条线路的输出结果在第一维度上进行拼接,展平后采取两层全连接层,第一层采用relu激活函数,最后的输出层采用softmax作为激活函数
29.步骤4:训练过程:前向传播后通过反向传播然后用梯度下降法来训练模型的权重;
30.步骤5:结果输出:通过softmax输出结果的概率分布。
31.本发明方案采用端到端的训练模式,模型可以通过反向传播进行表征的自我学习,从而自动学习到特征的提取能力,从而大大减少人工提取特征的工作量,减少耗费在特征工程上的时间。也由于深度学习可以通过增加隐藏层的数量来增加拟合能力,对于检测的错误率是可以逼近至贝叶斯最优错误率,也就是理论上的最好检测效果。而这个是规则匹配方式和传统机器学习所不能比拟的,这也是目前行业内的共识。针对特征规则匹配,机器学习,与本方案的深度卷积神经网络这三种方式本发明团队用了7组不同数据量的训练样本进行准确率的验证,分别是2000,5000,10000,15000,20000,35000和50000,机器学习采用的是规则特征提取加svm(支持向量机)进行分类。实验的在验证集准确率结果如下(单位%):
[0032][0033][0034]
可以看到样本量在5000以下的时候,特征匹配由于人工可以从这些少量数据中找到合适的特征规律,进而得到不错的结果,但是随着样本数的增加,人工应对这些规律就显得力不从心,当样本数量达到35000为了提升准确率而去适配大量之前没有遇到样本,反而导致准确率的下降。机器学习的方式优势很明显,样本数据量少的时候虽然准确率不如特征匹配,但是随着样本数据量的增加,准确率是在上升的。但是随着样本数据量的增加,其后劲不足,总体趋势看来是趋于90%。而且这里付出的代价也很明显,随着样本数据量的增加,所需要的特征工程的工作量也是线性增长的。本方案从实验数据上可以很明显看到样
本数量与准确率呈现正相关,而且随着样本数量突破35000,本方案的准确率也超越前两者,并且还有上升空间。加之本方案采用的是端到端的表征自我学习,减少了特征工程这一繁琐的工作量,从而能够应对日后日益指数增长的数据。
[0035]
与机器学习的方式类似,深度学习进行分析的过程也需要进行以下6个步骤:
[0036]
1.获取并分析源数据
[0037]
2.数据预处理
[0038]
3.多维度特征提取
[0039]
4.构建模型结构
[0040]
5.将训练数据输入模型进行训练
[0041]
6.将模型用于分类预测并输出结果
[0042]
人工进行样本数据收集与标注:入侵行为分析一般由一些网关的网络采集日志或者soc平台(网络安全管理平台)在网络中采集全网安全事件信息作为分析的数据源。如果有条件的团队可以通过获取过去历史发现的入侵行为的日志信息进行样本收集,一般的团队可以模拟各类入侵攻击方式进行样本采集。然后根据入侵行为对样本进行分类标注,作为训练使用的数据集。
[0043]
多维度特征提取:这部分收集到的信息内容一般包括了像网络数据包这样的非结构化数据和像通过程序解析出的安全事件信息这样的结构化数据。传统的方式是通过编写规则模板和匹配代码,对这些内容进行规则匹配,得到特征信息。但是正如前面所说,这种方式人工成本太高,而且太过于依赖专家经验。但是本发明可以利用深度学习来进行特征提取能力的自我学习,这里我采用了三组卷积层来进行特征提取。利用卷积层的范围特征提取能力,再配合神经网络的反向传播来进行权值更新,从而使模型具备了自我学习的能力。
[0044]
特征提取层的原理是通过将预处理后的数据传入三组分别大小为(2,3,4)的一维卷积核,每个卷积核的通道数为2。使用卷积操作的是因为卷积比起多层感知机来说可以使用更少的权重参数,同时又兼顾有很好的特征提取能力。采用1维卷积的原因是本发明传入的数据不是2维的图像数据,而是1维的字符编码数据。这里使用三组不同大小的卷积核是参考了textcnn模型的结构,利用三组卷积分别将注意力集中不同的感受野,能够更好的挖掘特征数据。三组卷积后的特征先分别经过relu激活函数后再进行最大池化操作,也就是进一步的强化特征,并降低维度。
[0045]
for(i=1to3):
[0046]z[i]
=conv
1d
(x,w
[i]
)
[0047]a[i]
=relu(z
[i]
)
[0048]
p
[i]
=maxpool(z
[i]
)
[0049]
relu函数的定义:
[0050][0051]
分类预测:接下去再将分别三条线路的输出结果在第一维度上进行拼接(这里的第一维度是指暂时不考虑数据批量化的维度):
[0052]
m=concat(p
[1]
,p
[2]
,p3)
[0053]
由于后面要进行全连接,所以要将拼接后的结果进行展平成向量:
[0054]
f=flatten(m)
[0055]
展平后接下来就是常见的两层全连接层,第一层还是采用relu激活函数,最后的输出层由于是分类问题,本发明采用softmax作为激活函数(为了可以扩展为多分类本发明采用softmax而不用二分类的sigmoid函数):
[0056]z[4]
=(w
[4]
)
t
*f b
[4]
[0057]a[4]
=relu(z
[4]
)
[0058]z[5]
=(w
[5]
)
t
*a
[4]
b
[5]
[0059][0060]
这里说明一下softmax函数的定义,softmax函数是用来对传入的向量参数的每一维的值都分别求做e的指数,然后再分别除以所有值e的指数的和:
[0061][0062]
训练过程:如图2和3所示,前向传播后,通过反向传播然后用梯度下降法来训练模型的权重。首先本发明可以拿预测值与真实值去做比较,采用交叉熵作为损失函数:
[0063][0064]
n的值等于输出分类的个数,是预测值y是真实值。
[0065]
如果是批量训练数据的话还需要对批量数据集计算平均损失函数,那么损失函数的表示形式就变成下面这样:
[0066][0067]
上面的y代表这一批的真实值,代表这一批的预测值,y和分别代表这一批里的单条。
[0068]
再接下去可以采用梯度下降法来最小化损失函数。梯度下降法就是通过计算当前点在损失函数的梯度,然后将权值参数按照梯度方向的反方向进行更新,从而找到全局的最小值,梯度的计算方式可以按照分别求损失函数在各个权值参数方向上的的偏导数,然后通过反向传播分别更新权值参数的值。
[0069]
结果输出:通过softmax输出的结果为结果的概率分布,即如果定义的分类类型为5类,那么输出的结果就为一个5维的向量,向量的五个维度的值的和为1。值最大的那个维度对应的分类就是模型预测出的分类结果。
[0070]
本发明采用以上技术方案,采用端到端的训练模式,模型可以通过反向传播进行表征的自我学习,从而自动学习到特征的提取能力,从而大大减少人工提取特征的工作量,减少耗费在特征工程上的时间。也由于深度学习可以通过增加隐藏层的数量来增加拟合能力,对于检测的错误率是可以逼近至贝叶斯最优错误率,也就是理论上的最好检测效果。对比传统的解决方案的优势如下:1.能够通过海量数据自动学习特征提取能力。2.网络层数
高,理论上可以拟合任意函数。3.比起传统的机器学习有更强大的泛化能力。4.数据量越大模型拟合效果越好,上限高。本发明既为了解决传统的特征规则匹配所无法解决的新型未知攻击行为的检测,也为了解决传统机器学习模型极度依赖繁琐的特征工程以及专家经验。同时更是为了大幅度的提升在网络攻击行为检测上的准确率。
[0071]
显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。在不冲突的情况下,本技术中的实施例及实施例中的特征可以相互组合。通常在此处附图中描述和示出的本技术实施例的组件可以以各种不同的配置来布置和设计。因此,本技术的实施例的详细描述并非旨在限制要求保护的本技术的范围,而是仅仅表示本技术的选定实施例。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献