1.本发明涉及计算机网络安全领域,尤其涉及一种基于降噪自编码核密度估计的网络安全态势评估方法。
背景技术:2.网络空间的快速发展为人们提供了便利和利益,但也使人们面临着网络安全的挑战。虽然设计网络架构时已经部署了防火墙和入侵检测系统等安全措施,以检测和防止网络中的攻击,但往往会产生大量的警报以及误报。网络分析师很难高效理解这些网络警报,因此,需要开发有效的网络安全态势评估方法来分析定量评估网络系统的安全态势,充分了解网络系统的威胁性,提供对网络安全状况的直观理解,辅助网络管理人员做出决策。
3.网络态势感知是信息安全领域中化被动防御为主动感知的关键研究技术,这一概念由战场态势感知拓展而来。根据base提出的态势感知模型,对于态势评估的研究必不可少。目前应用于网络安全态势评估的研究理论较多的有模糊理论、证据理论、马尔可夫模型和贝叶斯网络等,这些模型处理的态势要素主要是安全工具产生的告警日志,在中小规模网络的实际应用中表现出良好的效果,但是仍然存在一些局限,如证据理论中的基本概率分配需要专家经验支撑,导致评估效果时好时坏;马尔可夫和贝叶斯基于概率论和知识推理需要较多的先验知识导致评估代价庞大,态势评估效率难以提高。这些局限在大规模网络环境中体现的越来越明显,而神经网络因其非线性方式映射解决复杂问题的优点,被广泛应用于各个领域,因此在态势感知领域得到重点关注。
4.谢丽霞等
[1-2]
初次提出将bp神经网络用于网络安全态势评估,后又在此基础上使用布谷鸟优化算法对bp神经网络的权值进行优化,得到改进的态势评估模型。实验结果表明,改进后的方法收敛速度较快,评估效果优于传统bp神经网络;han
[3]
针对传统神经网络维数呈指数增长,导致计算量增大不适用大规模复杂网络,提出一种基于卷积神经网络的无线互联的智能机器人群体网络安全状况定量评估方法,准确率达到95%;文献
[4]
基于标签态势数据难以获取的现实情况,避免bp神经网络训练依赖标签,提出基于深度自编码网络的态势评估方法,以半监督学习方式训练态势数据,建立态势评估模型。实验表明该方法的均方根误差明显小于bp神经网络,但评估过程有专家参与,且对于态势评估效果缺少分析;杨宏宇团队
[5-6]
以网络流为主要态势要素,两次将自编码器变体应用于网络态势感知领域,首先提出将变分自编码器与生成对抗网络结合建立威胁测试模型,对网络安全威胁态势进行评估,但是威胁测试模型较为复杂,对硬件要求较高;随后提出的深度自编码器模型对网络异常类型进行二分类和五分类,所提模型具有较高的分类精度,但是所用数据集年代过于久远,不适用于现下复杂的网络坏境。
[0005]
传统的流量分析揭示所有网络事件都会在流量上有所反映,正常网络流量和异常网络流量具有明显的表现差异,因此通过流量分析可以评估网络状态
[7]
,入侵检测的相关研究表明异常事件很少发生,所以现实网络中正常样本和异常样本分布非常不均衡,基于监督式学习模型首先需要为网络流打标签,这不仅耗费时间,还降低模型效率。
[0006]
为避免监督式模型的弊端,本发明提出降噪自编码核密度估计的无监督网络安全态势评估方法。自编码器对高维网络态势数据进行降维并提取潜藏特征,但由于自编码器的输出可能只是对输入的简单复制,导致监督式模型失去效力,当下网络态势数据具有高维性、非线性特点,导致传统网络安全态势评估方法的准确性不高的问题。
技术实现要素:[0007]
针对当下网络态势数据具有高维性、非线性特点,导致传统网络安全态势评估方法的准确性不高的问题,本发明公开了
[0008]
一种基于降噪自编码核密度估计的网络安全态势评估方法,包括以下步骤:
[0009]
获取网络流数据作为态势数据;
[0010]
对所述态势数据进行预处理;对预处理后的态势数据按照比例划分出训练集数据和测试集数据;
[0011]
基于训练集数据构建降噪自编码网络及核密码估计模型;
[0012]
将测试集数据依次输入到降噪自编码网络及核密码估计模型中,得到网络流数据的威胁发生概率;
[0013]
基于网络流数据的威胁发生概率,对网络态势进行安全评估,确定网络安全态势的级别。
[0014]
进一步地,所述对所述态势数据进行预处理包括以下步骤:去除态势数据中重复特征列以及字段中拥有无穷大与空值的样本,之后归一化处理。
[0015]
进一步地,基于训练集数据构建降噪自编码网络及核密码估计模型的过程如下:将训练集数据依次输入到降噪自编码网络中对降噪自编码网络进行训练,得到网络流数据的隐层特征;将网络流数据的隐层特征输入到核密度模型中,对核密度进行训练,构建降噪自编码网络及核密码估计模型,具体过程如下:
[0016]
步骤1:设定最大训练次数;
[0017]
步骤2:初始化降噪自编码网络的参数;
[0018]
步骤3:将训练集数据输入到降噪自编码网络中,对输入数据依次进行以下计算:
[0019][0020][0021]
y=g(w'h+b')
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(3)
[0022]
x、h、y分别表示输入层数据、隐藏层数据、输出数据;qd表示[0,1]之间的随机分布,a为噪声因子;f和g分别表示编解码过程中的非线性激励函数;w和w'是权重参数、b和b'是偏置;
[0023]
步骤4:利用重构误差计算公式计算重构误差;
[0024]
步骤5:最小化重构误差;调整权重和偏置参数;
[0025]
步骤6:判断训练计数值k是否大于设定的最大训练次数,如果大于,降噪自编网络的训练完成,否则k=k+1,将调整权重和偏置参数,返回步骤3;
[0026]
步骤7:将训练数据再次输入到训练好的降噪自编码网络中并获取隐藏层特征数据;
[0027]
步骤8:选取高斯函数作为核密度估计模型的核函数并设定其窗宽的值;
[0028]
步骤9:将隐藏层特征数据作为输入通过核密度估计公式构建核密度估计模型,得到训练数据的概率密度分布。
[0029]
进一步地,所述将测试集数据依次输入到降噪自编码网络及核密码估计模型中,得到网络流数据的威胁发生概率的过程如下:
[0030]
步骤1:将测试数据输入到训练好的降噪自编码网络中,并获取测试数据的隐藏层特征
[0031]
步骤2:将测试数据的隐藏层特征输入到已构建的核密度估计模型计算密度值
[0032]
步骤3:通过得出测试数据的异常值异常值越小说明存在异常;
[0033]
步骤4:将异常值取反并归一化到[0,1]之间,将取反并归一化后的作为威胁发生概率。
[0034]
进一步地,所述基于网络流数据的威胁发生概率,对网络态势进行安全评估,确定网络安全态势的级别的过程如下:
[0035]
基于网络流数据的威胁发生概率,基于通用漏洞评分系统对网络设备的机密性c、完整性i和可用性a进行得分评定,量化威胁影响值;
[0036]
基于网络流数据的威胁发生概率和威胁影响值,量化网络安全态势值;
[0037]
归一化网络安全态势值,对归一化网络安全态势值划分为:优、良、中、差、危5个级别。
[0038]
进一步地,所述威胁影响值的计算公式如下:
[0039][0040]
其中:ei:威胁影响值,i表示网络流序号;c:机密性、i:完整性,a:可用性。
[0041]
一种基于降噪自编码核密度估计的网络安全态势评估系统,包括:
[0042]
获取模块:用于获取网络流数据作为态势数据;
[0043]
预处理模块:用于对所述态势数据进行预处理;对预处理后的态势数据按照比例划分为训练集数据、验证集数据和测试集数据;
[0044]
训练模块:用于基于训练集数据构建降噪自编码网络及核密码估计模型;
[0045]
估计模块:用于将测试集数据依次输入到降噪自编码网络及核密码估计模型中,得到网络流数据的威胁发生概率;
[0046]
确定模块:用于基于网络流数据的威胁发生概率,对网络态势进行安全评估,确定网络安全态势的级别。
[0047]
由于采用了上述技术方案,本发明提供的一种基于降噪自编码核密度估计的网络安全态势评估方法,克服传统的基于监督式特征学习的网络安全态势量化评估方法需依靠数据标签进行建模的局限性,利用降噪自编码网络处理冗余信息和非线性特征学习的能力对网络态势数据进行降维并提取态势潜藏特征,同时结合无参数估计的优势提出核密度估计对潜藏特征进行密度概率估计得到威胁发生概率;本技术以网络流量作为网络态势评估
的基础态势;本技术提出使用降噪自编码器,抑制传统自编码器的“复制”倾向,降噪自编码器结合核密度估计形成降噪自编码核密度估计的无监督网络安全态势评估方法,改进后的降噪自编码核密度估计模型能够提高对网络的异常态势的敏感度;本技术根据威胁发生概率量化安全态势值,定量评估网络安全态势。采用真实网络流量数据库,对存在攻击行为的网络坏境进行态势分析评估,分析表明:提出模型的准确率和召回率分别提高了3.51%、5.99%,提高了评估的准确性。
附图说明
[0048]
为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0049]
图1为本发明的流程图;
[0050]
图2(a)为本发明降噪自编码核密度估计模型过程图;(b)为本发明降噪自编码核密度估计模型训练测试图;
[0051]
图3为本发明的降噪自编码网络结构图;
[0052]
图4为本发明测试集上ocdae-kde模型的roc-auc图;
[0053]
图5为本发明周五测试集的网络安全态势值结果图。
具体实施方式
[0054]
为使本发明的技术方案和优点更加清楚,下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚完整的描述:
[0055]
图1为本发明的流程图;一种基于降噪自编码核密度估计的网络安全态势评估方法,包括以下步骤:
[0056]
态势获取阶段:获取网络流数据作为态势数据;对所述态势数据进行预处理;对预处理后的态势数据按照比例划分为训练集数据、验证集数据和测试集数据;降噪自编码网络及核密码估计模型态势获取阶段选取cicids-2017数据集作为研究对象;
[0057]
态势理解阶段:基于训练集数据构建降噪自编码网络及核密码估计模型;
[0058]
态势评估阶段:将测试集数据依次输入到降噪自编码网络及核密码估计模型中,得到网络流数据的威胁发生概率;降噪自编码网络主要对网络流态势数据处理冗余信息和非线性特征学习进行降维并隐层表示挖掘潜藏特征,去除冗余信息,然后结合无参数估计的优势利用核密度模型在隐藏特征上进行密度概率估计,从而得出威胁发生概率;
[0059]
基于网络流数据的威胁发生概率,对网络态势进行安全评估,确定网络安全态势的级别。
[0060]
进一步地,所述对所述态势数据进行预处理包括以下步骤:从pandas库删除去除态势数据中重复特征列和字段拥有infinity无穷大与nan空值的样本,之后再进行归一化处理。
[0061]
进一步地:基于训练集数据构建降噪自编码网络及核密码估计模型的过程如下:图2(a)为本发明降噪自编码核密度估计模型过程图;(b)为本发明降噪自编码核密度估计
模型训练测试图;图3为本发明的降噪自编码网络结构图;
[0062]
基于训练集数据构建降噪自编码网络及核密码估计模型的过程如下:将训练集数据依次输入到降噪自编码网络中对降噪自编码网络进行训练,对到网络流数据的隐层特征;将网络流数据的隐层特征输入到核密度模型中,对核密度进行训练,构建降噪自编码网络及核密码估计模型,具体过程如下:
[0063]
步骤1:设定最大训练次数;
[0064]
步骤2:初始化降噪自编码网络的参数;
[0065]
步骤3:将训练数据输入到降噪自编码网络中,对输入数据依次进行以下计算:
[0066][0067][0068]
y=g(w'h+b')
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(3)
[0069]
其中:x、h、y分别表示输入层数据、隐藏层数据、输出数据;qd表示[0,1]之间的随机分布,a为噪声因子;f和g分别表示编解码过程中的非线性激励函数;w和w'是权重参数、b和b'是偏置;
[0070]
步骤4:利用重构误差计算公式得到重构误差;
[0071]jdae
(θ)=∑l(x,y)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(4)
[0072]
其中:j
dae
(θ)表示整体误差,l表示每个样本的重构误差;
[0073]
步骤5:使用adagrad优化器最小化重构误差;
[0074]
步骤6:判断训练计数值k是否大于设定的最大训练次数,如果大于,降噪自编网络的训练完成,否则k=k+1,将调整权重和偏置参数,返回步骤3;
[0075]
步骤7:选取高斯函数作为核密度估计模型的核函数并设定其窗宽z的值;所述高斯函数的公式如下:
[0076][0077]
其中:kz(x)表示高斯函数;x表示随机变量;
[0078]
步骤8:将隐藏层特征数据作为输入通过核密度估计公式构建核密度估计模型,得到训练数据的概率密度分布
[0079]
所述核密度估计公式如下:
[0080][0081]
其中:h为隐藏层数据,i为输入样本序号,n为输入样本总数;
[0082]
在测试阶段,测试数据通过构造好的降噪自编码核密度估计模型得到威胁发生概率,具体步骤有:
[0083]
步骤1:将测试数据输入到训练好的降噪自编码网络中,并获取测试数据的隐藏层特征
[0084]
步骤2:将测试数据的隐藏层特征输入到已构建的核密度估计模型计算密度值
[0085]
步骤3:通过计算测试数据的隐藏层的异常值得出测试数据的异常值,异常值越小说明越可能异常,反之越符合正常样本的分布;
[0086]
所述隐藏层的异常值计算公式如下:
[0087][0088]
测试数据的隐藏层的异常值;
[0089]
步骤4:将取反并归一化到[0,1]之间,将取反并归一化后的测试数据的隐藏层的异常值作为威胁发生概率
[0090]
进一步地,所述基于网络流数据的威胁发生概率,对网络态势进行安全评估,确定网络安全态势的级别的过程如下:
[0091]
基于网络流数据的威胁发生概率,基于通用漏洞评分系统对网络设备的机密性c、完整性i和可用性a进行得分评定,量化威胁影响值;
[0092]
所述威胁影响值的计算公式如下:
[0093][0094]
其中:ei:威胁影响值,i表示网络流序号;c:机密性、i:完整性,a:可用性。
[0095]
得分如表1所示:
[0096]
表1 cia评定表
[0097][0098]
基于网络流数据的威胁发生概率和威胁影响值,量化网络安全态势值;
[0099]
网络安全态势值综合考虑威胁发生概率pi和威胁影响值ei,设第i个网络流的网络安全态势值si为:
[0100]
si=p
iei
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(9)
[0101]
归一化网络安全态势值,参考《国家突发公共事件总体应急预案》和国家互联网应急中心的态势划分标准对网络安全态势进行分类。将归一化的网络安全态势值划分为5个区间:[0.00,0.20]、(0.20,0.40]、(0.40,0.60]、(0.60,0.80]、(0.80,1.00],网络安全态势状况分别对应为优、良、中、差、危5个级别。
[0102]
一种基于降噪自编码核密度估计的网络安全态势评估系统,包括:
[0103]
获取模块:用于获取网络流数据作为态势数据;
[0104]
预处理模块:用于对所述态势数据进行预处理;对预处理后的态势数据按照比例划分为训练集数据、验证集数据和测试集数据;
[0105]
训练模块:用于基于训练集数据构建降噪自编码网络及核密码估计模型;
[0106]
估计模块:用于将测试集数据依次输入到降噪自编码网络及核密码估计模型中,得到网络流数据的威胁发生概率;
[0107]
确定模块:用于基于网络流数据的威胁发生概率,对网络态势进行安全评估,确定
网络安全态势的级别。
[0108]
实验所使用的电脑环境为intel(r)core(tm)i7-4790 cpu@3.60ghz,8.00gb ram,仿真语言为python3.6 tensorflow1.10,编译坏境为pycharm community edition 2020.2.2x64。使用的网络流量数据来自cicids-2017数据集。该数据集周二到周五的异常数据占正常数据比例分别3.2%,4.9%,0.49%,69.7%,样本分布非常不平衡,本文选取15%的周一数据作为训练集,周二到周五的数据为测试集,其中周二到周四按照其比例的10倍选取,周五按照原比例选取,最终实验集数据量如表2所示。
[0109]
表2实验数据集
[0110][0111]
为测试提出的基于降噪自编码核密度估计的网络安全态势评估方法的真实有效性,经过大量实验,选定降噪自编码网络的参数为:降噪自编码网络的输入神经元和输出神经元均为78个,隐含层神经元根据确定为9个,其中m为输入神经元个数,误差函数为均方误差函数,优化器为adagrad,编码器及解码器的激励函数均为sigmoid函数,学习率为0.01,迭代次数为100,batch为300,噪声因子为0.4。核密度估计模型的核函数为高斯函数,其参数窗宽根据
[0112]
实施例1:降噪自编码网络及核密码估计模型有效性验证
[0113]
利用测试集对降噪自编码网络及核密码估计模型进行有效性验证,选择roc曲线和auc值指标评估模型的效果。roc曲线是由不同阈值设置下不同的点连接而成,理想模型的roc曲线应该尽可能靠近左上端。auc值表示roc曲线下面积的大小,值越大意味着模型的表现越好。图4为本发明测试集上ocdae-kde模型的roc-auc图;图中虚线表示auc=0.5,说明处于该值的模型分类效果只是随机猜测,是评判模型是否有效的分界;处于0《auc《0.5的模型说明效果极差,预测效果还不如随机猜测,在现实生活中毫无意义;0.5《auc《1范围内的模型具有有效性,并且随着auc值的增大模型性能表现越好,而当auc=1时,该模型是一个完美的分类模型。从图中可以看出,本文所提模型在四天的测试中的auc值均在0.9以上,表明降噪自编码核密度估计模型不仅具有有效性,而且性能表现出色。
[0114]
实施例2:降噪自编码网络及核密码估计模型分类性能验证
[0115]
将降噪自编码核密度估计模型和自编码模型(ocae)、降噪自编码模型(ocdae)、自编码核密度估计模型(ocae-kde)进行比较,使用准确率(accuracy)、精准率(precision)、
召回率(recall)和f1值评价指标。。其中tp为真阳性,表示真实样本为正类,模型分类结果也是正类;fp为假阳性,表示真实样本是负类,模型分类结果却为正类;tn为真阴性,表示真实样本为负类,模型分类结果也是负类;fn为假阴性,表示真实样本为正类,模型分类结果却是负类。详细公式如式(3-6)所示。
[0116][0117][0118][0119][0120]
计算这四个指标之前需要确定四种模型各自的异常得分阈值。ocdae、ocae选择训练集的平均重构误差加上其标准偏差的三倍作为异常阈值而ocdae-kde、ocae-kde则先将训练集上的异常得分按照升序排序,然后选取百分位之0.5%的位置之处的值作为异常阈值。评价指标结果对比如表3所示,从表中可以看到在四天中,本方法在四种模型中的准确率和f1值都是最高的,相对于ocae分别提高了3.51%、5.99%。
[0121]
表3四种模型的评价指标结果对比
[0122][0123][0124]
实施例3:态势评估结果分析
[0125]
分别用ocdae-kde和ocae、ocdae、ocae-kde对周二到周五的攻击时间段网络流计算网络安全态势值并可视化进行定量评估,其中周五的300组测试的网络安全态势值如图5
所示。从图5中可以看出,尖峰时刻表示出现异常态势,网络遭受威胁,ocae模型基础态势值较低,趋势相对平缓,在攻击时刻态势值变化幅度较小,而ocdae模型由于对输入数据的“损坏”操作抑制了复制倾向从而评估效果稍好。ocdae-kde、ocae-kde模型结合核密度模型对隐层精简特征进行概率估计,对网络威胁的表征能力更强,但是在四种模型中本发明所提方法的基础态势值均高于另外三种模型表示所提方法对网络异常态势具有强敏感性。
[0126]
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。
[0127]
[1]xie lixia,wang yachao,yu jinbo.network security situation awareness based on neural network[j].journal of tsinghua university(science and technology),2013,53(12):1750-1760.
[0128]
谢丽霞,王亚超,于巾博.基于神经网络的网络安全态势感知[j].清华大学学报:自然科学版,2013,53(12):1750-1760.
[0129]
[2]xie lixia,wang zhihua.network security situation assessment method based on cuckoo search optimized back propagation neural network[j].journal of computer applications,2017,37(7):1926-1930.
[0130]
谢丽霞,王志华.基于布谷鸟搜索优化bp神经网络的网络安全态势评估方法[j].计算机应用,2017,37(7):1926-1930.
[0131]
[3]hanweihong,tian zhihong,huang zizhong,et al.quantitativeassessment of wireless connected intelligent robot swarms network security situation[j].ieee access,2019,7(99):134293-134300.
[0132]
[4]zhang yuchen,zhang renchuan,liu jing,wang yongwei.network security situation evaluaton using deep auto-encoders network[j].computer engineering andapplications,2020,56(06):92-98.
[0133]
张玉臣,张任川,刘璟,汪永伟.应用深度自编码网络的网络安全态势评估[j].计算机工程与应用,2020,56(06):92-98.
[0134]
[5]yang hongyu,zeng renyan,wang fengyan,et al.an unsupervised learning-based network threat situation assessment model for internet of things[j].security and communicationnetworks,2020,2020(9):1-11.
[0135]
[6]yang hongyu,zeng renyun.a deep learning network security situation assessmentmethod[j].journal ofxidianuniversity,2021,48(01):183-190.
[0136]
[7]lakkaraju k,yurcik w,lee a j.nvisionip:netflow visualizations of system state for security situational awareness[c]//workshop on visualization&datamining for computer security.2004.