趙功勛,陳 運,楊義先
(1.成都信息工程學院計算機學院,四川成都610225;2.北京郵電大學,北京100876)
隨著互聯(lián)網(wǎng)技術及應用的普及,以及電子商務的飛速發(fā)展。越來越多的商業(yè)活動開始通過網(wǎng)絡進行交易,由于巨大的經(jīng)濟利益,網(wǎng)上交易在給人們帶來方便的同時,也成了不法分子的攻擊目標。從中國反釣魚聯(lián)盟(APAC)發(fā)布的數(shù)據(jù)來看,截止到2014年2月,聯(lián)盟累計認定并處理的釣魚網(wǎng)站多達170203個。
網(wǎng)絡釣魚[1](Phishing)是指釣魚者利用具有欺騙性的電子郵件或者仿造正規(guī)的網(wǎng)站進行網(wǎng)絡詐騙。通過引導用戶點擊,最終鏈接到自己精心設計的釣魚頁面達到欺騙的目的。通常是獲得類似于銀行賬戶名,信用卡號等敏感信息?,F(xiàn)今,常見的網(wǎng)絡欺詐手段如下:(1)注冊和真實域名十分相似的網(wǎng)址,如釣魚者假冒網(wǎng)站域名和真實域名十分相似,這樣的方式很隱蔽,不容易被用戶察覺,因此該方法的欺騙率很高。如www.lcbc.com.cn假冒www.icbc.com.cn。(2)偽造與正規(guī)網(wǎng)站具有高相似度的頁面。假冒網(wǎng)站通常會利用正常頁面的大多數(shù)信息,如正規(guī)網(wǎng)站的logo、圖表、新聞內(nèi)容和鏈接等,在頁面的很少部分進行更改,如賬號密碼輸入界面,達到迷惑用戶的目的。(3)通過編寫在網(wǎng)頁的腳本,對頁面進行修改,最終鏈接到釣魚頁面。
目前,對于釣魚頁面的檢測,有基于黑白名單庫,基于頁面鏈接[2],基于網(wǎng)頁文本特征,基于機器學習[3],視覺相似度[4-5]等方法。基于視覺相似度的檢測方法,雖取得一些效果。但存在很多問題,特別是在將整體頁面做成圖片進行欺詐的情況下,檢測難度大,目前很難實際大范圍應用。另外,對于腳本代碼的檢測,是需要人工進行分析,同樣在應用方面受到受限。
基于釣魚者行為的釣魚頁面檢測能夠很好的與以上各種檢測方式互為補充,也能以較高的準確率對釣魚頁面進行檢測。通常,攻擊者希望用較低的代價部署大規(guī)模的釣魚頁面,因此盡量繞過各種平臺的檢測成為攻擊者著重考慮的目標,為達到較高的攻擊成功率,考慮利用網(wǎng)頁之間的鏈狀結構關系進行網(wǎng)絡釣魚,很好的躲避了檢測。然而,由于這種釣魚頁面規(guī)模性的引入,在某種程度上成為可以被用來追蹤的釣魚者行為特征。基于這種現(xiàn)實情況,挖掘釣魚頁面的鏈狀結構信息,提取結構特征、建立模型,作為檢測釣魚頁面的方法,提高釣魚頁面的檢測能力。
網(wǎng)頁釣魚者行為特征簡單表示為一個樹狀的有向圖,用(r,v,e,t)表示。其中:r表示原始釣魚頁面,頁面用URL(Uniform Resoure Locator)表示。r是有向圖的根節(jié)點。網(wǎng)頁鏈接節(jié)點集用v表示,每個節(jié)點代表一個鏈接,鏈接到網(wǎng)絡中的某項資源。e是所有有向邊的集合。對于任意vi∈v,如果用戶對于vi的請求導致頁面vj的請求,則有vj∈v且< vi,vj>∈e。t代表匯接點的集合。
匯接點代表一條路徑的最后一個節(jié)點,一個匯接點就是最終代表的釣魚頁面,也標志著一次成功的網(wǎng)絡釣魚。描述釣魚者的行為特征如圖1所示。
利用網(wǎng)頁的頻繁子圖[6]結構進行數(shù)據(jù)分析,獲取頁面之間的鏈狀結構關系已成為近幾年來研究的熱點課題,與利用頁面鏈接植入木馬的情景類似[7]。利用頻繁子圖的相關挖掘算法,提取釣魚頁面的鏈接樹結構,獲得共性的圖狀結構特征。如果待檢測的頁面與系統(tǒng)庫的釣魚頁面具有相似的子圖結構,那么可以判斷這些相似的子圖結構能夠在某方面反映二者具有相同的釣魚特征。通過提取這些相同子圖特征,作為判斷未知頁面是否為釣魚頁面的標準,結合傳統(tǒng)的釣魚頁面檢測技術,提高釣魚頁面的檢出率。

圖1 釣魚者行為特征圖

圖2 釣魚網(wǎng)頁鏈接結構實例
圖2是一個偽造在線購物網(wǎng)站進行釣魚的頁面鏈接結構圖,通過網(wǎng)頁的外鏈,用戶最終被引導至網(wǎng)絡釣魚者設計好的頁面,獲取用戶賬號密碼等敏感信息。對應到公式(r,v,e,t)中,r表示節(jié)點1,即https://login.taobao.com/member/login.jhtml,代表原始的釣魚頁面。v在圖2中體現(xiàn)為初始釣魚頁面的外鏈,如節(jié)點2、3、4.在圖2中表示的邊集合e為節(jié)點1到2的邊,1到3的邊,1到4的邊的集合。匯結點t對應圖2中的節(jié)點12,即最終的竊取帳號頁面。
給定集合和支持度閾值minsup,頻繁子圖挖掘的目標是找出所有子圖支持度s(g),滿足s(g)>minsup的子圖g(其中子圖g的支持度定義為包含它的所有圖所占的百分比,GD為圖的集合,g'為同構圖集合)。
頻繁子圖模式的挖掘非常耗時,因為模式的搜索空間是指數(shù)的。為了解釋這項任務的復雜性,考慮包含d個實體的數(shù)據(jù)集。在頻繁項集挖掘中,每個實體是一個項,可能產(chǎn)生2的d次方個候選項集。在頻繁子圖挖掘中,每個實體是一個頂點,頂點到其他頂點的邊的最大值為 d-1。假定唯一的頂點標號,則子圖的總數(shù)是,其中,Cid是選擇i個頂點形成子圖的方法數(shù),而是子圖的頂點之邊的最大值。
將圖的邊 e=(vi,vj)表示為形式 (vi,ni,vj,nj,m)的 5 元組,也即圖的DFS編碼。其中2個節(jié)點標識vi,vj,2個節(jié)點標號ni,nj,1個邊標號m。例如

圖3 標號圖的表示方法

與 GSpan[9-10],CloseSpan[11-14]和FFSM[15]挖掘頻繁子圖算法相比,GraphGen 算法的時間復雜度是,表1為幾種挖掘算法復雜度的對比。

表1 幾種算法時間復雜度比
gSpan算法思想如下:(1)計算輸入圖中所有邊的支持度,刪除輸入圖集合中的非頻繁邊,以頻繁邊作為初始子圖。(2)對k頻繁子圖的最小DFS碼的DFS樹進行最右路經(jīng)擴展,每次增加一條邊,得到k+1候選子圖。(3)若k+1候選子圖不是最小DFS碼形式的,則該圖是冗余的,從候選子圖中刪除。(4)在計算頻繁子圖的支持度時,記錄k頻繁子圖的所有可能情況,這樣k+1候選子圖的支持度就可以通過對k頻繁子圖的所有可能情況進行最右路徑擴展獲得。(5)當某條頻繁邊的所有子節(jié)點都生成后,將該邊從輸入圖集合中刪除,減少輸入圖的集合。算法gSpan通過一個列表維護頻繁子圖的同構圖,這樣做能夠很好地減少制約算法執(zhí)行效率的測試同構次數(shù),但是,算法并不能完全避免子圖的同構測試,且對于邊集的擴展,算法的復雜度也很高O(2n),圖同構的復雜度為O(2n),因此總的時間復雜度是O(2n2n)。
CloseGraph算法類似于gSpan算法,用閉頻繁圖集代替頻繁圖集,以減小頻繁子圖的挖掘的數(shù)量及搜索空間,并在gSpan的基礎上引入等價出現(xiàn)和提前終止的概念。與gSpan算法的思想一致,只是在剪枝的過程中增加一個對閉圖的判斷,如果判斷條件成立,則對圖g擴展,不用再對圖g進行最右路徑擴展。因此在算法的時間復雜度上,二者沒有多大差別。
算法FFSM利用標準鄰接矩陣(Canonical Adjacent Matrix,CAM)對圖進行描述.因此,F(xiàn)FSM不但將子圖同構問題轉(zhuǎn)化成對矩陣的操作,也將圖擴展過程巧妙的轉(zhuǎn)化為矩陣的聯(lián)接操作與矩陣的擴展操作,因為利用矩陣的聯(lián)接以及擴展完成圖的擴展,所以擴展邊的時間復雜性為O(2nm2n),圖同構測試的時間復雜性為O(m2),總的時間復雜度為O(2nm4n)。具有m個節(jié)點的完全圖包含m(m-1)/2條邊,因此,其時間復雜性轉(zhuǎn)化為用頻繁邊數(shù)表示的情況為O(n32n)。
利用的算法是基于如下的步驟:采用深度優(yōu)先算法生成頻繁子樹,算法的復雜度為O(2n),通過參考文獻提出的方法,將子圖同構[16-19]測試的時間復雜度控制在。然后對前一步生成的頻繁子樹進行擴展,以廣度優(yōu)先方式擴展邊用來形成頻繁子圖。綜上,順序完成以上兩步的算法時間復雜度為經(jīng)過測試,在對1萬多個樣本的頻繁子圖挖掘的過程中,不到1分鐘就可以找到所有的頻繁子圖。
釣魚頁面檢測系統(tǒng)由以下幾部分構成,系統(tǒng)能夠有效地檢測釣魚頁面的結構,已經(jīng)應用在實際的釣魚頁面檢測中。
(1)釣魚頁面鏈接分析提取模塊
(2)頻繁子圖挖掘系統(tǒng)
(3)釣魚網(wǎng)頁頻繁子圖模式庫
(4)子圖特征匹配模塊
(5)其他處理模塊
釣魚頁面鏈接分析提取模塊利用網(wǎng)絡爬蟲,爬取釣魚頁面鏈接結構,分析url相互鏈接關系,形成url鏈接關系結構圖。
頻繁子圖挖掘子系統(tǒng)基于GraphGen頻繁子圖模式挖掘算法,針對數(shù)萬級別的網(wǎng)頁釣魚頁面鏈接結構進行分析,挖掘頻繁模式,提取共同的頻繁子圖模式,通過人工分析和驗證,得到頻繁子圖模式庫,作為判斷可疑網(wǎng)頁是否為釣魚網(wǎng)頁的標準。
釣魚頁面頻繁子圖模式庫是基于大量已知的釣魚頁面形成的頁面鏈接結構知識庫。
子圖特征匹配模塊式輔助檢測,通過提取url的圖狀鏈接關系,獲得不同頁面之間的關系結構圖,基于頻繁子圖模式庫,進行子圖特征匹配。如果某一頻繁子圖模式能夠和頁面的結構相匹配,那么就判定該頁面是釣魚頁面。
其他處理模塊可以是傳統(tǒng)的基于黑白名單庫,url特征等進行釣魚頁面檢測。作為一種補充,用來判斷在特征子圖庫中沒有匹配到的頁面。經(jīng)過其他處理模塊判斷為釣魚url的網(wǎng)頁結構添加到已有的頻繁子圖模式庫,用以更新模式庫。圖4為系統(tǒng)流程結構圖。
系統(tǒng)實驗采用的是華為的反釣魚平臺,實驗數(shù)據(jù)集來自APWG,APAC,PhishTank等網(wǎng)站獲取的釣魚頁面的url。系統(tǒng)針對1萬多個url進行分析,包括國內(nèi)外銀行網(wǎng)站以及網(wǎng)購網(wǎng)站,如ebay、淘寶等。通過提取網(wǎng)頁的url鏈接結構圖,使用GraphGen頻繁子圖模式挖掘算法,選取某個支持度閾值(選擇閾值為100)進行頻繁子圖的挖掘。經(jīng)過分析篩選,確定了50個子圖的模式,并將前10個不同模式的出現(xiàn)次數(shù)記錄下來,如表2所示。

圖4 系統(tǒng)流程結構圖

表2 子圖模式出現(xiàn)頻度

圖5 頻繁子圖模式實例
由表2可以看出,模式a出現(xiàn)的次數(shù)最多,進一步分析可知,模式出現(xiàn)頻率比較高的網(wǎng)頁中需要用戶提供個人的敏感信息登陸框,該模式主要出現(xiàn)在一些大型購物網(wǎng)站的頁面結構中,釣魚者通常喜歡頻繁的攻擊這些網(wǎng)購網(wǎng)站,引導用戶,最終將頁面鏈接到精心設計的釣魚頁面上。
模式b(圖5)代表游戲賭博點卡充值類的釣魚url,頁面http://www.levillas.com/中的2個鏈接http://www.tb8899.com/?Intr=34952和http://www.ceo2010.com/?Intr=28628具有相同的頁面結構,均是通過用戶注冊,銀行賬號,手機號等用戶輸入框獲取用戶敏感信息,用戶完成注冊后,在提交頁面時,頁面跳轉(zhuǎn)后的url和跳轉(zhuǎn)之前的url一樣,很明顯,釣魚者改變了頁面的url,這是一種欺詐手段。
正規(guī)的銀行網(wǎng)站因其多用戶,較大數(shù)據(jù)量的原因,網(wǎng)站的結構設計通常很復雜,同樣,網(wǎng)站漏洞的修復、維護及業(yè)務的調(diào)整使得網(wǎng)頁的拓撲結構變得更加繁雜,頁面自然存在大量的鏈接。相對于銀行網(wǎng)站,偽造的釣魚頁面除了少數(shù)的相似頁面外,拓撲結構通常都非常簡單。圖6~7分別表示RBC官網(wǎng)和模仿的釣魚頁面鏈接結構圖。

圖6 正規(guī)銀行網(wǎng)頁結構

圖7 釣魚網(wǎng)頁鏈接結構
為了檢測運用子圖匹配模式進行檢測的效率,將統(tǒng)計的數(shù)據(jù)記錄如表3所示。從表3可以看出,通過頻繁子圖模式檢測釣魚頁面的檢測率在80%左右,這表明通過頻繁子圖的方式可以對釣魚頁面進行有效的檢測。該算法中對于閾值參數(shù)的選擇,可以通過實驗的調(diào)整,結合數(shù)據(jù)挖掘中的回歸問題,選取合適的閾值,避免過分擬合輸入數(shù)據(jù)。進一步測試可以得到,在某個閾值處,該方法對于測試數(shù)據(jù)可以得到比較好的檢測率。大于或者小于該閾值,檢測率下降。因此,通過頻繁子圖的方式進行釣魚頁面的檢測可以有效的檢出釣魚頁面。

表3 子圖模式檢測率
針對釣魚網(wǎng)頁的url鏈接結構,提出利用行為分析(挖掘網(wǎng)頁url鏈接結構)得到的頻繁子圖進行挖掘,提取釣魚頁面的共同子圖特征,并利用釣魚頁面特征檢測系統(tǒng)進行檢測,實驗證明,該檢測方法能夠加強對釣魚頁面的檢測能力,作為傳統(tǒng)釣魚頁面檢測方法的補充,提高了檢出率。也可以將頁面的頻繁子圖作為判斷網(wǎng)頁是否為釣魚頁面的一種特征,將網(wǎng)頁url,視覺特性特征等其他特征作為判定釣魚頁面的總體特征向量,結合機器學習對可疑網(wǎng)頁進行判定。對于基于頻繁子圖模式的釣魚頁面檢測,系統(tǒng)的開銷在于挖掘頁面的頻繁子圖模式上,同時匹配模式庫仍然占用了一定的時間,尋找更優(yōu)化高效的頻繁子圖挖掘算法對于大規(guī)模釣魚頁面的檢測很有必要。
致謝:感謝成都市高校院所科技成果轉(zhuǎn)化項目(12DXYB340JH-002);深圳市產(chǎn)學研合作項目(CXY201106240019A)對本文的資助
[1] Anti-Phishing Working Group.Phishing Activity Trends Report[R].Q42,2009.
[2] J Ma,S L K,S Stefan,et al.Beyond blacklists:learning to detect malicious websites from suspicious urls[C].Proceedings of the 15th international conference on Knowledge discovery and data mining,2009:1245-1254.
[3] Sujata Garera,Niels Provos,Monica Chew,et al.A Framework For Detection an dMeasurement of Phishing Attacks[A].In:Christopher Kruegel,ed[C].Proc.of the WORM’07.USA:ACM Press,2007:1-8.
[4] W Liu,X Deng,G Huang,et al.An Anti-Phishing Strategy Based on Visual Similarity Assessment[J].IEEE Internet Computing,2006,10(2):58-65.
[5] W Liu,G Huang,X Liu,et al.Detection of Phishing Web Pages Based on Visual Similarity[C].Proc.14th Int’l World Wide Web Conf,2005:1060-1061.
[6] 張喜.應用于圖分類的頻繁圖挖掘算法的研究[D].秦皇島:燕山大學,2013.
[7] 韓心慧,龔曉銳,諸葛建偉,等.基于頻繁子樹挖掘算法的網(wǎng)頁木馬檢測技術[J].清華大學學報(自然科學版),2011,(10).
[8] 李先通,李建中,高宏.一種高效頻繁子圖挖掘算法[D].哈爾濱:哈爾濱工業(yè)大學,2007.
[9] X Yan,J Han.gSpan:Graph-based Substructure Pattern Mining[C].Proc.of the 2002 IEEE Intl.Conf.on Data Mining,Maebashi City:Japan,2002:721-724.
[10] Yan Y Han J.gSpan:Graph-Based substructure pattern mining[C].Proc.of the 2002 Int’l Conf.on Data Mining(ICDM 2002).Maebashi,2002.
[11] Yan X,Han J.CloseGraph:Mining closed frequent graph patterns[C].Proc.of the 9th ACM SIGKDD Int’l Conf.on Knowledge Discovery and Data Mining(KDD2003).Washington,2003.
[12] 陳曉.基于CloseGraph的圖分類算法研究[D].秦皇島:燕山大學,2010.
[13] 董安國,高琳,趙建邦.圖模式挖掘中的子圖同構算法[J].數(shù)學的實踐與認識,2011,(13).
[14] 周溜溜.基于圖結構的數(shù)據(jù)挖掘研究及應用[D].南京:南京林業(yè)大學,2013.
[15] Han J,Wang W,Prins J.Efficient mining of frequent subgraphs in the presence of isomorphism[C].Proc.of the IEEE Int’l Conf.on Data Mining(ICDM 2003),2003.
[16] Ueda N,Aoki-Kinoshita KF,Yamaguchi A,et al.A probabilistic model for mining labeled ordered trees:Capturing patterns in carbohydrate sugar chains[J].IEEE Trans.on Knowledge and Data Engineering,2005,17(8):1051.
[17] Buss SR.Alogtime algorithms for tree isomorphism,comparison and canonization[C].Computational Logic and Proof Theory,Proc.of the 5th G.del Colloquium’97,Lecture Notes in Computer Science#1289.Berlin:Springer-Verlag,1997:18-33.
[18] Yang R,Kalnis P,Tung AKH.Similarity evaluation on tree-structured data[C].Proc.of the SIGMOD 2005.Baltimore,2005.
[19] Rückert U,Kramer S.Frequent free tree discovery in graph data[C].Symp.on Applied Computing archive,Proc.of the 2004 ACM Symp.on Applied Computing.SESSION:Data Mining(DM).2004:564-570.
[20] Jin R,Wang C,Polshakov D,et al.Discovering frequent topological structures from graph datasets[C].Proc.of the KDD 2005.Chicago,2005:606-611.