藺亞東
(武漢郵科院,湖北,430074)
本文提出的檢測方法是通過結合域名分割和二元組匹配,對URL的域名相似度進行初步判斷,然后通過對URL的分析和分割提取出單詞特征,再對其進行分類進行進一步判斷。實驗表明該方法有較高的釣魚網站的檢測成功率。
基于URL黑名單檢測技術是當前比較流行的技術,它利用URL地址判斷URL是否為釣魚網站。該方法主要通過定期收集已經發現的釣魚網站將其作為黑名單和當前URL進行判斷,當瀏覽器遇到這些地址時會提醒用戶該地址為非法釣魚網站。Microsoft IE、Google Safe Browser等知名企業采用黑名單檢測技術防御釣魚網站。通過兩周內收集1000條URL,測試發現谷歌安全瀏覽器可檢測89%的釣魚URL地址。基于URL的黑名單檢測技術的安全性更加依賴于防御工具中黑名單的更新速度,Sheng等人對黑名單的更新速度進行過測試,發現小于20%的防御工具可在短時間(hour zero)識別。
基于機器學習的檢測是直接利用URL檢測釣魚網站,當前比較流行的為Garera算法和Ma算法,Garera算法是利用回歸濾波器分類URL。經過對URL的分析,得出其結構特征。主要分為頁面特征,域名特征,類型特征和單詞特征。頁面特征借助谷歌搜索引擎,選取URL 頁面排名(Page Rank of URL)、域名頁面排名(Page Rank of Host)、頁面排名存在爬行數據庫(PageRank Present in Crawl Database)、頁面存在索引數據庫(Page Present in Index)、兩個頁面質量評價(Page Quality Score)共6個特征。Ma算法與Garera算法不同的是,其分析URL的詞匯和主機屬性。在詞匯特征中,不僅考慮了主機名長度、URL長度、URL中點的個數等,而且對于URL主機和路徑中的詞匯符號,建立一個二值特征。并且在主機特征中考慮了IP地址屬性、WHOIS屬性、域名屬性和地理位置屬性。
(1)基于域名分割(DS)的相似度判斷
當前釣魚網站多以銀行或者知名企業機構的域名進行改變從而來蒙蔽用戶。例如中國農業銀行www.abchina.com.cn,它的一個釣魚網站就是www.abch1na.com.cn。通過對二者的近似度進行判斷可對釣魚網站的發現有作用。首先我們對網站進行分割就是通過.進行域名分割。如www.abcchina.com.cn分割的4個部分為“www”,“abcchina”,“com”,“cn”。然后我們對每一個部分進行相似度匹配。具體匹配原則為看域名的長度是否一致,然后將每個部分的相似度相加,和分割成的部分越接近說明相似度越高。這種計算方式,一個域名可能會發現大量的相似域名,例如對于www.abcchina.com.c,www.abcch1na.com.cn和www.abscssna.com.cn的相似度一樣,然而這只是個初步判斷。
(2)基于二元組字符串匹配的相似度判斷
步驟1)分別提取出最低一級的域名,如www.abcchina.com.cn其最低一級域名為abcchina。待測試域名www.abcch1na.com.cn的為abccch1na。2)對abcchina和abcch1na進行二元組匹配。具體操作為首先建立一個字符串組D={a,b,c,c,h,i,n,a};l為字符串長度。其二元組集合為E={且為整數}.定義M為集合E中元素的數量,.同法可得出abcch1na的二元組,二者的集合數量相同。對二元組的單個元素進行字符串匹配。定義可同過下式計算其歸一化匹配相似度:

由式一可知道值S越接近1表示其二者相似度越高,該文中相似度閾值設置為0.80.該算法的流程圖可用下圖表示:
本文使用SVM實現基于監督學習方式的釣魚URL 探測。SVM分為線性和非線性系統,本文采用的是線性系統。有n個訓練數據記錄的訓練集T定義為:;其中訓練數據是屬于實數域的m維向量是分類標記
SVM 分類器的詳細分類總結及描述見文獻[9]。使用SVM 的一個較為關鍵問題是如何定義特征。
本文的分類特征有兩類一類為固定的特征類,另外一類為與測試信息有關。這兩類特征具體為:
(1)為由分析釣魚網站得出其特征 ,其具體步驟:1.獲取大量釣魚網站URL作為測試樣本。2.抽取URL特征。3.在抽取完特征值后生成訓練樣本,對SVM進行訓練。4.生成判別的特征向量,用SVM 進行分類檢測,以最終判斷是否為釣魚網站的URL地址。
通過分析URL和參考文獻[7]的基礎上得出九種單詞特征的特征向量DV:

圖一 基于二元組匹配算法的流程圖

圖二 SVM學習流程圖
DV=<D1,D2,D3,D4,D5,D6,D7,D8,D9,D10,D11,D12>;其中前九種為單詞特征后三種為結構特征。D1:URL中存在bank,D2:URL中存在sign,D3:URL中存在ebay,D4:URL中存在webscr,D5:UR中存在confirm,D6中存在account,D7中存在secure,D8中存在eBay,D9中存在user,對于字符特征可用公示統一表示:

w∈{bank,sign,webscr,confirm,account,eBay,user}
后三種結構特征為D10:URL為IP地址,D11:URL長度超過20個字符,D12:URL中域名長度不超過7個字符。具體表示如下:

特征提取算法利用java編程實現,分類算法利用libSVM。當輸入為http://www.baidu.com 時,因為百度網址為非釣魚網站,所以抽取的特征向量全為0。當輸入的地址為http://210.80.154.30/ 的時候特征向量中第一個值為1。
(2) URL分割特征(US)
對整個URL先通過“/”分割為字符串,去掉無用信息的字符串。如“http”。然后對剩余的字符串進行統計分析。對于剩下的 URL字串使用分割符合集合{“.”,“?”,“#”,“%”,“&”“=”}進行分割,從而得到更小的分割單元。如對www.wamuweb.com/indeity/html?r=4進行分割,其結果為“www”,“wamuweb”,“com”,“indeity”,“html”,“r”“4”。
實驗所用釣魚URL數據來自安全聯盟共計4000,正常URL來自12580網站目錄收集共計4000。通過編寫爬蟲程序,將網站中URL信息提取出來。本文采用LIBLINEAR分類器實現釣魚URL探測。圖三為僅采用單詞特征和采用單詞特征與URL分割二者結合后釣魚網站探測的成功率對比圖。其中X坐標代表準確率,Y坐標代表測試中URL個數。由圖可知采用WM+US的探測準確率高于只采用WM的方法。
由圖可知準確率隨著數據量的增加并沒有增加,原因可能是訓練中能區分URL分割特征比較稀疏。當然URL中其他信息如同地址對應的IP信息,WHOIS信息對釣魚網站的成功探測都有一定作用。對于這些信息,當數據量過大時,提取這些信息將耗費更大的時間,尤其是WHOIS信息,其需從WHOIS服務器獲得。通過本文提出的方法可以對其進行有效的補充,對釣魚網站能更高效的進行探測。

圖三 準確率對比圖
網絡釣魚不僅給網民帶來經濟損失,更阻礙著互聯網更深的發展。防御網絡釣魚是當前形勢的需要。本文首先介紹了基于域名相似度的初步判斷方法,篩選出相似地址,這些相似的域名可能是潛在的釣魚域名。然后分析釣魚網站URL 地址的結構和詞匯特征,構建12個特征的特征向量,在通過URL分割提取出其分割后特征來訓練向量機。實驗結果表明使用這兩種特征訓練學習器獲得了最佳結果。
[1]Tyler Moore,Richard Clayton.The Impact of Incentives on Notice and Take-down[C].In Proc.of the 7th Workshop on the Economics of Information Security,New Hampshire USA,June 25-28 2007:1-24.
[2]Anti-Phishing Working Group[EB/OL].http://www.antiphishing.org,2008-01/2011-12-15.
[3]Phish Tank[EB/OL].http://www.phishtank.com,2011-04/2011-12-15.
[4]Engine Kirda,Christopher Kruegel.Protecting Users against Phishing Attacks[J].The Computer Journal,2006,49(05):554-561.
[5]Ian Fette,Norman Sadeh,Anthony Tomasic.Learning to Detec Phishing Emails[C].In Proc.of the WWW 2007,Alberta,Canada,May 8-12,2007:649-656.