管雨翔,鄒福泰,易 平
?
基于圖挖掘的網絡釣魚檢測算法
管雨翔,鄒福泰,易平
摘 要:網絡釣魚是指一種利用社會工程技巧,通過短信、郵件、即時通訊工具等渠道,誘導用戶訪問偽造的站點,以獲得用戶敏感信息的欺詐方式。隨著網絡釣魚檢測的研究成果不斷提出與應用,雖然很大程度上減少了網絡釣魚的威脅,但也因檢測方式都有各自的局限性,導致攻擊者可以根據不同檢測方式以相對較低成本躲避檢測。針對現有檢測算法的缺陷,以運營商的真實網絡流量作為研究對象,重點分析了網絡釣魚的行為模式,提出了一種基于置信傳播算法的檢測模型。實驗結果表明,該算法具有良好的檢出率與運行效率。同時,由于算法設計時考慮了分布式計算,該模型在流行的分布式處理框架中具有良好的可推廣性。
關鍵詞:網絡釣魚;行為模式;圖挖掘;置信傳播;
隨著互聯網的不斷發展,電子支付的日益普及,網絡欺詐問題逐漸成為人們關注的焦點。網絡釣魚(Web Phishing)是指這樣一類欺詐行為:攻擊者通過短信、郵件、虛假廣告、即時聊天工具等社交手段,利用社會工程技巧,引導用戶訪問一些看似真實的假冒網站,以騙取用戶的隱私信息,例如私人賬號密碼、支付口令、信用卡信息等等。無論是對企業用戶還是個人用戶而言,對釣魚網站的檢測都是一項重要任務。
如今的網絡釣魚檢測技術大致有兩個出發點:一是基于URL的本身特征,二是基于網頁的內容特征。雖然兩種思路都對釣魚網站檢測做出了巨大貢獻,但是無論哪一種方式,在真實網絡環境中都體現了明顯的局限性。為了在代價相對較小的前提下,提高網絡釣魚檢測的準確率與實時性,本文以某運營商的真實流量數據為研究對象,提出了一種基于網絡釣魚行為的分析方法。結合相關研究與實踐經驗,本文定義了釣魚網站的三類特征:固有特征、交互特征與傳遞特征,并定義聲望(Reputation)來表示網站的釣魚特性(Phishing Possibility)。算法首先根據流量數據構造了包含用戶節點與URL節點的無向圖,并量化固有特征、交互特征并以此設定節點初始聲望。然后通過基于概率圖模型——馬爾可夫隨機場(Markov Random Field,MRF)的置信傳播算法(Belief Propagation,BP),對節點聲望進行修正,最終劃定聲望閾值以檢測網絡釣魚。
與現有的網絡釣魚檢測算法相比,本文提出的算法有如下幾點創新:1)繼承了基于URL特征的分析方式的優點,并且在此基礎上充分利用了:URL與URL、URL與用戶之間發生的交互信息,能夠檢測出一些潛在的、通過URL分析無法檢出的網絡釣魚行為。很好地克服了因為釣魚網站更新頻繁與釣魚網絡開發者有意回避檢測的影響,提高了檢出率。2)除了黑名單與白名單以外,算法并不需要太多的數據作為先驗知識,檢測成本較低。3)算法能夠很好地支持分布式計算。在真實數據環境中,算法平均檢出率不低于80%,并具有一定的檢測潛在釣魚網站的能力。
1.1 基于URL的檢測方法
這種檢測是指針對URL的模式直接進行判別的檢測方式。例如PhishTank網站就是通過用戶舉報與人工審核維護一份黑名單,通過直接查詢從而判定網站是否具有釣魚性質。大部分網絡釣魚檢測算法都會以已經檢出的黑名單作為衡量檢測效果的依據。這種方式雖然準確率高,但是實時性不佳,無法及時檢測出新的釣魚網站,并且相當耗費時間與人力。
除了使用黑名單直接過濾的檢測方式以外,許多廠商采用釣魚網站檢測插件進行甄別。這種檢測方式通常是將黑名單與URL文本模式識別結合判別,例如Earthlink Toolbar、CallingID Toolbar[1]。這樣的做法充分利用了URL的先驗知識,具有檢測速度快,部署成本低的特點。但因為網絡釣魚的本質是利用網頁內容進行欺詐,僅僅通過URL并不能全面的挖掘網絡釣魚的特征。只利用URL的信息,導致了這一類檢測算法的漏報率與誤報率均不能達到理想的效果。又因為網絡釣魚的攻擊者對于URL的判別手段越發熟悉,很容易針對性的調整URL躲避檢測。
1.2 基于網頁內容的檢測方法
基于網頁內容的檢測通常是指通過檢測釣魚網站頁面的元素(表單信息,字段名稱,資源引用),找出可能的異常特征進行啟發式判別的方式。另外,Fu等人提出EMD[2](Earth Mover’s Distance),通過研究網頁的“視覺相似度”(Visual Similarity)進行啟發式判別的方法,給這類檢測提供了新的思路。這類檢測方式準確率很高,攻擊者幾乎無從躲避。但是與此同時缺點也很明顯,就是需要采集大量數據作為先驗知識,檢測部署代價很高,實時檢測的耗時也偏高。
1.3 基于機器學習的檢測方法
基于機器學習的檢測方法總體來說,就是將釣魚網站的所有特征映射到同一空間,在運用機器學習與數據挖掘算法進行計算。例如Zhang等人[3]利用一種貝葉斯方法,分析網頁內容的文本特征與視覺特征,計算已知頁面與釣魚網站頁面相似度檢測釣魚網站。黃華軍等人[4]通過分析 URL的 4個結構特征,8個詞匯特征組成特征向量,再利用SVM進行判別。這類檢測方法結合了基于URL與基于網頁內容兩種檢測方法的特點,檢測準確率很高,是一種很好的思路,但是同樣無法解決以上兩類檢測方法的固有局限性,即對潛在網絡釣魚無法及時響應以及檢測成本較高。
本質上說,本文提出的算法也屬于基于機器學習的檢測算法一類,但是并不需要網頁內容作為先驗知識。開創性從釣魚網站行為角度進行分析,抽象了一系列可量化的特征,取得了很好的效果。
2.1 數據來源
實驗數據來源為運營商的真實網絡環境數據,每一條包含用戶節點號(AD),用戶 IP(SRC-IP),訪問時間(Timestamp,TS),訪問網站URL(URL),請求頁面來源URL(Reference,REF),用戶瀏覽器(User Agent,UA),訪問服務器IP(DST-IP),用戶Cookie(Cookie)一共八個字段。
2.2 數據圖定義
由于網絡關系本身就是圖,所以我們很容易得出數據的圖結構。定義無向圖G=(V,E),其中頂點集合V為用戶節點(AD)與訪問網站(URL)以及請求頁面來源(REF),其中URL以及REF具有相同的特征故認為它們是同一類頂點,記為V = VAD+ VURL。
VAD集合的每個頂點vad具有如下屬性:1)聲望2)總訪問次數(對應頂點出度 out-degree)。VURL集合的每個頂點 vurl具有如下屬性:1)聲望 2)被訪問總次數(包括來自AD與作為REF的次數,對應頂點入度in-degree)3)被引用次數(對應頂點出度 out-degree)4)WHOIS屬性(主要是網站注冊時間age of domain)。
2.3 特征提取
2.3.1 固有特征(Original Feature)
釣魚網站URL的特點,在先前的研究中已經被多次分析。我們定義此類特征為固有特征。在本文中此類特征并不是研究重點,主要是作為先驗知識,為檢測模型提供初始評分依據。為了便于計算,我們只選擇那些可以在短時間內處理,并且方便量化分析的特征:
1)O1URL中domain區域含特殊字符,如 " @ "、" -" 以及Unicode編碼,一般認為正常域名不含特殊字符。
2)O2URL中dot數量過多,一般認為正常域名中dot數目小于等于4個。
3)O3WHOIS屬性中age of domain較短,一般認為正常網站注冊時間超過3個月。
上述特征的取值均為<0, 1>二元組,取值累加和越大,網站具有的釣魚特性越高。
2.3.2 交互特征(Interaction Feature)
釣魚網站除了上述固有特征之外,結合相關經驗與常識,還有一些特征會在釣魚網站與其他用戶或者網站發生關聯時表現出來。我們定義此類特征為交互特征。
1)I1URL頂點in-degree中來源于REF的比率很低或為0。釣魚網站一般并不會被其他網站所引用,流量主要來源于直接訪問。我們以直接訪問的邊數占 in-degree的比率為I1取值。
2)I2URL頂點out-degree很小或為0。由于釣魚網站總以騙取用戶隱私信息為目的,幾乎總是作為用戶瀏覽的終點,不會將流量向外引出。為了歸一化處理,我們以out-degree加1后的倒數作為I2取值。
3)I3AD-URL邊的訪問頻次屬性為大都為1。由于用戶訪問釣魚網站幾乎都是一次性的,一般不存在二次訪問。當僅訪問1次的邊數占URL節點的in-degree比率很高時,我們認為該URL是釣魚網站的可能性很高。
4)I4AD-URL邊中不常見UA出現頻率較高。著名的瀏覽器廠商往往都內置了過濾釣魚網站的插件,使用未知瀏覽器的用戶我們認為更有可能訪問釣魚網站。
5)I5AD-URL 邊Cookie記錄異常或不存在的比率較高,因為釣魚網站一般并不需要在用戶端生成Cookie信息。
I3, I4 ,I5取值均為出現頻率。容易發現,交互特征集合I中每個變量取值都在0到1之間,而且I取值與節點為釣魚網站的可能性正相關,即I越大,URL為釣魚網站的可能性越大。
2.3 傳遞特征(Transfer Feature)
釣魚網站由于與其他網站與用戶的交互模式與正常網站并不相同,我們總結了釣魚網站的傳遞特征:
1)T1當某URL頂點的鄰居中疑似釣魚網站比率很高,那么該URL很可能也為釣魚網站。反之,如果某URL與正常網站的交互很多,他的鄰居節點中釣魚網站比率一定很小,那么該URL很大可能是正常網站。釣魚網站趨近于形成小范圍的聚集并在內部產生交互,而與其他URL發生的交互很少,這也是惡意站點的一個共性特征。
2)T2當某用戶(AD)訪問釣魚網站頻次高于正常用戶時,該用戶訪問的具有不太明顯的釣魚網站特征的 URL很可能為釣魚網站。當某一用戶訪問釣魚網站的頻率高于正常用戶時,我們推斷該用戶網絡安全意識較為薄弱。當他訪問疑似網絡釣魚的站點時,我們有理由相信該站點有很大可能性的確為釣魚網站。
根據傳遞特征,我們將URL類節點與AD類節點聲望定義到同一值空間,使得聲望可以在全圖中傳遞。這樣保證了整個圖大部分節點連通,孤島數量不會很多。
2.4 算法描述
根據上一小節分析,固有特征與交互特征對應著我們對于釣魚網站的先驗知識(Prior Knowledge),而傳遞特征則對應著釣魚網站行為模式上的隱含知識(Hidden Knowledge)。為了充分利用上述特征,我們引入了馬爾可夫隨機場以及置信傳播算法。
2.4.1 馬爾可夫隨機場( Markov Random Field,MRF)
馬爾可夫隨機場,又稱為馬爾可夫網絡,是由無向圖描述的一組具有馬爾可夫性質的隨機變量。定義無向圖,每一個頂點對應隨機變量集合X中的一個隨機變量,每條邊表示隨機變量間的一種依賴關系。頂點i的鄰居節點集合記為當且僅當存在邊MRF滿足局部特性如公式(1):

公式(1)描述了頂點i 的隨機變量值xi僅由其鄰居節點決定,而與其他非鄰居節點的隨機變量無關。對應到AD-URL圖中即為頂點具有的釣魚特性(Phishing Possibility)只受到其鄰居節點的影響而與其他節點無關。
在AD-URL圖中,定義頂點標簽集合L,表示對于頂點的釣魚特性的推斷,集合元素為一個二元組如公式(2):

最后我們定義頂點聲望(Reputation)為該頂點具有釣魚性質的概率如公式(3):

對每個頂點來說,聲望值越高則該頂點具有釣魚特性的概率就越高。
2.4.2 置信傳播(Belief Propagation,BP)
置信傳播算法(BP算法[5])利用結點與結點之間相互傳遞信息而更新當前整個 MRF的標記狀態,是基于 MRF的一種近似計算。該算法是一種迭代的方法,所有信息的傳播可以并行實現。理想情況下,經過多次迭代后,所有結點的信度不再發生變化,就稱此時每一個結點的標記即為最優標記,MRF也達到了收斂狀態。
BP算法首先根據先驗知識對節點消息賦初值,然后通過迭代來計算消息傳遞帶來的邊際概率(Edge Potential)。節點之間的消息傳遞描述了節點分別具有某個標簽的概率。在本文的應用場景中,對應的消息就是節點的聲望值。最終得到的邊際概率即為聲望,是先驗知識經過幾輪傳遞后趨近穩定的結果。


以上轉移矩陣對應著釣魚網站的傳遞特征,具體ε參數由實驗結果確定。
BP算法的運作基于消息的傳遞,消息(Message)是頂點i對其鄰居j具有標簽xj的可能性的觀點。將i傳遞給j的消息記作,對每一條邊的所有標簽,計算和。上文提到,所有消息在每輪迭代中都被傳遞一次,但是消息傳遞的順序可以是任意的。i傳遞給j的消息根據來自i 的其他鄰居的消息計算產生,具體為如公式(6):

需要注意的是,實踐中消息可能會在多次迭代后溢出,所以實際在計算每一輪消息時需要進行歸一化處理,使得頂點傳出的消息總和為1,也就是滿足公式(7):

頂點聲望計算函數為公式(8):

不難發現節點i的聲望與i的鄰域中所有節點向i傳遞的消息的乘積成正比,同時也正比于頂點初始聲望。其中k為歸一化常數,使得每個頂點的標簽聲望之和為1。
當BP迭代到達上限或者頂點聲望變化小于一定閾值(一般在對數空間計算),則計算終止。盡管BP算法理論對于帶環的有向圖并不一定收斂,但是通常情況下都會具有較快的收斂速度。
算法中頂點的初始聲望應當為每個頂點的先驗知識,對應固有特征集合O與交互特征集合I。定義初始聲望為公式(9):

并且滿足公式(10):

特征經過歸一化處理,保證初始聲望取值在0.5到1之間。對于AD類頂點,統一認為其初始聲望為0.5。
2.3 算法流程
整體算法分為三大模塊:算法 1,預處理數據并建圖;算法2,計算節點聲望初始值;算法3,運用帶環置信傳播算法(Loopy Belief Propagation)修正節點聲望并得出閾值。需要注意的是,所有模塊分別各自支持并行計算,但由于每個模塊依賴上一模塊的運算結果,所以并行處理并不能跨模塊進行。具體算法偽代碼如下:

圖1 偽代碼:處理數據并建圖
如圖 1偽代碼描述,算法 1逐行讀入原始流量數據RecordSet,首先檢測每條record中的url與ref在Alexa的綜合排名AlexaRank,如果都在100萬以內則跳過這條record。然后根據ad,url,ref字段分別新增或更新頂點集V和邊集E,設置節點初始聲望為0.5。需要注意的是,如果存在url 與ref其中一個排名在100萬以內,另一個不在的話,排名靠前的頂點聲望置0。實踐中這樣的情況幾乎不存在。
偽代碼描述,如圖2所示:

圖2 偽代碼:初始化聲望值
算法2分別遍歷頂點集V與邊集E,計算固有特征與交互特征項。需要注意由于固有特征與交互特征并沒有依賴關系,這一部分是可以并行計算的。
偽代碼描述,如圖3所示:

圖3 偽代碼:帶環的置信傳播算法
實驗平臺使用GraphLab的開源模塊PowerGraph作為挖掘算法的處理工具。使用Loopy BP算法,將多次出現的連乘變為了求和。硬件處理器為Intel Core i7 3960X四核,內存為16G,128G固態硬盤作為持久化存儲介質。首先在小數據集(40分鐘流量)上進行訓練,確定算法所需的參數,然后應用于大數據集(24小時流量)。原始數據統計結果如表1所示:

表1 原始數據統計
經過在小樣本情況下結合PhishTank blacklist (2008.4-2015-11共24101條數據)以及白名單的人工標定。取ε1= 0.002、 ε2=0.005、ε3=0.008(對應對數空間的smooth=i-nlgne(,)分別為 6.2、5.2、4.8)在小數據集上進行測試,得出不同ε情況下,聲望值與檢出率的關系圖如圖4所示:

圖4 推斷函數參數ε與檢出率關系圖
可以看出,ε = 0.005的情況下,檢出率較高且變化較為穩定,因此以下實驗均選擇ε = 0.005進行計算。
聲望閥值(Reputation Threshold,Rep)檢出率(True Positive Rate,TPR),誤報率(False Positive Rate,FPR),漏報率(Missing Rate,MR)的關系圖如圖5所示:

圖5 聲望閾值選擇與檢測率關系圖
如圖5,選擇聲望閾值偏低(rep = 0.51)時,由于實際檢測出的URL總數較多,MR較低但是FPR太高;聲望閾值選取在0.52到0.525區間時,可以在較低FPR與MR的情況下,最好可以達到超過90%的TPR。
在大數據集合情況下,由于使用人工標定白名單代價太高因此放棄標定白名單,只采用PhishTank 黑名單標定,整個數據集在黑名單中發現1057條匹配記錄,平均檢出率超過90%,但是在這種情況下,傳統方法計算出的誤報率太高。如果將所有檢出但不在blacklist中的URL均視為誤報顯然不合理,有必要單獨分析檢出但是并未被 blacklist收錄的URL的頂點特征如表2所示:

表2 大數據集檢測結果
我們選取聲望閾值rep = 0.520的情況下,所有聲望高于閾值但并未收錄在PhishTank blacklist中的URL單獨分析發現:1)使用curl指令嘗試連接,發現誤報URL中有68.4%均已無法訪問;2)使用WHOIS指令嘗試查詢age of domain,發現45.1% 的URL注冊小于3個月,89.2% 的URL注冊小于半年。這與釣魚網站的固有特征吻合,也就是說這些URL的確具有潛在釣魚特性,需要慎重訪問。
本文從釣魚網站的行為特征入手,將網絡流量抽象為圖結構。并基于網絡釣魚行為特點與圖結構的屬性,總結了釣魚網站的固有特征,交互特征與傳遞特征3類特征屬性,并結合置信傳播算法,為每一個頂點進行聲望評估,最后通過采樣分析選取閾值,以此作為網絡釣魚的檢測標準。實驗證明算法取得了良好的效果。下一步將在更大的數據集上部署算法,并重點改進算法并行相關的部分,并考慮引入簡單的網頁內容特性來優化初始評分函數,使得算法可以具有更高的普適性,更快的效率與更好的檢測效果。
參考文獻
[1] Chou N, Ledesma R, Teraguchi Y, et al. Client-Side Defense Against Web-Based Identity Theft [C]. NDSS. 2004.
[2] Fu A Y, Wenyin L, Deng X. Detecting phishing web pages with visual similarity assessment based on earth mover's distance (EMD) [J]. Dependable and Secure Computing, IEEE Transactions on, 2006, 3(4): 301-311.
[3] Zhang H, Liu G, Chow T W S, et al. Textual and visual content-based anti-phishing: a Bayesian approach[J]. Neural Networks, IEEE Transactions on, 2011, 22(10): 1532-1546..
[4] 黃華軍, 錢亮, 王耀鈞. 基于異常特征的釣魚網站URL 檢測技術[J]. 信息網絡安全, 2012 (1): 23-25.
[5] Zhan T, Xu Y, Sun L, et al. Hyperspectral image classification using multilayer superpixel graph and loopy belief propagation[C] Geoscience and Remote Sensing Symposium (IGARSS), 2015 IEEE International. IEEE, 2015: 1690-1693.
中圖分類號:TP311
文獻標志碼:A
文章編號:1007-757X(2016)07-0001-05
基金項目:國家重點基礎研究發展計劃或973 計劃(2013CB329603),國家自然科學基金(61571290, 91438120, 61431008, 61271220),上海市自然科學基金(15ZR1423600),信息網絡安全公安部重點實驗室開放課題(C15608)
作者簡介:管雨翔(1990-),男,上海交通大學,信息安全工程學院,碩士,研究方向:網絡安全,上海,200240;鄒福泰(1973-),男,上海交通大學,信息安全工程學院,博士,研究方向:網絡安全,上海,200240;易 平(1969-),男,上海交通大學,信息安全工程學院,副教授,研究方向:網絡安全,上海,200240;
收稿日期:(2015.11.10)
Web Phishing Detection Algorithm Based on Graph Mining
Guan Yuxiang, Zou Futai, Yi Ping
(School of Information Security Engineering, Shanghai Jiao Tong University, Shanghai 200240, China)
Abstract:Web Phishing is a way of fraud, which uses social engineering technique through short messages, emails and IMs to induce users to visit fake website to get sensitive information. With detecting method for phishing continually proposed and applied, the threat of web phishing has already reduced at a great extent. However, since each type of detection has limitation, phishing attackers can modify their strategies at a relatively low cost to avoid detection accordingly. Facing the defects of current detection methods, it mainly focuses on the behavior pattern of phishing websites. It analyzes real IP flows from ISP and proposes a detecting method based on Graph Mining and Belief Propagation. The experiment suggests that the algorithm has decent accuracy and runtime efficiency. As it has considered distributed computation while designing the algorithm, it will be easy to replicate the model in popular distributed processing frameworks.
Key words:Web Phishing; Behavior Pattern; Graph Mining; Belief Propagation;