張慧 錢麗萍 汪立東 袁辰 張婷



摘 ?要: 針對惡意網址檢測系統的特征選擇和降維問題,基于特征選擇方法的優化結果提出多種特征子集。利用基于分類器的準確率和召回率等性能評價指標,采用隨機森林、貝葉斯網絡、J48、隨機樹機器學習方法,對信息增益、卡方校驗、信息增益率、基于Relief值、基于OneR分類器、基于關聯性規則、基于相關性等多種特征選擇算法所確定的特征子集進行檢測。結果表明,除基于相關性特征選擇算法確定的特征子集外,其他方法確定的特征子集均具有良好的分類性能,其中基于關聯性規則選擇的特征子集的維度僅為5,但各分類器基于此特征子集的分類準確率均高達99%以上。
關鍵詞: 網絡安全; 惡意網址檢測; 特征提取; 特征選擇; 特征子集; 信息安全
中圖分類號: TN915.08?34; TP391 ? ? ? ? ? ? ? ? ? 文獻標識碼: A ? ? ? ? ? ? ? ? ?文章編號: 1004?373X(2019)09?0060?05
Broad?spectrum feature selection and evaluation for malicious URLs detection
ZHANG Hui, QIAN Liping, WANG Lidong, YUAN Chen, ZHANG Ting
(College of Electrical and Information Engineering, Beijing University of Civil Engineering and Architecture, Beijing 100044, China)
Abstract: The multiple feature subsets are proposed based on the optimization results of feature selection method to solve the problems of feature selection and dimension reduction for malicious URLs detection system. The classifier?based performance evaluation indicators such as accuracy rate and recall rate, and machine learning method using random forest, Bayesian network, J48, random tree are used to detect the feature subsets determined by information gain, Chi?square verification, information gain radio, and multi?feature selection algorithms based on Relief value, OneR classifier, correction rule and correction attribute evaluation. The results show that, except the feature subset determined by the algorithm based on correction attribute evaluation, the feature subsets determined by other feature selection algorithms have high classification performance, in which the dimensionality of feature subset determined by the algorithm based on correlation rule is only 5, but the classification accuracy rate of all the classifiers based on this feature subset can reach up to 99%.
Keywords: network security; malicious URL detection; feature extraction; feature selection; feature subset; information security
0 ?引 ?言
互聯網及其應用快速發展,有力地支撐了社會經濟民生的運轉。人們在享受互聯網便利的同時,也深受網頁篡改、網頁后門、網頁仿冒、驅動開發、網絡釣魚、點擊欺詐、僵尸網絡(Botnet)、分布式拒絕服務(DDoS)[1]等安全威脅,它們通過欺騙用戶訪問惡意網址(Uniform Resource Locators,URLs),獲取用戶的銀行賬號、密碼、身份證號等敏感信息,嚴重危害到用戶的信息財產安全。CNCERT/CC2016年度安全報告顯示,360公司攔截釣魚攻擊279.5億次,被篡改網站8.3萬個。2017年上半年,國際反釣魚工作組(APWG)報告已檢測到釣魚網站共29萬余個,瑞星在全球范圍內截獲5 020萬個惡意URLs。
為了保護用戶的上網安全,Google Chrome和Windows IE等主流瀏覽器會采用URL黑名單機制比對用戶訪問網頁URLs,當用戶訪問黑名單中的URL時會立即停止訪問并向用戶發出警告。然而黑名單機制只能用于檢測已確認的惡意URLs,無法防范最新出現的惡意URLs。為改善此不足,本文提出基于特征提取的檢測方法,通過提取網頁或者URLs的詞匯特征、網頁信息特征、主機特征等大量信息,用于提升惡意URLs檢測的準確性和時效性。然而,較高維數的特征雖然可以更有效地對問題進行準確描述,但也會不可避免地將大量冗余特征、不相關特征、噪聲特征等引入特征空間。不僅降低特征提取的速度,還大大提升了計算復雜度,影響分類器運算效率和分類性能。
本文針對基于特征提取的惡意URLs檢測方法面臨的高維特征空間特征選擇問題,在保證特征可理解性的基礎上完成空間降維。首先,通過對大量惡意URLs的經驗性觀察,總結惡意URLs的共性特征,再結合相關文獻,選擇30余項相關特征構建初始特征空間。對此特征空間,選取多種特征選擇算法對其進行優化,結合多種機器學習方法對篩選得到的特征子集進行檢測驗證,最終選取適用于多種分類器的最優特征子集結果。
1 ?相關工作
URLs是網民訪問網站的門牌,因此也成為各種網絡威脅誘騙網民的重要手段。針對惡意URLs檢測方法的研究一直方興未艾。一部分研究從URLs中的域名(DNS)檢測入手,另一部分研究則利用完整URLs。文獻[1]使用帶語義特征的可逆哈希函數,對被查詢的DNS及發起查詢的IP進行快速聚類和還原,識別DNS流量中的異常,該方法可用于Botnet,DDoS攻擊等異常檢測的前期篩選和后期驗證。文獻[2]利用信號處理技術、功率譜密度(PSD)分析發現僵尸網絡周期性DNS查詢產生的主要頻率,發現主機群的相似惡意行為模型。文獻[3]通過挖掘域名里面蘊含的詞根、詞綴、拼音及縮寫特征,實現輕量級的惡意域名檢測。
URLs較DNS蘊含有更多的檢測可用信息。文獻[4]通過提取URLs的詞匯特征和主機特征,實現釣魚網站的分類檢測。文獻[5]通過提取郵件中URLs的詞匯特征和基于主機的特征,基于累積分數判定URL的性質。文獻[6]提出結合基于惡意URLs的詞匯特征、基于主機的特征、基于域名的特征及在線社會網絡特征以提高惡意行為檢測效率。
面向高維特征空間,代表性、高貢獻率特征子集的選擇變得越來越重要。文獻[7]采用Fisher分和信息增益降低特征維數。文獻[8]結合遺傳算法與蟻群算法提升特征選擇的速度。文獻[9]通過主成分分析方法以及基于關聯性的特征選擇算法優化評估特征并進行特征選擇。
機器學習方法被大量用于惡意URLs檢測,性能評估和比較是其中重要的研究內容。文獻[10]通過比較發現,J48、SVM、LR三種分類方法中J48檢測效果最佳,且檢測準確率受phishtank惡意域名與良性域名的比例影響。文獻[11]利用決策樹、K?近鄰、Bayesian、隨機森林(RF)、支持向量機(SVM)、多層神經網絡(MLP)對采用三種不同特征的惡意URLs數據集進行檢測,發現對于同樣的數據集,不同特征集的檢測結果亦會不同。
2 ?方 ?法
2.1 ?特征提取
對URLs的時間特征、語法特征、結構特征、概率特征等進行概括分析,充分挖掘惡意URLs的相關特征,提高惡意URLs檢測的準確率。
1) 時間特征
基于URLs被訪問時間戳,統計特定時間片內的通信頻度和散度。
2) 語法特征
IETF Request For Comment 1738(RFC1738)規定了URL的形式:
3) 結構特征
URL在結構上大致分為協議、域名、路徑、文件名、參數五個主要部分,每個部分都具有相應的規則及習慣性用法。本文考慮多種結構特征,包括從URL總體角度選取的特征:總長度;是否以特殊字符結尾;大寫字母數量;數字數量;連續數字的最大長度;連續字母的最大長度;超長字串的最大長度;重復出現的[n]元字串數量和;字符"?",“=”,“&”的數量及關系。從域名角度選取的特征:總長度;級數;最長字串長度;是否包含IP地址。從路徑角度選取的特征:是否含有域名;級數;最長級路徑占路徑長度之比。從文件名角度選取的特征:文件名是否包含兩級以上擴展名。
4) 概率特征
主要涉及各類字符的[n]?元組占比,包括:URL中數字字符占比;URL中數字與字母的轉換頻次;URL中元音與輔音字符比例;URL中元組在負向數據集概率和;URL中元組在正向數據集概率和;域名最長級串占域名比例;域名中不同種類的字符所占域名比例;域名中相對安全字符所占比例。
2.2 ?機器學習方法選取
定義特征映射函數[f:U→F={T,A,P,H}]:對每條URL記錄,將其分別映射時間子向量[T={t1,t2,…,tm}]、結構子向量[A={a1,a2,…,an}]、概率子向量[P={p1,p2,…,pr}]和語法子向量[H={h1,h2,…,hq}]。采用有監督學習方法實驗評估,記錄標志位為[L],每條輸入數據的結構為[V={F,L}={vii=0,…,m+n+r+q}]。
各類機器學習方法在網絡安全事件檢測中已有大量研究,主流方法包括J48決策樹、RF、貝葉斯、樸素貝葉斯、支持向量機(SVM)等。J48決策樹采用自上而下的遞歸分治策略,從根節點隨特征逐個加入從而遞歸產生分支。RF基于多決策樹實現,通過隨機選取數據集和特征集構建多個決策樹,以多決策樹的投票結果確定分類。隨機樹(RT)通過隨機選取[n]個特征,并計算信息增益,選擇信息增益最大的節點為分裂節點,重復此過程完成樹的構造和分類。Bayes網絡基于概率推理,通過計算某對象的先驗概率和似然計算該對象的后驗概率即歸屬類別。
2.3 ?特征選擇
特征選擇的主要目的是從一個高維特征空間中遴選一組更小數目、更小失真的特征,以加速分類器的計算。上述時間特征、語法特征、結構特征和概率特征從多角度對URLs的特點進行了表達,這些特征既要足以顯著區分惡意URLs與良性URLs,也不可避免地存在不相關或噪聲特征。為此對初步遴選的上述特征進一步進行選擇以實現特征空間降維。針對本文惡意URLs檢測問題,特征選擇操作的形式化描述如下:對于數據集[V={F,L}],其中,[F={f1,f2,…,fn}]是[n]個特征,特征選擇過程就是從[F]中選擇[m]個([m 特征選擇算法的方法很多,理想化方法是窮舉法,針對[n]個特征的[2n]種組合方式得到的特征子集進行評估,選擇最優的特征組合方式。對于多維特征空間,窮舉法因其巨大的時間和空間消耗基本不可行。實際應用的特征選擇算法總體上可分為過濾式(Filter)、封裝式(Wrapper)和嵌入式(Embedded)三大類。因本文初選的特征數量偏多,封裝式和嵌入式方法計算復雜度高且依賴分類器,普適性有限,因而選擇計算速度更快、更適合大規模數據處理的過濾式方法,包括信息增益(IG)、信息增益率(GR)、卡方校驗(CHI)、基于OneR分類器的特征選擇(OneR)、基于Relief值的特征選擇(Relief)、基于相關性的特征選擇(CAE)和基于關聯規則的特征選擇(CFS)。 3 ?實驗與分析 3.1 ?數據集 分別選取PhishTank和Alexa中相關數據作為實驗用正、負URLs數據集。PhishTank作為一個反釣魚網站,自2006年建立以來每天都不斷地更新大量釣魚網站數據,本文從其獲取大量惡意URLs作為惡意數據集。Alexa包含最詳盡的網站排名信息,該排名是基于網站的用戶鏈接數和頁面瀏覽數綜合得到的。一般來說,網站的瀏覽率越大排名越靠前,其網站內所包含的鏈接被訪問的概率以及頻次越高,鏈接所對應網站的安全性也就越高。因此,本文提取Alexa排名靠前的網站,爬取其頁面內的URLs記錄構成實驗用良性URLs數據。 為保證爬取過程的快捷、高效以及數據的完整性,以python為基礎,結合BeautifulSoup完成網站內記錄的爬取工作,并采用正則表達式過濾,匹配得到符合條件的記錄,以確保獲取的記錄符合URL規范而非頁面內資源鏈接。 對于數據集規模,參照文獻[4,12]的實驗成果,在盡可能減少特征沖突的情況下,100 000條的數據量可以獲得最好的分類結果。本文基于Alexa網站排名和網頁爬取,隨機選取56 500條記錄構成正向URLs數據集,從PhishTank中選取2016年11月—2017年8月的50 042條記錄構成負向數據集。 3.2 ?特征選擇 本文面向惡意URLs檢測初選了34項相關靜態特征,將該特征集記為F1。采用IG,GR,oneR,Relief,CHI,CAE,CFS方法在F1上進行特征選擇。 對上述方法的特征選擇結果分析發現:IG,OneR,CHI三種方法的前22項特征高度一致,尤其是IG和CHI兩種方法的評估結果只存在細微差異,本文選擇此特征子集作為特征選擇的結果之一,記為F2。同時以22為特征空間維度,選取GR選擇的前22項構成特征子集F3,Relief選擇的前22項構成特征子集F4,CAE選擇的前22項構成特征子集F5。 進一步的檢測實驗結果發現:特征子集F2,F3,F4均產生了良好的檢測結果,取其公共特征構成維度更低的特征子集F6。同時考慮到生成F2~?F5特征子集時,各算法在評估時均是基于單變量的評估準則,未考慮到多變量特征間可能存在的相互依賴關系,從而特征子集中可能包含冗余特征。為此再選取CFS評估算法,以上述特征空間為基礎進行特征優化,通過結合GreedyStepwise搜索策略,CFS從大量的特征空間中選取5項特征構成特征子集F7。各特征子集包含的特征如表1所示。 3.3 ?機器學習 對上述各特征選擇算法確定的特征子集,利用J48,RF,RT,Bayes等方法實現惡意URLs檢測,結果如表2所示。表1 ?特征選擇算法選擇結果

IG F2 時間、最大子路徑長度、域名分割后最長字串長度占域名比例、url中超長字串的最大長度、url長度、域名分割后最長字串長度、二元組和在惡意集、數字字母的轉換頻次、保留字符數、數字數量比例、url中連續字母最大長度、元輔音比、域名級數、url中數字數量、域名大小、[n]元字符串重復頻次、大寫字母數、域名中不同字符種類占比、路徑級數、二元組和在良性集、url中連續數字最大長度、其他字符數 CHI OneR
GR F3 時間、&的數量與=的數量關系、結尾字符、域名級數、數字字母的轉換頻次、大寫字母數、&數量、url中超長字串的最大長度、最大子路徑長度、域名分割后最長字串長度、保留字符數、非不安全字符比例、文件是否包含兩級以上擴展名、url中連續數字最大長度、路徑級數、域名分割后最長字串長度占域名比例、url中連續字母最大長度數字數量比例、二元組和在惡意集、不安全字符數、url中數字數量、url長度 Relief F4 時間、域名分割后最長字串長度占域名比例、域名中不同字符種類占比、最大子路徑長度、數字數量比例、元輔音比、url中連續字母最大長度、保留字符數、域名大小、路徑級數、域名級數、url中連續數字最大長度、二元組和在良性集、&數量、域名分割后最長字串長度、二元組和在惡意集、等號數量、url中數字數量、域名中數字數量、其他字符數、&的數量與=的數量關系、結尾字符 CAE F5 域名分割后最長字串長度占域名比例、域名分割后最長字串長度、url中連續字母最大長度、保留字符數、二元組和在惡意集、元輔音比、數字數量比例、路徑級數、url中數字數量、url長度、域名大小、url中超長字串的最大長度、數字字母的轉換頻次、等號數量、域名級數、url中連續數字最大長度、&數量、&的數量與=的數量關系、?數量是否為零、域名中數字數量、其他字符數 綜合 F6 時間、保留字符數、其他字符數、url中連續數字最大長度、url中連續字母最大長度、url中數字數量、數字數量比例、二元組和在惡意集、二元組和在良性集、域名級數、域名分割后最長字串長度、域名分割后最長字串長度占域名比例、域名中不同字符種類占比、路徑級數、最大子路徑長度 CFS F7 時間、數字字母的轉換頻次、&的數量與=的數量關系、域名級數、最大子路徑長度 ]

由表2可以發現:特征子集F1,F2,F3,F4均具有良好的檢測效果,RF,J48,RT方法的準確率均達到了99%以上,Bayes方法稍遜,但達到94.5%,子集F3,F4準確率還超過96%。
表3綜合上述特征子集F1~F7的分類結果,以F?measure標準為參考。可知子集F5的結果并不理想,不適用于本文問題。子集F2,F3,F4的分類性能雖均呈現輕微變化,但增減并不明顯,說明特征選擇的結果是有效的。針對縮減特征子集的變量數量的能力,子集F6和F7的選擇結果更優。其中,子集F6包含15項特征,較子集F1的34項特征有顯著減少,可有效降低學習過程中的計算復雜度并提升計算速度。對于F6,基于RF和RT的分類性能僅有0.001和0.006的微小減少,Bayes甚至有0.026的提升,說明綜合各類方法的子集F6具有更好的代表性,能夠有效去除學習過程中冗余、弱相關及貢獻率較小的特征。

對于子集F5,由于CAE的選擇評估標準依賴于單個特征與類別間的相關程度,評估值高的特征對于類別區分具有良好貢獻,但是這也會造成相似特征會被同時選擇,維度限制下,子集中特征相關性過高,整體貢獻力有限。而子集F6則綜合多種特征選擇方法,有效避免了這一情況的發生。同時,子集F7相比于子集F5的未考慮子集特征間的相關性及子集F6的綜合提取不僅評估了單個特征的貢獻能力并一同評估特征間的相關性,在降維的同時,最大限度地維持子集的整體貢獻值。所以,子集F7表現出更優性能。由表3可知,相對于子集F6,F7較F1的變化更加微小。實際上,子集F7僅包含了時間、數字與字母的轉換頻次、&與=的數量關系、域名級數、最長子路徑長度5個特征,特征空間維度大幅下降,但檢測準確率均高達99%,表明該特征子集適用于多類型分類器,具有普適性,是一組優秀的廣譜特征。
特征選擇的目的是為了在盡可能維持特征可理解性的基礎上降低特征空間維度,同時適度增加特征子集的可擴展性及普適性。這就要求所選擇的特征子集適用于多種學習算法。由表4可知,子集F1~F4,F6,F7均具有良好的檢測結果,各個分類器的平均準確率均超越了98%。同時,綜合特征子集空間維度可以發現子集F6和F7達到更優的結果。F6子集的空間維度比F1減少了55.9%,F7子集平均準確率上升至99.15%,相對于子集F1~F5具有更優的性能。

4 ?結 ?語
基于特征的惡意URLs的檢測方法具有良好的性能,適于規模化部署,這得力于檢測特征的及時有效提取。基于詞匯、主機、域名等都可以提取出大量特征,它們的區分能力參差不一,有些特征在某些應用場合甚至會成為噪聲數據,從而導致分類器在訓練時產生過擬合現象。本文通過對IG,GR,Relief,CHI,CAE,CFS,OneR特征選擇算法所遴選的結果特征在分類中的性能比較,確定了一個維度低、分類準確率高的特征子集,有效地減少了特征數量,降低了特征空間維度,既有利于降低計算復雜度,也能有效避免過擬合現象的出現。同時,該特征子集適用于J48,RF,Bayes等多種類型的分類器,具有良好的泛化能力及普適性。另外,選用的特征選擇算法在對特征空間進行降維的同時維持了特征的可理解性。現有工作可以有效提高網頁訪問的安全性,下一步將充實初始特征空間,針對靜態和動態特征探索性能更優的特征子集。
參考文獻
[1] 胡蓓蓓,彭艷兵,程光.基于Counting Bloom Filter的DNS異常檢測[J]. 計算機工程與應用,2014,50(15):82?86.
HU Beibei, PENG Yanbing, CHENG Guang. DNS anomaly detection based on Counting Bloom Filter [J]. Computer enginee?ring and applications, 2014, 50(15): 82?86.
[2] KWON J, LEE J, LEE H, et al. PsyBoG: a scalable botnet detection method for large?scale DNS traffic [J]. Computer networks, 2016, 97: 48?73.
[3] 張維維,龔儉,劉茜,等.基于詞素特征的輕量級域名檢測算法[J].軟件學報,2016,27(9):2348?2364.
ZHANG Weiwei, GONG Jian, LIU Qian, et al. Lightweight domain name detection algorithm based on morpheme features [J]. Journal of software, 2016, 27(9): 2348?2364.
[4] FEROZ M N, MENGEL S. Examination of data, rule generation and detection of phishing URLs using online logistic regression [C]// 2014 IEEE International Conference on Big Data. Washington, DC: IEEE, 2014: 241?250.
[5] AZEEZ N A, OLUWATOSIN A. CyberProtector: identifying compromised URLs in electronic mails with Bayesian classification [C]// 2016 International Conference on Computational Science and Computational Intelligence. Las Vegas: IEEE, 2017: 959?965.
[6] ALGHAMDI B, WATSON J, XU Y. Toward detecting malicious links in online social networks through user behavior [C]// 2016 International Conference on Web Intelligence Workshops. Omaha: IEEE, 2016: 5?8.
[7] 武小年,彭小金,楊宇洋,等.入侵檢測中基于SVM的兩級特征選擇方法[J].通信學報,2015,36(4):23?30.
WU Xiaonian, PENG Xiaojin, YANG Yuyang, et al. Two?level feature selection method based on SVM for intrusion detection [J]. Journal on communications, 2015, 36(4): 23?30.
[8] 張浩.網絡數據特征選擇的優化方法研究與仿真[J].計算機仿真,2017(2):367?370.
ZHANG Hao. Network data feature selection research and simulation optimization method [J]. Computer simulation, 2017(2): 367?370.
[9] DEMISSE G B, TADESSE T, BAYISSA Y. Data mining attribute selection approach for drought modeling: a case study for greater horn of Africa [J]. International journal of data mining & knowledge management process, 2017, 7(4): 1?16.
[10] DAEEF A Y, AHMAD R B, YACOB Y, et al. Wide scope and fast websites phishing detection using URLs lexical features [C]// 2017 International Conference on Electronic Design. Phuket: IEEE, 2017: 410?415.
[11] VANHOENSHOVEN F, N?POLES G, FALCON R, et al. Detecting malicious URLs using machine learning techniques [C]// 2016 IEEE Symposium Series on Computational Intelligence. Athens: IEEE, 2016: 1?8.
[12] AKIYAMA M, YAGI T, YADA T, et al. Analyzing the ecosystem of malicious URL redirection through longitudinal observation from honeypots [J]. Computers & security, 2017, 69: 155?173.