趙汝英 張小飛 張道銀 張志明
國網電力科學研究院信息網絡安全實驗室 江蘇 210061
互聯網的快速發展改變了信息的傳播方式和人們的生活方式,它為人們帶來巨大便利的同時,也為不法分子從事非法活動提供了溫床。不法分子利用互聯網技術傳輸竊取的機密信息、使用翻墻軟件訪問非法網站、在論壇上傳播反動言論等,這些行為操作嚴重損害了國家利益、破壞了社會穩定,因此,有必要對此類特殊網絡通信行為進行檢測。
可疑網絡通信方式主要有文件傳輸、電子郵件、使用特殊應用軟件、訪問論壇和黑名單網站。可疑通信遵循一定的行為模式,通信行為之間存在某些隱藏的關聯。使用傳統的統計學方法和數據庫提供的查詢檢索機制不能從龐大的數據庫中找出這些關聯關系,從而不能為決策者提供有價值的信息。因此,有必要引入數據挖掘方法挖掘可疑通信行為,發現行為關聯,并根據挖掘出的關聯規則尋找發生了可疑通信行為的用戶。
由于數據的稀疏性及關聯規則一般產生于較高的概念層次中的特性,且不同通信行為及其屬性對可疑通信判斷的影響程度不同,本文選擇多層次加權關聯規則挖掘算法對可疑通信行為進行數據挖掘。
通過對互聯網上可疑通信行為進行數據采集和數據還原,將得到的通信行為信息寫入對應的行為數據庫表,如文件傳輸數據庫表、收發郵件數據庫表等,這些數據庫表即為數據挖掘的原始數據源。
利用多層次加權關聯規則挖掘可疑通信主要分為數據準備、建立層次結構、數據挖掘和結果表達四個步驟。
數據準備包括對數據集成、選擇和預處理。
由于本文選擇已經存在于數據庫中的數據作為數據源,因此不需要再次數據集成。
數據選擇是指從數據庫表中選擇用戶真正關心的、對判斷通信行為是否可疑有影響的屬性,過濾正常的通信行為,從而減少數據處理范圍,對用戶實際關心的數據進行挖掘,降低計算復雜度,提高挖掘效率和挖掘質量。
數據預處理是刪除數據庫表中的冗余數據、推導遺漏數據、消除噪聲、合并同類項、消除不一致的數據等。
為了使挖掘出的關聯規則符合用戶預期,在數據準備階段,本文由用戶設置數據過濾條件,針對用戶設置篩選出有用數據、清除冗余數據,完成數據選擇和預處理。
具體設置如下:
(1) 選擇關心的行為屬性。
(2) 對取值范圍較大的屬性將取值歸類成有限的幾類,即將數值型數據轉換成有限的類別型數據。
(3) 設置用戶關心的黑名單網站、敏感詞匯等,為限定屬性取值做準備。
(4) 設置數據過濾條件,縮小待挖掘數據范圍。設置事件持續時間,以便將各類通信行為關聯起來。
(5) 設置通信行為及各屬性的重要程度,以確定其權重。
(6) 設置數據挖掘的最小支持度和最小置信度。
根據上述用戶設置,對數據做如下預處理:
首先由用戶關心的屬性組成屬性列,從原通信行為數據庫中構造新的數據庫表。
其次根據屬性列取值歸類情況,對部分屬性取值進行轉換。
然后根據數據過濾條件篩選出符合要求的待挖掘數據,過濾噪聲數據。
接著由用戶設定的“事件持續時間”關聯同一上網賬號的通信行為,構造形如表1的數據庫表,表中的一行表征一個上網賬號的一次通信事件,表中的列表示事件中的通信操作,除“賬號”屬性列外每列取值為該操作的屬性取值。

表1 通信事件表
最后根據用戶設定的通信行為及其屬性的重要程度,利用模糊層次分析法確定各通信行為及屬性的權重。
為了使用多層次加權關聯規則挖掘算法進行數據挖掘,需要建立通信行為及屬性的層次關系,確定通信行為屬性與通信行為間的概念層次樹。本文根據通信行為分類及各自屬性建立層次結構,可疑通信檢測是最高層(第 0層),各通信行為是第1層,通信行為的不同屬性是第2層,屬性的不同取值為第 3層。為了數據處理方便,使用文獻[17]中提出的一般化識別碼(GID)對通信行為及屬性進行編碼,將不同形式的行為屬性取值統一用一串數字標識。
對通信行為及其屬性建立層次結構后,每個節點都是有序的,從根節點到每個子節點的路徑是惟一的,所有子節點都可以用惟一的GID編碼標識,每個GID編碼用3位數字表示。一次通信行為包含了幾類行為屬性,反過來,一組行為屬性的GID編碼可以用來表征一次通信行為。這種用GID編碼表示通信行為的方法可以有效簡化數據挖掘時的處理復雜度,有助于提高挖掘效率。利用這種方法對表1通信事件表中的屬性列取值進行轉換,形成如表2的新數據庫表。

表2 GID編碼后的通信事件表
為了尋找所有可疑通信行為模式,挖掘時只考慮通信事件表中的行為操作,不涉及上網賬號。完成數據挖掘后,系統根據找出的可疑通信行為模式在數據庫表中進行匹配,找出發生了可疑通信行為的用戶,給出可疑通信行為分析報告。
使用多層次加權關聯規則算法挖掘可疑通信行為模式主要分為三個步驟:構造加權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。
同樣地,對于步驟二得到的加權頻繁模式集利用上述方法生成可疑通信行為的關聯規則。
通過數據準備、建立層次結構、數據挖掘三個步驟,最終挖掘出了可疑通信行為間的關聯規則。有意義的關聯規則應是能夠根據該關聯規則判斷某上網賬號用戶的通信行為是否可疑,從而找出目標網絡內所有進行了可疑通信行為的上網賬號。
結果表達不僅是把挖掘結果呈現給用戶,還需要對信息進行過濾處理,把最有價值的信息區分出來,提交給用戶。如果挖掘出的規則不能令用戶滿意,需要從數據準備階段開始重復數據挖掘過程。
在本節中,通過在以太網上搭建測試環境來驗證可疑通信數據挖掘模型的有效性。本文選擇數據庫中70%的數據作為訓練樣本,挖掘可疑通信行為模式,用剩余30%的數據作為測試樣本,檢驗挖掘出的可疑通信行為關聯規則是否有效。
經過用戶設置、數據處理、建立層次結構,根據用戶設定的minSup和minConf,使用ML-WFP多層次加權關聯規則挖掘算法對GID編碼后的數據庫表進行挖掘,得出關聯規則如表3所示。

表3 可疑通信行為關聯規則
得到多層次加權關聯規則后,需要具體解釋各規則的含義、刪除不合要求的規則,在此基礎上分析數據挖掘結果,并根據挖掘出的關聯規則對測試樣本中的數據進行檢測,找出測試樣本中發生了可疑通信行為的上網賬號,從而驗證關聯規則的有效性。
多層次加權關聯規則結果解釋如表4所示。

表4 可疑通信行為關聯規則結果解釋
通過結果解釋表4中可以看出有些關聯規則具有普遍意義,是挖掘前可以預料的,例如大多訪問黑名單網站都使用了特殊應用軟件,傳輸文件的主要方式之一是電子郵件等。這些具有普遍意義的關聯規則也驗證了本文提出的多層次加權關聯規則算法的合理性。另外一些關聯規則描述了通信行為及屬性間的隱藏關系,如在凌晨使用Gmail發送的帶附件的郵件中60%包含了敏感詞匯,這類規則揭示了可疑通信的行為模式,根據行為模式可以判斷目標網絡中的其他用戶的通信行為是否可疑。
本文根據可疑通信行為特點,提出使用多層次加權關聯規則進行數據挖掘。針對目前沒有一種挖掘算法能同時滿足多層次關聯規則挖掘和加權關聯規則挖掘的問題,在現有的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.