论文部分内容阅读
网络空间安全始终是研究者关注的重点,尤其是在网络设备升级,宽带提速的今天,如何在复杂的网络数据流下,有效地发现异常数据是当前安全领域的主要问题之一。传统的面向静态数据集的数据挖掘算法首先将数据集全部加载到内存,通过对数据集的多次遍历以建立静态的分析模型,这个过程需要大量的时间和空间开销。数据流具有数据分布动态变化、数据体积潜在无穷、数据持续到达等特征。这些特征要求数据流挖掘算法能够在有限的内存下通过单次遍历数据建立初始模型,且该模型能够及时地对后续到达的数据做出相应处理,动态调整以适应变化的数据流。现有的异常检测技术大多基于传统的数据挖掘算法,虽然能够在静态的数据集上获得较好的结果,但是无法应用于动态的数据流环境。基于上述分析和比较,本文针对数据流环境下的异常检测技术进行相应研究,并做出如下工作:(1)本文阐述了数据流的概念和定义,分析了动态数据流环境对挖掘算法的要求和存在的问题,总结了数据流挖掘的主要任务和常用算法。数据流是一个由连续的数据对象构成的序列,这些数据通常持续到达,具有高维特征,潜在的数据分布存在变化。相较于传统机器学习技术,数据流挖掘算法通常只记录数据粗略的统计信息,单次访问数据,并增量式更新模型。(2)本文结合数据流聚类的特点和异常检测任务的需要,提出了基于数据流聚类的异常检测模型。数据流聚类只能够动态发现数据的分布状态,而不能实现对数据的异常检测。本文提出的异常检测模型受数据流聚类启发,由在线聚类模块和离线检测模块两个部分组成。在线聚类模块能够提取和记录数据的概要统计信息,解决了数据体积增长带来的存储问题,动态调整微簇结构以适应数据分布的变化。离线检测模块根据在线模块维持的聚类信息,使用相似性或差异性度量方法,实现了对异常数据的实时检测。(3)本文通过分析不精确概率对决策树分裂属性选择的影响,结合已有的Hoeffding Tree算法,提出了一种基于不精确概率的异常检测算法。该算法引入不精确狄利克雷模型,计算Credal集合的最大熵值,从而估算在无穷样本时,分裂属性所产生的真正熵值变化。改进后的算法能够选择最佳属性进行分裂,并及时停止冗余子树生长,避免了模型的过拟合。该算法能够有效降低节点数量,保持Hoeffding Tree算法的分类效果,进而获得较高的异常检测准确率。同时,该算法数据处理速度较快,也能够满足高速数据流环境下异常检测任务的需要。