陳 鵬,李勇志,余肖生
(三峽大學(xué) 計算機(jī)與信息學(xué)院,湖北 宜昌 443002)
網(wǎng)絡(luò)釣魚主要是利用社會工程學(xué)和技術(shù)欺騙手段來獲取用戶隱私信息,最典型的網(wǎng)絡(luò)釣魚攻擊將收信人引誘到一個通過精心設(shè)計與目標(biāo)組織的網(wǎng)站非常相似的釣魚網(wǎng)站上,并獲取收信人在此網(wǎng)站上輸入的個人敏感信息,是當(dāng)前增長最快的網(wǎng)絡(luò)攻擊之一[1]。
為了識別和預(yù)防網(wǎng)絡(luò)釣魚,人們提出了許多反網(wǎng)絡(luò)釣魚的檢測技術(shù),主要分為基于搜索引擎、基于黑白名單、基于啟發(fā)式及機(jī)器學(xué)習(xí)算法等。對比這幾種技術(shù)可以發(fā)現(xiàn),基于啟發(fā)式及機(jī)器學(xué)習(xí)算法的檢測方法是通過提取網(wǎng)站特征集,然后使用啟發(fā)式規(guī)則或者機(jī)器學(xué)習(xí)算法處理,達(dá)到分類的效果,具有依賴性小、反應(yīng)速度更快的優(yōu)點[2]。在處理特征集時,需要使用特征選擇技術(shù)篩掉一些已經(jīng)不被釣魚者使用的特征。一般來說,常用的特征選擇主要有過濾式方法[3]和封裝式方法[4-5], 兩者相比, 過濾式與分類階段相互獨立,因此過濾式方法計算量更小、速度更快,封裝式方法需要依賴分類器性能作為評價準(zhǔn)則,多次迭代遍歷所有特征,因此封裝式方法分類效果更高[6]。文獻(xiàn)[7]提出了一種綜合考慮特征項類及類內(nèi)分布均衡的信息增益算法IIGAIN,經(jīng)過IIGAIN優(yōu)化選取的特征項具有更好的分類能力。文獻(xiàn)[8]提出了一種過濾式方法和封裝式方法混合特征選擇模型FSIGR,在特征降維和提高分類精確度方面均有很好的表現(xiàn)。文獻(xiàn)[9]提出了一種基于機(jī)器學(xué)習(xí)的多種過濾式方法融合的特征選擇框架HEFS,提高了基于機(jī)器學(xué)習(xí)的釣魚檢測系統(tǒng)的檢測精度和計算效率,以及隨機(jī)森林始終優(yōu)于其他分類器。
綜上,以往研究人員對特征選擇模型進(jìn)行了優(yōu)化,并得到了較為理想的效果,但是這些文獻(xiàn)所提出的特征選擇模型分別具有使用單一評價標(biāo)準(zhǔn)導(dǎo)致可能遺失一些重要特征、僅剔除不相關(guān)特征而忽略弱相關(guān)特征導(dǎo)致分類效率提升未達(dá)到最優(yōu)、未考慮使用封裝式方法導(dǎo)致分類精確率略低的問題。
針對以上問題,該文提出了一種基于混合特征選擇模型的釣魚網(wǎng)站快速識別方法。混合特征選擇模型包含了三個主要部分。過濾方法部分使用信息增益和卡方檢驗兩種評價準(zhǔn)則評估屬性特征與標(biāo)簽特征的相關(guān)性并綜合排名,生成新的特征子集;封裝方法部分使用基于隨機(jī)森林的遞歸特征消除算法處理數(shù)據(jù)子集,得到最優(yōu)特征子集;分類部分使用隨機(jī)森林算法對特征選擇后的數(shù)據(jù)集進(jìn)行訓(xùn)練并測試,提高釣魚網(wǎng)站識別的效率。
2.1.1 信息增益
信息熵是一個變量的種類數(shù)量以及發(fā)生概率,記為H(X)。變量包含的可變信息越多,則此變量擁有的信息量就越大,即信息熵越大[10]。信息熵的求解如式(1)所示。

(1)
其中,X為變量,n為變量X發(fā)生的可能性,p(xi)為概率密度函數(shù)。
條件熵用來衡量兩個事件的相關(guān)性,記為H(X|Y)。若H(X)=H(X|Y),則變量X與變量Y不相關(guān);若H(X)>H(X|Y),則變量X與變量Y相關(guān)。條件熵的求解如式(2)所示:
(2)
其中,X和Y為變量,n為變量Y發(fā)生的可能性,p(yi)為概率密度函數(shù)。
信息增益(information gain,IG)是機(jī)器學(xué)習(xí)中常用的一種度量,用于評估特征的優(yōu)劣,其值越大,表明特征越重要[11]。通常,信息增益使用信息熵與條件熵的差值表示,信息增益的求解如式(3)所示:
IG(X,Y)=H(X)-H(X|Y)
(3)
其中,X為標(biāo)簽特征,Y為屬性特征。
當(dāng)數(shù)據(jù)集特征數(shù)量特別多時,使用信息增益劃分更容易得到純度更高的子集,劃分后子集的熵變低,而原始熵不變,信息增益的值變大,因此信息增益比較偏向于取值較多的特征[12]。
2.1.2 卡方檢驗
卡方檢驗(Chi-squared,CHI)是機(jī)器學(xué)習(xí)中另一種被廣泛使用的度量,用于判斷兩個特征之間的相互獨立性,值越大,表明兩個特征之間的獨立性越低,相關(guān)性越高[13]。為了計算卡方值,引用式(4)。
CHI(X,Y)=
(4)
其中,N表示訓(xùn)練集大小,A表示特征X與特征Y同時存在的次數(shù),B表示存在特征X但不存在特征Y的次數(shù),C表示存在特征Y但不存在特征X的次數(shù),D表示既不存在特征X也不存在特征Y的次數(shù)。
傳統(tǒng)卡方檢驗統(tǒng)計方法只考慮了屬性特征在所有樣本中出現(xiàn)的樣本數(shù)量,而沒有考慮屬性特征在某個樣本中出現(xiàn)的次數(shù),因此卡方檢驗更偏向于出現(xiàn)頻率更低的特征[14]。
2.2.1 隨機(jī)森林
隨機(jī)森林(random forest,RF)是一種基于樹的集成,每棵樹取決于一組隨機(jī)變量的集合,最終結(jié)果由所有樹投票產(chǎn)出[15]。隨機(jī)森林作為集成算法,相比于普通算法具有運(yùn)行速度快、抗擬合能力強(qiáng)等優(yōu)點。
由于每一次抽取樣本方式為隨機(jī)抽取的特點,所以會出現(xiàn)有些樣本被抽到很多次,而有些樣本從未被抽取到的情況,這部分從未被抽到的樣本稱為袋外數(shù)據(jù)(out of bag,OOB),OOB數(shù)據(jù)可用來對隨機(jī)森林的泛化誤差、相關(guān)系數(shù)和強(qiáng)度進(jìn)行估計。
2.2.2 基于隨機(jī)森林的遞歸特征消除算法
遞歸特征消除算法(recursive feature elimination,RFE)的主要思想是構(gòu)建模型,如果初始特征集不為空,對每個初始特征賦予一個權(quán)值,然后去除權(quán)值最小的特征,將剩余特征繼續(xù)構(gòu)建模型,通過不停重復(fù)構(gòu)建模型-選擇特征的過程,直到剩余特征數(shù)量滿足所需特征數(shù)量[16]。相較于非遞歸的特征消除算法,遞歸特征消除算法不僅計算了屬性特征和標(biāo)簽特征之間的相關(guān)性,還考慮了屬性特征之間的相關(guān)性,每次選擇特征后重新給予權(quán)值可以防止某些屬性特征的權(quán)值因為其他屬性特征被剔除后突然變大的現(xiàn)象。
基于隨機(jī)森林的遞歸特征消除算法(RF-RFE)把需要的特征集合初始化為整個數(shù)據(jù)集合,每次剔除一個排序分?jǐn)?shù)最小的數(shù)據(jù),直到獲得最后的特征集。因此RF-RFE是一個基于隨機(jī)森林的最大間隔原理的序列向后選擇算法[17]。算法主要步驟如下:
(1)設(shè)數(shù)據(jù)總樣本個數(shù)為N,采取有放回的方式隨機(jī)選取K個含有N個樣本的樣本子集,將選取的樣本子集構(gòu)建為K棵決策樹,對于每棵決策樹,都會有一組袋外數(shù)據(jù),這些袋外數(shù)據(jù)作為測試樣本。
(2)設(shè)每個樣本有M個屬性,在決策樹節(jié)點分裂時,選取整數(shù)m個屬性(0 (3)將步驟(1)生成的K棵決策樹集成為隨機(jī)森林,使用袋外數(shù)據(jù)的均方誤差(mean square error,MSE)對隨機(jī)森林的效果進(jìn)行評價,均方誤差值越小,則預(yù)測效果越理想。其中均方誤差公式如下: (5) (4)采用后向迭代,根據(jù)均方誤差的變化,可以給予每個特征一個評分,然后刪除評價分?jǐn)?shù)最低的特征,然后重復(fù)步驟(1)~步驟(3),每課樹都可以得到一個特征子集,將K個特征子集合并,最終得到最優(yōu)特征子集。 基于隨機(jī)森林的遞歸特征消除算法的優(yōu)點可總結(jié)為以下四點:具有較高的特征選擇精確率;特征子集具有較高的一致性;特征選擇程序的迭代次數(shù)較少;對于大數(shù)據(jù)集的效果較好[18]。 由本節(jié)內(nèi)容可知,雖然信息增益和卡方檢驗在特征選擇過程中效果較理想,但是卻對不同類型的特征具有偏好性,使用單一評價顯然不能保證特征子集的完整性,因此該文使用兩種算法綜合評價解決偏好性問題。 其次,即使基于隨機(jī)森林的遞歸特征消除算法能夠減少一定迭代次數(shù),但是其作為封裝式方法,每次計算屬性特征評分的迭代過程對于計算機(jī)來說仍是極其耗費(fèi)內(nèi)存和時間的,對于大數(shù)據(jù)集的效果更好的優(yōu)點僅僅體現(xiàn)在最終保留屬性特征的分類精確度上,當(dāng)數(shù)據(jù)集初始維度過高時,使用這種封裝式方法進(jìn)行特征選擇,龐大的計算復(fù)雜度依舊可能使計算機(jī)內(nèi)存負(fù)載,該文使用降低輸入特征集維度的方法解決可能出現(xiàn)的計算機(jī)內(nèi)存負(fù)載問題。 針對現(xiàn)有特征選擇模型雖然精確率較高,但是分類結(jié)果片面、維度降低程度不足的缺點,在精確度低損失的前提下,提出新的混合特征選擇模型解決以上問題。基于混合特征選擇模型的釣魚網(wǎng)站快速識別方法框架如圖1所示。 圖1 基于混合特征選擇模型的釣魚網(wǎng)站快速識別方法框架 其中混合特征選擇模型主要包含3個主要部分。過濾方法部分使用信息增益和卡方檢驗兩種評價準(zhǔn)則評估屬性特征與標(biāo)簽特征的相關(guān)性并綜合排名,生成新的特征子集,這一處理過程不僅降低了過濾式方法的偏好性影響,還利用了過濾式方法相較于封裝式方法速度更快的優(yōu)點,快速剔除一些不相關(guān)或者弱相關(guān)的屬性特征,減少了接下來使用封裝式給計算機(jī)帶來的負(fù)擔(dān);封裝方法部分使用基于隨機(jī)森林的遞歸特征消除算法處理數(shù)據(jù)子集,這一處理過程由于輸入特征集維度的降低,迭代時間長和占用的計算機(jī)空間多的問題都有了明顯改善,由此方法得到的最優(yōu)特征子集體現(xiàn)了封裝式方法相較于過濾式方法效果更好的優(yōu)點;分類部分使用隨機(jī)森林算法作為分類器對使用混合特征選擇模型處理后的數(shù)據(jù)集進(jìn)行訓(xùn)練并測試,提高釣魚網(wǎng)站識別的效率。 (1)初次特征選擇。由于信息增益與卡方檢驗均對不同特點的特征有偏好,為了降低這種偏好性的影響,在此部分使用信息增益和卡方兩種過濾式方法對初始特征集進(jìn)行綜合度量并排序,快速去除相關(guān)性較低的特征,得到特征子集Ff。設(shè)數(shù)據(jù)集為D,特征集為F={Fi|i=1,2,…,n}。首先計算每個特征和類別特征的IG值以及CHI值并標(biāo)準(zhǔn)化處理,如式(6)和式(7)。 (6) (7) 其次依據(jù)這兩個度量標(biāo)準(zhǔn)建立二維坐標(biāo)系,由此每個特征可以看作一個向量,記為V={Vi|i=1,2,…,n},向量的模代表對應(yīng)特征的綜合度量值,向量的模的計算如式(8): (8) (9) 其中,默認(rèn)距離h=1,n表示綜合度量值降序后的排名。將Rmin映射的特征作為截斷閾值,并且為了防止局部最優(yōu),需要滿足式(10)。 (10) 其中,Loc(X)表示數(shù)據(jù)X的位置,最終得到特征子集Ff。由以上方法選出的特征子集有效地降低了信息增益的多分支偏好性以及卡方檢驗的低頻偏袒性的影響。該特征子集不僅具有與類別特征高相關(guān)性的特點,而且維度極大程度地降低,能夠更好地優(yōu)化封裝式方法特征選擇過程。 (2)二次特征選擇。經(jīng)過初次特征選擇過程,初始特征集維度已經(jīng)降低,剩余特征組成的特征子集的維度可以降低封裝式方法所攜帶的迭代時間過長的影響,使用基于隨機(jī)森林的遞歸特征消除算法對特征子集Ff進(jìn)行二次篩選,在盡可能保持精確率的同時去除一些特征,從而得到最優(yōu)特征子集Ffw。將特征子集Ff作為輸入特征集,應(yīng)用遞歸特征消除的迭代訓(xùn)練方法,每次訓(xùn)練過程移除一個最差的特征,然后基于新的特征子集進(jìn)行新一輪的訓(xùn)練,如此反復(fù)訓(xùn)練,直到達(dá)到跳出迭代的條件,獲得最優(yōu)特征子集Ffw。 (3)分類。基于兩次特征選擇后的最優(yōu)特征子集Ffw與原始特征集相比極大地降低了維度,使用隨機(jī)森林算法作為分類器對降低維度后的數(shù)據(jù)集進(jìn)行訓(xùn)練和測試。 文中使用的數(shù)據(jù)集由文獻(xiàn)[9]作者創(chuàng)建(可在網(wǎng)址: http://dx.doi.org/10.17632/h3cgnj8hft.1處獲取)。該數(shù)據(jù)集具備48個屬性特征、1個分類標(biāo)簽、5 000個合法網(wǎng)站和5 000個釣魚網(wǎng)站。其中48個屬性特征是基于釣魚網(wǎng)站檢測的相關(guān)論文提出并均是從網(wǎng)頁的URL和HTML源代碼中提取出來的;10 000個網(wǎng)站是使用GNUWget工具和Python腳本爬取的,5 000個釣魚網(wǎng)站來自PhishTank和OpenPhish,5 000個合法網(wǎng)站來自Alexa和CommonCrawl。 特征集包含屬性名為NumDots、UrlLength、NumDash等16個離散型變量特征,屬性名為PctExtHyperlinks、PctNullSelfRedirectHyperlinks、PctExtResourceUrls的3個連續(xù)型變量特征,屬性名為NoHttps、IpAddress、InsecureForms等22個二分類變量特征以及屬性名為SubdomainLevelRT、PctExtNullSelfRedirectHyperlinksRT、ExtMetaScriptLinkRT等7個多分類變量特征,共計48個屬性特征。 實驗由兩個小實驗部分組成,使用降維程度、分類精確度和分類時間復(fù)雜度作為評價標(biāo)準(zhǔn),使用隨機(jī)森林算法作為分類器對使用不同特征選擇模型處理后的數(shù)據(jù)集進(jìn)行分類以及結(jié)果對比,充分驗證提出的混合特征選擇模型的有效性和適用性。此外,實驗使用了ROC曲線將兩個部分的真陽性率和假陽性率的關(guān)系進(jìn)行直觀顯示,由曲線下區(qū)域面積數(shù)值均大于0.95,證明了模型具有良好的泛化能力。 (1)本部分對比無特征選擇、應(yīng)用文獻(xiàn)[9]提出的HEFS框架以及應(yīng)用文中混合特征選擇模型的分類結(jié)果,在降維程度相同以及分類時間復(fù)雜度相近的條件下,精確度得到提升,證明了文中混合特征選擇模型的有效性。 (2)使用所提出的混合特征選擇模型對其他釣魚網(wǎng)站數(shù)據(jù)集進(jìn)行測試,在精確度相近的條件下,降維程度和分類時間復(fù)雜度方面得到優(yōu)化,證明該模型具有一定的適用性,能夠靈活地適用于不同的數(shù)據(jù)集。 剔除不相關(guān)和弱相關(guān)的屬性特征,可以提高分類精確度并且降低分類時間復(fù)雜度。該實驗除剔除以上兩種屬性特征外,還需要剔除相關(guān)性相對小的屬性特征,隨著這種屬性特征的剔除,特征維度和分類時間復(fù)雜度降低,而分類精確度也會降低。因此以上兩個實驗部分綜合權(quán)衡分類時間復(fù)雜度和分類精確率,在保證精確率低損失的同時,減少特征數(shù)量,節(jié)約計算過程消耗。文中的分類器使用了sklearn框架中的隨機(jī)森林算法,將隨機(jī)森林算法的主要參數(shù)n_estimators設(shè)置為20,min_samples_split設(shè)置為4,min_samples_leaf設(shè)置為2,并使用10折交叉驗證方法作為評價指標(biāo),將訓(xùn)練集與測試集比例設(shè)置為9∶1。由于10折交叉驗證的選取隨機(jī)性,每次選取作為訓(xùn)練集和測試集的樣本不同,導(dǎo)致每次分類結(jié)果不同,因此選擇三次分類結(jié)果取平均作為最終結(jié)果。 實驗一:在相同參數(shù)的隨機(jī)森林分類器基礎(chǔ)上,HEFS框架使用三種過濾式方法對特征集進(jìn)行特征選擇,而文中提出的混合模型綜合了過濾式方法和封裝式方法的優(yōu)點對相同特征集進(jìn)行特征選擇,最終得到的最優(yōu)特征子集包含了10個特征,如圖2所示。通過選取的10個最優(yōu)特征發(fā)現(xiàn),現(xiàn)有網(wǎng)絡(luò)釣魚檢測方法中一些常用的特征并未在其中。目前UrlLength、IpAddress、NoHttps、NumDot等特征仍然被用作識別釣魚網(wǎng)站的重要特征。然而實驗結(jié)果表明,由于近年釣魚網(wǎng)站趨勢的改變,網(wǎng)絡(luò)釣魚者正逐漸使用新的方法來逃避檢測,導(dǎo)致這些特征已經(jīng)對識別釣魚網(wǎng)站沒有太多貢獻(xiàn)。因此需要及時更新檢測特征集,拋棄已經(jīng)不被釣魚者使用的特征,提高檢測效率。 圖2 最優(yōu)特征子集 表1給出了分類實驗精確率的結(jié)果以及分類時間復(fù)雜度的結(jié)果。其中FST表示所使用的特征選擇技術(shù),NuF表示特征選擇過程后剩余的最優(yōu)特征個數(shù),AUC表示分類的精確率,CT表示分類時間復(fù)雜度。 表1 基于隨機(jī)森林不同模型的分類結(jié)果 從表1的結(jié)果可以得出,文中提出的混合特征選擇模型以及文獻(xiàn)[9]提出的HEFS框架均將數(shù)據(jù)集特征數(shù)量降低了79.2%。在分類時間復(fù)雜度方面,降低了32%的分類時間復(fù)雜度;在分類精度方面,具有極低的精確度損失。總體來說,評價結(jié)果驗證了所提出的混合特征選擇模型的有效性,并且該模型產(chǎn)生了一組較優(yōu)的特征集,可用于反網(wǎng)絡(luò)釣魚工作的后續(xù)研究。 實驗二:為了進(jìn)一步驗證該技術(shù)的適用性,將混合特征選擇模型應(yīng)用于UCI機(jī)器學(xué)習(xí)庫中的大型釣魚數(shù)據(jù)集對其進(jìn)行評價,該數(shù)據(jù)集由11 055個樣本和30個不同的特征組成,廣泛應(yīng)用于網(wǎng)絡(luò)釣魚檢測,并將分類結(jié)果與文獻(xiàn)[10]中的FSIGR算法進(jìn)行對比,如表2所示。 表2 文中模型與FSIGR模型[8]之間的性能基準(zhǔn)測試 從表2結(jié)果表明,在精確率損失1.7%的可接受條件下,提出的模型在特征維度上降低了70%,并且分類時間復(fù)雜度也降低了41.1%,而FSIGR算法雖然保證了精確率,但并沒有有效降維。顯然地,在處理高維數(shù)據(jù)時,文中方法將更加有效地減少計算機(jī)壓力。由此表明,所提出的混合特征選擇模型具有較強(qiáng)的魯棒性,能夠靈活地適用不同的數(shù)據(jù)集,維度越高,降維效果越明顯。 受試者工作特征(receiver operating characteristic curve,ROC)曲線可以通過構(gòu)圖的方法反映出真陽性率(靈敏度)和假陽性率(1-特異度)的相互關(guān)系。ROC曲線可以很輕易地查出任意界限值時的對性能的識別能力,作為橫坐標(biāo)的假陽性率越小時,作為縱坐標(biāo)的真陽性率越大,則ROC曲線越靠近左上角、曲線下面積越大,AUC(area under ROC curve)越大、模型的泛化能力越高、分類效果越好。圖3為使用文中提出的模型后兩個數(shù)據(jù)集的ROC曲線。 圖3 文中模型適用于不同數(shù)據(jù)集的ROC曲線 其中,ROC curve_1表示文中模型應(yīng)用在釣魚網(wǎng)站數(shù)據(jù)集[17]上的曲線,ROC curve_2表示文中模型應(yīng)用在UCI機(jī)器學(xué)習(xí)庫中的大型釣魚數(shù)據(jù)集上的曲線,area表示ROC曲線下區(qū)域面積。從圖中可以看出,當(dāng)兩個ROC曲線假陽性率很小時,真陽性率數(shù)值已經(jīng)接近1,曲線凸起位置靠近左上角,曲線下區(qū)域面積分別達(dá)到了0.98和0.96,二值均屬于較大的數(shù)值,從而證明了所提出的混合特征選擇模型作用于不同的數(shù)據(jù)集時,均有較高的泛化能力。 提出了一種基于混合特征選擇模型的釣魚網(wǎng)站快速識別方法,其中在隨機(jī)森林算法的基礎(chǔ)上,利用了過濾式方法和封裝式方法綜合度量,從而得到最優(yōu)特征子集。此外,在模型中使用分布函數(shù)與梯度,獲取最佳截斷閾值。該模型的目的是在損失可接受程度的精確度的條件下,盡可能減少特征數(shù)量。實驗結(jié)果表明,使用該模型處理后得到的數(shù)據(jù)集,具有精確度低損失、分類高效率的優(yōu)點,此外該模型能夠靈活地適應(yīng)其他數(shù)據(jù)集。以上結(jié)論證明了提出的混合特征選擇模型的有效性和一定的適用性。考慮特征之間的關(guān)聯(lián)度,將模型轉(zhuǎn)變?yōu)榫€上可學(xué)習(xí)的模型,是筆者接下來工作的重點。
3 基于混合特征選擇模型的釣魚網(wǎng)站快速識別方法


4 實驗及結(jié)果分析
4.1 實驗數(shù)據(jù)
4.2 實驗過程
4.3 結(jié)果分析




5 結(jié)束語