本发明属于网络信息安全技术领域,涉及入侵检测技术及深度学习模型量化解释技术,特别涉及一种基于卷积神经网络的入侵检测及基于语义决策树的量化解释方法及系统。
背景技术:
伴随着信息社会的高速发展,计算机网络技术在人们的生活中快速普及,逐渐成为人们生活的必需品。在这种发展态势下,网络安全问题日益凸显,黑客的恶意攻击、病毒的肆意传播扩散以及网络违法事件的频繁出现,导致这些安全问题逐渐被越来越多的人所重视。近些年来,工业控制系统逐渐趋于开放化和标准化,与外部网络的连接更为紧密,其攻击也愈发频繁。这些针对工业控制系统的攻击会对真实的物理设备与基础设施造成巨大的危害,从而带来难以估量的财产损失,甚至会对人员安全,社会稳定以及国家利益产生严重威胁。
面对日益加剧的网络安全问题,针对入侵检测技术的研究愈发变得重要。传统的入侵检测技术根据数据来源的不同,可以分为主机检测与网络检测两种,根据检测方式的不同,可以分为误用检测和异常检测两种类型。这些传统的入侵检测技术通过人为对流量行为、安全日志、网络数据等进行特征提取,并且利用统计分析、模式匹配、机器学习以及数据挖掘等方式构建入侵检测模型。传统的入侵检测技术通常需要人为地从网络流量中提取特征,并对这些特征进行分析或学习,然后利用得到的知识对流量中存在的异常攻击行为进行检测。然而,人为提取特征的过程工作量庞大,特征中包含的主观因素会对模型的训练产生影响,还会不可避免地产生信息损失,影响模型的检测性能和精度。
随着数值运算设备的不断升级,深度学习逐渐成为了人工智能领域的研究热点,越来越多的研究者也将目光转向了基于深度学习的入侵检测。基于深度学习的入侵检测技术,其检测精度虽然比相对传统的技术有了显著提高,但问题在于深度学习模型的黑盒特性,使得其复杂的特征表达使得人类难以理解模型的决策过程,这一问题在入侵检测领域现得更为突出。一旦人类无法理解深度学习模型的决策方式,就无法对模型检测到的攻击行为进行分析与处理,倘若系统中某些严重的安全隐患未被及时处置,则会带来难以估量的损失。然而,现有技术很少尝试对基于深度学习的入侵检测模型进行量化解释,同时也缺少对模型可解释性以及模型解释结果有效性的评价标准,从而导致基于深度学习的入侵检测技术陷入精度与可信度的失衡窘境,最终制约入侵检测技术的发展。因此,在入侵检测技术的创新与发展中,如何帮助人类快速理解模型的决策过程,使得网络管理者能够信任模型所做出的判断,并对模型检测到的异常行为进行及时地处理,是目前该领域的研究热点。
技术实现要素:
本发明所要解决的技术问题是提供一种基于卷积神经网络(cnn)的入侵检测及语义决策树量化解释方法及系统,用于解决现有的入侵检测技术,因人为提取特征所导致的信息损失与检测精度低的问题,以及现有的基于深度学习的入侵检测技术,因其黑盒特性所导致的检测结果难以被人们理解和信任的问题。
本发明解决上述技术问题的技术方案如下:基于卷积神经网络的入侵检测及语义决策树量化解释方法,包括:
步骤1,将流量数据转换成流量灰度图像作为输入,对增加了可解释性的卷积神经网络进行训练,并用检测集对训练后的模型进行检测。
步骤2,利用类激活图(classactivationmap,cam)构建攻击细节图像并输入步骤1中训练后的卷积神经网络模型提取聚类特征进行聚类,计算步骤1中检测到的异常样本与各类攻击聚类中心的距离,利用该距离建立决策树。
步骤3,计算语义匹配率为步骤2中建立的代理决策树赋予语义意义,并利用该匹配率对语义决策树的解释效果进行量化评价。
进一步,所述步骤1中将流量数据转换成流量灰度图像作为输入,对增加了可解释性的卷积神经网络进行训练,并用检测集对训练后的模型进行检测的过程具体包括:
步骤11,将流量转换成流量灰度图像;
步骤12,流量灰度图像进行密集标记;
步骤13,判断是否已经具有入侵检测模型;
步骤14,如果此时没有入侵检测模型,则对传统卷积神经网络进行增加可解释性的改进;
步骤15,利用训练集对步骤14中改进后的卷积神经网络进行训练;
步骤16,如果此时已有入侵检测模型,利用入侵检测模型对待检测流量进行实时检测。
进一步,所述步骤2中利用类激活图构建攻击细节图像并输入步骤1中训练后的卷积神经网络模型提取聚类特征进行聚类,计算步骤1中检测到的异常样本与各类攻击聚类中心的距离,利用该距离建立决策树具体包括:
步骤21,利用cam获得攻击细节图像;
步骤22,利用攻击细节图像获取攻击细节特征;
步骤23,判断是否已经具有聚类模型;
步骤24,如果没有聚类模型,利用攻击细节特征训练攻击细节聚类模型;
步骤25,计算检测到的异常样本的细节特征与聚类中间之间的距离;
步骤26,利用攻击细节距离向量与模型预测标签建立决策树。
进一步,所述步骤3中计算语义匹配率为步骤2中建立的代理决策树赋予语义意义,并利用该匹配率对语义决策树的解释效果进行量化评价具体包括:
步骤31,分别对于工控网络流量与普通网络流量计算语义匹配率;
步骤32,利用语义匹配率为代理决策树赋予语义意义;
步骤33,利用语义匹配率对决策树的决策模式进行定量评价。
基于上述方法,本发明的技术方案还包括了一种基于卷积神经网络的入侵检测及语义决策树量化解释系统,包括:
基于可解释卷积神经网络的入侵检测模块,其用于以流量数据转换成的流量灰度图像作为输入,对增加了可解释性的卷积神经网络进行训练,获得训练后的入侵检测模型,并用检测集对训练后的模型进行检测。
基于代理决策树的解释模块,其用于以类激活图构建的攻击细节图像作为输入,提取各类攻击的聚类特征进行聚类,并且计算模型检测到的异常样本与各类攻击聚类中心之间的距离,利用该距离与模型预测标签建立决策树。
基于语义匹配率的量化评价模块,其用于计算语义匹配率为建代理决策树赋予语义意义,并利用该匹配率对语义决策树的解释效果进行量化评价。
进一步,所述基于可解释卷积神经网络的入侵检测模块包括:
密集标记的流量灰度图像生成模块,其用于将流量数据转换为流量灰度图像并逐像素嵌入密集的语义标注。
卷积神经网络训练与检测模块,其用于对传统的卷积神经网络进行增加可解释性的改进,并对改进后的模型进行训练,检测。
进一步,所述基于代理决策树的解释模块包括:
攻击细节聚类模型生成模块,其用于利用cam获得的攻击细节图像,提取各类攻击的细节特征训练聚类模型。
决策树生成模块,其用于计算检测到的异常样本的细节特征与聚类中心之间的距离,并利用该距离建立代理决策树。
进一步,所述基于语义匹配率的量化评价模块包括:
代理决策树语义化模块,其用于计算语义匹配率并为代理决策树各个分支中的决策模式赋予语义意义。
语义决策树量化评价模块,其用于结合语义匹配率对语义决策树的解释效果进行量化评价。
本发明的有益效果是:
一、本发明利用完整的数据流量训练卷积神经网络,能够有效降低传统方法由于人工提取特征所带来的复杂度与开销,避免了信息损失与模型精度的特征依赖性,增加了鲁棒性,实践证明模型具备很高的检测准确率和召回率。
二、本发明利用cam对卷积神经网络进行了增加可解释性的改进,并且通过隐藏层分析与代理模型相结合的方式,建立代理决策树对模型的决策过程进行分析,实践证明代理决策树对模型决策过程的解释效果较为理想。
三、本发明设计语义匹配率指标为决策树赋予真实具体的语义意义,帮助人们更好地理解决策树各个分支的决策模式,进而理解卷积神经网络在对异常流量进行检测时所做出的决策。除此之外,语义匹配率指标还能够对决策树进行量化评价,增加网络管理者对模型所做出判断的信任程度。
附图说明
图1为本发明所述基于卷积神经网络的入侵检测及语义决策树量化解释方法的流程示意图;
图2为本发明实施例一中训练增加可解释性改进后的卷积神经网络构建入侵检测模型的流程示意图;
图3为本发明实施例一中建立代理决策树对模型的决策进行解释的流程示意图;
图4为本发明实施例一中以及利用语义匹配率将决策树语义化并进行量化评价的流程示意图;
图5为本发明实施例二中不同模型在不同数据集下的检测性能实验结果图;
图6为本发明实施例二中cam细节图像的实验结果图;
图7为本发明实施例二中不同改进后模型可解释性能的实验结果图;
图8为本发明实施例二中所建立的工控网络决策树的实验结果图;
图9为本发明实施例二中所建立的普通网络决策树的实验结果图。
具体实施方式
以下结合附图对本发明的原理和特征进行描述,所举实例只是用于解释本发明,而并非用于限定本发明的范围。
实施例一
如图1所示,实施例一是一种基于卷积神经网络的入侵检测及语义决策树量化解释方法,该方法由三个步骤构成:训练增加可解释性改进后的卷积神经网络构建入侵检测模型,建立代理决策树对模型的决策进行解释,以及利用语义匹配率将决策树语义化并进行量化评价。具体内容描述如下:
步骤1,将流量数据转换成流量灰度图像作为输入,对增加了可解释性的卷积神经网络进行训练,并用检测集对训练后的模型进行检测。
步骤2,利用类激活图构建攻击细节图像并输入步骤1中训练后的卷积神经网络模型提取聚类特征进行聚类,计算步骤1中检测到的异常样本与各类攻击聚类中心的距离,利用该距离建立决策树。
步骤3,计算语义匹配率为步骤2中建立的代理决策树赋予语义意义,并利用该匹配率对语义决策树的解释效果进行量化评价。
如图2所示,上述步骤1中将流量数据转换成流量灰度图像作为输入,对增加了可解释性的卷积神经网络进行训练,并用检测集对训练后的模型进行检测的具体内容如下所述:
步骤11,将流量转换成流量灰度图像:在该过程中,传统的网络流量数据将被转换为流量灰度图像以满足卷积神经网络的输入需求。转换规则是将流量数据的十六进制数转换为十进制,并将其直接作为灰度图像中的像素,根据不同类型流量数据各自的特点,将某个时间段或某个流内的数据按像素顺序进行排列,最终构成流量灰度图像。
步骤12,流量灰度图像进行密集标记:为了获得能够被人类理解的卷积神经网络模型解释结果,在该过程中为步骤11中获得流量灰度图像中的每一位像素都嵌入了一个真实语义标注,这些密集标注的内容来源于数据在流量中的真实语义。例如:端口号,ip地址等。由于这些标注精确到流量灰度图像中的每一位像素,因此将其称之为密集标记。
步骤13,判断是否已经具有入侵检测模型,如果没有则需要对改进后的卷积神经网络模型进行训练,如果有则直接利用训练好的模型对待测的检测集流量样本进行检测。
步骤14,对传统卷积神经网络进行增加可解释性的改进:本发明利用自行设计的权重层代替传统卷积神经网络中的全连接层,同时根据不同模型各自的结构特点,移除部分卷积结构,将剩余卷积部分通过全局池化层与权重层相连。
具体操作如下:给定一张密集标记的流量灰度图像f,fk(x,y)被用于描述该图像在维度k中位于(x,y)的激活程度,其中x和y表示像素在图中的横,纵坐标值。对于攻击类别c,类别重合度sc被计算用来描述流量灰度图像符合类别c的程度。其中
sc的计算方式:
pc的计算方式:
步骤15,利用步骤11和步骤12中得到的流量灰度图像构建训练数据集,然后对步骤14中得到的改进后的卷积神经网络进行训练,构建基于可解释卷积神经网络的异常流量入侵检测模型。
步骤16,同样利用步骤11和步骤12中的方法将待测流量处理成流量灰度图像,然后对已经训练好的入侵检测模型进行检测。本发明设计的入侵检测模型能够对实时检测到的异常攻击行为进行报警,同时将相关信息进行记录,并导入解释系统中进行后续的操作。
如图3所示,上述步骤2中利用类激活图构建攻击细节图像并输入步骤1中训练后的卷积神经网络模型提取聚类特征进行聚类,计算检测到的异常样本与各类攻击聚类中心的距离,利用该距离建立决策树的具体内容如下所述:
步骤21,利用cam获得攻击细节图像:cam能够反映出图像被分类为某一类时,对该分类过程贡献最大的目标部分。在此过程中,首先需要将攻击样本输入到训练好的模型中来获取该样本在高卷积层中的特征图像,再将这些特征图像按其各自的权重(权重值存储在改进后模型的权重层中)进行加权求和,这样便能够得到该攻击样本所对应的类激活图,具体计算方式如下面公式所示,公式中camcf表示原图像f被分类为c时的类激活图。最后设置阈值过滤cam中激活度较低的像素位置,并将激活度高的像素位置用原始图像中的对应位置像素代替,从而得到攻击样本的攻击细节图像。
类激活图的计算方式:
步骤22,利用攻击细节图像获取攻击细节特征:将步骤21中得到的攻击细节图像输入到训练好的模型中。在这个过程中,攻击c的攻击细节图像s(c)所对应的模型中最高卷积层中第k维度的激活图像fk(c)将被获取,然后对fk(c)进行全局池化,并将得到的结果作为该细节在第k维度的激活程度mk(c)。最后,权重层的权重矩阵w将被提取,用来对最高卷积层的过滤器进行降序排列,选取贡献度最高的前n个过滤器,n表示过滤器数量,提取激活程度mk(c),并将其排列构成一维向量,最终攻击c的攻击细节特征a(c)如下公式所示。
攻击c的攻击细节特征:a(c)={m1(c),m2(c),...,mn(c)}
步骤23,是否有聚类模型:判断当前是否已有攻击细节聚类模型,如果没有则先对步骤22中得到的各个攻击的攻击细节特征进行聚类,否则直接利用聚类模型,结合先前模型检测到的异常攻击行为,计算这些样本与不同攻击细节聚类中心之间的距离。
步骤24,利用攻击细节特征训练攻击细节聚类模型:根据步骤22中得到的各个攻击的攻击细节特征,利用k-means聚类算法获得聚类模型,不同的流量数据根据其各自的特点设置聚类中心的个数。
步骤25,计算检测到的异常样本的细节特征与聚类中间之间的距离:在利用步骤24得到各个攻击样本的聚类模型后,需要计算检测到的异常攻击所对应的细节特征与各个攻击类型聚类中心的欧式距离,并将这些距离顺序排列形成攻击细节距离向量。
步骤26,利用攻击细节距离向量与模型预测标签建立决策树:本发明利用sk-learn库中的相关函数建立决策树,建树输入数据为步骤25得到的攻击细节距离向量以及样本被模型预测的分类标签。本发明选择gini纯度指数作为特征划分的标准,纯度指数一般被用来衡量一个样本集合中所有样本的混乱程度,它能够帮助模型对样本数据进行快速划分,从而形成决策树的各个分支。
在建树的过程中,检测到的攻击样本集合d中的样本t属于每个攻击类别的概率为pt,依次计算各概率分布所对应的gini指数gini(pt),计算方式如下:
各概率分布的gini指数:
其中n为集合d中的样本总数,假设此时攻击集d根据特征a被分割成两个子集合,分别为d1与d2,那么在明确此特征a的前提下,样本集d的gini指数可以定义为:
样本集d的gini指数:
其中gini(d,a)表示样本集d根据特征a进行分组后数据集的不确定性,如果决策树中某个分支节点的决策模式的gini指数较大,那么说明样本集的纯度较低,不确定就较大,需要继续划分。利用步骤25中得到的各个异常攻击行为样本的攻击细节距离向量,结合模型对该样本的预测标签,通过上述方式建立决策树,得到的代理决策树便能够在一定程度上反映出模型的决策过程。
如图4所示,上述步骤3中计算语义匹配率为步骤2中建立的代理决策树赋予语义意义,并利用该匹配率对语义决策树的解释效果进行量化评价的具体内容如下所述:
步骤31,计算语义匹配率:本发明分别为不同类型的流量语义决策树设计了不同的语义匹配率计算方式。
对于工控网络流量,由于工控网络流量灰度图像均被密集标记,因此很容易在类激活图中找到真实攻击细节的具体位置,并进行记录。因此,本发明将攻击细节所占据的单个像素位置的激活程度定义为:以该攻击细节所在像素中心o,边长为d的正矩形区域内各个像素位置激活程度m(x,y)的最大值,其中边长d可以根据cam的具体情况而设定。而这个攻击细节的激活程度ma将被定义为其所占据的全部单个像素位置激活程度的平均值,其中a为该攻击细节所占据的全部单个像素位置的总区域。然后遍历整个cam寻找激活程度最高的像素位置,计算该攻击细节的激活程度ma与此cam最高激活度mmax的相对比例,其中max为类激活图中激活度最高的像素位置,将此相对比例作为本发明中用来衡量工控决策树各个分支决策模式中所包含的cam细节与真实攻击细节一致性的评价标准。该指标的具体计算公式如下所示,u为该攻击细节所占据的像素中心位置的数量,tics为工控网络决策树的语义匹配率。
工控网络决策树语义匹配率为:
其中:
对于普通网络流量,本发明将普通网络攻击细节聚类模型中的聚类中心语义与各个子攻击进行对应,即将这些大类攻击下的子攻击当作该类的攻击细节,通过决策树最后的分支情况来衡量cam细节与真实攻击细节是否一致。首先,需要利用带有大攻击类别标签的数据训练各个攻击的攻击细节聚类模型,并根据将聚类中心的个数设置为该类别下子攻击的数量。其次,利用带有子攻击标签的数据建立决策树,通过观察决策树的分支结构,判断各个大类下的子攻击流量是否能够被该攻击类别中相应的攻击细节聚类中心成功分离。最后,通过计算各个大类中被成功分离的子攻击所占该类子攻击总数的比例,作为在普通网络流量数据中,衡量cam细节与真实攻击细节的一致性的评价标准。普通网络决策树语义匹配率的计算方式如下,其中ctrue为大攻击类别中被子攻击细节成功划分的样本总数,cfalse为大攻击类别中未被子攻击细节成功划分的样本,call为该大类攻击中的全部样本,tcn为普通网络决策树的语义匹配率。
普通网络决策树语义匹配率:
步骤32,利用语义匹配率为代理决策树赋予语义意义:为了帮助网络管理者更好地利用决策树来理解模型所做出的决策,需要为决策树各个分支的决策模式赋予语义意义。通过步骤31中的方式计算决策树各个分支决策模式所对应的cam细节与真实攻击细节之间的匹配程度,为匹配度高的决策模式赋予真实攻击细节的语义,使得该决策节点包含对应的攻击信息,方便管理者查看。
步骤33,利用语义匹配率对决策树的决策模式进行定量评价:为了让网络管理者能够信任模型所做出的决策,除了在语义决策树中给出被模型认定为是异常样本的细节信息之外,需要将cam细节与真实攻击细节之间的语义匹配率作为定量评价标准,网络管理者能够根据此标准来判断是否信任模型在入侵检测环节所做出的决策,从而能够及时对异常攻击行为做出合理的处置。
基于上述基于卷积神经网络的入侵检测及语义决策树量化解释方法,本例还给出一种对应的基于卷积神经网络的入侵检测及语义决策树量化解释系统,该系统的具体描述如下,包括:
基于可解释卷积神经网络入侵检测模块,其用于以流量数据转换成的流量灰度图像作为输入,对增加了可解释性的卷积神经网络进行训练,获得训练后的入侵检测模型,并用检测集对训练后的模型进行检测。
基于代理决策树的解释模块,其用于以类激活图构建的攻击细节图像作为输入,提取各类攻击的聚类特征进行聚类,并且计算模型检测到的异常样本与各类攻击聚类中心之间的距离,利用该距离与模型预测标签建立决策树。
基于语义匹配率的量化评价模块,其用于计算语义匹配率为建代理决策树赋予语义意义,并利用该匹配率对语义决策树的解释效果进行量化评价。
所描述基于可解释卷积神经网络入侵检测模块包括:密集标记的流量灰度图像生成模块,其用于将流量数据转换为流量灰度图像并逐像素嵌入密集的语义标注;卷积神经网络训练与检测模块,其用于对传统的卷积神经网络进行增加可解释性的改进,并对改进后的模型进行训练,检测。
所描述基于代理决策树的解释模块包括:攻击细节聚类模型生成模块,其用于利用cam获得的攻击细节图像,提取各类攻击的细节特征训练聚类模型;决策树生成模块,其用于计算检测到的异常样本的细节特征与聚类中心的距离,并利用该距离建立代理决策树。
所描述基于语义匹配率的量化评价模块包括:代理决策树语义化模块,其用于计算语义匹配率并为代理决策树各个分支中的决策模式赋予语义意义;语义决策树量化评价模块,其用于结合语义匹配率对语义决策树的解释效果进行量化评价。
实施例二
实施例二是对四种传统的卷积神经网络alex-net,vgg-net,googlenet以及resnet进行增加可解释性的改进,并利用工控网络流量和普通网络流量数据分别进行实验验证,对比改进前后模型的检测效果以及可解释性效果,最后综合检测效果与可解释效果选择最优的模型,建立工控网络决策树和普通网络决策树对其进行解释与量化评价。
为了评价入侵检测模型的检测效果与可解释效果,首先需要定义以下四种样本集合:
1)tp:数据集中阳性样本且被模型归类为阳性的样本集合。
2)fp:数据集中阴性样本但被模型归类为阳性的样本集合。
3)tn:数据集中阴性样本且被模型归类为阴性的样本集合。
4)fn:数据集中阳性样品但被模型归类为阴性的样本集合。
基于上述四种样本集合,本发明采用入侵检测领域中通常使用四种评价指标来对本发明中的入侵检测模型进行检测性能评价,并利用本发明所设计的语义匹配率指标对模型的可解释性能进行评价。
模型检测性能评价指标,其中包括:准确率(accuracy),精确率(precision),召回率(recall)和f1-measure。由于准确率与召回率分别描述系统性能的两个方面,单一使用准确率和召回率作为评价指标具有局限性,因此,本发明选用f1-measure指标将这两个指标进行综合考虑,从而选择最优方案。
模型可解释性效果评价指标,其中包括工控网络决策树语义匹配率(tics)和普通网络决策树语义匹配率(tcn)。
这些指标的具体定义如下所示,首先是模型检测性能评价指标:
其次是模型可解释性能评价指标:
图5展示了四种原始模型与四种改进后增加了可解释性模型的训练结果与检测结果。分析表中结果可知,重塑后模型的检测精度要优于重塑前的模型,即传统的卷积神经网络模型在去掉多层全连接层或是去掉部分卷积结构之后,模型在异常流量检测领域的分类性能会有所提升。因此,深度越深的卷积神经网络并不适合处理流量灰度图像,相反,在同等复杂程度的前提下,相对浅层的网络在入侵检测过程中更加具有优势。
对于模型的可解释性效果,图6展示了两种改进后模型利用cam图所还原出的cam攻击细节图像,表7展示了改进后的四种模型的语义匹配率。通过对比4种重塑后模型的cam细节图像及其与真实攻击细节之间的语义匹配率,能够发现resnet18-gap在两种阈值下的语义匹配率均高于其余三种重塑后的模型。结合模型结构特点,不难发现重塑后的resnet18-gap模型,其用于解释特征提取的特征图像分辨率最高,因此模型的可解释性效果最好。
综合分析4种重塑后模型的检测效果以及可解释性效果,最终本发明选则对表现均最为出色的resnet18-gap模型建立代理决策树,通过语义匹配率赋予其语义意义,并对语义决策树进行定量评价,同时给出基于两种网络流量所建立的语义决策树的常规分析流程。
图8展示了工控语义决策树部分分支结构。首先,决策树中被划分的此类攻击包含两种不同的攻击细节,即向地址为0x0320的寄存器种写入指令0x242a或0x2428,重塑后的resnet18-gap模型能够完整检测到0:00-10:00时间段内共16次该攻击。
其次,对模型的决策过程建立决策树并结合cam语义匹配率赋予攻击细节语义意义,通过对决策树进行分析,能够观察到决策树通过连续的两次划分,利用两种不同的攻击细节,将上述时间段内出现的全部该攻击完全分离。在首次划分的过程中,5次在管道反应器正常运行时关闭管道反应器的攻击通过“向地址为0x0320的寄存器种写入指令0x242a”这个攻击细节被成功划分;在第二次划分过程中,剩下的11次该攻击通过“向地址为0x0320的寄存器中写入操作指令0x2428”的另一个攻击细节成功划分。通过对工控决策树进行分析,网络管理者能够了解攻击者的攻击方式,并且能够通过筛查寄存器现存指令或是监测写寄存器数据包等方式,对这两种攻击手段进行处置与防御。
最后,语义决策树中给出了各个分支决策模式的与真实攻击细节的语义匹配程度,网络管理者通过语义匹配率量化评价标准,在获知攻击者攻击策略等细节信息的同时,能够判断是否信任模型所做出的决策,从而帮助他们及时对模型发现的异常攻击行为进行合理处置。
图9展示了普通网络语义决策树的部分分支结构,包括r2l大类攻击被5类子攻击划分的情况。通过图中决策树各个分支的划分情况可以发现,r2l攻击能够有效地被对应的5种不同子攻击的cam细节所分离,图中的红色框体部分所示。但是仍然有少部分r2l攻击难以被其对应的子攻击细节进行分离,如图中蓝色框体部分所示。
对比工控网络决策树与普通网络决策树,能够发现,工控网络所建立的语义决策树相对整齐,而普通网络所建立的决策树相对混乱且容易出现误分。出现上述结果的原因在于:工控网络流量较普通网络流量更加整齐,虽然resnet-gap模型对二者的检测精度都很高,但代理决策树毕竟只能近似模拟卷积神经网络所做出的决策,并不能够取而代之。换句话说,对于darpa1999普通网络数据集中r2l大类下的很多攻击样本,虽然模型能够轻而易举地检测到,但是代理决策树无法正确划分,影响最终的语义匹配结果。然而,造成这种现象的原因很可能是因为模型学习到的一些知识,通过单纯的cam细节难以完整表达,因此导致极少部分样本,即使能够被模型成功检测,人类却难以理解卷积神经网络是如何进行判断的,而这一点仍然需要从更深层次对这些知识进行挖掘。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
1.一种基于卷积神经网络的入侵检测及语义决策树量化解释方法,其特征在于,包括:
步骤1,将流量数据转换成流量灰度图像作为输入,对增加了可解释性的卷积神经网络进行训练,并用检测集对训练后的模型进行检测;
步骤2,利用类激活图构建攻击细节图像并输入步骤1中训练后的卷积神经网络模型提取聚类特征进行聚类,计算步骤1中检测到的异常样本与各类攻击聚类中心的距离,利用该距离建立决策树;
步骤3,计算语义匹配率为步骤2中建立的代理决策树赋予语义意义,并利用该匹配率对语义决策树的解释效果进行量化评价。
2.根据权利要求1所述的一种基于卷积神经网络的入侵检测及语义决策树量化解释方法,其特征在于,所述步骤1中将流量数据转换成流量灰度图像作为输入具体包括:
步骤11,将流量转换成流量灰度图像:转换规则是将流量数据的十六进制数转换为十进制,并将其直接作为灰度图像中的像素,根据不同类型流量数据各自的特点,将某个时间段或某个流内的数据按像素顺序进行排列,最终构成流量灰度图像;
步骤12,流量灰度图像进行密集标记:具体操作是为步骤11中获得流量灰度图像中的每一位像素都嵌入一个真实语义标注,这些密集标注的内容来源于数据在流量中的真实语义。
3.根据权利要求1所述的一种基于卷积神经网络的入侵检测及语义决策树量化解释方法,其特征在于,所述步骤1中对增加了可解释性的卷积神经网络进行训练,并用检测集对训练后的模型进行检测具体包括:
步骤13,判断是否已经具有入侵检测模型,如果没有则需要对改进后的卷积神经网络模型进行训练,如果有则直接利用训练好的模型对待测的检测集流量样本进行检测;
步骤14,对传统卷积神经网络进行增加可解释性的改进:利用自行设计的权重层代替传统卷积神经网络中的全连接层,根据不同模型各自的结构特点,移除部分卷积结构,将剩余卷积部分通过全局池化层与权重层相连;
步骤15,利用步骤11和步骤12中得到的流量灰度图像构建训练数据集,然后对步骤14中得到的改进后的卷积神经网络进行训练,构建基于可解释卷积神经网络的异常流量入侵检测模型;
步骤16,同样利用步骤11和步骤12中的方法将待测流量处理成流量灰度图像,然后对已经训练好的入侵检测模型进行检测。
4.根据权利要求3所述的一种基于卷积神经网络的入侵检测及语义决策树量化解释方法,其特征在于,步骤14所述的对传统卷积神经网络进行增加可解释性的改进的具体操作方法是:给定一张密集标记的流量灰度图像f,fk(x,y)被用于描述该图像在维度k中位于(x,y)的激活程度,x和y分别为像素在图像中的横,纵坐标值;对于攻击类别c,类别重合度sc被计算用来描述流量灰度图像符合类别c的程度;在这之中wc代表权重矩阵中类别c维度k的权重,描述了将该k
图像归类为c时,维度k的重要程度;这张密集标记的流量灰度图像被归类为c的概率为pc。
5.根据权利要求1所述的一种基于卷积神经网络的入侵检测及语义决策树量化解释方法,其特征在于,所述步骤2中利用类激活图构建攻击细节图像并输入训练后的卷积神经网络模型提取聚类特征进行聚类具体包括:
步骤21,利用类激活图(cam)获得攻击细节图像,具体操作为:首先需要将攻击样本输入到训练好的模型中来获取该样本在高卷积层中的特征图像,再将这些特征图像按其各自的权重进行加权求和,这样便能够得到该攻击样本所对应的类激活图,具体计算方式如下面公式所示;最后设置阈值过滤cam中激活度较低的像素位置,并将激活度高的像素位置用原始图像中的对应位置像素代替,从而得到攻击样本的攻击细节图像;
步骤22,利用攻击细节图像获取攻击细节特征,具体操作为:将步骤21中得到的攻击细节图像输入到训练好的模型中,攻击c的攻击细节图像s(c)所对应的模型中最高卷积层中第k维度的激活图像fk(c)将被获取,然后对fk(c)进行全局池化,并将得到的结果作为该细节在第k维度的激活程度mk(c);最后,权重层的权重矩阵w将被提取,用来对最高卷积层的过滤器进行降序排列,选取贡献度最高的前n个过滤器,n表示过滤器数量,提取激活程度mk(c),并将其排列构成一维向量;
步骤23,判断当前是否已有攻击细节聚类模型,没有则先对步骤22中得到的各个攻击的攻击细节特征进行聚类,否则直接利用聚类模型,结合先前模型检测到的异常攻击行为,计算这些样本与不同攻击细节聚类中心之间的距离;
步骤24,利用攻击细节特征训练聚类模型,具体操作为:根据步骤22中得到的各个攻击的攻击细节特征,利用k-means聚类算法训练聚类模型,不同的流量数据根据其各自的特点设置聚类中心的个数。
6.根据权利要求1所述的一种基于卷积神经网络的入侵检测及语义决策树量化解释方法,其特征在于,所述步骤2中计算检测到的异常样本与各类攻击聚类中心的距离并利用该距离建立决策树具体包括:
步骤25,计算检测到的异常样本的细节特征与聚类中间之间的距离,具体操作为:计算检测到的异常攻击所对应的细节特征,与各个攻击类型聚类中心的欧式距离,并将这些距离顺序排列形成攻击细节距离向量;
步骤26,利用攻击细节距离向量与模型预测标签建立决策树,sk-learn库中的相关函数被用于建立决策树,建树输入数据为步骤25得到的攻击细节距离向量以及样本被模型预测的分类标签;gini纯度指数被用来作为特征划分的标准,纯度指数用来衡量一个样本集合中所有样本的混乱程度。
7.根据权利要求5所述的方法,其特征在于,步骤26所述的利用gini纯度指数划分决策树分支的具体操作方法是:在建树的过程中,检测到的攻击样本集合d中的样本t属于每个攻击类别的概率为p(t),依次计算各概率分布所对应的gini指数;
假设此时攻击集d根据特征a被分割成两个子集合,分别为d1与d2,那么在明确此特征a的前提下,样本集d的gini指数定义为:
样本集d的gini指数:
其中gini(d,a)表示样本集d根据特征a进行分组后数据集的不确定性,如果决策树中某个分支节点的决策模式的gini指数较大,那么说明样本集的纯度较低,不确定就较大,需要继续划分,直到决策树建立完成。
8.根据权利要求1所述的一种基于卷积神经网络的入侵检测及语义决策树量化解释方法,其特征在于,所述步骤3中计算语义匹配率为代理决策树赋予语义意义,并利用该匹配率对语义决策树的解释效果进行量化评价具体包括:
步骤31,分别对工控网络决策树以及普通网络决策树计算语义匹配率;
步骤32,利用语义匹配率为代理决策树赋予语义意义,通过步骤31中的方式计算决策树各个分支决策模式所对应的cam细节与真实攻击细节之间的匹配程度,为匹配度高的决策模式赋予真实攻击细节的语义,使得该决策节点包含对应的攻击信息;
步骤33,利用语义匹配率对决策树的决策模式进行定量评价,具体操作方式为:将cam细节与真实攻击细节之间的语义匹配率作为定量评价标准,网络管理者能够根据此标准来判断是否信任模型在入侵检测环节所做出的决策,从而能够及时对异常攻击行为做出合理的处置。
9.根据权利要求8所述的一种基于卷积神经网络的入侵检测及语义决策树量化解释方法,其特征在于,步骤31所述的工控网络决策树语义匹配率计算方式为:首先定义工控网络流量中攻击细节所占据的单个像素位置的激活程度:该攻击细节所在像素中心为o,边长为d的正矩形区域内各个像素位置激活程度m(x,y)的最大值,其中x和y分别表示像素的横,纵坐标,边长d可以根据cam的具体情况而设定,而这个攻击细节的激活程度ma将被定义为其所占据的全部单个像素位置激活程度的平均值,其中a为该攻击细节所占据的全部单个像素位置的总区域;然后遍历整个cam寻找激活程度最高的像素位置,计算该攻击细节的激活程度ma与此cam最高激活度mmax的相对比例,其中max为类激活图中激活度最高的像素位置,将此相对比例作为衡量工控决策树各个分支决策模式中所包含的cam细节与真实攻击细节一致性的评价标准;
步骤31所述的普通网络决策树语义匹配率计算方式为:将普通网络攻击细节聚类模型中的聚类中心语义与各个子攻击进行对应,即将这些大类攻击下的子攻击当作该类的攻击细节,然后通过决策树最后的分支情况来衡量cam细节与真实攻击细节是否一致;利用带有大攻击标签的数据训练各个攻击的攻击细节聚类模型,并根据将聚类中心的个数设置为该类别下子攻击的数量,再利用带有子攻击标签的数据建立决策树,通过观察决策树的分支结构,判断各个大类下的子攻击流量是否能够被该攻击类别中相应的攻击细节聚类中心成功分离;最后,通过计算各个大类中被成功分离的子攻击所占该类子攻击总数的比例,作为在普通网络流量数据中,衡量cam细节与真实攻击细节的一致性的评价标准。
10.一种基于卷积神经网络的入侵检测及语义决策树量化解释系统,其特征在于,包括:
基于可解释卷积神经网络入侵检测模块,其用于以流量数据转换成的流量灰度图像作为输入,对增加了可解释性的卷积神经网络进行训练,获得训练后的入侵检测模型,并用检测集对训练后的模型进行检测;
基于代理决策树的解释模块,其用于以类激活图构建的攻击细节图像作为输入,提取各类攻击的聚类特征进行聚类,并且计算模型检测到的异常样本与各类攻击聚类中心之间的距离,利用该距离与模型预测标签建立决策树;
基于语义匹配率的量化评价模块,其用于计算语义匹配率为建代理决策树赋予语义意义,并利用该匹配率对语义决策树的解释效果进行量化评价;
所述基于可解释卷积神经网络入侵检测模块包括:
密集标记的流量灰度图像生成模块,其用于将流量数据转换为流量灰度图像并逐像素嵌入密集的语义标注;
卷积神经网络训练与检测模块,其用于对传统的卷积神经网络进行增加可解释性的改进,并对改进后的模型进行训练、检测;
所述基于代理决策树的解释模块包括:
攻击细节聚类模型生成模块,其用于利用cam获得的攻击细节图像,提取各类攻击的细节特征训练聚类模型;
决策树生成模块,其用于计算检测到的异常样本的细节特征与聚类中心之间的距离,并利用该距离建立代理决策树;
所述基于语义匹配率的量化评价模块包括:
代理决策树语义化模块,其用于计算语义匹配率并为代理决策树各个分支中的决策模式赋予语义意义;
语义决策树量化评价模块,其用于结合语义匹配率对语义决策树的解释效果进行量化评价。
技术总结