毛紅梅 張勝



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