CN108173876B - 基于最大频繁模式的动态规则库构建方法 - Google Patents

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

Info

Publication number
CN108173876B
CN108173876B CN201810092166.9A CN201810092166A CN108173876B CN 108173876 B CN108173876 B CN 108173876B CN 201810092166 A CN201810092166 A CN 201810092166A CN 108173876 B CN108173876 B CN 108173876B
Authority
CN
China
Prior art keywords
frequent
user
item set
rule base
sequence
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN201810092166.9A
Other languages
English (en)
Other versions
CN108173876A (zh
Inventor
肖如良
陈雄
蔡声镇
熊金波
倪友聪
龚平
许力
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujian Normal University
Original Assignee
Fujian Normal University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujian Normal University filed Critical Fujian Normal University
Priority to CN201810092166.9A priority Critical patent/CN108173876B/zh
Publication of CN108173876A publication Critical patent/CN108173876A/zh
Application granted granted Critical
Publication of CN108173876B publication Critical patent/CN108173876B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1425Traffic logging, e.g. anomaly detection

Abstract

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

Description

基于最大频繁模式的动态规则库构建方法
技术领域
本发明涉及Web服务器异常检测技术领域,特别涉及一种基于最大频繁模式的动态规则库构建方法。
背景技术
随着应用层异常检测算法的不断深入研究,针对Web服务器的异常检测已经取得一定成绩。攻击者为了更好地达到攻击目的,逃避已有的检测方法,针对Web服务器的应用层攻击方式呈现多样化、隐蔽化的趋势。而现有的Snort系统面临着需要大量的精力维护其规则库,缺乏专业知识指导建立规则的问题。WASD是分析Web用户行为的一种重要格式,一种普遍的研究方式是从WASD中挖掘出正常用户行为序列模式,再将用户行为模式与正常模式库进行比较来检测异常。
由于将正常用户行为序列模式作为规则库的构建基础,然而由于Web流量存在时效性,如有重大新闻发生的新闻网站流量数据必然比平时更具突发性,因此将完整的WASD作为数据基础,不仅不能体现当前Web流量的时效性,而且随着Web流量的增加,会导致系统的计算量上升。
序列模式挖掘是指从海量序列中挖掘出重复频率较高的模式,其关键是将时间属性融入关联模式。目前已提出许多序列模式挖掘算法,加拿大西蒙-弗雷泽大学裴健提出了一种基于序列模式增长策略的 PrefixSpan(Prefix-Projected Pattern Growth, 前缀投影模式挖掘)算法。该方法比传统的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)计算用户访问每个页面的权重:
W ui = 1/(1+α*|t c -t ui |)
其中,W ui 表示用户u访问页面i的权重,α表示时间衰减系数,t c 表示当前时间,t ui 表示用户u访问页面i的时间戳;
(32)判断权重W ui 是否大于设定的时间阈值β,是则判定该权重对应的用户访问行为为近期访问行为;
(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)计算用户访问每个页面的权重:
W ui = 1/(1+α*|t c -t ui |)
其中,W ui 表示用户u访问页面i的权重,α表示时间衰减系数,t c 表示当前时间,t ui 表示用户u访问页面i的时间戳;
(32)判断权重W ui 是否大于设定的时间阈值β,是则判定该权重对应的用户访问行为为近期访问行为;
(33)重复步骤(31)-(32),得到该用户的所有近期访问行为,进而由该用户的所有近期访问行为构成该用户的近期访问序列。
(4)给定最小支持度阈值θ,构造Spark运行环境变量sc,让Master主结点(Spark集群的主节点)分配Worker从节点(Spark集群的从节点)读取DWASD数据集,作为各Worker从结点的file变量。Spark读取到的DWASD数据集,保存到file变量里面。
(5)计算最近最小支持度min_support。其计算方法为:
min_support = file.count()*θ
其中,file.count()是计算读入DWASD里面的数据条数,θ是最小支持度阈值。
(6)第一次扫描数据库,使用countPrefix(_._1)函数对前缀进行权重计数,并使用filter过滤函数来提取频繁1项集。
countPrefix(_._1)是自定义的用于统计前缀个数的函数,前缀在第一位置这是sequence的数据结构(prefix,project),前缀统计个数;filter是spark提供的过滤函数,通过过滤前缀大于最小支持度的前缀,得到频繁1项集。
(7)通过得到的频繁1项集分割搜索空间序列模式,构建各频繁1项集的投影数据库。具体方法为:将频繁序列数据库分为n个具有不同前缀的频繁序列的子集,分割为n空间就是各频繁1项集为前缀的投影数据库,其中n是频繁1项集的数量。
(8)递归每一个频繁1项集为前缀的投影数据库,找出频繁2项集。
(9)判断是否继续产生频繁子序列,是则按步骤(7)、(8)的方法,继续递归构建频繁项集的投影数据库,否则得到所有的频繁序列模式。
频繁子序列即频繁3项集、频繁4项集、……。得到频繁项集,如果满足条件就退出,条件是长度达到或者没有扩展的频繁项集了。
频繁序列模式,由所有的通过算法挖掘出来的频繁项集构成。
(10)计算最大频繁项集,并将其保存到动态规则库矩阵变量DRB中,从而得到基于最大频繁模式的动态规则库。
其中,计算最大频繁项集的具体方法为:
(101)遍历挖掘出来的频繁序列,保存到A(n)中;其中,A(n)表示频繁序列长度为n的频繁序列;
(102)遍历A(n)与A(n+1),判断这两个相邻长度里面频繁序列是否是子序列关系,删除子序列;
(103)把剩余最大频繁项集保存到DRB中;其中,DRB为动态规则库矩阵。
本发明针对以WASD为数据基础构建的规则库不具有时效性以及PrefixSpan算法时间效率低的问题,提出了一种基于最大频繁模式的动态规则库构建方法(The DynamicRule Base construction method based on Maximum Frequent Patterns, DRB_MFP)。该方法对正常WASD按照时间效应进行抽取,在Spark计算平台上进行最大频繁模式挖掘,对WASD进行规则转化,最终形成动态规则库。实验证明:本发明方法能够快速有效地挖掘出WASD中的规则。
以上是本发明的较佳实施例,凡依本发明技术方案所作的改变,所产生的功能作用未超出本发明技术方案的范围时,均属于本发明的保护范围。

Claims (4)

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中,从而得到基于最大频繁模式的动态规则库;
在步骤(3)中,根据用户访问行为距当前时间的远近过滤出用户的近期访问行为的方法为:
(31)计算用户访问每个页面的权重:
W ui = 1/(1+α*|t c -t ui |)
其中,W ui 表示用户u访问页面i的权重,α表示时间衰减系数,t c 表示当前时间,t ui 表示用户u访问页面i的时间戳;
(32)判断权重W ui 是否大于设定的时间阈值β,是则判定该权重对应的用户访问行为为近期访问行为;
(33)重复步骤(31)-(32),得到该用户的所有近期访问行为,进而由该用户的所有近期访问行为构成该用户的近期访问序列。
2.根据权利要求1所述的基于最大频繁模式的动态规则库构建方法,其特征在于,在步骤(5)中,最近最小支持度min_support的计算方法为:
min_support = file.count()*θ
其中,file.count()是计算读入DWASD里面的数据条数,θ是最小支持度阈值。
3.根据权利要求1所述的基于最大频繁模式的动态规则库构建方法,其特征在于,在步骤(7)中,通过得到的频繁1项集分割搜索空间序列模式,构建各频繁1项集的投影数据库,具体方法为:将频繁序列数据库分为n个具有不同前缀的频繁序列的子集,分割为n空间就是各频繁1项集为前缀的投影数据库,其中n是频繁1项集的数量。
4.根据权利要求1所述的基于最大频繁模式的动态规则库构建方法,其特征在于,在步骤(10)中,计算最大频繁项集的具体方法为:
(101)遍历挖掘出来的频繁序列,保存到A(n)中;其中,A(n)表示频繁序列长度为n的频繁序列;
(102)遍历A(n)与A(n+1),判断这两个相邻长度里面频繁序列是否是子序列关系,删除子序列;
(103)把剩余最大频繁项集保存到DRB中;其中,DRB为动态规则库矩阵。
CN201810092166.9A 2018-01-30 2018-01-30 基于最大频繁模式的动态规则库构建方法 Expired - Fee Related CN108173876B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810092166.9A CN108173876B (zh) 2018-01-30 2018-01-30 基于最大频繁模式的动态规则库构建方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810092166.9A CN108173876B (zh) 2018-01-30 2018-01-30 基于最大频繁模式的动态规则库构建方法

Publications (2)

Publication Number Publication Date
CN108173876A CN108173876A (zh) 2018-06-15
CN108173876B true CN108173876B (zh) 2020-11-06

Family

ID=62512739

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810092166.9A Expired - Fee Related CN108173876B (zh) 2018-01-30 2018-01-30 基于最大频繁模式的动态规则库构建方法

Country Status (1)

Country Link
CN (1) CN108173876B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109542944B (zh) * 2018-09-29 2023-07-25 广东工业大学 基于时序因果关系分析的智能家居用户操控行为推荐方法
CN111274289A (zh) * 2020-01-17 2020-06-12 北京汉明清信息技术有限公司 一种基于符号序列的相似度计算方法
CN112003819B (zh) * 2020-07-07 2022-07-01 瑞数信息技术(上海)有限公司 识别爬虫的方法、装置、设备和计算机存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6308172B1 (en) * 1997-08-12 2001-10-23 International Business Machines Corporation Method and apparatus for partitioning a database upon a timestamp, support values for phrases and generating a history of frequently occurring phrases
CN101127037A (zh) * 2006-08-15 2008-02-20 临安微创网格信息工程有限公司 基于时序向量差异序列法聚类的周期关联规则发现算法
CN101582817A (zh) * 2009-06-29 2009-11-18 华中科技大学 网络交互行为模式提取及相似性分析方法
CN101853277A (zh) * 2010-05-14 2010-10-06 南京信息工程大学 一种基于分类和关联分析的漏洞数据挖掘方法
CN101931570A (zh) * 2010-02-08 2010-12-29 中国航天科技集团公司第七一○研究所 一种基于频繁模式增长算法的网络攻击路径重构方法
CN105183841A (zh) * 2015-09-06 2015-12-23 南京游族信息技术有限公司 大数据环境下结合频繁项集和深度学习的推荐方法
CN105721427A (zh) * 2016-01-14 2016-06-29 湖南大学 一种从Web日志中挖掘攻击频繁序列模式的方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040049504A1 (en) * 2002-09-06 2004-03-11 International Business Machines Corporation System and method for exploring mining spaces with multiple attributes

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6308172B1 (en) * 1997-08-12 2001-10-23 International Business Machines Corporation Method and apparatus for partitioning a database upon a timestamp, support values for phrases and generating a history of frequently occurring phrases
CN101127037A (zh) * 2006-08-15 2008-02-20 临安微创网格信息工程有限公司 基于时序向量差异序列法聚类的周期关联规则发现算法
CN101582817A (zh) * 2009-06-29 2009-11-18 华中科技大学 网络交互行为模式提取及相似性分析方法
CN101931570A (zh) * 2010-02-08 2010-12-29 中国航天科技集团公司第七一○研究所 一种基于频繁模式增长算法的网络攻击路径重构方法
CN101853277A (zh) * 2010-05-14 2010-10-06 南京信息工程大学 一种基于分类和关联分析的漏洞数据挖掘方法
CN105183841A (zh) * 2015-09-06 2015-12-23 南京游族信息技术有限公司 大数据环境下结合频繁项集和深度学习的推荐方法
CN105721427A (zh) * 2016-01-14 2016-06-29 湖南大学 一种从Web日志中挖掘攻击频繁序列模式的方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
一种改进的适于安全审计数据分析的关联算法;王莘等;《信息工程大学学报》;20070331;第8卷(第1期);第22-25页 *
基于数据挖掘的入侵检测系统研究;袁腾飞;《中国优秀硕士学位论文全文数据库 信息科技辑》;20160331(第3期);I138-5389 *

Also Published As

Publication number Publication date
CN108173876A (zh) 2018-06-15

Similar Documents

Publication Publication Date Title
CN108173876B (zh) 基于最大频繁模式的动态规则库构建方法
CN104660594A (zh) 一种面向社交网络的虚拟恶意节点及其网络识别方法
CN102122291A (zh) 一种基于树形日志模式分析的博客好友推荐方法
CN107437026B (zh) 一种基于广告网络拓扑的恶意网页广告检测方法
JP2009099124A (ja) データ構築方法とシステム
CN111292356B (zh) 运动轨迹与道路的匹配方法及装置
Jalali et al. A web usage mining approach based on lcs algorithm in online predicting recommendation systems
CN112163145A (zh) 基于编辑距离与余弦夹角的网站检索方法、装置及设备
CN107844602B (zh) 一种基于时空属性关联规则的预测方法
CN105512301A (zh) 基于社交内容的用户分组方法
Li et al. Street-Level Landmarks Acquisition Based on SVM Classifiers.
Fathy et al. Distributed spatial indexing for the Internet of Things data management
CN112256880A (zh) 文本识别方法和装置、存储介质及电子设备
Chao et al. Efficient trajectory contact query processing
Javed et al. HOVA-FPPM: flexible periodic pattern mining in time series databases using hashed occurrence vectors and apriori approach
CN108199878B (zh) 高性能ip网络中个人标识信息识别系统及方法
Mallick et al. Incremental mining of sequential patterns: Progress and challenges
Borges et al. A heuristic to capture longer user web navigation patterns
Chapuis et al. Geodabs: Trajectory indexing meets fingerprinting at scale
Kim et al. IDAR: Fast supergraph search using DAG integration
CN111814148A (zh) 一种基于方法调用图的安卓恶意软件家族聚类方法
CN108111968B (zh) 一种基于泛化的位置隐私保护方法
Wu et al. A nonparametric approach to uncovering connected anomalies by tree shaped priors
CN115037532A (zh) 基于异构图神经网络的恶意域名检测方法及装置
CN111667106B (zh) 一种基于社交网络的用户数据预测方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20201106