新型入侵增量识别入侵检测模型
2019-04-01刘培玉孔凡玉李新金
刘 佳 张 平 刘培玉 孔凡玉 李新金
1(山东师范大学历山学院电子与信息工程学院 山东 潍坊 262500)2(山东大学网络信息安全研究所 山东 济南 250100)
0 引 言
在信息安全领域,入侵检测是防护内网网络环境安全的重要防线。随着硬件、软件技术的不断发展,网络数据量呈现海量数据特征,新的网络入侵模式快速呈现。然而,与之相对的是传统的入侵检测的原理,它一般是通过识别已知入侵行为的入侵特征来达到检测入侵的目的,往往对于入侵模式的改变难以适应。
随着数据挖掘技术的发展,如何让入侵检测自我识别未识别的入侵模式和进化的入侵模式具有很高的研究价值。近年来,对于入侵检测如何识别新型入侵模式做出了很多努力。
2016年文献[1]针对传统入侵检测系统难以为Ad-Hoc网络中日益增长的安全威胁提供令人满意的保障,提出了基于对比有攻击和无攻击的状况下的情况特征来自我学习识别入侵行为。2016年文献[2]采用映射模型来进行入侵检测,创造合适的攻击迹象并应用于入侵检测系统中来解决常规入侵检测特征不变的情况,识别新型入侵行为。2017年文献[3]针对一般自适性入侵检测系统一般耗费巨大资源的情况,采用一种混合SVM和ELM的分类模型,其中自适性SVM模型分布在MAS上并行计算,实时学习新型入侵。2017年文献[4]为了监测拒绝服务攻击,改进一般监测只是基于数据包的监测,提出一种利用物理特征的机器学习监测模型,能够对已经识别的拒绝服务攻击和当前没有监测到的拒绝服务攻击有良好的监测性能。
上述研究成果中一般通过对比有入侵的行为和没有入侵的行为的不同点进行新型入侵检测的识别,或者改进自适性入侵检测的监测性能,具有了一定成效。但是上述检测过程中普遍存在的问题:一是入侵检测往往反应较慢;二是如果主机已经不能和安全环境中的堡垒机相沟通,那么难以达到检测入侵的目的。
在研究各个入侵检测自我改进方法之后,提出了一种全局检测点相互沟通自身和周围设备异常情况的机制,判别新型入侵行为,并根据收集的信息自我进化识别新型入侵模式的入侵检测模型来识别新型入侵模式,改进全局安全环境。并且为了达到不断进化、快速识别新型入侵行为的目的,提出了一种决策树的自我快速改进模型来将新型入侵模式纳入入侵检测范畴。
提出的入侵检测模型的优势如下:
(1) 改进传统网络入侵检测模式固化的缺陷,采用各个入侵检测点相互交流的机制沟通自身和周围设备异常情况信息,建立算法。根据局部异常情况建立全局异常情况,通过与设定好的异常情况阈值进行比较,如果超出阈值,则认为现有网络环境防护出现漏洞,正在遭受新型入侵模式的攻击。
(2) 抽取近期各个入侵检测点交流的异常信息,根据一般入侵检测是某个现有入侵的变种,并根据异常信息在决策树入侵检测器大致流向,判别是否是某种入侵行为的变种,还是新型入侵模式。
(3) 抽取异常信息的特征,如果是现有入侵模式的变种,则对此种入侵模式进行决策树入侵检测器的局部进化,如果是新型入侵模式,抽取其特征,纳入决策树入侵检测器中。
(4) 将进化完成的入侵检测器投入入侵检测环境中,监测全局异常情况变化情况。如果状况缓解,则认为自我进化是正确的方向,将判别的特征纳入日志记录,识别新型入侵行为。如果没有缓解,则持续收集局部异常信息,做进一步分析。
1 新型入侵检测
提出一种入侵检测架构,该入侵检测架构摆脱了一般入侵检测模式固化的缺点,采用各个入侵检测点相互交流的机制沟通自身和周围设备异常情况,发现全局异常区域,并汇报异常区域流量数据,达到识别新型入侵的目的。
Intel公司曾经提出“自治企业安全”方案获取局部异常信息流汇总形成全局异常情况[5],这种思想可以全局入侵检测点相互交流协作检测入侵,对比一般的单一主机检测具有很大的优势。
本架构采用全局入侵检测点相互交流异常情况并判断各个入侵检测点是否在线的形式形成全局情况信息。具体机制如下:
(1) 各种类别分布式入侵检测点的入侵检测策略由各个中间设备管理器进行管理与部署。
(2) 各个入侵检测点持续收集流量数据,例如连接各层协议类型、发生时间、近期一定时间内连接情况等,当出现异常情况如近期网络流量异常增大,向其他节点交流发送的ICMP协议返回异常等情况,记录异常情况,根据对于主机威胁重要程度制定的异常情况权重表(见表1)。更新异常获得值(异常情况权重即发生问题的情况对于主机的重要程度,比如ICMP协议返回异常,ICMP协议在异常情况权重表中重要程度占1,则获得1的异常情况获得值),各个异常获得值随着时间按递减值进行递减,来防止异常获得值无理由持续增长,进而持续增加全局异常情况。
表1 异常情况权重表
(3) 各个入侵检测点相互交流,定期共享本地异常获得值信息,各个入侵检测点维护其他节点异常获得值表(如无法交流则为无法交流节点增加对应异常获得值),并根据与其他节点的距离情况(如直接到达则为1,路由两个设备到达则为2)和对应的获得值(见表2),全局统计计算临时全局异常值。
表2 其他检测点获得值
(4) 各个检测点形成的获得值表和临时全局异常值表与设定的异常阈值做对比,如果超出阈值,则认为发现当前入侵检测检测不了的新型入侵,入侵检测点向反馈信息收集节点发送反馈信息,包括维护的获得值表。
(5) 反馈信息收集节点向信息处理节点发送收集的信息,根据获得值表情况进行分析。根据表情况收取对应入侵检测点的相关信息,并进行一定的清理与整型。将获得值表发送到全局网络安全信任度建立节点进行全局情况信任度建立,并分析受威胁的网络区域,将收集的各个出现异常情况的入侵检测点的相关信息发送到自适性入侵检测模型改进节点进行入侵模式分析与入侵检测模型改进。
(6) 在自适性入侵检测模型改进节点中,由于一般新的入侵模式是现有入侵模式的一种变种,利用先验的入侵模式大类对收集的信息进行分析。如果判别是现有入侵模式的变种,则进化该种入侵模式分支。如果判别出不属于任何一种现有入侵类别,则识别其特征,纳入入侵检测模型中,如图1所示。
图1 入侵检测模型
2 自适性入侵检测模型改进节点
2.1 问题假设及目标
针对上节提出的入侵检测模型,其中的自适性入侵检测模型改进节点需要根据识别出来的信息提取异常情况的特征,并纳入入侵检测模型中。本文采用了一种改进的决策树的算法,一方面决策树分类具有快速和高效特点,另一方面根据改进决策树分类模式的固定性缺陷,提出一种增量式的决策树的自我进化方法。
该算法的改进思路在于:
(1) 基于决策树总是根据最明显的属性区别一步步区分类别,这样根据收集到的异常数据流入决策树的节点情况判别是已有入侵类型的变种还是新型入侵类型。
(2) 如果是入侵类型变种只需要自我改进这种入侵类型,将变种特征纳入此决策树分枝即可。如果流入的决策树的数据在决策树中的走向过于分散,则认为是一种新型入侵类型,则提取其类型特征,纳入决策树判别。
(3) 针对决策树由于经常会出现的过度拟合的现象,采用朴素贝叶斯算法进行树判别增强,加强决策树对于过度拟合的情况的判别性能,提高决策树对于数据量较少的类型的判别性能。
这里设收集的异常数据为Dadapt。
2.2 性能指标
检出率(DR%)、误报率(FP%)、漏报率(FN%)与数据检测不出率(DN%)、识别为入侵但入侵类型错误率(FI%)作为评价入侵检测算法性能的重要指标。通过对测试数据流的决策树判别各种性能指标的判别来判别决策树的性能。
2.3 异常数据决策树自我进化
统计异常数据流对于决策树各个节点的流量情况,记录异常数据流在决策树中最先开始分枝节点node,计算异常数据流占最先开始分枝节点生成数据的比例rate,设置阈值threshold。若rate>threshold,则表明新型入侵模式在此节点表现明显,将异常流数据纳入此节点的数据表,根据新生成的生成数据表重新构造局部决策树识别新型入侵模式。若rate≤threshold,则认为新型入侵数据模式在此节点表现不明显,让异常数据流继续流入决策树各个节点,在最终流入的叶子节点处,进行决策树的初步改进,初步识别新型入侵行为。这个在节点处设置的判别信息量多少的阈值称为敏感性阈值。
具体操作步骤为:
Step1异常信息流收集,数据清理。形成新型入侵类型的数据特征集合。
Step2将异常信息流流入初始决策树,记录异常信息流在决策树中最先开始分流的节点,计算异常数据流占节点生成数据的比例rate,如图2所示。
图2 异常数据流流向图
Step3设置阈值threshold,若rate≤threshold,则异常数据流在此节点的模式表现不够明显,异常信息流向下分流到决策树叶子节点,在最终流入叶子节点的父母处进行决策树的重新生成算法,形成新的决策子树纳入全局决策树,若rate>threshold进入Step 4,如图3所示。
图3 数据量不足决策树自适改进图
Step4异常信息流数据纳入节点生成数据表,采用决策树算法重新生成决策树纳入全局决策树,如图4所示。
图4 数据量充足决策树自适改进图
Step5将异常信息流纳入全局决策树生成数据统计中,为下一次决策树自适做参考。
轻量级朴素贝叶斯分类在决策树分类的基础上,减少判别属性,对于过度拟合的数据的进一步判别,提升决策树的判别能力,对于数据量较小的新型入侵模式的过度分类进行改进。
2.4 轻量级朴素贝叶斯算法树增强
由于决策树生成过程容易对数据量多的模式识别敏感,但是对于数据量较少的数据识别容易过度拟合,判别过细的现象。如果异常数据流较小,在决策树分流过程中对于异常数据流的属性的各个属性值存在判断过细,出现无法判别数据流的情况。因此这里采用朴素贝叶斯[6]分类弥补这种不足,并采取一种轻量级选择判别属性的方式减少朴素贝叶斯分类的判别属性。
轻量级朴素贝叶斯决策树进一步分类表示如下:
1) 向上回溯异常数据流流入节点,直至回溯到目的节点(此节点的生成数据集中存在无法判别的数据流的无法判别的属性值)。
2) 基于假设:如果数据流向统一节点,则其祖先节点对于此数据流的判别有效。不考虑祖先节点的属性,选取目的节点生成数据集中的其他属性计算各个入侵类别的条件概率。
3) 选择条件概率最大的入侵类别为此记录的入侵类别。
具体生成算法为:
1) 计算节点数据集各个入侵类别的先验概率P(Ci)。
2) 计算目的节点属性表,将祖先节点的属性从考虑属性中剔除。
3) 计算数据项属性表中的各个属性值对于各个入侵类别的条件概率,如果属性值没有在此入侵类别中出现,乘以0.001,统计各个入侵类别没有出现的属性的个数flag。
P(x1|Ci)P(x2|Ci)…P(xn|Ci)
(1)
4) 计算阈值threshold=属性表属性值个数/10。
5) 如果threshold 6) 用整体训练数据进行朴素贝叶斯类别判断,判断属性类别。 轻量级朴素贝叶斯分类在决策树分类的基础上,减少判别属性,对于过度拟合的数据的进一步判别,提升决策树的判别能力,对于数据量较小的新型入侵模式造成的过度拟合进行改进。 采用64位Windows 7平台,CPU为Intel双核酷睿i5处理器,8 GB内存,1 TB硬盘,Visual Studio 2013平台C#作为编程语言,SQL Server 2012作为数据库。 训练数据采用KDD CUP99数据集[7]中的10%的训练数据集的选取的10%数据量作为训练数据:兼顾数据量较少的入侵行为,均匀选取每种入侵类型的数据条数。如果入侵类型的数据量在数据集的记录条数少于设置的阈值,则全部选取;如果大于阈值,则选取设置阈值条数的记录条数作为此种入侵模式的模式匹配数据。 新型入侵模式的选择为均匀选取测试数据集中的新型入侵数据10%的样本。将其流入决策树,采用第2节提出的进化算法进行进化。 将这些新型入侵模式数据作为自适性入侵检测架构识别的数据,参照第2节提出的自我改进方式进行进化,然后用10%的测试数据集检测进化后的决策树。采用检出率(DR)、误报率(FP)、漏报率(FN)与数据检测不出率(DN)、识别为入侵正确但入侵类型错误率(FI)作为评估入侵检测模型性能的依据。 采用C4.5决策树[8]算法训练一般决策树具体结果如表3所示。 表3 C4.5决策树实验结果 采用第2节提出的算法进行初始决策树的生成和自我进化,并用测试数据进行测试,测试结果见表4。 表4 自适性决策树实验结果 从实验结果得出,自我进化后的决策树总体识别正确率为79.4%,比较一般决策树对于有新型入侵类型的测试数据的总体识别正确率74.23%提升5.17个百分点,对于新型入侵模式有一个较好的提升。这里将包括识别正确率DR和识别为入侵正确但入侵类型错误率FI之和作为整体入侵检测的有效识别率,对于自我进化后的决策树总体有效识别率达到94.09%(DR为79.4%,FI为14.69%,和为94.09%),比较一般决策树对于有新型入侵类型的测试数据的有效识别率92.21%(DR为74.23%,FI为17.98%,和为92.21%)提升了1.88个百分点。 提出的识别新型入侵模式的入侵检测模型是基于相互交流机制,有效缓解了单个节点入侵检测的盲点,如遭受拒绝服务攻击等。在识别异常节点并收集信息后的入侵检测模型的自我进化采用决策树这种相对快速、准确率较高的算法进行模型的建立,但是由于决策树的分类相对固化,因此提出了一种决策树快速自我进化的方法来弥补这个缺陷。实验证明这种决策树自我进化算法对于新型入侵模式改进后对于一般决策树有较好的适应性能,总体识别正确率为79.4%,比较一般决策树提升了5.17个百分点,总体有效识别率达到94.09%,比较一般决策树对于有新型入侵类型的测试数据的有效识别率92.21%提升了1.88个百分点。3 仿真测试
3.1 实验环境
3.2 数据集与性能评估
3.3 仿真实验及结果分析
4 结 语