黃亦睿 劉功申 孟 魁 蔡逆水
1(上海交通大學(xué)電子信息與電氣工程學(xué)院 上海 200240)2(移動互聯(lián)網(wǎng)系統(tǒng)與應(yīng)用安全國家工程實驗室 上海 201315)
網(wǎng)絡(luò)釣魚(Phishing)或欺詐URL攻擊[1]是針對互聯(lián)網(wǎng)終端用戶的一種欺詐性攻擊。攻擊者通過偽裝成電子通信中值得信賴的人或業(yè)務(wù)來收集敏感信息和個人隱私,如密碼和信用卡信息。不同于中間人攻擊或其他網(wǎng)絡(luò)滲透攻擊,欺詐URL不需要攻破現(xiàn)有網(wǎng)絡(luò)協(xié)議或架構(gòu)的漏洞,只需要欺騙終端用戶即可達到攻擊目的。根據(jù)中國反釣魚網(wǎng)站聯(lián)盟統(tǒng)計,2017年2月聯(lián)盟共處理釣魚網(wǎng)站951個,累計認定并處理釣魚網(wǎng)站388 859個。銀行、電子、證券、通信、支付等行業(yè)均是重災(zāi)區(qū)。雖然近年來反網(wǎng)絡(luò)釣魚解決方案取得了很多進展,但網(wǎng)絡(luò)釣魚仍然每年都會造成巨大損失。
本文將釣魚網(wǎng)站定義為滿足以下條件的網(wǎng)頁:(1) 通過復(fù)制目標網(wǎng)站的全部或部分內(nèi)容來模擬一個知名網(wǎng)站,與其目標呈現(xiàn)出高度的視覺相似性。(2) 網(wǎng)頁中具有請求登錄并要求輸入密碼等敏感信息的表單。這類網(wǎng)頁由于其極為明顯的目的性和相應(yīng)較低成本構(gòu)建的性質(zhì),一系列敏感特征可以被提取、分析,以達到檢測、鑒別欺詐網(wǎng)站的目的。
目前主流的欺詐URL檢測技術(shù)主要有:
1) 基于黑名單的過濾技術(shù),即收集、記錄歷史上被確定為欺詐網(wǎng)站的URL或域名,構(gòu)成黑名單。這種檢測技術(shù)性能較高,對于已經(jīng)確定的釣魚網(wǎng)站,可以快速地檢測并提示用戶。但維護黑名單庫的成本較高,攻擊者可以輕易地更換域名或IP地址,即可繞過黑名單檢測,而收集、驗證釣魚網(wǎng)站的工作也是極為耗時耗力的。
2) 基于機器學(xué)習(xí)的檢測技術(shù)[2-3],針對基于黑名單過濾技術(shù)的缺點,對網(wǎng)站相應(yīng)特征進行提取,使用機器學(xué)習(xí)算法模型對其進行分類和檢測。Garera等[4]分析了已知欺詐 URL的特征,如域名特征、單詞特征等,并通過抓取網(wǎng)頁分析其敏感特征,得到特征向量,使用回歸濾波器進行分類。基于機器學(xué)習(xí)的特征檢測算法具有一定的適用性,可自動分類新的樣本,但相關(guān)文獻并未完全包括欺詐URL的本質(zhì)特征,如更多的交互性特征和深入的特征等。
針對現(xiàn)有欺詐URL檢測方案存在的局限性,本文提出了一種基于機器學(xué)習(xí)的多特征欺詐URL檢測算法。該算法不僅分析了URL,包括域名與端口特征,和Web頁面內(nèi)相關(guān)HTML標簽的靜態(tài)特征,更深入地分析了其表單提交響應(yīng)等交互情況下的動態(tài)特征,之后將這些特征使用機器學(xué)習(xí)模型進行訓(xùn)練與測試。由于網(wǎng)頁靜態(tài)和動態(tài)特征本質(zhì)性地反映了欺詐URL本身的竊取用戶賬號密碼的目的,使用這些特征訓(xùn)練的模型可以有效地檢測未知URL的攻擊行為。
本文提出算法的輸入是待檢測網(wǎng)站URL,通過提取URL特征、Web頁面特征和交互特征,得到該網(wǎng)站的特征向量。將特征向量輸入到經(jīng)過訓(xùn)練的分類檢測模型中,判斷其是否為欺詐URL。算法流程如圖1所示。

圖1 多特征網(wǎng)絡(luò)釣魚算法流程圖
多特征釣魚網(wǎng)站檢測系統(tǒng)由以下模塊組成:正負樣本收集模塊、特征提取和分析模塊、分類器訓(xùn)練和檢測模塊。
正負樣本收集模塊實時地收集正常站點和欺詐URL樣本集。所用的正例樣本由各分類信息網(wǎng)站收集而來,如開放式目錄網(wǎng)站DMOZ、國內(nèi)各類分類信息網(wǎng)站等。反例樣本來源于PhishTank提供的欺詐URL數(shù)據(jù)庫和電信研究院提供的欺詐URL數(shù)據(jù)。
在特征提取模塊中,將進行基于URL的特征提取和基于Web內(nèi)容的特征提取。URL特征是指根據(jù)樣本URL所表現(xiàn)的域名特征等與Web內(nèi)容無關(guān)的特征。這些特征提取較為快速,且不會因為網(wǎng)站的關(guān)閉而失效。Web頁面特征則需要對URL進行訪問,得到其HTML代碼,之后分析HTML內(nèi)容和表單提交行為等。
這些特征和分析結(jié)果,在數(shù)據(jù)預(yù)處理模塊中被轉(zhuǎn)換為分類模型所需要的特征向量。
訓(xùn)練模塊使用上述特征向量和已經(jīng)標記好的正負樣本值,進行有監(jiān)督訓(xùn)練。具體地,將正負樣本混合,并隨機切分為訓(xùn)練集和測試集,使用訓(xùn)練集進行模型訓(xùn)練,之后使用測試集對訓(xùn)練好的分類器進行檢查。若分類器的性能未達到一定的準確率,則需要調(diào)整分類器參數(shù),或更換分類算法進行訓(xùn)練。若達到相應(yīng)標準,即可作為敏感特征異常檢測的模型。
在檢測模型訓(xùn)練完畢后,即可使用模型進行分類,當用戶提交新的待測URL,重復(fù)上述特征提取過程,得到特征向量。最后使用分類器對其進行分類,得到檢測結(jié)果。
對于特征提取,如果單純考慮URL本身的特征,如host信息、單詞特征等,則無法確定其是否為欺詐URL。因為 URL無法體現(xiàn)釣魚網(wǎng)站的本質(zhì)行為——引誘用戶輸入賬號、密碼等敏感信息。攻擊者能夠通過非常仔細地制作URL來逃避僅依賴于URL的檢測機制。釣魚網(wǎng)站的根本目的為誘導(dǎo)用戶輸入賬號、密碼等信息,只有使用表單交互分析其響應(yīng),才可以達到捕捉具體釣魚行為的目的。而單純考慮Web內(nèi)容的特征提取,會降低檢測效率,且難以提高檢測正確率。
本文的特征提取算法將上述兩種方案相結(jié)合,在保證效率的同時,獲得較高的檢測精度。
2.1 URL特征
基于URL可提取的特征分為文本特征和域名特征。文本特征是指URL本身的文本屬性,主要包括:
1) URL中是否包含IP地址。攻擊者往往使用IP地址作為URL中的主機地址,以逃避備案和降低攻擊成本;而合法網(wǎng)站為了用戶易于記憶,總是使用域名而不是IP地址。
2) URL端口是否是80端口。部分攻擊采用非80端口代替?zhèn)鹘y(tǒng)HTTP協(xié)議的80端口,以架設(shè)在被入侵的Web服務(wù)器上,或低成本的虛擬主機中。
3) URL的子域名個數(shù)是否大于2。由于普通用戶缺乏辨別域名真實性和域名層級的能力,使用子域名冒充真實網(wǎng)站的主域名情況屢見不鮮。形如http://login.taobao.com.0291445.com/login.html的URL就是典型的欺詐URL。用戶往往只關(guān)注URL的前半部分,認為是淘寶網(wǎng)的登錄頁面(login.taobao.com),而忽略后面的一長串內(nèi)容。此類URL具有很強的迷惑性。通過檢測URL的子域名個數(shù)是否大于2,能夠判斷是否為二級域名欺騙。
4) URL中是否含有@等異常字符。如www.ebay.com@www.12345.com將跳轉(zhuǎn)到www.12345.com,這是因為URL中的@符號導(dǎo)致左側(cè)的字符串作為HTTP Basic Auth被忽略,右側(cè)的字符串則是URL的實際域名。結(jié)合瀏覽器地址欄的大小有限,這使得可以在地址欄中編寫合法的URL,但實際上導(dǎo)致瀏覽器檢索不同的頁面。
5) URL的域名是否包含破折號(-)。釣魚網(wǎng)站的URL為了模仿合法站點,往往在目標機構(gòu)域名中加入破折號,而合法網(wǎng)站的域名通常不使用破折號。
6) URL中是否包含敏感單詞,如webscr、secure、banking、account、confirm、login、signin等。通常欺詐URL包含此類單詞的幾率比較高。
基于域名的特征主要包括:
1) Age of domain,域名注冊時間。由于域名注冊成本很低,攻擊者使用的域名往往是新注冊的域名,以逃避黑名單檢測手段。
2) Expiration of domain,域名有效期。釣魚網(wǎng)站存活時間較短,攻擊者也盡可能短時間地續(xù)費該域名;而正規(guī)網(wǎng)站為了防止過期被搶注,會提前續(xù)費一年以上。
上述域名特征可以通過對域名進行Whois查詢得到。Whois查詢可得到域名全部注冊信息,如域名所有者、注冊商、注冊日期和過期日期等信息。
2.2 Web內(nèi)容特征
基于Web內(nèi)容的特征[5]主要包括以下幾種:
1) 鏈接對象異常率。針對頁面DOM模型中的對象,計算異常鏈接占所有鏈接的比率。對于合法頁面, 對象往往指向同域名下的其他頁面,方便用戶在網(wǎng)站內(nèi)瀏覽。而欺詐URL頁面往往只模仿了登錄頁,而其他鏈接均指向官方網(wǎng)站,以達到擬真的目標。因此存在較多數(shù)量的對象指向不一致的域。
2) 表單對象異常率。針對頁面DOM模型中的