第5章 基于最大频繁模式的动态规则库构建算法

5.1 引言

随着应用层异常检测算法研究的不断深入,针对Web服务器的异常检测已经取得一定成绩。攻击者为了更好地达到攻击目的,会逃避已有的检测方法,且针对Web服务器的应用层攻击方式呈现多样化、隐蔽化的趋势,因此需要大量的精力维护现有Snort系统的规则库,但是目前缺乏专业知识来指导建立规则。WASD是分析Web用户行为的一种重要格式,一种普遍的研究方式是从WASD中挖掘出正常用户行为序列模式,再将用户行为序列模式与正常模式库进行比较来检测异常[108]

在将正常用户行为序列模式作为规则库的构建基础的过程中,由于Web流量存在时效性(如有重大新闻发生时的新闻网站流量数据必然比平时更具突发性),因此将完整的WASD作为数据基础,不仅不能体现当前Web流量的时效性,而且Web流量的增大会导致系统的计算量增大。因此本章引入动态Web用户访问序列数据库(the Dynamic Web Access Sequence Database,DWASD)概念,考虑用户的兴趣是动态变化的,且同样具有时效性,对用户近期的行为进行加权影响,再对WASD进行筛选,减小WASD的数量,从而提高数据有效性和减小算法计算量。最后,使用频繁模式挖掘算法PrefixSpan获取DWASD的最大频繁模式作为动态规则库的规则。

序列模式挖掘是指从海量序列中挖掘出重复频率较高的模式[109],其关键是将时间属性融入关联模式。目前已提出许多序列模式挖掘算法,Pei J[110]提出了一种基于序列模式增长策略的PrefixSpan(Prefix-Projected Pattern Growth,前缀投影的模式挖掘)算法,该算法比传统的Apriori算法和广义序列模式算法[111]有效。PrefixSpan算法将原始序列模式库转变为投影数据库,从而节省了空间,但是需要更多的时间递归地构建投影数据库。

针对以WASD为数据基础构建的规则库不具有时效性及PrefixSpan算法时间效率低的问题,本章提出基于最大频繁模式的动态规则库构建算法(The Dynamic Rule Base construction method based on Maximum Frequent Pattern,DRB_MFP)。该算法对正常WASD按照时间效应进行抽取,在Spark计算平台上进行最大频繁模式挖掘,对WASD进行规则转化,最终形成动态规则库。实验证明,DRB_MFP算法能够快速有效地挖掘出WASD中的规则。

本章的主要内容如下:(1)提出动态Web用户访问序列数据库DWASD的构建方法,考虑用户兴趣存在衰减,引入时间衰减阈值将过期Web流量过滤,从而保留时效性强、利用价值高的Web流量以提高数据处理速度,同时设计一种带有用户访问权重的DWASD,更加具有实际意义;(2)提出基于DWASD的分布式PrefixSpan算法,该算法利用分布式技术,通过计算用户近期访问行为影响度,用近期最大频繁模式代替全局最大频繁模式,动态更新规则库,提高了规则库的时效性。