王歡歡,田生偉??,禹龍,彭詠芳,裴新軍
(1.新疆大學(xué)軟件學(xué)院,新疆烏魯木齊830008;2.新疆大學(xué)網(wǎng)絡(luò)中心,新疆烏魯木齊830046;3.新疆大學(xué)信息科學(xué)與工程學(xué)院,新疆烏魯木齊830046)
隨著互聯(lián)網(wǎng)技術(shù)的不斷發(fā)展,網(wǎng)絡(luò)已經(jīng)滲透了人們的生活,網(wǎng)頁鏈接更是與日俱增,惡意URL的檢測變的越來越重要且更加困難.在經(jīng)濟(jì)利益的驅(qū)使下,惡意URL 發(fā)展快速且變化多種多樣,對于個人的隱私和財產(chǎn)安全已經(jīng)構(gòu)成了嚴(yán)重威脅.近年來,利用網(wǎng)絡(luò)惡意盜取個人信息和財產(chǎn)的案件頻發(fā),因此加強反惡意URL研究對于網(wǎng)絡(luò)的健康發(fā)展已刻不容緩.如何有效的檢測惡意URL已成為一個重要的研究課題,而以往的研究主要是基于傳統(tǒng)的算法模型,發(fā)展進(jìn)展受限,發(fā)展空間較小[1,2].深度學(xué)習(xí)的興起帶來了新的發(fā)展機遇,不僅影響著傳統(tǒng)算法模型的學(xué)習(xí),而且廣泛應(yīng)用于自然語言處理、語音識別、圖像處理等方面,同時也應(yīng)用于網(wǎng)頁檢測的領(lǐng)域中.在深度模型中,IndRNN可以很好地處理步較長的序列.利用IndRNN可以保留長期記憶、處理長序列,IndRNN還可以很好地利用relu等非飽和函數(shù)作為激活函數(shù),并且訓(xùn)練之后非常魯棒.通過調(diào)節(jié)基于時間的梯度反向傳播,可以有效地解決梯度消失和爆炸問題.而雙向IndRNN基本思想是分別向前和向后呈現(xiàn)每個序列到兩個單獨的隱藏狀態(tài)以捕獲過去和未來的信息.然后將兩個隱藏狀態(tài)連接起來形成最終輸出,從而提供更全面的信息,多方位進(jìn)行訓(xùn)練、檢測網(wǎng)頁URL.本文在現(xiàn)有的研究成果之上,進(jìn)行了基于Bi-IndRNN算法的惡意URL分析與檢測的研究.通過提取主機信息特征和URL信息特征,進(jìn)行特征融合之后,用來訓(xùn)練Bi-IndRNN算法模型.
針對惡意URL識別問題,國內(nèi)外的研究人員提出多種識別技術(shù)和解決方案.其中國外的Justin Ma[3]等人使用統(tǒng)計學(xué)方法來發(fā)現(xiàn)惡意web站點URL的基于詞匯和主機的屬性、基于自動化的分類,提高了準(zhǔn)確率,但是此方法無法處理數(shù)百萬個功能隨時間而變化的URL.Daiki Chiba[4]等人開發(fā)并評估了基于機器學(xué)習(xí)技術(shù)的輕量級和擴(kuò)展的檢測方案.研究的目的不是提供有效檢測基于Web的惡意軟件的單一解決方案,而是開發(fā)一種補償現(xiàn)有方法缺點的技術(shù).Daiki Chiba[5]等人利用了IP地址比其他指標(biāo)更加穩(wěn)定的特性,通過分析IP地址功能,提出了基于字節(jié)的提取、基于擴(kuò)展字節(jié)的提取和基于位串的提取這三種從IP地址提取特征向量的方法,選擇用SVM證明有效性,但是由于良性網(wǎng)頁位于惡意網(wǎng)頁使用相同網(wǎng)絡(luò)托管服務(wù)上,因此此方法會把良性網(wǎng)頁檢測為惡意網(wǎng)頁.Ismahani Ismai[6]等人提出了一種新的Snort惡意軟件特征檢測方法,將其納入樸素貝葉斯模型訓(xùn)練中,采用IP地址分段、地位判定的分類方法,證明了所提出的工作在分組層次上導(dǎo)致低特征搜索空間進(jìn)行有效檢測,以無狀態(tài)級別檢測惡意網(wǎng)頁與狀態(tài)級別類似的準(zhǔn)確性是可行的,但是此方法仍處于探索階段,因此測試并不是實時進(jìn)行.FEROZ[7]等人構(gòu)建了一個可靠的URL分類框架,提取和使用16個手動選擇的詞法和基于主機的功能,分類器的彈性也通過使用隨機采樣來驗證.MOlalere[8]等人提供了一個實時系統(tǒng)Monarch,它可以在URL提交到Web服務(wù)時對其進(jìn)行爬蟲,并確定這些URL是否指向垃圾郵件,證明Monarch可以提供準(zhǔn)確的實時保護(hù),但是垃圾郵件的底層特性并不能在Web服務(wù)中推廣.目前國內(nèi)的沙泓州[9,10]等人提出了一種自學(xué)習(xí)的輕量級網(wǎng)頁分類方法SLW.SLW首次引入了訪問關(guān)系的概念,使其具有反饋和自學(xué)習(xí)的特點.SLW從已有的惡意網(wǎng)頁集合出發(fā)自動發(fā)現(xiàn)可信度低的用戶和對應(yīng)的訪問關(guān)系,從而進(jìn)一步利用低可信度用戶對其他網(wǎng)頁的訪問關(guān)系來發(fā)現(xiàn)未知的惡意網(wǎng)址集合.林海倫[11]等人提出了一種通過建立3-gram為詞項的倒排索引快速計算惡意URL的段模式,該方法通過基于Jaccard的隨機域名識別技術(shù)來判定隨機域名產(chǎn)生的惡意URL.然而,此方法只通過簡單的Jaccard指數(shù)檢測包含隨機域名的惡意URL的方式還不夠完善.劉燕兵[12]等人設(shè)計了一種適合于大規(guī)模URL過濾模型的多模型匹配算法,該算法在經(jīng)典的SOG算法基礎(chǔ)上,針對URL規(guī)則的特點,提出了最優(yōu)窗口選擇和模式串分組規(guī)約這兩種優(yōu)化技術(shù).然而,URL等真實模式串并不滿足經(jīng)典串匹配算法,設(shè)計主要基于“模式串和文本字符服從均勻分布”的假設(shè),并且主要在隨機數(shù)據(jù)集上進(jìn)行評測的條件.周浩[13]等人利用決策樹的方法對大量的惡意網(wǎng)頁與正常網(wǎng)頁進(jìn)行深入分析,除了考慮網(wǎng)頁自身特征之外,選取了多種新的特征來檢測惡意網(wǎng)頁,包括Google PageRank值[14]及搜索結(jié)果數(shù)[15]、Alexa流量信息[16]、域名信息[17]、WOT聲譽值等.王秋實[18]等人利用基于客戶端蜜罐的動態(tài)分析方法實現(xiàn)了利用API HOOK以及Sandbox技術(shù)的掛馬網(wǎng)頁驗證系統(tǒng)和利用BHO技術(shù)的HTTP木馬網(wǎng)絡(luò)追蹤系統(tǒng).傳統(tǒng)的惡意URL檢測大多基于黑名單[19,20]、信譽系統(tǒng)[21]、主機[22,23]、詞匯、蜜罐技術(shù)[24]及入侵檢測技術(shù)[25],本文提出一種基于Bi-IndRNN的惡意URL檢測算法.
本文的主要貢獻(xiàn)如下:
1.本文提取了主機信息特征,并且篩選出URL信息特征.隨后,將篩選后的URL信息特征和主機信息特征進(jìn)行有效的特征融合,并且使用Bi-IndRNN模型進(jìn)行檢測.
2.將Bi-IndRNN算法用于惡意URL分析與檢測,利用分類算法對提取的特征進(jìn)行訓(xùn)練,篩選出有效特征.通過特征融合,并構(gòu)造出惡意URL的分類器.使用構(gòu)造好的分類器對惡意URL進(jìn)行檢測、分類,提升了惡意URL檢測的自動化程度和準(zhǔn)確率.
提取的特征直接影響了惡意URL檢測的準(zhǔn)確度和精度,因此特征起著至關(guān)重要的作用.本文在提取主機信息特征的基礎(chǔ)上又提取了URL信息特征.
2.1.1 主機信息特征
基于主機的功能從URL的主機名屬性中獲得,這可讓我們知道惡意主機的位置、身份以及這些主機的管理風(fēng)格和屬性.本文提取的主機信息特征包括百度權(quán)重、百度收錄量、360權(quán)重、360收錄量、搜狗權(quán)重、搜狗收錄量、ALEXA排名、建站時間、網(wǎng)頁IP、360快照日期、搜狗快照日期、導(dǎo)出鏈接等共20種.表1列舉了20個可提取的特征.
表1 主機信息特征Tab 1 Host Information Features
表2 URL信息特征Tab 2 URL Information Features
2.1.2 URL信息特征
因為直接使用原始URL名稱在機器學(xué)習(xí)的角度來說是不可行的,所以必須處理URL字符串以提取有用的功能.本文提取的URL的特征即基于URL文本的屬性,表2列舉了21個可提取的特征.
表3 特征融合Tab 3 Feature Fusion
為確保惡意URL的分析及網(wǎng)頁URL檢測準(zhǔn)確率的提高,融合主機信息特征、URL信息特征[26?28],偽代碼如表3所示.通過融合上述特征之后,訓(xùn)練Bi-IndRNN算法模型得出惡意URL分類的準(zhǔn)確率,總體框架如圖1所示.
圖1 總體框架示意圖Fig 1 Overall Schematic
IndRNN可以很好地處理步較長的序列.利用IndRNN可以保留長期記憶、處理長序列,IndRNN還可以很好地利用relu等非飽和函數(shù)作為激活函數(shù),并且訓(xùn)練之后非常魯棒.通過調(diào)節(jié)基于時間的梯度反向傳播,可以有效地解決梯度消失和爆炸問題.其公式為:
其中循環(huán)權(quán)重u是一個向量,· 表示阿達(dá)馬積.同一圖層中的每個神經(jīng)元都與其他神經(jīng)元不相連,通過疊加兩層或更多層的IndRNN,可以將神經(jīng)元連接.對于第n個神經(jīng)元,隱藏層hn,t可以通過以下公式得到:
其中Wn和un分別表示第n行的輸入權(quán)重和當(dāng)前權(quán)重.
基本的IndRNN結(jié)構(gòu)示意圖如圖2所示:
圖2 IndRNN結(jié)構(gòu)示意圖Fig 2 Schematic Diagram of IndRNN Structure
其中“weight”和“Recurrent+ReLU”表示每一步處理輸入的循環(huán)過程,ReLU是激活函數(shù).
雙向IndRNN基本思想是分別向前和向后呈現(xiàn)每個序列到兩個單獨的隱藏狀態(tài)以捕獲過去和未來的信息.其中使用前向IndRNN(IndRNNForward,簡稱IndRNNF)和后向IndRNN(IndRNNBackward,簡稱IndRNNB),分別從前至后和從后至前的運行以挖掘更加全面的信息,然后將兩個隱藏狀態(tài)連接起來形成最終輸出,從而提供更全面的信息.BiIndRNN公式(3)、(4)、(5)如下所示.
其中,F(xiàn)t表示IndRNNF之后的輸出值,表示IndRNNB之后的輸出值,Lt表示兩個隱藏狀態(tài)連接起來的最終輸出,M1,Mn?1,Mn,Mn+1…等表示特征輸入,使用MLP進(jìn)行特征融合,本文雙向獨立循環(huán)神經(jīng)網(wǎng)絡(luò)如圖3所示.
圖3 雙向IndRNN結(jié)構(gòu)示意圖Fig 3 Schematic Diagram of Bi_ZndRNN Structure
本文中,實驗數(shù)據(jù)來源于公開數(shù)據(jù)集PhishTank和爬蟲抓取網(wǎng)頁URL集合.在PhishTank獲取總計13 652條釣魚網(wǎng)頁URL集合,使用領(lǐng)域知識和相關(guān)專業(yè)知識,爬蟲抓取了10 000條合法網(wǎng)頁URL集合.
表4 實驗環(huán)境Tab 4 Experimental Environment
模型參數(shù)的設(shè)置對于惡意URL檢測的效果起著至關(guān)重要的作用,本文在大量的實驗基礎(chǔ)上得到最優(yōu)參數(shù)的設(shè)置,如下表5所示.
表5 最優(yōu)參數(shù)的設(shè)置Tab 5 Optical Parameters Setting
本節(jié)將從URL信息特征對于實驗結(jié)果的影響、與最近幾年其他人的研究方法進(jìn)行對比、與其它模型的實驗結(jié)果進(jìn)行對比來進(jìn)行本文的實驗結(jié)果分析.
3.4.1 URL信息特征對于實驗結(jié)果的影響
此節(jié)進(jìn)行了不同數(shù)據(jù)量分別添加或刪除URL信息特征的方式進(jìn)行實驗,以得到的惡意URL分類的準(zhǔn)確度來說明URL信息特征的重要性.
圖4 URL 信息特征對于實驗結(jié)果的影響Fig 4 Effects of URL Information Features On Experimental Results
圖中可以看出,當(dāng)無URL信息特征時,實驗中得到的最高準(zhǔn)確率為86.96%.而添加URL信息特征之后,實驗中得到的最高準(zhǔn)確率為95.92%,且不同的數(shù)據(jù)量都具有更高的準(zhǔn)確率,所以URL信息特征對于惡意URL分類的準(zhǔn)確度有著至關(guān)重要的影響.
3.4.2 方法對比
本節(jié)將與近年來使用PhishTank數(shù)據(jù)集的其他研究進(jìn)行比較.在相同的數(shù)據(jù)集下,觀察提取的特征的差異,然后分析其他研究的方法,并與本文的惡意URL檢測效果進(jìn)行比較.結(jié)果如表6所示.
表6 方法對比Tab 6 Comparison with Methods
Liu G等人[29]提取了關(guān)鍵字、排名和超鏈接功能.并使用DBSCAN聚類方法查明是否存在對給定網(wǎng)頁攻擊的網(wǎng)頁群集的可能攻擊,準(zhǔn)確率為91.44%.Fatt等人[30]提出了一種基于網(wǎng)站圖標(biāo)的方法來揭示網(wǎng)站的隱藏身份.根據(jù)詞匯功能、基于主機的功能和超鏈接功能用于研究URL,準(zhǔn)確度高達(dá)97.4%.Dewan等人[31]提出了一個基于實體配置、文本內(nèi)容、元數(shù)據(jù)和URL功能的廣泛功能集,以實時和零小時識別Facebook上的惡意內(nèi)容,準(zhǔn)確率為86.9%.Jain等人[32]通過自動更新合法站點的白名單來保護(hù)用戶免受網(wǎng)絡(luò)釣魚攻擊,該方法的準(zhǔn)確率達(dá)到86.02%.Jain等人[33]提出了一種基于統(tǒng)一資源定位器(URL)功能的基于機器學(xué)習(xí)的反釣魚系統(tǒng)來檢測惡意網(wǎng)頁,準(zhǔn)確率達(dá)到91.28%.與上述方法相比,本文提出的基于主機信息特征和URL信息特征的惡意URL檢測的準(zhǔn)確性得到了提高,本文的準(zhǔn)確率達(dá)到95.92%.
3.4.3 不同的機器學(xué)習(xí)模型的實驗結(jié)果
為驗證本文提出的Bi-IndRNN更適用于惡意URL的檢測,本節(jié)同淺層機器學(xué)習(xí)模型KNN、高斯貝葉斯、深度學(xué)習(xí)模型LSTM、IndRNN進(jìn)行對比,其分類準(zhǔn)確率對比如表7所示.
表7 同其它模型對比Tab 7 Comparison with Other Models
根據(jù)上述多組實驗的可以看出:在同樣的特征、實驗環(huán)境、參數(shù)情況下,在不同的數(shù)據(jù)量時,KNN算法最高的準(zhǔn)確率為83.32%,高斯貝葉斯最高的準(zhǔn)確率為91.92%,LSTM 算法最高的準(zhǔn)確率為94.9%,IndRNN算法最高的準(zhǔn)確率為94.56%,而Bi-IndRNN算法最高的準(zhǔn)確率為95.96%,且不管處于數(shù)據(jù)量多大的情況下,Bi-IndRNN算法模型的實驗結(jié)果均比KNN算法、高斯貝葉斯算法、LSTM算法、IndRNN算法在惡意URL檢測準(zhǔn)確度和精度方面高,而且有極大的提升.由此,可以看出Bi-IndRNN算法模型能夠極大的提高惡意URL檢測準(zhǔn)確度,從而說明了其有效性.
與以往研究的不同點是本文在融合了惡意URL的主機信息特征和URL信息特征的基礎(chǔ)之上,應(yīng)用Bi-IndRNN 算法模型進(jìn)行檢測.并且我們在同樣的實驗環(huán)境、同樣的參數(shù)下,分別進(jìn)行特征對比、與其它研究方法進(jìn)行對比、與不同的機器學(xué)習(xí)算法模型進(jìn)行對比,可以看出本文使用的Bi-IndRNN算法明顯提高了惡意URL檢測的準(zhǔn)確率.