本发明涉及信息可视化与可视分析,具体为一种面向网络入侵检测深度学习模型的可视化方法。
背景技术:
1、互联网的迅速发展在给用户带来便利的同时也伴随着严峻的网络安全挑战。不法分子利用各种手段进行漏洞扫描、拒绝服务、僵尸网络等攻击,以达到破坏系统、盗取信息等目的,获取非法利益,不仅对个人和企业造成了巨大的经济损失,还对整个社会的信息安全构成了严重威胁。网络入侵检测技术是一种网络安全防护技术,通过分析网络流量特征来识别异常的网络流量模式,及时发现并阻止潜在的入侵行为,是网络安全领域重要的研究方向。
2、随着网络技术的发展、攻击手段的更新迭代,基于深度学习模型的网络入侵检测技术因其出色的特征提取能力和在处理大规模数据时有更高的准确率,成为当前研究的热点。然而,由于深度学习模型的黑盒性,研究人员无法准确了解模型从数据中提取的信息和学到的模式,也无法根据专业知识验证模型的决策,这限制了深度学习模型在网络入侵检测领域中的应用。因此,网络安全领域的研究人员需要一种方法来探索模型的检测结果、分析其工作机制,以揭示模型的优势和劣势,提高研究人员对模型结果的信任。
3、目前已有相关研究通过可视化的方法来对机器学习模型进行可视分析,辅助用户分析模型的结果和理解模型的原理。这些研究通过可视化编码呈现模型内部的决策机制,通过交互设计帮助用户从整体到局部地对模型进行多层次探索,解决网络安全领域的研究人员在分析基于深度学习技术的网络入侵检测模型中的困难。然而,这些方法无法对模型结果进行多层次分析的同时识别相似样本。此外,网络安全分析师通常需要对感兴趣的数据子集或数据实例的特征进行分析,从特征取值和特征模式的角度分析样本的检测偏差。但现有研究主要关注特征重要性对模型性能的影响,缺乏对不同数据子集的特征取值和特征模式进行对比。
技术实现思路
1、针对上述问题,本发明的目的在于提供一种面向网络入侵检测深度学习模型的可视化方法,能够为用户提供多种数据可视化方法以及交互联动分析手段,帮助网络安全领域的研究人员从模型性能概览、关键样本分析、模型机制理解三个方面,探索模型的检测结果、深入分析其工作机制,以揭示入侵检测深度学习模型的优势和局限性,为模型进一步的优化获取重要的见解。技术方案如下:
2、一种面向网络入侵检测深度学习模型的可视化方法,包括以下步骤:
3、s1:数据获取与处理
4、获取现有的网络安全数据集作为实验数据,同时进行数据预处理工作并基于现有的开源代码和超参数训练dbn(deep belief network深度信念网络)模型,其次保存训练的结果数据用以绘制可视化视图;
5、s2:可视化映射
6、通过视觉通道将经步骤s1获得的数据进行可视化映射:
7、设计结果探索视图:使用导航栏展示模型的总体评估指标,通过混淆矩阵显示模型在每个类别上的正确预测数量和错误预测数量,并支持用户对感兴趣的一类样本展开交互式探索分析;
8、设计数据聚合视图:使用散点图的形式呈现与模型结果探索视图单元格关联的数据样本的降维结果,辅助用户发现相似样本和特殊样本;
9、设计互信息视图:互信息视图包括上方的并列热力图以及下面的折线图;所述并列热力图展示dbn模型的逐层推理过程,显示dbn模型从第一层到最后一层神经网络对特征的学习情况;所述折线图表示每个特征在dbn模型的不同层神经网络上的学习演变情况;
10、设计交互概念视图:交互概念视图包括上方的弧线关联图以及下面的热力矩阵图;所述弧线关联图编码特征的独立效用和特征之间的交互效用,帮助用户理解模型学到的重要攻击模式;所述热力矩阵图显示各个特征具体的效用数值;
11、s3:可视化布局与实现
12、对s2中完成映射的视觉模块进行可视化布局并实现:
13、在结果探索视图中,模型的总体评估指标数据显示在顶部的导航栏;混淆矩阵的行表示实际类别,列表示预测类别,矩阵单元格内的数值和颜色表示模型在每个类别上的预测数量,混淆矩阵旁边放置一个颜色图例指示样本数量与颜色的对应关系;
14、在数据聚合视图中,将用户在结果探索视图选择的单元格中的样本通过t-sne降维算法投影到散点图中,用散点颜色编码不同预测情况的样本点,不同样本之间的相对位置关系反映它们在原始高维空间中的相似性和差异性;
15、在互信息视图中,并列热力图每一列从上至下分别编码dbn模型的不同层神经网络对不同特征的学习情况,从左至右不同列分别编码n个不同的特征,在每列特征的正下方,使用折线表示该特征经过dbn模型的每一层时,模型对其信息的保留情况;
16、在交互概念视图中,表示特征效用情况的带中心标记的环形饼图均匀分布在视图最顶端,并在其下方绘制表示特征交互关系的贝塞尔曲线;下方的热力矩阵图对交互效用数值从小到大进行排序,按顺序依次平铺在弧线关联图下方;s4:交互设计
17、在结果探索视图中,用户通过混淆矩阵查看模型在不同类别上的表现进行评估,并通过鼠标单击选中混淆矩阵的特定单元格,实现联动更新数据聚合视图的内容,以共同进行数据分析;数据聚合视图允许用户通过套索选中感兴趣的数据点,进一步查看选择样本数据相应的互信息视图和交互概念视图内容。
18、进一步的,在步骤s1中,数据获取与处理具体为:
19、s11:采用现有的cicids2017数据集作为实验数据,对数据集进行以下处理:数据集合并、数据清洗、数据集划分和数据转换;
20、s12:删除数据集中标准差小于设定误差值的特征,以及删除两个特征之间皮尔逊相关系数大于设定相关值的其中一个特征;
21、s13:对攻击类型进行重组,将具有相似特征和行为的攻击类合并成新的攻击类,提高少数类样本在整个数据集中的比例;
22、s14:进行可视分析研究,并重新训练dbn模型,并以训练的结果为准进行后续分析。
23、更进一步的,在步骤s2中,可视化映射具体包括:
24、s21:结果探索视图中,将宏平均f1micro、微平均f1macro、加权平均f1weight数值显示在顶部的导航栏;结果探索视图的混淆矩阵的行表示实际类别,从上至下依次表示各标签类型;列表示预测类别,从左至右用相同顺序表示各标签类型;混淆矩阵旁边放置一个颜色图例指示样本数量与颜色的对应关系;
25、s22:数据聚合视图通过散点图的形式呈现与混淆矩阵单元格关联的数据样本的降维结果,散点图采用t-sne方式进行降维,视图中样本点的颜色编码样本点的不同预测情况;
26、s23:互信息视图从上至下分别编码dbn模型的不同层神经网络对不同特征的学习情况,从左至右分别编码不同的特征,视图使用线性渐变色映射dbn模型学习过程中不同层神经网络对特征信息的遗忘程度;在每列特征的正下方,使用折线表示该特征经过dbn模型的每一层时,模型对其信息的保留情况;
27、s24:交互概念视图包括一个带中心标记的环形饼图,每个环形饼图代表一个特征,外层编码特征之间交互效用值中正值与负值的比例,内层是一个圆形标记,标记对应特征是否在模型预测中具有独立效用;通过贝塞尔曲线连接具有交互效用的特征环形饼图,贝塞尔曲线的粗细表示交互效用的数值大小;视图下方的矩阵热力图编码显示特征具体的效用数值;
28、更进一步的,在步骤s3中,可视化布局实现中数据聚合可视化布局与实现具体如下:
29、s311:数据采样
30、s311a:确定采样上限:对样本数量的降维结果进行分析,确定能够保持数据的代表性的样本数量作为采样上限;
31、s311b:确定采样下限:以混淆矩阵各单元格的数量计算数据的最小值、上四分位数、中位数、下四分位数和最大值,获得数据样本数量的分布情况,根据计算结果确定采样下限;
32、s312:样本点投影实现
33、s312a:计算高维空间中样本数据的相似度
34、样本xi和xj之间的相似度pj|i的计算公式如下:
35、
36、式中,σi是根据样本xi的局部密度自适应的高斯核宽度;xk为高维空间中除样本xi外的其他样本;
37、同理计算出样本xj和xi之间的相似度pi|j;
38、s312b:采用平均的方式定义高维空间中样本xi和xj间的对称相似度pij,计算方法如下:
39、
40、其中,n0是样本总数;
41、s312c:计算低维空间中样本间的相似度
42、在低维空间中,使用t分布来定义样本yi和yj间的相似度qij,具体的计算公式如下:
43、
44、其中,yk和yl为低维空间中不相等的任意两个样本;
45、s312d:最小化高维空间和低维空间之间的kl散度
46、定义kl散度作为目标函数c,通过优化低维空间中的坐标来最小化个目标函数c,从而得到最终的降维结果;目标函数c计算公式如下:
47、
48、更进一步的,在步骤s3中,可视化布局实现中互信息可视化布局与实现具体如下:
49、s321:准备输入数据,包括待解释的数据样本x、待解释dbn模型第n层的前向传播函数φn以及训练数据集d;
50、s322:计算正则化项:使用数据集d、待解释dbn模型第n层的前向传播函数φn来计算正则化项,即计算模型隐藏状态的标准方差;
51、s323:以正则化项、第n层的前向传播函数φn、待解释的数据样本x作为参数,初始化一个interpreter类,即初始化一个解释模型第n层的解释器;
52、s324:优化解释器,并获取解释器关于数据样本x的每个特征对模型第n层的隐藏状态的贡献程度;
53、s325:重复步骤21至步骤24,直到获取数据样本x的每个特征对模型各个层次的解释结果。
54、更进一步的,在步骤s3中,可视化布局实现中交互概念可视化布局与实现具体如下:
55、s331:交互概念学习:
56、s331a:准备输入数据,包括待解释的数据样本x,待解释的模型f,训练数据集d;
57、s331b:初始化基线值:将基线值ri初始化为所有样本中变量i的平均值,然后将ri约束在一个相对较小的范围内,即||ri-riinit||≤τ;其中τ为所有样本中变量i的标准差与边界阈值的乘积;
58、s331c:定义掩码函数:将被掩码的特征替换为基线中的对应值,而未被掩码的特征保持数据样本中的原始值;
59、s331d:计算交互效用:将深度学习模型的推理分数分解为所有潜在相互作用效应的总和,如下式所示:
60、
61、其中,n表示待解释的数据样本中所有的特征,s表示特征的所有非空子集,i(s)表示s中特征的交互效用,i(s)的计算公式如下:
62、
63、其中,t是s的所有子集;xt是一个掩码样本,表示样本x在集合t以外的输入单元被遮挡,而在集合t中的输入单元保持不变,f(xt)则表示神经网络在该遮挡样本xt上的输出;
64、s331e:学习最佳基线值来进一步提高交互模式的稀疏性,从而增强解释的简洁性;
65、s331f:保存结果用于视图绘制;
66、s332:弧线关联图字形实现
67、交互概念可视化视图字形包括带中心标记的环形饼图和贝塞尔曲线图两个部分;其中每个环形饼图代表一个特征,内层的圆形标记根据颜色编码特征是否在模型预测中具有独立效用,外层环根据特征的交互效用值中的正负比例进行计算,每个特征的正负效用值的圆环弧角度计算公式如下:
68、θk=2π*p (7)
69、θp=2π*(1-p) (8)
70、其中,θk为每个特征的正效用值的圆环弧角度,θp为每个特征的负效用值的圆环弧角度,p表示特征交互概念计算结果中正效用值的比例;
71、贝塞尔曲线用来表示两个特征之间的交互效用;根据两个特征对应的环形饼图的中心坐标,计算得到贝塞尔曲线起点和终点,控制点的坐标根据环形饼图的距离和视图的高度进行调整,以控制贝塞尔曲线的高度;
72、首先计算两个特征之间的距离,也即两个圆环饼图的之间的距离,具体计算公式如下:
73、
74、其中,(sourcex,sourcey),(targetx,targety)是两个特征圆环饼图的坐标位置,接着计算贝塞尔曲线的高度,具体计算公式如下:
75、linksheight=min(distance/2+height/1.4) (10)
76、其中,height是整个基于交互概念视图的高度;
77、使用三次贝塞尔曲线顺次连接两个特征圆环饼图节点;绘制三次贝塞尔曲线需要用到的四个点分别是:起始点startpoint,坐标位置为(sourcex,sourcey),终止点endpoint,坐标位置为(targetx,targety)以及控制点controlpoint1和controlpoint2,其中:
78、controlpoint1=(sourcex,maxy+linksheight) (11)
79、controlpoint2=(targetx,maxy+linksheight) (12)
80、其中,maxy是sourcey和targety中的较大值;
81、曲线宽度根据交互效用的绝对值进行编码,曲线宽度计算公式如下:
82、stroke_width =max(min(|link_interaction|), 10), 1) (13)
83、其中,link_interaction为特征的交互效用值;
84、s333:绘制热力矩阵图
85、将获取的交互效用值进行排序,然后依次绘制需要的矩形,根据交互效用值的大小使用对应的颜色编码方案进行填充,对于负值到0之间的交互效用数值,创建颜色1到白色之间的线性渐变色进行映射;对于0到正值之间的交互效用数值,创建白色到颜色2之间的线性渐变色进行映射;最后,将对应的交互效用数值显示在对应的矩形上。
86、本发明的有益效果是:
87、1)针对现有方法难以同时分析模型结果和识别相似样本的问题,本发明方法允许用户从模型的总体检测结果、各个攻击类别的检测结果、数据实例的检测结果三个层次进行自由探索,并在分析具体的数据实例时,编码数据实例之间的相似性。
88、2)针对现有方法难以解释模型单个样本特征的学习演变以及对模型结果具有重要影响的特征组合的问题,本发明方法允许用户分析模型的不同层对单个样本特征的学习演变情况,以及发现对模型结果具有重要影响的特征组合。
1.一种面向网络入侵检测深度学习模型的可视化方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的面向网络入侵检测深度学习模型的可视化方法,其特征在于,在步骤s1中,数据获取与处理具体为:
3.根据权利要求1所述的面向网络入侵检测深度学习模型的可视化方法,其特征在于,在步骤s2中,可视化映射具体包括:
4.根据权利要求1所述的面向网络入侵检测深度学习模型的可视化方法,其特征在于,在步骤s3中,可视化布局实现中数据聚合可视化布局与实现具体如下:
5.根据权利要求1所述的面向网络入侵检测深度学习模型的可视化方法,其特征在于,在步骤s3中,可视化布局实现中互信息可视化布局与实现具体如下:
6.根据权利要求1所述的面向网络入侵检测深度学习模型的可视化方法,其特征在于,在步骤s3中,可视化布局实现中交互概念可视化布局与实现具体如下: