一种基于生成式对抗网络的入侵流量的生成方法与流程

文档序号:26948032发布日期:2021-10-15 23:05阅读:258来源:国知局
一种基于生成式对抗网络的入侵流量的生成方法与流程

1.本发明属于入侵检测技术领域,具体涉及一种基于生成式对抗网络的入侵流量的生成方法。


背景技术:

2.由于机器学习与深度学习技术的发展和普及,许多基于机器学习或者深度学习的入侵检测系统已经在文献中被提出用于检测恶意网络流量。然而,最近的研究表明这些模型在对抗干扰下是脆弱的,通过这种干扰,敌手可以通过在网络流量中引入一个小的不切实际的干扰,导致检测系统的错误分类。而机器学习模型或深度学习模型中,假设在实时监测时也会遇到训练数据遵循的分布。这一假设导致对抗性示例通常是输入样本的最坏情况域移动。
3.近年来,针对网络安全应用开发的对抗扰动研究主要集中在恶意软件分类和可移植可执行程序分类上。在恶意软件和可移植可执行程序中,生成式对抗网络被用于生成入侵流量的例子相对较少。
4.生成式对抗网络的核心思想是在类似设置的互动博弈理论中,将生成器网络与鉴别器网络进行对比。生成器网络的目标是学习训练数据的最佳近似值,而识别器网络的目标是区分原始数据和生成数据的样本。
5.条件生成式网络是生成式对抗网络的一个扩展,通过添加一些条件作为输入,生成器网络g可以生成具有特定条件或特征的伪样本,而不是根据噪声分布生成普通样本。条件生成式对抗网络可以确保生成器转换网络流量的非内在特征来创建对抗性攻击,从而保证总线流量的功能行为。所谓内在特征是指这些特性对于任何网络流量的有效性都是必要的,对这些特性的任何更改都将使网络流量失效。因此对于命令字或者状态字位的常量特征或者固定特征不需要添加噪声影响,确保攻击流量符合规范,可以传输到总线上。


技术实现要素:

6.本发明的目的是提供一种基于生成式对抗网络的入侵流量的生成方法,提前测试入侵检测模型,可以更真实的了解入侵检测模型的性能;提前使用本发明测试系统可以尽早进入防范和防御状态,减少出错的可能。
7.实现本发明目的的具体技术方案是:
8.一种基于生成式对抗网络的入侵流量的生成方法,该方法包括下列步骤:
9.步骤1:数据预处理
10.收集合法网络流量样本;将所有网络流量样本处理成为样本特征为(x
i
,y
i
)的数据集,其中x
i
为网络流量样本,y
i
为所属样本的分类,是合法网络流量样本y
i
等于1,不是则为0;
11.步骤2:构建网络
12.生成器g和识别器d都使用深度神经网络模型;生成器的神经网络模型结构是具有
5层的前馈感知神经网络,输入为流量样本特征为(x
i
,y
i
)的数据集和条件噪声δ,每层输出维度为256
×
512
×
1024
×
64,最终输出为模拟合法网络流量的样本集x
*
={x
i*
},其激活函数选用leakyrelu非线性函数;识别器的神经网络模型结构是具有3层的前馈感知网络,输入为生成器网络的输出x
i*
,每层输出维度为128
×
256
×
2,最终输出为y

i
,y

i
,范围为[0,1],y

i
表示该输入被判断为非法样本的置信度,y

i
表示该输入被判断为合法样本的置信度,其输出层采用tanh激活函数;
[0013]
步骤3:选择入侵检测系统b
[0014]
选择一个现有的入侵检测系统,对于所选入侵检测系统要求:一是输入网络流量并获得检测结果,判断输入是否是合法网络流量;二是收集误报样本集,所述误报样本集为合法网络流量被识别为非法网络流量的数据集;
[0015]
步骤4:计算误报样本集与合法网络流量样本的差值margin
[0016][0017]
其中,x为合法网络流量样本集,|x|合法网络样本总个数,x
i
为合法网络样本,i是合法网络样本的个数;f为误报样本集,|f|是误报样本集中样本总个数,x
jf
是误报样本集中的样本,j是误报样本的个数;
[0018]
步骤5:定义损失
[0019]
结合入侵检测系统b的输出和识别器d的输出,获得识别器网络的损失函数:
[0020][0021]
其中是样本x被入侵检测系统b识别为合法样本的概率,是样本x被入侵检测系统b识别为非法样本的概率,d(x)是识别器d的输出结果;
[0022]
步骤6:动态优化识别器网络:
[0023]
根据步骤5获得的损失优化识别器,最大化识别器目标函数,更新识别器网络参数θ
d

[0024][0025][0026]
其中是样本x被入侵检测系统b识别为合法样本的概率,是样本x被入侵检测系统b识别为非法样本的概率,d(x)是识别器d的输出结果,ρ为学习率;
[0027]
步骤7:动态优化生成器网络
[0028]
生成器网络接受两个反馈优化网络参数,识别器的输出结果和入侵检测系统的误报样本集,最小化生成器目标函数,更新生成器参数θ
g

[0029][0030][0031]
其中,d(x
i*
)为识别器的输出结果;margin是误报样本集与合法网络流量样本集的l2范数距离;f为误报样本集,|f|是误报样本集中样本总个数,x
jf
是误报样本集中的样本,j是误报样本的个数;x
i*
为生成器生成的样本,i是生成器的生成样本的个数,k为生成器样本
生成的样本总个数,ρ为学习率;
[0032]
优化过程引入了l2范数距离,生成器生成的样本不会因为接近入侵检测系统的误报样本而被识别为非法样本;
[0033]
步骤8:当识别器输出结果ε为阈值,则认为训练结束;将所述生成网络流量用于入侵检测系统的验证与优化。
[0034]
本发明的有益效果在于:
[0035]
1)本发明涉及的生成式对抗网络,通过生成模块和识别模块的互相博弈学习产生十分接近真实数据的输出样本;避免了由于神经网络模型的自由性输出与真实数据相差巨大的样本。
[0036]
2)本发明假设了一个相对真实的威胁模型,攻击者被认为在了解或者收集了系统运行的正常数据的同时可以通过输入数据查询入侵检测系统的相关标签,但无法访问入侵检测系统的其他信息。
[0037]
3)由于利用了入侵检测系统的真实检测数据,可以在动态中更好的改进识别器网络,使反馈的数据更真实,最终使得生成器网络生成的样本更接近真实数据。
[0038]
4)使用了l2范数距离,使得生成器的生成样本流量与入侵检测系统的误报样本集保持距离,防止生成器生成的样本因为接近入侵检测系统的误报样本而被识别为非法样本。
[0039]
5)由于本发明生成的对抗性入侵流量在经过恶意修改后仍然是正常流量或接近正常流量。这种攻击有利于攻击者的长期隐藏或者进行长期攻击。
[0040]
6)使用本发明提前测试入侵检测模型,可以更真实的了解入侵检测模型的性能;系统提前使用本发明进行测试可以尽早进入防范和防御状态,减少出错的可能。
附图说明
[0041]
图1是本发明流程图;
[0042]
图2是本发明框架图。
具体实施方式
[0043]
以下结合附图对本发明进行详细说明。应当理解的是,此处描述的具体实施方式仅用于说明和解释本发明,并不用于限制本发明。
[0044]
首先收集合法网络流量样本;对所有网络流量样本进行数据预处理,处理成为样本特征为(x
i
,y
i
)的数据集,其中x
i
为网络流量样本,y
i
为所属样本的分类,是合法网络流量样本y
i
等于1,不是则为0;
[0045]
然后构建网络。生成器g和识别器d都使用深度神经网络模型;生成器的神经网络模型结构是具有5层的前馈感知神经网络,输入为流量样本特征为(x
i
,y
i
)的数据集和条件噪声δ,每层输出维度为256
×
512
×
1024
×
64,最终输出为模拟合法网络流量的样本集x
*
={x
i*
},其激活函数选用leakyrelu非线性函数;识别器的神经网络模型结构是具有3层的前馈感知网络,输入为生成器网络的输出x
i*
,每层输出维度为128
×
256
×
2,最终输出为y

i
,y

i
,范围为[0,1],y

i
表示该输入被判断为非法样本的置信度,y

i
表示该输入被判断为合
法样本的置信度,其输出层采用tanh激活函数;针对本发明设计的生成式对抗网络的生成器网络和识别器网络的参数细节在表1显示:
[0046]
表1生成器与识别器网络参数细节
[0047][0048][0049]
接着选择一个现有的入侵检测系统b,对于所选入侵检测系统要求:一是输入网络流量并获得检测结果,判断输入是否是合法网络流量;二是收集误报样本集,所述误报样本集为合法网络流量被识别为非法网络流量的数据集;并计算误报样本集与合法网络流量样本的差值margin
[0050][0051]
其中,x为合法网络流量样本集,|x|合法网络样本总个数,x
i
为合法网络样本,i合法网络样本个数;f为误报样本集,|f|是误报样本集中样本总个数,x
jf
是误报样本集中的样本,j是误报样本集中样本个数;
[0052]
此时该方法形成的框架图如图2所示,生成器g根据输入生成样本送给入侵检测系统b与识别器d,识别器d反馈结果给生成器,形成一个生成式对抗网络。另外入侵检测系统b
的输出给识别器d用于优化识别器d的网络模型。入侵检测系统的误报样本集反馈给生成器g防止生成器生成的样本因为接近误报样本集被识别为非法样本。
[0053]
下一步是优化生成器网络和识别器网络:
[0054]
首先,优化识别器网络:
[0055]
计算损失函数用于识别器网络的优化,结合入侵检测系统b的输出和识别器d的输出,获得识别器网络的损失函数:
[0056][0057]
其中是样本x被入侵检测系统b识别为合法样本的概率,是样本x被入侵检测系统b识别为非法样本的概率,d(x)是识别器d的输出结果;
[0058]
根据损失优化识别器,最大化识别器目标函数,更新识别器网络参数θ
d

[0059][0060][0061]
其中是样本x被入侵检测系统b识别为合法样本的概率,是样本x被入侵检测系统b识别为非法样本的概率,d(x)是识别器d的输出结果,ρ为学习率;
[0062]
然后,动态优化生成器网络,生成器网络接受两个反馈优化网络参数,识别器的输出结果和入侵检测系统的误报样本集,最小化生成器目标函数,更新生成器参数θ
g

[0063][0064][0065]
其中,d(x
i*
)为识别器的输出结果;margin是误报样本集与合法网络流量样本集的l2范数距离;f为误报样本集,|f|是误报样本集中样本总个数,x
jf
是误报样本集中的样本,j是误报样本的个数;x
i*
为生成器生成的样本,i是生成器的生成样本个数,k为生成器样本生成的样本总个数,ρ为学习率;
[0066]
优化过程引入了l2范数距离,生成器生成的样本不会因为接近入侵检测系统的误报样本而被识别为非法样本;
[0067]
最后,当识别器输出结果ε为阈值,则认为训练结束;将所述生成网络流量用于入侵检测系统的验证与优化。
[0068]
实施例
[0069]
为了验证本方法,选择了几种机器学习与深度学习方法svm、rf、knn、mlp、cnn、lstm和一个入侵检测方法tlp

ids作为入侵检测系统进行实验与比较。对于检测结果,只关心对于样本流量的分类结果,即是合法还是非法。因此使用攻击成功率和入侵检测系统检测率对攻击方法进行评估。攻击成功率被广泛用于评估针对深度神经网络的对抗攻击的有效性,并通过成功的对抗样本数量与总攻击尝试之间的比率来衡量。分类的检测率即准确率,表示对于一定的测试数据集,入侵检测系统能够正确分类的样本占全部样本总数比例,反映了入侵检测系统的当前分类性能。
[0070]
正常无对抗情况下不同入侵检测系统的检测率和使用本方法生成的入侵流量即
对抗性检测在不同入侵检测系统下的检测率如表2所示:
[0071]
表2检测率
[0072][0073]
使用本方法生成的入侵流量在不同入侵检测系统下的攻击成功率如表3所示:
[0074]
表3攻击成功率
[0075] tlp

idssvmrfknnmlpcnnlstm攻击成功率52.6%79.3%65.3%69.7%53.3%52.4%50.2%
[0076]
从以上实验及其结果中可见,本方法对攻击生成的入侵流量样本在测试中均获得了可观的对抗性检测率和攻击成功率(高逃逸率),反映出本方法在生成对抗性入侵流量样本上的巨大能力。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1