特殊网络通信行为的数据挖掘与分析
2012-09-17赵汝英张小飞张道银张志明
赵汝英 张小飞 张道银 张志明
国网电力科学研究院信息网络安全实验室 江苏 210061
0 引言
互联网的快速发展改变了信息的传播方式和人们的生活方式,它为人们带来巨大便利的同时,也为不法分子从事非法活动提供了温床。不法分子利用互联网技术传输窃取的机密信息、使用翻墙软件访问非法网站、在论坛上传播反动言论等,这些行为操作严重损害了国家利益、破坏了社会稳定,因此,有必要对此类特殊网络通信行为进行检测。
可疑网络通信方式主要有文件传输、电子邮件、使用特殊应用软件、访问论坛和黑名单网站。可疑通信遵循一定的行为模式,通信行为之间存在某些隐藏的关联。使用传统的统计学方法和数据库提供的查询检索机制不能从庞大的数据库中找出这些关联关系,从而不能为决策者提供有价值的信息。因此,有必要引入数据挖掘方法挖掘可疑通信行为,发现行为关联,并根据挖掘出的关联规则寻找发生了可疑通信行为的用户。
由于数据的稀疏性及关联规则一般产生于较高的概念层次中的特性,且不同通信行为及其属性对可疑通信判断的影响程度不同,本文选择多层次加权关联规则挖掘算法对可疑通信行为进行数据挖掘。
1 可疑通信数据挖掘
通过对互联网上可疑通信行为进行数据采集和数据还原,将得到的通信行为信息写入对应的行为数据库表,如文件传输数据库表、收发邮件数据库表等,这些数据库表即为数据挖掘的原始数据源。
利用多层次加权关联规则挖掘可疑通信主要分为数据准备、建立层次结构、数据挖掘和结果表达四个步骤。
1.1 数据准备
数据准备包括对数据集成、选择和预处理。
由于本文选择已经存在于数据库中的数据作为数据源,因此不需要再次数据集成。
数据选择是指从数据库表中选择用户真正关心的、对判断通信行为是否可疑有影响的属性,过滤正常的通信行为,从而减少数据处理范围,对用户实际关心的数据进行挖掘,降低计算复杂度,提高挖掘效率和挖掘质量。
数据预处理是删除数据库表中的冗余数据、推导遗漏数据、消除噪声、合并同类项、消除不一致的数据等。
为了使挖掘出的关联规则符合用户预期,在数据准备阶段,本文由用户设置数据过滤条件,针对用户设置筛选出有用数据、清除冗余数据,完成数据选择和预处理。
具体设置如下:
(1) 选择关心的行为属性。
(2) 对取值范围较大的属性将取值归类成有限的几类,即将数值型数据转换成有限的类别型数据。
(3) 设置用户关心的黑名单网站、敏感词汇等,为限定属性取值做准备。
(4) 设置数据过滤条件,缩小待挖掘数据范围。设置事件持续时间,以便将各类通信行为关联起来。
(5) 设置通信行为及各属性的重要程度,以确定其权重。
(6) 设置数据挖掘的最小支持度和最小置信度。
根据上述用户设置,对数据做如下预处理:
首先由用户关心的属性组成属性列,从原通信行为数据库中构造新的数据库表。
其次根据属性列取值归类情况,对部分属性取值进行转换。
然后根据数据过滤条件筛选出符合要求的待挖掘数据,过滤噪声数据。
接着由用户设定的“事件持续时间”关联同一上网账号的通信行为,构造形如表1的数据库表,表中的一行表征一个上网账号的一次通信事件,表中的列表示事件中的通信操作,除“账号”属性列外每列取值为该操作的属性取值。
表1 通信事件表
最后根据用户设定的通信行为及其属性的重要程度,利用模糊层次分析法确定各通信行为及属性的权重。
1.2 建立层次结构
为了使用多层次加权关联规则挖掘算法进行数据挖掘,需要建立通信行为及属性的层次关系,确定通信行为属性与通信行为间的概念层次树。本文根据通信行为分类及各自属性建立层次结构,可疑通信检测是最高层(第 0层),各通信行为是第1层,通信行为的不同属性是第2层,属性的不同取值为第 3层。为了数据处理方便,使用文献[17]中提出的一般化识别码(GID)对通信行为及属性进行编码,将不同形式的行为属性取值统一用一串数字标识。
对通信行为及其属性建立层次结构后,每个节点都是有序的,从根节点到每个子节点的路径是惟一的,所有子节点都可以用惟一的GID编码标识,每个GID编码用3位数字表示。一次通信行为包含了几类行为属性,反过来,一组行为属性的GID编码可以用来表征一次通信行为。这种用GID编码表示通信行为的方法可以有效简化数据挖掘时的处理复杂度,有助于提高挖掘效率。利用这种方法对表1通信事件表中的属性列取值进行转换,形成如表2的新数据库表。
表2 GID编码后的通信事件表
1.3 数据挖掘
为了寻找所有可疑通信行为模式,挖掘时只考虑通信事件表中的行为操作,不涉及上网账号。完成数据挖掘后,系统根据找出的可疑通信行为模式在数据库表中进行匹配,找出发生了可疑通信行为的用户,给出可疑通信行为分析报告。
使用多层次加权关联规则算法挖掘可疑通信行为模式主要分为三个步骤:构造加权FP-tree,在加权FP-tree上挖掘频繁模式集,根据频繁模式集得出关联规则。
步骤一:构造加权FP-tree
输入:经过GID编码的通信事件表T(忽略上网账号属性列),概念层次树Tree,最小支持度计数min_count,最小加权支持度 minsup
输出:加权FP-tree
过程:
第一次扫描通信事件表T,对于每个事件中的每个行为属性,从概念层次树Tree中找出其祖先,逐一添加到该事件中。扫描每个事件记录,删除其中重复的祖先。
第二次扫描通信事件表 T,找出支持度计数大于min_count的所有1-候选项集 C1,根据数据预处理阶段得到的通信行为/通信行为属性权重计算加权支持度,得到 1-加权频繁项集L1,并按照加权支持度降序排列,生成加权频繁项目列表L。删除Tree中非频繁的祖先项。
创建加权TP-tree的根节点root,标记为NULL。对每个事件,按照 L中的顺序将每个事件中的频繁项排序,记作[p|P],其中p是第 1个元素,P为列表的剩余部分, 调用InsertTree([p|P],root)。其中 InsertTree([p|P])。
步骤二:在加权FP-tree上产生加权频繁模式集
输入:加权FP-tree,概念层次树Tree,最小加权支持度minsup
输出:加权频繁模式集
过程:调用ML-WFP (加权FP-tree,null)
其中 BuildConditionTree(B)具体过程见 1.2节中多层次加权关联规则算法ML-WFP算法描述。
步骤三:生成关联规则
对于任意一个频繁属性集X,找出X的所有非空子集Y,如果有Sup(X)/Sup(Y)≧minConf,就生成关联规则Y⇒X-Y。
同样地,对于步骤二得到的加权频繁模式集利用上述方法生成可疑通信行为的关联规则。
1.4 结果表达
通过数据准备、建立层次结构、数据挖掘三个步骤,最终挖掘出了可疑通信行为间的关联规则。有意义的关联规则应是能够根据该关联规则判断某上网账号用户的通信行为是否可疑,从而找出目标网络内所有进行了可疑通信行为的上网账号。
结果表达不仅是把挖掘结果呈现给用户,还需要对信息进行过滤处理,把最有价值的信息区分出来,提交给用户。如果挖掘出的规则不能令用户满意,需要从数据准备阶段开始重复数据挖掘过程。
2 实验测试
在本节中,通过在以太网上搭建测试环境来验证可疑通信数据挖掘模型的有效性。本文选择数据库中70%的数据作为训练样本,挖掘可疑通信行为模式,用剩余30%的数据作为测试样本,检验挖掘出的可疑通信行为关联规则是否有效。
经过用户设置、数据处理、建立层次结构,根据用户设定的minSup和minConf,使用ML-WFP多层次加权关联规则挖掘算法对GID编码后的数据库表进行挖掘,得出关联规则如表3所示。
表3 可疑通信行为关联规则
得到多层次加权关联规则后,需要具体解释各规则的含义、删除不合要求的规则,在此基础上分析数据挖掘结果,并根据挖掘出的关联规则对测试样本中的数据进行检测,找出测试样本中发生了可疑通信行为的上网账号,从而验证关联规则的有效性。
多层次加权关联规则结果解释如表4所示。
表4 可疑通信行为关联规则结果解释
通过结果解释表4中可以看出有些关联规则具有普遍意义,是挖掘前可以预料的,例如大多访问黑名单网站都使用了特殊应用软件,传输文件的主要方式之一是电子邮件等。这些具有普遍意义的关联规则也验证了本文提出的多层次加权关联规则算法的合理性。另外一些关联规则描述了通信行为及属性间的隐藏关系,如在凌晨使用Gmail发送的带附件的邮件中60%包含了敏感词汇,这类规则揭示了可疑通信的行为模式,根据行为模式可以判断目标网络中的其他用户的通信行为是否可疑。
3 结论
本文根据可疑通信行为特点,提出使用多层次加权关联规则进行数据挖掘。针对目前没有一种挖掘算法能同时满足多层次关联规则挖掘和加权关联规则挖掘的问题,在现有的ML-FP多层次关联规则挖掘算法和MWFP加权关联规则挖掘算法基础上,提出了基于FP-tree的多层次加权关联规则算法,并应用于可疑通信行为挖掘。但算法的效率及关联规则评估方面需要进一步研究。
[1]刘君强,孙晓莹.直接挖掘跨层关联规则的新方法[J].计算机工程与应用.2002.
[2]任家东,任东英,高伟.分布式多层次关联规则挖掘[J].计算机工程.2003.
[3]Agrawal R,Srikant R. Fast algorithms of mining association rules between sets of items in large databases[C].Proceedings of the ACM SIGMOD International Conference on the Management of Data. Washington D.C.,USA.1993.
[4]Han J W,Pei J,Yin Y W.Mining frequent patterns without candidate generation[C].Proceedings of the ACM-SIGMOD International Conference on the Management of Data. Dallas,TX,USA.2000.
[5]Pommerenke C,Friedrich B,Johl T,et al. A Modified Apriori Algorithm for Analysing High-Dimensional Gene Data[J].Intelligent Data Engineering and Automated Learning.2011.
[6]Sakai H,Ishibashi,Koba K,et al.Rules and Apriori Algorithm in Non-deterministic Information Systems[J].Transactions on Rough Sets IX.2008.
[7]Kronberger G,Affenzeller M. Market Basket Analysis of Retail Data:Supervised Learning Approach[J].Computer Aided Systems Theory – EUROCAST 2011.
[8]Mendes A C,Antunes C.Pattern Mining with Natural Language Processing:An Exploratory Approach[J].Machine Learning and Data Mining in Pattern Recognition.2009.
[9]Zhu Q X,Lin X Y.Depth First Generation of Frequent Patterns Without Candidate Generation[J].Emerging Technologies in Knowledge Discovery and Data Mining.2007.
[10]Kiran R. U,Reddy P.K.Mining Rare Association Rules in the Datasets with Widely Varying Items’Frequencies[J].Database Systems for Advanced Applications.2010.
[11]Adnan M,Alhajj R. DRFP-tree:disk-resident frequent pattern tree[J].Applied Intelligence.2009.
[12]Kwiatkowski P,Nguyen S H,Nguyen H S.On Scalability of Rough Set Methods[J]. Information Processing and Management of Uncertainty in Knowledge-Based Systems.2010.
[13]Ye Y F,Wang D D,Li T,et al. An intelligent PE-malware detection system based on association mining[J].Journal in Computer Virology.2008.
[14]Han J W,Micheline K著,范明,孟小峰译.数据挖掘:概念与技术[M].北京:机械工业出版社.2007.
[15]胡向前.基于FP_tree的多层次关联规则挖掘算法研究[D].重庆大学.2005.
[16]王艳,薛海燕,李玲玲等.一种改进的加权频繁项集挖掘算法[J].计算机应用.2010.
[17]王珊.数据仓库技术及分联机分析处理[M].北京:科学出版社.1998.
[18]陆建江,张亚飞,宋自林.模糊管理规则的研究与应用[M].北京:科学出版社.2008.