毛紅梅 張勝



關鍵詞:釣魚網站檢測;隨機森林;網站特征;模型參數優化
0 引言
以淘寶、京東為代表的電子商務平臺和以支付寶、微信為主的網絡支付方式的高速發展,使得人們的生活方式尤其是消費方式發生了顯著變化。網購和支付方式變得越來越普遍化和簡單化,但隨之而來的網絡風險日益嚴峻。網絡釣魚者經常模仿一些購物網站、銀行官方網站、教育網站等常見網站,竊取網絡用戶賬戶信息,獲取非法利益。
目前,常見的釣魚網站檢測方法主要有:1) 基于瀏覽器的黑名單列表匹配,通過建立釣魚網站黑名單列表與待檢測網站相匹配,如匹配成功,則檢測為釣魚網站并實施攔截,否則需做進一步判斷。該方法檢測準確率低,需要較多的人工參與;2) 基于異常特征的檢測方法,利用網站地址的一些異常特征來實現釣魚網站檢測,這種方法檢測效果優于第一種,能夠自動檢測未知網站,但是易于出現檢測誤判;3) 基于網站內容的檢測方法[1],通過比對待檢測網站與合法網站內容相似度來判斷網站屬性,這類方法檢測準確度較高,但是難以實現,且網站檢測不全面。
通過研究,本文提出了結合網站重要特征使用隨機森林方法對釣魚網站進行檢測。該方法檢測準確度高,實際應用范圍廣,自動化程度高,能夠極大地減少人工參與。
1 隨機森林介紹及網站檢測流程
1.1 隨機森林介紹
隨機森林[2]是一種由多顆決策樹構成后決策的提升方法。隨機森林的構造過程是:首先,隨機從原始數據集抽取(有放回的)與原始數據集容量相同的數據,構成子數據集;其次,隨機從原始特征中選擇一些特征,之后再在這些隨機選取的特征中選擇最優的分裂特征,利用隨機選取的子數據集和隨機選擇的特征構造單顆子決策樹,重復以上過程構造多顆決策子樹,從而形成隨機森林。隨機森林分類結果取決于決策子樹的輸出,一般采用多數投票規則輸出分類結果。
1.2 釣魚網站檢測流程
使用隨機森林方法檢測釣魚網站,檢測效率高,分類效果明顯高于單一分類決策方法。實驗具體檢測流程如下:
1) 提取實驗給定的網站數據集特征,經過初始特征數據集預處理,特征選擇,PCA(Principal ComponentAnalysis) 降維和交叉驗證,得到處理后的訓練特征集和測試特征集。
2) 結合訓練特征集與三種基礎的機器學習算法模型,驗證實驗測試特征集,檢測未知網站類別。
3) 使用隨機森林方法檢測未知網站類別,并將其與前面三種方法的分類效果進行對比。
4) 優化隨機森林算法模型關鍵參數,對比不同參數值在實驗數據集上的分類效果和未知網站檢測準確率。
2 基于隨機森林方法的釣魚網站檢測
2.1 網站特征
分析實驗數據集和釣魚網站與合法網站之間的域名區別,總結出關于網站域名的12個主要特征,具體特征如下:
1) 域名年齡:釣魚網站域名注冊時間短,域名年齡較小;
2) 網站排名:釣魚網站訪問量小,網站排名靠后;
3) 敏感詞:釣魚網站網址中常常會包含賬戶(ac?count)、登錄(login)、銀行(bank)、安全(security)等詞匯,而這些詞匯極易聯系到虛假詐騙;
4) IP地址:一些釣魚網站域名中包含IP地址,掩蓋真實域名;
5) 頂級域名:常見的頂級域名數量有限,可以枚舉出來,而一些釣魚網站中的頂級域名往往不在枚舉列表中;
6) 域名長度和網址長度:釣魚網站地址或者域名往往較長;
7) 子域名數量:合法網站除了真正域名外,子域名個數不會超過2,二級網站中子域名數量也只有1個;
8) 四種特殊字符:“@”“ -”“ ; ”“ //”,釣魚網址或者域名中的特征字符常常用來迷惑大意的用戶,使網頁重定向至釣魚頁面,而釣魚網站的網址中一般會包含四種特殊字符中的一種。
實驗釣魚網站數據集來源于phishingtank,合法網站數據集來自互聯網,實驗數據集總共7029個。實驗中運用python以及常見的數據分析包 (包括numpy、pandas和matplotlib)編程提取這些重要特征。其中,網站排名特征、IP地址特征、敏感詞特征、網址長度、子域名數量特征和域名特征分布如圖1所示。(建議圖1中的x, y軸標題及圖標題均用中文給出,并在本段給出簡單的解釋)
2.2 實驗設計與結果分析
提取網站初始特征集,經過特征標準化預處理;以L1懲罰項的邏輯回歸作為基模型的集成法和輸出,以(建議給出具體的方法或概念)作為分類模型的特征,重要比例兩種特征選擇[3-4]方法相結合;采用PCA進行降維處理和交叉驗證方法[5]處理;最后運用訓練特征集去訓練隨機森林模型,將訓練好的模型用于驗證測試特征集和檢測未知網站類別。
使用隨機森林模型分類未知網站(例如:http://sourcepage-paypal. dojofit. si/webapps-account/2a0b4/websrc) ,得到未知網站特征數據,表1是對某網站進行分析得到的特征數據。對該網站分類其輸出結果為釣魚網站,檢測結果如圖2所示。
圖3是采用隨機森林模型、決策樹、邏輯回歸和支持向量機對實驗數據集進行分類的結果。該結果顯示:隨機森林模型初始分類準確度達95.87%,高于決策樹、邏輯回歸和支持向量機。
2.3 隨機森林模型參數優化
實驗中通過調節隨機森林模型參數(分類器個數和最大特征數),對比不同參數值對模型分類準確度的影響,同時采用查準率、召回率和F1值三種度量評價不同參數下模型分類的效果。實驗中固定分類器的個數大小,調節參數最大特征數,輸出對應的三種評價度量值。其中,表2為分類器個數分別為10,20,50時,不同最大特征數的模型度量對比,表3為分類器個數分別為70,100,1200時,不同最大特征數的模型度量對比。
實驗結果顯示:隨機森林模型參數分類器個數和最大特征數分別為120和sqrt時,模型分類效果最佳,優化后的模型分類準確度最高達96.63%,顯著地高于初始模型分類準確性(最佳結果建議加粗顯示)。
3 結束語
本文提出的提取網站復雜特征與隨機森林方法相結合的檢測方法,檢測未知網站準確,智能化程度高,應用廣泛廣,可以嵌入web瀏覽器中,替代基于黑名單列表的識別方法,實現對釣魚網站的自動檢測和攔截。然而,受實驗數據量和特征數量的限制,實驗中隨機森林模型的分類準確度并沒有達到最佳,后續需要進一步提取更為細致的、效果顯著的特征和改進相應的算法,使得算法檢測釣魚網站準確度更高。