基于最大频繁模式的动态规则库构建方法技术

技术编号:18240611 阅读:33 留言:0更新日期:2018-06-17 05:25
本发明专利技术涉及一种基于最大频繁模式的动态规则库构建方法,包括以下步骤:输入Web日志数据集,并对其进行数据过滤,将时间格式转化为时间戳,将IP和URL映射为数字;进行用户识别和会话识别,构造WASD;遍历WASD的每行,过滤出每个用户的近期访问行为,构成该用户的近期访问序列,进而由所有用户的近期访问序列构成DWASD;构造Spark运行环境变量sc;计算min_support;对前缀进行权重计数,并提取频繁1项集;遍历频繁1项集,递归寻找频繁项集;计算最大频繁项集,得到基于最大频繁模式的动态规则库。该方法有利于降低计算量,快速有效地构建出更加具有时效性的规则库。 1

Construction method of dynamic rule base based on maximum frequent pattern

This invention involves a dynamic rule base building method based on the maximum frequent pattern, including the following steps: input Web log data set, filter it, transform the time format into time stamp, map IP and URL into numbers, make user recognition and session recognition, construct WASD, traverse each row of WASD, filter The recent visit behavior of each user forms the sequence of recent access of the user, and then constitutes the DWASD of the recent access sequence of all users; constructs the Spark running environment variable SC; calculates the min_support; carries out the weight count of the prefix and extracts the frequent 1 sets; traverses the frequent 1 sets, recursively searches frequent itemsets; calculates the frequent itemsets; The maximum frequent itemsets get the dynamic rule base based on the maximum frequent pattern. This method is helpful to reduce the amount of computation and construct a more effective rule base quickly and effectively. One

【技术实现步骤摘要】
基于最大频繁模式的动态规则库构建方法
本专利技术涉及Web服务器异常检测
,特别涉及一种基于最大频繁模式的动态规则库构建方法。
技术介绍
随着应用层异常检测算法的不断深入研究,针对Web服务器的异常检测已经取得一定成绩。攻击者为了更好地达到攻击目的,逃避已有的检测方法,针对Web服务器的应用层攻击方式呈现多样化、隐蔽化的趋势。而现有的Snort系统面临着需要大量的精力维护其规则库,缺乏专业知识指导建立规则的问题。WASD是分析Web用户行为的一种重要格式,一种普遍的研究方式是从WASD中挖掘出正常用户行为序列模式,再将用户行为模式与正常模式库进行比较来检测异常[52]。由于将正常用户行为序列模式作为规则库的构建基础,然而由于Web流量存在时效性,如有重大新闻发生的新闻网站流量数据必然比平时更具突发性,因此将完整的WASD作为数据基础,不仅不能体现当前Web流量的时效性,而且随着Web流量的增加,会导致系统的计算量上升。序列模式挖掘是指从海量序列中挖掘出重复频率较高的模式,其关键是将时间属性融入关联模式。目前已提出许多序列模式挖掘算法,加拿大西蒙-弗雷泽大学裴健提出了一种基于序列模式增长策略的PrefixSpan(Prefix-ProjectedPatternGrowth,前缀投影模式挖掘)算法。该方法比传统的Apriori算法和广义序列模式算法有效。PrefixSpan算法由于将原始序列模式库转变为投影数据库从而节省了空间,然而需要更多的时间递归地构建投影数据库,时间效率低。
技术实现思路
本专利技术的目的在于提供一种基于最大频繁模式的动态规则库构建方法,该方法有利于降低计算量,快速有效地构建出更加具有时效性的规则库。为实现上述目的,本专利技术的技术方案是:一种基于最大频繁模式的动态规则库构建方法,包括以下步骤:(1)输入Web日志数据集,然后对Web日志数据集进行数据过滤,将时间格式转化为时间戳并获取当前时间,将IP和URL映射为数字;(2)进行用户识别和会话识别,构造Web用户访问序列数据库WASD;(3)遍历WASD的每行数据,其中一行数据表示一个用户的访问序列,根据用户访问行为距当前时间的远近过滤出每个用户的近期访问行为,构成该用户的近期访问序列,进而由所有用户的近期访问序列构成动态Web用户访问序列数据库DWASD;(4)给定最小支持度阈值θ,构造Spark运行环境变量sc,让Master主结点分配Worker从节点读取DWASD数据集,作为各Worker从结点的file变量;(5)计算最近最小支持度min_support;(6)第一次扫描数据库,使用countPrefix(_._1)函数对前缀进行权重计数,并使用filter过滤函数来提取频繁1项集;(7)通过得到的频繁1项集分割搜索空间序列模式,构建各频繁1项集的投影数据库;(8)递归每一个频繁1项集为前缀的投影数据库,找出频繁2项集;(9)判断是否继续产生频繁子序列,是则按步骤(7)、(8)的方法,继续递归构建频繁项集的投影数据库,否则得到所有的频繁序列模式;(10)计算最大频繁项集,并将其保存到动态规则库矩阵变量DRB中,从而得到基于最大频繁模式的动态规则库。进一步地,在步骤(3)中,根据用户访问行为距当前时间的远近过滤出用户的近期访问行为的方法为:(31)计算用户访问每个页面的权重:Wui=1/(1+α*|tc-tui|)其中,Wui表示用户u访问页面i的权重,α表示时间衰减系数,tc表示当前时间,tui表示用户u访问页面i的时间戳;(32)判断权重Wui是否大于设定的时间阈值β,是则判定该权重对应的用户访问行为为近期访问行为;(33)重复步骤(31)-(32),得到该用户的所有近期访问行为,进而由该用户的所有近期访问行为构成该用户的近期访问序列。进一步地,在步骤(5)中,最近最小支持度min_support的计算方法为:min_support=file.count()*θ其中,file.count()是计算读入DWASD里面的数据条数,θ是最小支持度阈值。进一步地,在步骤(7)中,通过得到的频繁1项集分割搜索空间序列模式,构建各频繁1项集的投影数据库,具体方法为:将频繁序列数据库分为n个具有不同前缀的频繁序列的子集,分割为n空间就是各频繁1项集为前缀的投影数据库,其中n是频繁1项集的数量。进一步地,在步骤(10)中,计算最大频繁项集的具体方法为:(101)遍历挖掘出来的频繁序列,保存到A(n)中;其中,A(n)表示频繁序列长度为n的频繁序列;(102)遍历A(n)与A(n+1),判断这两个相邻长度里面频繁序列是否是子序列关系,删除子序列;(103)把剩余最大频繁项集保存到DRB中;其中,DRB为动态规则库矩阵。本专利技术的有益效果是:(1)提出了动态Web用户访问序列数据库DWASD的构建方法,通过将考虑用户兴趣存在衰减,引入时间衰减阈值,将过期Web流量过滤,从而保留时效性强利用价值高的Web流量以提高数据处理速度。同时设计出的带有用户访问权重的DWASD,更加具有实际意义;(2)提出了基于DWASD的的分布式PrefixSpan算法,该算法利用分布式技术,通过计算用户近期访问行为影响度,用近期最大频繁模式代替全局最大频繁模式,动态更新规则库,提高了规则库的时效性。附图说明图1是本专利技术方法的实现流程图。具体实施方式下面结合附图及具体实施例对本专利技术作进一步的详细说明。本专利技术提供一种基于最大频繁模式的动态规则库构建方法,如图1所示,主要包括构建动态Web用户访问序列数据库DWASD和使用频繁模式挖掘算法PrefixSpan获取DWASD的最大频繁模式作为动态规则库的规则两个过程,具体包括以下步骤:(1)输入Web日志数据集,然后对Web日志数据集进行数据过滤,删除图像、声音、视频和文件等页面,将时间格式转化为时间戳并获取当前时间,将IP和URL映射为数字。映射为数字容易表示,一般Spark机器学习源码里面也会出现对序列的映射,不如用户IP或者URL很长,如果挖掘去比较两个序列会很复杂,时间转换为时间戳可以进行时间排序,这是规则库构建算法的需要。(2)进行用户识别和会话识别,构造Web用户访问序列数据库WASD。(3)遍历WASD的每行数据,其中一行数据表示一个用户的访问序列,根据用户访问行为距当前时间的远近过滤出每个用户的近期访问行为,构成该用户的近期访问序列,进而由所有用户的近期访问序列构成动态Web用户访问序列数据库DWASD。具体方法为:(31)计算用户访问每个页面的权重:Wui=1/(1+α*|tc-tui|)其中,Wui表示用户u访问页面i的权重,α表示时间衰减系数,tc表示当前时间,tui表示用户u访问页面i的时间戳;(32)判断权重Wui是否大于设定的时间阈值β,是则判定该权重对应的用户访问行为为近期访问行为;(33)重复步骤(31)-(32),得到该用户的所有近期访问行为,进而由该用户的所有近期访问行为构成该用户的近期访问序列。(4)给定最小支持度阈值θ,构造Spark运行环境变量sc,让Master主结点(Spark集群的主节点)分配Worker从节点(Spark集群的从节点)读取DWASD数据集,作为各Worke本文档来自技高网...
基于最大频繁模式的动态规则库构建方法

【技术保护点】
1.一种基于最大频繁模式的动态规则库构建方法,其特征在于,包括以下步骤:

【技术特征摘要】
1.一种基于最大频繁模式的动态规则库构建方法,其特征在于,包括以下步骤:(1)输入Web日志数据集,然后对Web日志数据集进行数据过滤,将时间格式转化为时间戳并获取当前时间,将IP和URL映射为数字;(2)进行用户识别和会话识别,构造Web用户访问序列数据库WASD;(3)遍历WASD的每行数据,其中一行数据表示一个用户的访问序列,根据用户访问行为距当前时间的远近过滤出每个用户的近期访问行为,构成该用户的近期访问序列,进而由所有用户的近期访问序列构成动态Web用户访问序列数据库DWASD;(4)给定最小支持度阈值θ,构造Spark运行环境变量sc,让Master主结点分配Worker从节点读取DWASD数据集,作为各Worker从结点的file变量;(5)计算最近最小支持度min_support;(6)第一次扫描数据库,使用countPrefix(_._1)函数对前缀进行权重计数,并使用filter过滤函数来提取频繁1项集;(7)通过得到的频繁1项集分割搜索空间序列模式,构建各频繁1项集的投影数据库;(8)递归每一个频繁1项集为前缀的投影数据库,找出频繁2项集;(9)判断是否继续产生频繁子序列,是则按步骤(7)、(8)的方法,继续递归构建频繁项集的投影数据库,否则得到所有的频繁序列模式;(10)计算最大频繁项集,并将其保存到动态规则库矩阵变量DRB中,从而得到基于最大频繁模式的动态规则库。2.根据权利要求1所述的基于最大频繁模式的动态规则库构建方法,其特征在于,在步骤(3)中,根据用户访问行为距当前时间的远近过滤出用户的近期访问行为的方法为:(31)...

【专利技术属性】
技术研发人员:肖如良陈雄蔡声镇熊金波倪友聪龚平许力
申请(专利权)人:福建师范大学
类型:发明
国别省市:福建,35

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1