论文部分内容阅读
序列异常检测旨在发现偏离正常模式的序列数据,在某些场景下对异常数据的发现能带给人们更多有价值的信息。近年来随着计算机技术的高速发展,对异常的检测方式也有了巨大的转变,开始从传统的面向离线场景的单维序列异常检测逐渐转变为面向实时性更强,信息更加丰富的数据流场景下的多维序列异常检测。在金融行业的信用卡欺诈检测,计算机系统内部入侵检测等领域中,数据流下的多维序列异常检测技术具有极广的实际应用价值,因此也逐渐成为当前的研究热点。然而,目前关于序列异常检测的工作主要聚集在单维序列数据的异常检测,并且主要面向离线数据的场景。数据流下多维序列异常检测相比离线的单维序列异常检测更具有挑战性,主要的挑战点有如下三个:(1)多维序列的空间复杂度会随着维度的增加而指数型增长,导致数据处理复杂性高,从而影响异常检测的效率和准确率;(2)数据流中的多维序列数据会持续到达,因此需要提高检测效率;(3)数据流中存在概念漂移,为了能提高对真正异常的识别率,需要动态调整检测模型。本文针对多维序列数据的降维技术、序列异常的高效检测技术以及数据流下模型的动态调整技术做了深入的研究。多维序列的降维技术旨在降低序列数据的空间复杂性,从而提高建模能力。然而,为了保证异常识别率,在降低空间复杂度的同时需要保存尽可能多的特征信息。本文提出了基于互信息和最小生成树聚类的特征选择方法MIMS。该方法通过互信息来分析维度之间的关联关系,聚类方法可以保证各个簇之间的关联性低,簇内特征之间的关联性高,通过在各个簇内选择代表特征来进行特征选择。该方法能有效的选择具有代表性的特征,在降低空间复杂度的同时充分保留了多维序列的有效信息,从而保证了异常识别率。实验结果表明,经过基于互信息和最小生成树聚类的特征选择方法MIMS选择得到的特征数据相比经过FCBF,CFS处理得到的特征数据在经典分类器如朴素贝叶斯和决策树C4.5处理下,分类的准确率平均提高了3.2%。序列异常的高效检测技术旨在快速处理持续到达的序列数据。传统的序列异常检测大多面向离线数据,具有建模和检测时间耗时长的缺点,而目前面向数据流环境的序列异常检测方法主要是基于频繁项挖掘技术,该项技术只能针对固定模式的序列数据,且难以充分挖掘序列的顺序关系,因此检测率较低。本文提出了基于随机抽样和子序列划分的概率后缀树检测方法RSOD,RSOD通过随机抽样和子序列划分方式来降低训练数据的复杂性,同时利用索引结构加快模型的构建速度。通过上述方法可以有效的降低模型的复杂性,并且缩短建模时间。在检测阶段由于模型的复杂度较低,因此能实现高效的异常检测。实验结果表明,基于随机抽样和子序列划分的概率后缀树检测方法RSOD相比传统的PST算法在模型构建和检测时延上降低了50%和34%以上,并且异常识别率能保持在91%以上与传统PST相近。模型的动态调整技术旨在通过检测概念漂移来降低异常误判率,并通过模型动态调整来保证异常检测效率。本文提出了基于异常缓冲的模型动态调整方法OBDMA,该方法首先利用基于统计量和检测率的混合式概念漂移检测方法对数据流中的概念漂移进行检测。在检测到概念漂移发生后会对该类型的数据分布重新构建模型。同时,通过时间衰减函数来动态调整模型的权重,保证异常检测效率。实验结果表明,基于异常缓冲的模型动态调整方法OBDMA相比基于统计量的概念漂移检测方法在对概念漂移检测准确率上提高了26%。为了进一步验证本文的研究成果,本文在流式处理平台Storm上设计并实现了基于数据流的多维序列异常检测系统ODSMS。该系统首先利用基于互信息和最小生成树聚类的特征选择方法MIMS对多维日志审计数据进行特征选择,在选取若干具有代表性特征后采用基于随机抽样和子序列划分的概率后缀树检测方法RSOD构建序列模型并检测异常数据。在异常检测的同时,采用基于异常缓冲的模型动态调整方法OBDMA主动检测概念漂移并动态调整模型。基于数据流的多维序列异常检测系统ODSMS采用模块化的设计方法,将数据的特征选择,序列建模,异常检测等模块化实现,降低了接口复杂性,提高了系统的健壮性。实验结果表明,系统可以平稳有效的处理Unix的日志审计数据(BSM结构),对异常的识别率保持在88%以上,误判率保持在7%以下。