趙汝英 張小飛 張道銀 張志明
國網(wǎng)電力科學(xué)研究院信息網(wǎng)絡(luò)安全實(shí)驗(yàn)室 江蘇 210061
互聯(lián)網(wǎng)的快速發(fā)展改變了信息的傳播方式和人們的生活方式,它為人們帶來巨大便利的同時(shí),也為不法分子從事非法活動(dòng)提供了溫床。不法分子利用互聯(lián)網(wǎng)技術(shù)傳輸竊取的機(jī)密信息、使用翻墻軟件訪問非法網(wǎng)站、在論壇上傳播反動(dòng)言論等,這些行為操作嚴(yán)重?fù)p害了國家利益、破壞了社會(huì)穩(wěn)定,因此,有必要對(duì)此類特殊網(wǎng)絡(luò)通信行為進(jìn)行檢測(cè)。
可疑網(wǎng)絡(luò)通信方式主要有文件傳輸、電子郵件、使用特殊應(yīng)用軟件、訪問論壇和黑名單網(wǎng)站。可疑通信遵循一定的行為模式,通信行為之間存在某些隱藏的關(guān)聯(lián)。使用傳統(tǒng)的統(tǒng)計(jì)學(xué)方法和數(shù)據(jù)庫提供的查詢檢索機(jī)制不能從龐大的數(shù)據(jù)庫中找出這些關(guān)聯(lián)關(guān)系,從而不能為決策者提供有價(jià)值的信息。因此,有必要引入數(shù)據(jù)挖掘方法挖掘可疑通信行為,發(fā)現(xiàn)行為關(guān)聯(lián),并根據(jù)挖掘出的關(guān)聯(lián)規(guī)則尋找發(fā)生了可疑通信行為的用戶。
由于數(shù)據(jù)的稀疏性及關(guān)聯(lián)規(guī)則一般產(chǎn)生于較高的概念層次中的特性,且不同通信行為及其屬性對(duì)可疑通信判斷的影響程度不同,本文選擇多層次加權(quán)關(guān)聯(lián)規(guī)則挖掘算法對(duì)可疑通信行為進(jìn)行數(shù)據(jù)挖掘。
通過對(duì)互聯(lián)網(wǎng)上可疑通信行為進(jìn)行數(shù)據(jù)采集和數(shù)據(jù)還原,將得到的通信行為信息寫入對(duì)應(yīng)的行為數(shù)據(jù)庫表,如文件傳輸數(shù)據(jù)庫表、收發(fā)郵件數(shù)據(jù)庫表等,這些數(shù)據(jù)庫表即為數(shù)據(jù)挖掘的原始數(shù)據(jù)源。
利用多層次加權(quán)關(guān)聯(lián)規(guī)則挖掘可疑通信主要分為數(shù)據(jù)準(zhǔn)備、建立層次結(jié)構(gòu)、數(shù)據(jù)挖掘和結(jié)果表達(dá)四個(gè)步驟。
數(shù)據(jù)準(zhǔn)備包括對(duì)數(shù)據(jù)集成、選擇和預(yù)處理。
由于本文選擇已經(jīng)存在于數(shù)據(jù)庫中的數(shù)據(jù)作為數(shù)據(jù)源,因此不需要再次數(shù)據(jù)集成。
數(shù)據(jù)選擇是指從數(shù)據(jù)庫表中選擇用戶真正關(guān)心的、對(duì)判斷通信行為是否可疑有影響的屬性,過濾正常的通信行為,從而減少數(shù)據(jù)處理范圍,對(duì)用戶實(shí)際關(guān)心的數(shù)據(jù)進(jìn)行挖掘,降低計(jì)算復(fù)雜度,提高挖掘效率和挖掘質(zhì)量。
數(shù)據(jù)預(yù)處理是刪除數(shù)據(jù)庫表中的冗余數(shù)據(jù)、推導(dǎo)遺漏數(shù)據(jù)、消除噪聲、合并同類項(xiàng)、消除不一致的數(shù)據(jù)等。
為了使挖掘出的關(guān)聯(lián)規(guī)則符合用戶預(yù)期,在數(shù)據(jù)準(zhǔn)備階段,本文由用戶設(shè)置數(shù)據(jù)過濾條件,針對(duì)用戶設(shè)置篩選出有用數(shù)據(jù)、清除冗余數(shù)據(jù),完成數(shù)據(jù)選擇和預(yù)處理。
具體設(shè)置如下:
(1) 選擇關(guān)心的行為屬性。
(2) 對(duì)取值范圍較大的屬性將取值歸類成有限的幾類,即將數(shù)值型數(shù)據(jù)轉(zhuǎn)換成有限的類別型數(shù)據(jù)。
(3) 設(shè)置用戶關(guān)心的黑名單網(wǎng)站、敏感詞匯等,為限定屬性取值做準(zhǔn)備。
(4) 設(shè)置數(shù)據(jù)過濾條件,縮小待挖掘數(shù)據(jù)范圍。設(shè)置事件持續(xù)時(shí)間,以便將各類通信行為關(guān)聯(lián)起來。
(5) 設(shè)置通信行為及各屬性的重要程度,以確定其權(quán)重。
(6) 設(shè)置數(shù)據(jù)挖掘的最小支持度和最小置信度。
根據(jù)上述用戶設(shè)置,對(duì)數(shù)據(jù)做如下預(yù)處理:
首先由用戶關(guān)心的屬性組成屬性列,從原通信行為數(shù)據(jù)庫中構(gòu)造新的數(shù)據(jù)庫表。
其次根據(jù)屬性列取值歸類情況,對(duì)部分屬性取值進(jìn)行轉(zhuǎn)換。
然后根據(jù)數(shù)據(jù)過濾條件篩選出符合要求的待挖掘數(shù)據(jù),過濾噪聲數(shù)據(jù)。
接著由用戶設(shè)定的“事件持續(xù)時(shí)間”關(guān)聯(lián)同一上網(wǎng)賬號(hào)的通信行為,構(gòu)造形如表1的數(shù)據(jù)庫表,表中的一行表征一個(gè)上網(wǎng)賬號(hào)的一次通信事件,表中的列表示事件中的通信操作,除“賬號(hào)”屬性列外每列取值為該操作的屬性取值。
表1 通信事件表
最后根據(jù)用戶設(shè)定的通信行為及其屬性的重要程度,利用模糊層次分析法確定各通信行為及屬性的權(quán)重。
為了使用多層次加權(quán)關(guān)聯(lián)規(guī)則挖掘算法進(jìn)行數(shù)據(jù)挖掘,需要建立通信行為及屬性的層次關(guān)系,確定通信行為屬性與通信行為間的概念層次樹。本文根據(jù)通信行為分類及各自屬性建立層次結(jié)構(gòu),可疑通信檢測(cè)是最高層(第 0層),各通信行為是第1層,通信行為的不同屬性是第2層,屬性的不同取值為第 3層。為了數(shù)據(jù)處理方便,使用文獻(xiàn)[17]中提出的一般化識(shí)別碼(GID)對(duì)通信行為及屬性進(jìn)行編碼,將不同形式的行為屬性取值統(tǒng)一用一串?dāng)?shù)字標(biāo)識(shí)。
對(duì)通信行為及其屬性建立層次結(jié)構(gòu)后,每個(gè)節(jié)點(diǎn)都是有序的,從根節(jié)點(diǎn)到每個(gè)子節(jié)點(diǎn)的路徑是惟一的,所有子節(jié)點(diǎn)都可以用惟一的GID編碼標(biāo)識(shí),每個(gè)GID編碼用3位數(shù)字表示。一次通信行為包含了幾類行為屬性,反過來,一組行為屬性的GID編碼可以用來表征一次通信行為。這種用GID編碼表示通信行為的方法可以有效簡(jiǎn)化數(shù)據(jù)挖掘時(shí)的處理復(fù)雜度,有助于提高挖掘效率。利用這種方法對(duì)表1通信事件表中的屬性列取值進(jìn)行轉(zhuǎn)換,形成如表2的新數(shù)據(jù)庫表。
表2 GID編碼后的通信事件表
為了尋找所有可疑通信行為模式,挖掘時(shí)只考慮通信事件表中的行為操作,不涉及上網(wǎng)賬號(hào)。完成數(shù)據(jù)挖掘后,系統(tǒng)根據(jù)找出的可疑通信行為模式在數(shù)據(jù)庫表中進(jìn)行匹配,找出發(fā)生了可疑通信行為的用戶,給出可疑通信行為分析報(bào)告。
使用多層次加權(quán)關(guān)聯(lián)規(guī)則算法挖掘可疑通信行為模式主要分為三個(gè)步驟:構(gòu)造加權(quán)FP-tree,在加權(quán)FP-tree上挖掘頻繁模式集,根據(jù)頻繁模式集得出關(guān)聯(lián)規(guī)則。
步驟一:構(gòu)造加權(quán)FP-tree
輸入:經(jīng)過GID編碼的通信事件表T(忽略上網(wǎng)賬號(hào)屬性列),概念層次樹Tree,最小支持度計(jì)數(shù)min_count,最小加權(quán)支持度 minsup
輸出:加權(quán)FP-tree
過程:
第一次掃描通信事件表T,對(duì)于每個(gè)事件中的每個(gè)行為屬性,從概念層次樹Tree中找出其祖先,逐一添加到該事件中。掃描每個(gè)事件記錄,刪除其中重復(fù)的祖先。
第二次掃描通信事件表 T,找出支持度計(jì)數(shù)大于min_count的所有1-候選項(xiàng)集 C1,根據(jù)數(shù)據(jù)預(yù)處理階段得到的通信行為/通信行為屬性權(quán)重計(jì)算加權(quán)支持度,得到 1-加權(quán)頻繁項(xiàng)集L1,并按照加權(quán)支持度降序排列,生成加權(quán)頻繁項(xiàng)目列表L。刪除Tree中非頻繁的祖先項(xiàng)。
創(chuàng)建加權(quán)TP-tree的根節(jié)點(diǎn)root,標(biāo)記為NULL。對(duì)每個(gè)事件,按照 L中的順序?qū)⒚總€(gè)事件中的頻繁項(xiàng)排序,記作[p|P],其中p是第 1個(gè)元素,P為列表的剩余部分, 調(diào)用InsertTree([p|P],root)。其中 InsertTree([p|P])。
步驟二:在加權(quán)FP-tree上產(chǎn)生加權(quán)頻繁模式集
輸入:加權(quán)FP-tree,概念層次樹Tree,最小加權(quán)支持度minsup
輸出:加權(quán)頻繁模式集
過程:調(diào)用ML-WFP (加權(quán)FP-tree,null)
其中 BuildConditionTree(B)具體過程見 1.2節(jié)中多層次加權(quán)關(guān)聯(lián)規(guī)則算法ML-WFP算法描述。
步驟三:生成關(guān)聯(lián)規(guī)則
對(duì)于任意一個(gè)頻繁屬性集X,找出X的所有非空子集Y,如果有Sup(X)/Sup(Y)≧minConf,就生成關(guān)聯(lián)規(guī)則Y?X-Y。
同樣地,對(duì)于步驟二得到的加權(quán)頻繁模式集利用上述方法生成可疑通信行為的關(guān)聯(lián)規(guī)則。
通過數(shù)據(jù)準(zhǔn)備、建立層次結(jié)構(gòu)、數(shù)據(jù)挖掘三個(gè)步驟,最終挖掘出了可疑通信行為間的關(guān)聯(lián)規(guī)則。有意義的關(guān)聯(lián)規(guī)則應(yīng)是能夠根據(jù)該關(guān)聯(lián)規(guī)則判斷某上網(wǎng)賬號(hào)用戶的通信行為是否可疑,從而找出目標(biāo)網(wǎng)絡(luò)內(nèi)所有進(jìn)行了可疑通信行為的上網(wǎng)賬號(hào)。
結(jié)果表達(dá)不僅是把挖掘結(jié)果呈現(xiàn)給用戶,還需要對(duì)信息進(jìn)行過濾處理,把最有價(jià)值的信息區(qū)分出來,提交給用戶。如果挖掘出的規(guī)則不能令用戶滿意,需要從數(shù)據(jù)準(zhǔn)備階段開始重復(fù)數(shù)據(jù)挖掘過程。
在本節(jié)中,通過在以太網(wǎng)上搭建測(cè)試環(huán)境來驗(yàn)證可疑通信數(shù)據(jù)挖掘模型的有效性。本文選擇數(shù)據(jù)庫中70%的數(shù)據(jù)作為訓(xùn)練樣本,挖掘可疑通信行為模式,用剩余30%的數(shù)據(jù)作為測(cè)試樣本,檢驗(yàn)挖掘出的可疑通信行為關(guān)聯(lián)規(guī)則是否有效。
經(jīng)過用戶設(shè)置、數(shù)據(jù)處理、建立層次結(jié)構(gòu),根據(jù)用戶設(shè)定的minSup和minConf,使用ML-WFP多層次加權(quán)關(guān)聯(lián)規(guī)則挖掘算法對(duì)GID編碼后的數(shù)據(jù)庫表進(jìn)行挖掘,得出關(guān)聯(lián)規(guī)則如表3所示。
表3 可疑通信行為關(guān)聯(lián)規(guī)則
得到多層次加權(quán)關(guān)聯(lián)規(guī)則后,需要具體解釋各規(guī)則的含義、刪除不合要求的規(guī)則,在此基礎(chǔ)上分析數(shù)據(jù)挖掘結(jié)果,并根據(jù)挖掘出的關(guān)聯(lián)規(guī)則對(duì)測(cè)試樣本中的數(shù)據(jù)進(jìn)行檢測(cè),找出測(cè)試樣本中發(fā)生了可疑通信行為的上網(wǎng)賬號(hào),從而驗(yàn)證關(guān)聯(lián)規(guī)則的有效性。
多層次加權(quán)關(guān)聯(lián)規(guī)則結(jié)果解釋如表4所示。
表4 可疑通信行為關(guān)聯(lián)規(guī)則結(jié)果解釋
通過結(jié)果解釋表4中可以看出有些關(guān)聯(lián)規(guī)則具有普遍意義,是挖掘前可以預(yù)料的,例如大多訪問黑名單網(wǎng)站都使用了特殊應(yīng)用軟件,傳輸文件的主要方式之一是電子郵件等。這些具有普遍意義的關(guān)聯(lián)規(guī)則也驗(yàn)證了本文提出的多層次加權(quán)關(guān)聯(lián)規(guī)則算法的合理性。另外一些關(guān)聯(lián)規(guī)則描述了通信行為及屬性間的隱藏關(guān)系,如在凌晨使用Gmail發(fā)送的帶附件的郵件中60%包含了敏感詞匯,這類規(guī)則揭示了可疑通信的行為模式,根據(jù)行為模式可以判斷目標(biāo)網(wǎng)絡(luò)中的其他用戶的通信行為是否可疑。
本文根據(jù)可疑通信行為特點(diǎn),提出使用多層次加權(quán)關(guān)聯(lián)規(guī)則進(jìn)行數(shù)據(jù)挖掘。針對(duì)目前沒有一種挖掘算法能同時(shí)滿足多層次關(guān)聯(lián)規(guī)則挖掘和加權(quán)關(guān)聯(lián)規(guī)則挖掘的問題,在現(xiàn)有的ML-FP多層次關(guān)聯(lián)規(guī)則挖掘算法和MWFP加權(quán)關(guān)聯(lián)規(guī)則挖掘算法基礎(chǔ)上,提出了基于FP-tree的多層次加權(quán)關(guān)聯(lián)規(guī)則算法,并應(yīng)用于可疑通信行為挖掘。但算法的效率及關(guān)聯(lián)規(guī)則評(píng)估方面需要進(jìn)一步研究。
[1]劉君強(qiáng),孫曉瑩.直接挖掘跨層關(guān)聯(lián)規(guī)則的新方法[J].計(jì)算機(jī)工程與應(yīng)用.2002.
[2]任家東,任東英,高偉.分布式多層次關(guān)聯(lián)規(guī)則挖掘[J].計(jì)算機(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著,范明,孟小峰譯.數(shù)據(jù)挖掘:概念與技術(shù)[M].北京:機(jī)械工業(yè)出版社.2007.
[15]胡向前.基于FP_tree的多層次關(guān)聯(lián)規(guī)則挖掘算法研究[D].重慶大學(xué).2005.
[16]王艷,薛海燕,李玲玲等.一種改進(jìn)的加權(quán)頻繁項(xiàng)集挖掘算法[J].計(jì)算機(jī)應(yīng)用.2010.
[17]王珊.數(shù)據(jù)倉庫技術(shù)及分聯(lián)機(jī)分析處理[M].北京:科學(xué)出版社.1998.
[18]陸建江,張亞飛,宋自林.模糊管理規(guī)則的研究與應(yīng)用[M].北京:科學(xué)出版社.2008.