王 燕 王興芬 任俊玲
面向釣魚網站敏感特征項選取的IIGAIN算法
王 燕 王興芬 任俊玲
(北京信息科技大學計算機學院 北京 100101)
傳統的釣魚網站檢測技術主要采用隨機或者憑經驗選取敏感特征項用于檢測的方法,無法保證檢測的準確性。為此,提出一種面向釣魚網站敏感特征選取的改進的信息增益算法IIGAIN(Improved Information Gain Algorithm)。該算法綜合考慮了特征項的類內離散度,通過對特征項的類內離散度差值做相應的處理,以處理后的結果作為懲罰項改進信息增益算法。實驗結果表明,利用IIGAIN進行特征項選取的釣魚網站檢測方法的檢測準確性明顯優于隨機選取特征項的釣魚網站檢測方法。
釣魚網站檢測 敏感特征項 信息增益 類內離散度
互聯網為人們的生活帶來了方便和快捷,同時也帶來了威脅[1]。近年來網絡欺詐事件頻頻發生,而網絡釣魚攻擊是網絡欺詐的典型代表。網絡釣魚不僅對用戶的隱私和個人財產構成了嚴重威脅,也嚴重阻礙了電子商務等Web應用的發展,因此釣魚網站檢測技術成為國內外相關領域的研究熱點之一。
目前關于網絡釣魚檢測技術的研究已經取得了一定的進展,其中尤以用戶端的釣魚檢測研究最為活躍,研究成果最為豐富。用戶端的釣魚網站檢測機制主要有基于URL異常的檢測機制、基于Web頁面異常的檢測機制、綜合URL與Web頁面的檢測機制及基于Web頁面身份的檢測機制四類。在這些檢測機制中,大都利用機器學習方法進行釣魚網站的檢測,而敏感特征項的選擇又是機器學習算法進行分類識別的基礎。選擇分類能力強的特征項可以提高檢測的準確性,反之如果選擇的特征項分類能力較弱,則會對分類造成干擾,嚴重影響檢測的準確性。
現有的釣魚網站檢測方法[2-7]往往隨機或者僅憑經驗分析選取Web頁面或URL中的特征項用于分類,無法保證檢測的準確性。為此,本文應用信息論中的信息增益算法進行釣魚網站的特征選擇,同時考慮到傳統的信息增益算法未考慮特征項類內分布對其分類性能的影響,提出一種引入類內分布均衡度的改進的信息增益算法IIGAIN,并基于IIGAIN構建了釣魚網站敏感特征選擇算法。
1.1 信息熵與信息增益
信息熵是信息論中用來度量系統信息量的指標。對分類系統而言,假設用C來代表類別,用n來表示類別數,不同的類別分別記為C1,C2,…,Cn,每個類別出現的概率記為P(C1),P(C2),…,P(Cn),則該分類系統的信息熵可以表示為:
(1)
在分類系統中,信息增益IG(Information Gain)可以衡量一個屬性區分數據樣本的能力。信息增益值越大,這個屬性對分類的重要程度越高,因此,信息增益常被用來進行特征選擇。具體來說,信息增益是使用某特征項劃分樣本數據集前樣本集的信息熵和使用該特征項劃分后樣本數據集的信息熵的差值,可表示為[8]:
(2)

由信息增益的定義可知,信息增益是針對某個特征對整個數據集分類的貢獻而言的。根據信息增益進行特征選擇時只考慮了類別的分布特征、特征與類別之間的相關性,而忽略了特征項本身的分布情況。所以可以在特征選擇時引入表征特征項分布情況的因素[9],即特征項分布信息,又稱為特征項頻率分布的離散度。可以分為類間離散度DIac(Distribution Information among classes)和類內離散度DIic(Distribution Information inside a class),分別表示特征項在類間與類內的分布情況。
1.2 類間離散度
類間離散度DIac描述了特征項在各類間的分布情況,特征項的分類能力與其類間離散度成正比。即特征項在類間分布越不均勻,其類間離散度則越大,則其攜帶的分類信息越多,分類能力越強,其產生的信息增益也越大。可見信息增益的大小與特征項的類間離散度成正比,說明信息增益本身較好地反映了特征項的類間離散度。因此在進行特征選擇時,度量某特征項的信息增益的同時無需再單獨考慮其類間離散度。
1.3 類內離散度
特征項的類內離散度DIic用來描述特征項在各類內分布的均衡程度。在某類的樣本中該特征項出現次數越多,說明該特征項在該類中的分布比較均勻,則該特征項與此類別的關聯度較高。對于某特征項Tk,其類內離散度定義為:
(3)
可見,特征項在某類中的分布越均勻,其對應于該類的類內離散度越低。反之在某類的樣本中出現次數較少即分布不均勻的特征項與該類別的關聯度較低,在該類中的類內離散度較高。
2.1 特征項的分類能力與類內離散度的關系
如果某特征項在正常類和釣魚網站類中的類內離散度相同,即該特征項的類內離散度差值為0,則該特征項在正常類和釣魚類中分布的均衡度相同,說明該特征項沒有分類能力。特征項的正常類和釣魚網站類中類內離散度相差越大,即特征項在某類中分布越多越均衡,在另一類中分布越少越不均衡,即特征項在正常類與釣魚網站類中的分布均衡程度相差越大,表示該特征項有越強的分類能力。經過以上分析可知特征項的分類能力與其類內離散度的差值成反比。
2.2 釣魚網站檢測敏感特征項選取的性能分析
實驗用測試集為D,由于本文是面向釣魚網站特征選擇的,測試集D中包含正常類和釣魚網站類兩類數據,各類包含200個測試數據。實驗選取6個布爾類型的特征項{Ta1,Ta2,Ta3,Tb1,Tb2,Tb3},表1為六個特征項在兩類中的出現頻率,表2為利用傳統的信息增益算法計算的權值從大到小排列的特征項。

表1 特征項在兩類中出現的頻率

表2 信息增益計算的特征項權值(從大到小)
分析表1和表2可見,特征項Ta1在正常類中出現頻率為10%,但在釣魚類中沒有出現。Ta2在正常類中出現頻率是10%,但在釣魚類中出現頻率為30%。Ta3在正常類中出現頻率為45%,在釣魚類中出現頻率為20%。信息增益算法僅考慮了特征與所有類別之間的相關性認為僅在正常類中出現的Ta1比在正常類和釣魚類中都出現的Ta2和Ta3更具有分類能力,但忽略了特征項在類內分布的均衡程度的差異即特征項類內離散度的差值。根據式(3)計算得知Ta2與Ta3的類內離散度差值分別為0.20和0.25均大于Ta1類內離散度差值0.10。同理,信息增益算法賦予Tb1更高的權值,但是Tb2和Tb3的類內分布的均衡程度的差值均大于Tb1。
通過以上實驗分析可得信息增益算法只考慮了特征項與類別之間的相關性,而忽略了特征項類內分布的均衡程度的差異,即特征項的類內離散度差值。如特征項僅在某一類別中出現較小次數在其他類別中均不出現或者僅在某一類別中不全部出現。但在其他類別中都全部出現時,由于信息增益僅考慮了特征項與類別之間的相關性認為僅在某一類別中出現或者僅在某類別中不出現的特征項具有更高的分類價值,這樣的特征性也許并不是我們所期望的結果。
3.1 算法的基本思想
針對上述不足,本文提出了一種綜合考慮特征項類內分布均衡度的信息增益改進算法IIGAIN。該算法對信息增益的改進是面向釣魚網站敏感特征優化選取的。釣魚網站檢測中的特征項全部為布爾類型,而且只含有正常網站和釣魚網站兩種類型,即分類目標屬性也是布爾類型。
IIGAIN算法的基本思想如下:
1) 綜合考慮特征項類間不平衡度及類內不平衡度都較高的情況,對某個特征項計算類內離散度之前,先計算該特征項在所有類的樣本中值為true(即該特征性在某類中出現)的數量和值為false(即該特征性在某類中不出現)的數量。選取樣本中數量較少的布爾值為計算類內離散度的基準屬性設為變量bl,即該特征項的基準屬性出現時表示該特征項在該類中出現。
2) 選取特征項的基準屬性后,分別以此為基準(用特征項的基準屬性的出現來表示特征項的出現)計算釣魚網站類的該特征項的類內離散度及正常網站類的該特征項的類內離散度。
3) 經過1.3節分析已知特征項的分類能力與其類內離散度的差值成正比。同時要綜合考慮訓練集中正常類與釣魚網站類的數據的數量的差異對特征項分類能力的影響。基于此,在此設定一個變量t表示特征項的類內離散度的差值,為了便于后續運算,我們將t歸一化到0~1之間。在歸一化過程中,將訓練集中正常類與釣魚網站類數據數量的差異對特征項分類能力的影響做如下處理:設定變量n表示訓練集中正常類數量,變量m表示訓練集中釣魚網站類的數量,Dlic(C1,Tk)表示特征項Tk在釣魚網站類內的離散度,Dlic(C2,Tk)表示特征項Tk在正常類內的離散度,計算公式如下:
(4)
4) 已經分析知特征項與類內離散度差成反比,此處將特征項的類內離散度差值t做相應的數學處理,并以處理后的變量dl作為懲罰項改進信息增益算法。計算公式如下:
(5)
IG′(Tk)=H(C)-dl×H(C|Tk)
(6)
3.2 算法流程
IIGAIN算法流程如下:
1) begin
2) if某特征項在所有類中值為true的數量大于false的數量
3) bl=false;
4) else
5) bl=true;
6) Dlic1=以bl為基準的該特征項在正常網站類的類內離散度;
Dlic2=以bl為基準的該特征項在釣魚網站類的類內離散度;
7) n=訓練集中正常類數量;
m=訓練集中釣魚網站類的數量;
IG′(Tk)=H(C)-dl*H(C|Tk)
9) return IG′(Tk)
10) End
3.3 改進的信息增益算法IIGAIN與信息增益算法IG計算的值的對比分析
利用改進的信息增益算法計算的2.2節中表1中的特征項的權值如表3所示。利用改進的信息增益算法IIGAIN和信息增益算法IG計算表1中特征項的權值的對比結果如圖1所示。圖1中IIGAIN對Ta1賦予了比Ta2和Ta4更低的權值,對Tb1賦予了比Tb2和Tb3低的權值。雖然所有特征項的權值都有所增加,但我們在選取特征項時只參考特征項權值的排序。顯然IIGAIN能更好地根據分類能力的強弱賦予相應的權值,能較準確地表征特征項的分類能力,能夠較有效地改善傳統的信息增益算法。

表3 IIGAIN算法計算的特征項權值(從大到小)

圖1 IIGAIN計算的權值與IG計算的權值的對比表
4.1 常用的釣魚網站敏感特征項
本文綜合了釣魚網站檢測相關文獻[2-7]中所選用的敏感特征,共選取了18種敏感特征項作為釣魚網站的敏感特征。包括Web頁面form表單敏感特征、頁內鏈接地址敏感特征、資源引用異常特征、javascript敏感特征、iframe敏感特征、icp和copyright敏感特征,URL地址敏感特征等,具體如表4所示。所有敏感特征的取值均為布爾類型,默認所有特征為false,若表4中特征描述為真,則特征取值為true。

表4 實驗選取的18種敏感特征項

續表4
特征1-4是Web頁面form表單的敏感特征,正常電商頁面form表單的 action 屬性應該指向頁面文件所在的域內,并且這個域與頁面所聲稱的所有者所在的域一致。對于Phishing 頁面,存在較多數量form表單的action 屬性的指向異常,比如空指向,指向不一致的域,或者input標簽中的name屬性包含password等敏感詞匯。如果Web頁面至少包含一個form表單,則特征1為true;如果Web頁面至少有一個form表單的action屬性為空指向,則特征2為true;如果Web頁面至少一個form表單指向不一致的域,則特征3為true;如果Web頁面至少一個form表單的input標簽的name屬性包含敏感詞匯,則特征4為true。
特征5-6是Web頁面頁內鏈接地址的敏感特征,正常電商頁面頁內鏈接不會為空而且大部分鏈接對象所指向的域與其所在頁面的域一致,對于Phishing頁面存在較多異常,比如空鏈接或者鏈接對象所指向的域與其所在頁面的域一致。如果頁內鏈接地址中至少有一個空鏈接,則特征5為true,提取所有鏈接地址的主域名(主域名即URL地址中可以代表網站身份的核心字符串如京東商城的主域名為“jd”);如果所有頁內鏈接地址中出現頻率最高的主域名與URL中的主域名不同,即頁內鏈接地址所在的域與頁面所在的域不一致則,特征6為true。
特征7-8是Web頁面引用資源敏感特征,正常頁面所引用的資源絕大部分來自頁面文件所在的域內,并且這個域與頁面所聲稱的所有者所在的域一致。而 Phishing頁面則存在相當一部分資源的來源異常,比如與頁面文件不在同一個域內或者引用資源地址為空等。如果引用資源的鏈接地址中至少包含一個空鏈接,則特征7為true;如果所有引用資源地址中出現頻率最高的主域名與URL中的主域名不一致,即引用資源地址所在的域與頁面所在的域不一致,則特征8為true。
特征9-10是Web頁面javascript敏感特征,通過對PhishTank.com中大量的釣魚網站進行分析發現釣魚網站為了進行欺詐。通常會添加異常的javascript函數并轉化為unicode字符或者引用與頁面所聲稱的所有者所在的域不一致的javascript文件,而正常網站不會刻意將javascript轉換為unicode字符也不會引用與頁面所聲稱的所有者所在的域不一致的javascript文件。如果Web頁面引用與頁面所聲稱的所有者所在的域不一致的javascript文件,則特征9為true;如果javascript中包含至少一個unicode字符,則特征10為true。
特征11-12是Web頁面iframe敏感特征,正常頁面iframe的src屬性中的鏈接地址的域與頁面所聲稱的所有者所在的域一致。而 Phishing頁面經常存在iframe的src屬性中的鏈接地址的域與頁面所聲稱的所有者所在的域不一致。如果Web頁面包含至少一個iframe,則特征11為true;如果至少一個iframe中src中的鏈接地址的域與頁面所聲稱的所有者所在的域不一致,則特征12為true。
特征13-14是Web頁面icp和copyright敏感特征,正常電商網站Web頁面會有合法的icp和copyright,而Phishing頁面icp和copyright會有異常。
特征15-18是URL地址敏感特征,正常網站的URL往往不會將服務器的IP地址直接顯示出來,點分個數多為2或者3,而且不會存在@字符和unicode字符。Phshing的URL存在較多異常,比如 http://www.boc.cn.1boc.com.cn/index.html 的URL 就是典型的二級域名欺騙釣魚網站網址,因此如果點分個數超過4就很有可能是二級域名欺騙則特征15為true。
4.2 基于IIGAIN的釣魚網站敏感特征項選取
本文的實驗數據分為兩部分:正常網站站點和釣魚網站站點。釣魚網站站點取自2014年3月10日—2014年3月14日間PhishTank.com中的釣魚網站URL,選取并確認其中200個URL地址作為實驗用例。正常網站站點實驗用例為收集并確認的200個合法站點。在這兩類站點中,分別隨機選取100個作為訓練樣本,另外100個作為測試樣本。
首先利用htmlparser爬取實驗用例中的URL地址的網頁,然后利用釣魚網站異常特征提取算法提取每一種特征項,將特征項全部設置為布爾類型。然后利用信息增益改進算法IIGAIN計算每個特征項的信息增益,如表5所示。為了驗證用IIGAIN優化選取的特征更具有分類能力,本文將所有的特征項根據IIGAIN的大小分為優(BEST)、中(MEDIAN)、差(WORST)及模擬傳統釣魚網站檢測方法的隨機選取兩組敏感特征項(RANDOM1,RANDOM2)共五類,如表6所示。其中每類選取十個特征項,BEST類選取IIGAIN排名前十位的特征項,MEDIAN類選取IIGAIN排名在中間的十個特征項,WORST類選取IIGAIN排名后十位的特征項,RANDOM1和RANDOM2任意選取排名前9位的5個特征項及排名后9位的5個特征項。對五組特征項分別利用LibSVM機器學習算法進行分類識別。

表5 IIGAIN計算的所有特征項的權值的排序(由大到小)

續表5

表6 五種方法選擇的用于釣魚網站檢測的敏感特征項
4.3 實驗結果及分析
實驗結果如圖2所示,實驗表明利用BEST特征項集合進行分類識別的準確率是94.87%,為五類特征項集合中最高的;利用MEDIAN特征項集合進行分類識別的準確率是64.10%;利用WORSE特征項集合進行分類識別的準確率是48.72%;模擬傳統釣魚網站檢測方法的隨機選取特征項集合進行分類識別的RANDOM1準確率是84.10%,低于BEST特征項集合給出的分類準確率;RANDOM2的分類準確率為60.32%,低于BEST特征項集合的準確率。很顯然經過IIGAIN優化選取的最優的特征項集合比傳統的隨機選取特征項的方法有更好的分類能力,利用IIGAIN進行特征項選取的釣魚網站檢測方法具有較高的準確性。

圖2 五類特征項集合的檢測準確性
為了實現特征項的優化選擇,本文引入了信息論中的信息增益算法并且對其進行改進,提出了一種綜合考慮特征項類間及類內分布均衡度的信息增益算法IIGAIN,將其應用到釣魚網站敏感特征項選取中。實驗結果表明,經過IIGAIN優化選取的特征項具有更好的分類能力,利用IIGAIN的釣魚網站檢測方法彌補了傳統的釣魚網站檢測方法中隨機選取敏感特征項的不足,具有更好的檢測準確性。同時,本文提出的改進的信息增益算法IIGAIN還可以應用到文本分類等相關領域。
[1] 趙躍華,胡向濤.網絡釣魚攻擊的防御技術及防御框架的設計[J].計算計應用研究,2013,30(6):1863-1866.
[2] 黃華軍,錢亮,王耀鈞.基于異常特征的釣魚網站URL檢測技術[J].信息網絡安全,2012(1):23-25.
[3] 高輝,鄒福泰,譚大禮,等.基于SVM主動學習算法的網絡釣魚檢測系統[J].計算機工程,2011,37(19):126-128.
[4] 宋秋明,曹曉蕓.基于敏感特征的網絡釣魚網站檢測方法[D].大連:大連理工大學,2013.
[5] 王婷,彭冰.基于REF-SVM的釣魚網頁識別技術的研究[D].武漢:華中科技大學,2012.
[6] 張立國,李忠獻.網絡釣魚檢測引擎的分析與設計[D].北京:北京郵電大學,2012.
[7] 吳朝花,郭燕慧.基于Android平臺的網絡釣魚識別系統的設計與實現[D].北京:北京郵電大學,2012.
[8] 李學明,李海瑞,薛亮,等.基于信息增益與信息熵的TFIDF算法[J].計算機工程,2012,38(8):37-40.
[9] 徐鳳亞,羅振聲.文本自動分類中特征權重算法的改進研究[J].計算機工程與應用,2005,41(1):181-183.
IIGAIN ALGORITHM ORIENTED TO FISHING WEBSITES SENSITIVE FEATURE ITEMS SELECTION
Wang Yan Wang Xingfen Ren Junling
(SchoolofComputing,BeijingInformationScienceandTechnologyUniversity,Beijing100101,China)
Traditional detection technique for fishing websites mainly employs the means of random or empirical sensitive feature items selection in detection, it cannot guarantee the detection accuracy. Therefore, in this paper we propose an improved information gain algorithm (IIGAIN) which is oriented to fishing website sensitive feature items selection. The algorithm comprehensively considers the within-class dispersion of feature items, by processing correspondingly the difference of within-class dispersion of feature items, it uses the result obtained after processing as the penalty item to improve the information gain algorithm. Experimental result shows that the fishing websites detection method using IIGAIN for feature items selection has conspicuous superiority in accuracy of detection than the fishing websites detection method based on random feature item selection algorithm.
Fishing websites detection Sensitivity feature item Information gain Within-class dispersion
2014-09-07。北京市教委科技重點項目(KZ20141123 2036)。王燕,碩士生,主研領域:網絡安全。王興芬,教授。任俊玲,副教授。
TP3
A
10.3969/j.issn.1000-386x.2016.04.069