• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于隨機(jī)森林的WebShell檢測(cè)方法①

      2019-04-10 05:09:16
      關(guān)鍵詞:特征選擇腳本決策樹(shù)

      秦 英

      (武漢郵電科學(xué)研究院,武漢 430074)

      (南京烽火星空通信發(fā)展有限公司,南京 210019)

      隨著Internet技術(shù)的興起和WWW瀏覽器技術(shù)的不斷成熟,人們已經(jīng)熟悉瀏覽器的上網(wǎng)方式,使得基于B/S結(jié)構(gòu)的Web應(yīng)用在信息系統(tǒng)的開(kāi)發(fā)建設(shè)中盛行起來(lái).但由于Web系統(tǒng)開(kāi)發(fā)人員的技術(shù)水平參差不齊,安全意識(shí)淡薄,防護(hù)能力不足,Web系統(tǒng)不斷面臨網(wǎng)絡(luò)安全威脅.例如,Web交互功能越來(lái)越豐富,人們可以快速便捷地傳遞信息、分享與獲取資源,但這也為黑客提供了多方面的攻擊手段.根據(jù)CNCERT今年4月發(fā)布的《2017年我國(guó)互聯(lián)網(wǎng)網(wǎng)絡(luò)安全態(tài)勢(shì)綜述》顯示,CNCERT監(jiān)測(cè)發(fā)現(xiàn)境內(nèi)外約2.4萬(wàn)個(gè)IP地址對(duì)我國(guó)境內(nèi)2.9萬(wàn)余個(gè)網(wǎng)站植入后門(mén).網(wǎng)站后門(mén)又被稱(chēng)為WebShell,WebShell危害巨大,如果發(fā)現(xiàn)網(wǎng)站被植入了WebShell腳本,則意味著網(wǎng)站存在漏洞,而且攻擊者已經(jīng)利用漏洞獲得了服務(wù)器的控制權(quán)限[1].因此檢測(cè)WebShell對(duì)于及時(shí)掌握網(wǎng)絡(luò)安全態(tài)勢(shì)具有極其重要的意義.

      1 相關(guān)研究

      1.1 WebShell概述

      目WebShell是運(yùn)用主流腳本語(yǔ)言如PHP、JSP、ASP等編寫(xiě)的一種網(wǎng)頁(yè)腳本木馬.攻擊者在檢測(cè)到Web應(yīng)用存在上傳漏洞后,常常將這些腳本木馬放置在網(wǎng)站服務(wù)器的Web目錄中,然后以訪問(wèn)網(wǎng)頁(yè)的方式訪問(wèn)腳本木馬,通過(guò)腳本木馬獲取更高的權(quán)限以控制網(wǎng)站服務(wù)器,對(duì)網(wǎng)站服務(wù)器實(shí)施文件的上傳、修改與下載、訪問(wèn)數(shù)據(jù)庫(kù)篡改數(shù)據(jù)、執(zhí)行任意程序命令等惡意操作[2].

      WebShell具備很深的自身隱藏性、可偽裝性,它混雜在正常網(wǎng)頁(yè)中,和正常網(wǎng)頁(yè)一樣通過(guò)80端口與服務(wù)器或遠(yuǎn)程主機(jī)交換機(jī)進(jìn)行數(shù)據(jù)傳遞.這種數(shù)據(jù)傳遞屬于正常的HTTP協(xié)議,傳統(tǒng)防火墻無(wú)法對(duì)其進(jìn)行攔截,也不會(huì)在系統(tǒng)日志中留下服務(wù)器管理操作,這給WebShell的檢測(cè)帶來(lái)很大的難度.

      1.1.1 WebShell的特征

      根據(jù)腳本程序的大小和功能,攻擊者通常將WebShell分為大馬、小馬和一句話木馬三類(lèi)[1].

      不同類(lèi)型的WebShell不僅具有基本的WebShell特征,又有各自類(lèi)型的獨(dú)有特征[3].WebShell的基本特征有:(1)訪問(wèn)特性: WebShell的訪問(wèn)出度和入度、訪問(wèn)IP較正常網(wǎng)頁(yè)訪問(wèn)有很大區(qū)別;(2)關(guān)聯(lián)特性:WebShell一般是個(gè)孤立的網(wǎng)頁(yè)文件,在頁(yè)面跳轉(zhuǎn)上存在特殊性;(3)文件特性: WebShell在文件創(chuàng)建時(shí)間、文件行數(shù)、文件大小上一般具有特殊性[1].在文件大小和文件行數(shù)上明顯區(qū)別于一般合法網(wǎng)頁(yè);(4)文本特性:包含敏感函數(shù)的調(diào)用,或是通過(guò)加解密算法(混淆處理)隱藏敏感函數(shù)調(diào)用.

      各類(lèi)WebShell獨(dú)有特征:(1)大馬的文件大小超過(guò)70%的合法網(wǎng)頁(yè)、調(diào)用多種系統(tǒng)關(guān)鍵函數(shù)、包含開(kāi)發(fā)者的版權(quán)信息,如4ngel、wefoiwe、c99shell等;(2)小馬文件小,功能單一,存在上傳行為;(3)一句話木馬長(zhǎng)度短、可能嵌入到正常網(wǎng)頁(yè)中、通過(guò)POST方式傳遞參數(shù).

      1.2 WebShell的檢測(cè)和逃逸

      WebShell檢測(cè)和逃逸如同一場(chǎng)曠日持久的博弈,腳本語(yǔ)言的靈活多變使得WebShell不斷變異躲避檢測(cè)[4],而檢測(cè)也從不同角度查殺WebShell.

      1.2.1 WebShell逃逸技術(shù)

      以PHP語(yǔ)言的WebShell為例,目前常見(jiàn)的WebShell變形技術(shù)有:

      (1)加密算法隱藏敏感特征: 加密的方式非常多,在PHP語(yǔ)言中最常用的是內(nèi)置的base64,rot13等加密技術(shù),研究WebShell樣本可以發(fā)現(xiàn)很多的WebShell其實(shí)是eaval(base64_decode($_POST[X]))的變形.為了逃逸,有些惡意程序會(huì)自定義加密算法,或使用Weevely、phpjm、phpjiami等加密工具加密混淆代碼,隱藏特征函數(shù).

      (2)字符串拆分變形重組技術(shù): 在字符串中插入注釋,字符替換,或是通過(guò)一些特殊字符的異或運(yùn)算得到特定字符串,如“$__=("#"^"|").("."^"~").("/"^"‘").("|"^"/").("{"^"/")”,“$__”結(jié)果為“_POST”.字母多次自增或自減可以得到任意字母,再利用字符串的拼接特性同樣也能得到特定函數(shù),比如“b”可由“a++”表示.

      (3)隱蔽位置傳遞參數(shù): 檢測(cè)未被查殺軟件掃描的字段,如“User-Agent”、“Accept-Language”等,利用這些字段傳遞參數(shù).一些文件的描述信息也常會(huì)放置WebShell中需要的數(shù)據(jù),如圖片的exif信息.此外,還可以將敏感函數(shù)名作為文件名的一部分,再在文件中訪問(wèn)文件名得到敏感函數(shù).

      1.2.2 現(xiàn)有WebShell檢測(cè)技術(shù)

      目前WebShell的檢測(cè),可以大體分為腳本運(yùn)行前的靜態(tài)檢測(cè),腳本運(yùn)行后的日志檢測(cè),和腳本運(yùn)行中的動(dòng)態(tài)檢測(cè).

      靜態(tài)檢測(cè): 傳統(tǒng)的靜態(tài)檢測(cè)是基于特征庫(kù)的匹配,如WebShell Detector有一個(gè)較大的特征庫(kù),知名WebShell檢測(cè)器D盾對(duì)靜態(tài)屬性進(jìn)行匹配.這類(lèi)基于特征字符的匹配一般通過(guò)正則表達(dá)式來(lái)實(shí)現(xiàn),而正則表達(dá)式具有無(wú)法完整覆蓋風(fēng)險(xiǎn)模型的問(wèn)題[5],會(huì)造成一定的漏報(bào)和誤報(bào),而且攻擊者使用混淆手段很容易躲避這類(lèi)檢測(cè).基于統(tǒng)計(jì)學(xué)的檢測(cè),如開(kāi)源項(xiàng)目NeoPI[6]提取文件的信息熵、最長(zhǎng)單詞、重合指數(shù)和壓縮比檢測(cè)混淆WebShell,胡建康[7]提取內(nèi)容屬性、基本屬性和高級(jí)屬性作為決策樹(shù)C4.5的分類(lèi)特征.這類(lèi)方法在混淆WebShell檢測(cè)上有一定的效果,但是近年隨著人們產(chǎn)權(quán)和安全保密意識(shí)的加強(qiáng),許多開(kāi)發(fā)者也會(huì)使用加密技術(shù)隱藏自己的代碼邏輯,從而呈現(xiàn)出類(lèi)似的統(tǒng)計(jì)特征,這樣便增大了統(tǒng)計(jì)檢測(cè)誤報(bào)的可能性.靜態(tài)檢測(cè)不只停留在源碼層面,還從詞法分析語(yǔ)法角度、語(yǔ)義角度、字節(jié)碼角度進(jìn)行惡意代碼檢測(cè),減小代碼注釋和混淆變形對(duì)檢測(cè)結(jié)果的影響.

      動(dòng)態(tài)檢測(cè): 傳統(tǒng)的動(dòng)態(tài)檢測(cè)主要為分析腳本執(zhí)行過(guò)程中的動(dòng)態(tài)特性檢測(cè)惡意腳本,包括基于行為的WebShell檢測(cè)和基于流量的WebShell檢測(cè).基于行為的WebShell檢測(cè),以時(shí)間為索引,從行為模式上分析腳本對(duì)文件的、對(duì)系統(tǒng)的操作來(lái)判斷是否為WebShell[8].基于流量的檢測(cè)方法,在HTTP請(qǐng)求/響應(yīng)中尋找可疑信息,分析訪問(wèn)的訪問(wèn)特征(IP/UA/Cookie),path特征,payload的行為特征區(qū)分WebShell與合法網(wǎng)頁(yè).動(dòng)態(tài)的檢測(cè)方式,不僅能有效檢測(cè)出已知的WebShell,還對(duì)未知的、偽裝性強(qiáng)的WebShell有較高的檢出率,但只能檢測(cè)到正在發(fā)生上傳或訪問(wèn)WebShell的行為,對(duì)于網(wǎng)站中已有的且未使用WebShell無(wú)法檢測(cè),存在工作量大,誤報(bào)率高等問(wèn)題,在檢測(cè)效果上沒(méi)有特征值檢測(cè)效果好,還需深入研究.

      日志檢測(cè): 雖然WebShell與合法網(wǎng)頁(yè)一樣通過(guò)80端口進(jìn)行HTTP請(qǐng)求/響應(yīng),不會(huì)在系統(tǒng)日志中留下記錄,但分析Web服務(wù)器日志時(shí),可以在頁(yè)面訪問(wèn)頻率、頁(yè)面關(guān)聯(lián)度、訪問(wèn)IP等日志文本特征中找到WebShell的蛛絲馬跡.分析完整的日志上下文,能獲取黑客的攻擊意圖和還原整個(gè)攻擊過(guò)程,有助于發(fā)現(xiàn)未知、變種的WebShell腳本.但其缺點(diǎn)也很明顯,日志分析技術(shù)通常需要通過(guò)大量的日志數(shù)據(jù)來(lái)建立HTTP請(qǐng)求異常模型,數(shù)據(jù)處理起來(lái)耗時(shí)長(zhǎng)、檢測(cè)速度慢,會(huì)影響服務(wù)器的性能.而且Web服務(wù)器業(yè)務(wù)功能復(fù)雜,存在一定數(shù)量的網(wǎng)頁(yè)很少被外界訪問(wèn),使得訪問(wèn)次數(shù)/頻率不能作為明顯特征,另外,部分WebShell數(shù)據(jù)訪問(wèn)時(shí)會(huì)模擬正常數(shù)據(jù)庫(kù)操作,這將對(duì)基于數(shù)據(jù)庫(kù)訪問(wèn)規(guī)則的檢測(cè)造成干擾從而導(dǎo)致誤報(bào).

      綜上所述,基于各種角度的WebShell檢測(cè)有各自的優(yōu)點(diǎn),也存在各自的不足.WebShell的檢測(cè)困難主要來(lái)自如下方面:(1)無(wú)差別的檢測(cè): 雖然機(jī)器學(xué)習(xí)已經(jīng)應(yīng)用到了WebShell檢測(cè)中,但是可以發(fā)現(xiàn)不同類(lèi)型的WebShell依賴(lài)特征不同,特征覆蓋不全使得漏報(bào)誤報(bào)問(wèn)題明顯,無(wú)差別的檢測(cè)有待提高.(2)特征不突出: 隨著人們對(duì)產(chǎn)權(quán)和安全保密意識(shí)的加強(qiáng),許多開(kāi)發(fā)者也會(huì)使用加密技術(shù)隱藏自己的代碼邏輯,呈現(xiàn)出類(lèi)似WebShell的特征,增大了檢測(cè)誤報(bào)的可能性.

      2 基于隨機(jī)森林的WebShell檢測(cè)方法

      要解決以上問(wèn)題,特征的提取和分類(lèi)算法的選擇至關(guān)重要.現(xiàn)有的基于機(jī)器學(xué)習(xí)算法的WebShell檢測(cè)模型大多從單一層面提取特征,無(wú)法覆蓋各種類(lèi)型WebShell的全部特征,具有種類(lèi)偏向性,無(wú)差別的檢測(cè)效果差,泛化能力弱等問(wèn)題.對(duì)于以上不足,本文提出一種新的基于隨機(jī)森林的檢測(cè)模型(其框架如圖1所示),創(chuàng)新性地將頁(yè)面文本層的特征和PHP編譯結(jié)果層的特征結(jié)合,建立組合的WebShell特征集,同時(shí)通過(guò)特征選擇方法解決特征維度過(guò)大導(dǎo)致特征冗余、模型過(guò)擬合的問(wèn)題.在分類(lèi)器上,本文利用組合分類(lèi)器算法—隨機(jī)森林,進(jìn)行模型訓(xùn)練和分類(lèi),利用隨機(jī)森林的強(qiáng)大的泛化能力,提升模型檢測(cè)準(zhǔn)確率.

      圖1 檢測(cè)模型框架

      2.1 數(shù)據(jù)預(yù)處

      由于PHP,ASP,JSP等不同語(yǔ)言編寫(xiě)的WebShell非常相似,且在已知的WebShell中PHP編寫(xiě)的WebShell占得比重較大,因此本文主要分析用PHP編寫(xiě)的WebShell的數(shù)據(jù)處理方法.對(duì)其提取文本層和編譯結(jié)果層的組合特征,再進(jìn)行特征選擇,建立降低維度后的數(shù)據(jù)特征集.

      2.1.1 特征提取

      (1)文本層靜態(tài)統(tǒng)計(jì)特征:

      本文參考NeoPI的檢測(cè)特征,并加入非字母數(shù)字字符占比和基于特征碼的匹配結(jié)果.經(jīng)過(guò)字符運(yùn)算轉(zhuǎn)換的混淆WebShell頁(yè)面其非字母數(shù)字字符占比一般大于正常頁(yè)面.同時(shí)傳統(tǒng)的WebShell檢測(cè)是基于特征碼匹配的,加入基于特征碼的匹配結(jié)果能檢測(cè)出已知

      的非正常函數(shù)調(diào)用,如: 關(guān)鍵函數(shù)、系統(tǒng)函數(shù)、數(shù)據(jù)庫(kù)和加解密函數(shù)的調(diào)用情況.具體的統(tǒng)計(jì)特征提取方法如表1所示.

      表1 統(tǒng)計(jì)特征提取方法

      (2)利用N元語(yǔ)言模型進(jìn)行特征提取

      1)文本層序列特征

      WebShell的種類(lèi)和變形逃逸手段雖然多樣,但都離不開(kāi)shell的基本結(jié)構(gòu),即數(shù)據(jù)的傳遞和執(zhí)行傳遞的數(shù)據(jù),逃逸手段同樣圍繞傳遞參數(shù)的隱藏和執(zhí)行方法的變形展開(kāi).目前我們沒(méi)有非常完善的方法定位數(shù)據(jù)傳遞的步驟,但可以比較方便的找到數(shù)據(jù)執(zhí)行的位置:“(”(使用小括號(hào)并不是代碼執(zhí)行的唯一方法).本文在代碼文本層采用一元語(yǔ)法模型(1-gram)切分樣本,切分出以左小括號(hào)結(jié)尾的連續(xù)字符串和以及字符串常量,分別作為一個(gè)詞組,同時(shí)統(tǒng)計(jì)每個(gè)詞組在樣本中出現(xiàn)的次數(shù),得到文本層基于函數(shù)和字符串常量的詞頻矩陣,將其作為特征向量.

      2)opcode序列特征

      opcode是PHP編譯結(jié)果層的字節(jié)碼,是腳本編譯后的中間語(yǔ)言.PHP腳本在讀入腳本程序字符串后,經(jīng)由詞法分析器將其轉(zhuǎn)換為語(yǔ)言片段Tokens,接著由語(yǔ)法分析器從中發(fā)現(xiàn)語(yǔ)法結(jié)構(gòu)生成抽象語(yǔ)法樹(shù)AST,再經(jīng)過(guò)靜態(tài)編譯器便生成了對(duì)應(yīng)的opcode.最后由Zend虛擬機(jī)執(zhí)行每一條opcode得到運(yùn)行結(jié)果.通過(guò)PHP的擴(kuò)展程序VLD可以直接得到腳本對(duì)應(yīng)的opcode文本.

      本文采用二元語(yǔ)法模型(2-gram)切分opcode文本,將相鄰的兩個(gè)opcode劃分到一個(gè)詞組中,統(tǒng)計(jì)該詞組在每個(gè)樣本中出現(xiàn)的次數(shù)[9],得到編譯結(jié)果層基于opcode序列的詞頻矩陣,將其作為特征向量.

      2.1.2 特征選擇

      應(yīng)用上節(jié)的特征提取方法可以得到結(jié)合代碼文本層和編譯結(jié)果層的特征集,但是其維度可能非常高,會(huì)為后續(xù)模型訓(xùn)練帶來(lái)巨大的計(jì)算壓力,本文在數(shù)據(jù)預(yù)處理階段采用特征選擇方法,以降低特征維度,降低后期模型訓(xùn)練復(fù)雜度,節(jié)省數(shù)據(jù)存儲(chǔ)空間.特征選擇是機(jī)器學(xué)習(xí)、模式識(shí)別領(lǐng)域的研究熱點(diǎn)之一,通過(guò)從原始的高維特征中篩選出符合要求的特征子集以達(dá)到降低特征空間的目的[10].特征選擇主要有過(guò)濾式和封裝式兩種框架,也有嵌入式和混合式方法.Fisher線性判別是基于距離度量的過(guò)濾式特征選擇之一,比基于互信息度量的特征選擇方法計(jì)算量小、準(zhǔn)確率高,可操作性強(qiáng)、節(jié)省運(yùn)算時(shí)間,對(duì)高維數(shù)據(jù)在維數(shù)約簡(jiǎn)與分類(lèi)性能上有很好的效果.因此本文使用Fisher線性判別算法進(jìn)行特征選擇,降低特征維度.

      Fisher線性判別的思想是: 尋找一個(gè)合適的投影軸,使得樣本投影到這個(gè)軸上時(shí)同一類(lèi)的投影點(diǎn)應(yīng)可能靠近,不同類(lèi)的投影點(diǎn)盡可能遠(yuǎn)離,即類(lèi)內(nèi)離散度盡可能小,類(lèi)間離散度盡可能大.線性判別分析時(shí)利用了樣本的類(lèi)別信息,因此是有監(jiān)督的方法,其目標(biāo)函數(shù)表示為:

      其中,w為投影方向,Sb類(lèi)間散布矩陣,Sw為類(lèi)內(nèi)散布矩陣,J的值越大,w為的判別能力越強(qiáng).Fisher特征選擇以特征作為投影軸,計(jì)算該特征方向的判別值,將每個(gè)特征根據(jù)其判別值從大到小排序,判別值越大,說(shuō)明該特征對(duì)于分類(lèi)的有效性越高,該特征也越重要.本文將特征提取后的各個(gè)特征根據(jù)其Fisher判別值進(jìn)行從大到小排序,按適當(dāng)?shù)谋壤x擇出重要特征構(gòu)成新的特征集,用于之后的模型訓(xùn)練.

      2.2 模型訓(xùn)練

      完成對(duì)樣本的特征提取后,即可將特征矩陣作為輸入,將標(biāo)注結(jié)果作為預(yù)期輸出,訓(xùn)練分類(lèi)器.在分類(lèi)器上,本文選擇隨機(jī)森林算法對(duì)樣本特征數(shù)據(jù)進(jìn)行學(xué)習(xí).隨機(jī)森林是集成學(xué)習(xí)器的一種,具有分析復(fù)雜相互作用特征的能力,對(duì)于噪聲數(shù)據(jù)和存在缺失值的數(shù)據(jù)具有很好的魯棒性,并且具有較快的學(xué)習(xí)速度[11],被譽(yù)為“代表集成學(xué)習(xí)技術(shù)水平的方法”.

      隨機(jī)森林模型由多棵CART決策樹(shù)組成,每一棵CART決策樹(shù)都是通過(guò)兩個(gè)隨機(jī)過(guò)程進(jìn)行構(gòu)建的,其具體生成步驟如下:

      (1)按照Bagging算法隨機(jī)從訓(xùn)練樣本數(shù)據(jù)集中有放回地抽取K個(gè)訓(xùn)練樣本,用于構(gòu)建K棵決策樹(shù);

      (2)設(shè)樣本有n個(gè)特征,從每個(gè)訓(xùn)練樣本的特征集中隨機(jī)抽樣m個(gè)特征作為每棵決策樹(shù)的新的特征集(m≤n);

      (3)利用隨機(jī)抽取獲得的訓(xùn)練樣本集和子特征集進(jìn)行CART決策樹(shù)模型的構(gòu)建,CART決策樹(shù)根據(jù)基尼指數(shù)來(lái)選擇劃分屬性,進(jìn)行節(jié)點(diǎn)分裂.每棵樹(shù)最大限度地生長(zhǎng),不做任何剪枝,形成隨機(jī)森林.

      (4)數(shù)據(jù)預(yù)測(cè)時(shí),利用所有的決策樹(shù)進(jìn)行預(yù)測(cè),最后以投票的方式?jīng)Q定模型最終的預(yù)測(cè)結(jié)果.

      3 實(shí)驗(yàn)

      3.1 實(shí)驗(yàn)數(shù)據(jù)

      本文將PHP語(yǔ)言編寫(xiě)的WebShell腳本作為研究對(duì)象,共收集了1000個(gè)惡意PHP WebShell樣本和來(lái)自PHPCMS、WordPress等開(kāi)源項(xiàng)目的2000個(gè)正常PHP樣本作為實(shí)驗(yàn)數(shù)據(jù).實(shí)驗(yàn)將樣本隨機(jī)分為4份,任選3份訓(xùn)練模型,剩下的樣本用于測(cè)試模型的檢測(cè)能力,最終結(jié)果為運(yùn)算10次后的平均結(jié)果.

      3.2 評(píng)估準(zhǔn)則

      在本實(shí)驗(yàn)中,WebShell標(biāo)記為1,正常樣本標(biāo)記為0,分類(lèi)結(jié)果混淆矩陣如表2所示.

      為了評(píng)估實(shí)驗(yàn)效果,本文采用三個(gè)指標(biāo)評(píng)估檢測(cè)方法性能: 準(zhǔn)確率、召回率和誤報(bào)率.準(zhǔn)確率(acc)定義為召回率(recall)定義為誤報(bào)率(error)定義為

      3.3 實(shí)驗(yàn)分析

      實(shí)驗(yàn)分三步進(jìn)行:(1)將特征提取后的各個(gè)特征根據(jù)其Fisher判別值進(jìn)行從大到小排序,分析選擇不同比例的重要特征集對(duì)隨機(jī)森林模型檢測(cè)效果的影響,從中選取適當(dāng)比例的特征構(gòu)建新的特征集,其中隨機(jī)森林決策樹(shù)的個(gè)數(shù)為10;(2)根據(jù)選取的新特征集,對(duì)比決策樹(shù)數(shù)目對(duì)隨機(jī)森林模型檢測(cè)效果的影響,從中確定取得較好平衡的決策樹(shù)個(gè)數(shù)treeNum用于完成本文檢測(cè)模型的構(gòu)建;(3)比較基于SVM的檢測(cè)模型與本文構(gòu)建的檢測(cè)模型的檢測(cè)效果.

      圖2反映了選擇不同比例的特征集對(duì)隨機(jī)森林模型檢測(cè)效果的影響,分析圖2可得,在特征根據(jù)Fisher判別值排序后,選擇前10%特征集訓(xùn)練的模型的準(zhǔn)確率可達(dá)到97%左右,說(shuō)明Fisher特征選擇可以選擇出重要的特征,降低特征維度.當(dāng)特征選擇從10%增加到30%時(shí),檢測(cè)準(zhǔn)確率和召回率逐步上升,誤報(bào)率降低且穩(wěn)定在0.6%左右.而此后隨著特征增加,模型檢測(cè)準(zhǔn)確率、召回率和誤報(bào)率都沒(méi)有明顯改善,說(shuō)明存在較多的冗余特征,因此本文選擇前30%的重要特征作為新的特征集.

      在特征集選定后進(jìn)行第二步實(shí)驗(yàn),由圖3可以得出,決策樹(shù)數(shù)目treeNum從1增加到50時(shí)其檢測(cè)性能也隨之逐步提高,當(dāng)繼續(xù)增加treeNum時(shí)性能提升緩慢,在treeNum=200時(shí)準(zhǔn)確率最高,之后繼續(xù)增加treeNum性能反而開(kāi)始下降,但訓(xùn)練時(shí)間卻一直不斷上升.綜合分析,在決策樹(shù)數(shù)目treeNum=200,特征集選取組合特征集的前30%的重要特征時(shí),本論文提出的檢測(cè)模型達(dá)到最好效果.

      表3對(duì)比了3種類(lèi)型的WebShell檢測(cè)模型: 文本層基于SVM和靜態(tài)統(tǒng)計(jì)特征的WebShell檢測(cè)模型、編譯結(jié)果層基于SVM的檢測(cè)模型和本文的組合層面基于Fisher特征選擇和隨機(jī)森林的檢測(cè)模型.可以得出3種檢測(cè)模型都可以在較短的時(shí)間內(nèi)完成檢測(cè)任務(wù),綜合對(duì)比,編譯結(jié)果層的檢測(cè)效果優(yōu)于文本層的基于靜態(tài)統(tǒng)計(jì)特征的檢測(cè)效果,而本文提出的檢測(cè)模型在準(zhǔn)確率、召回率和誤報(bào)率上都優(yōu)于以上兩種在單一層面的檢測(cè)模型,檢測(cè)時(shí)間也小于0.2秒,表明組合層面基于Fisher特征選擇和隨機(jī)森林的檢測(cè)模型具有更好的擬合能力和更好的對(duì)未知樣本的檢測(cè)能力.

      圖2 選取不同比例特征的檢測(cè)效果

      圖3 隨機(jī)森林檢測(cè)效果對(duì)比

      表3 各種模型檢測(cè)效果

      4 結(jié)束語(yǔ)

      本文深入分析了WebShell的基本特征和各種類(lèi)型的獨(dú)有特征,以及WebShell逃逸技術(shù),指出現(xiàn)有WebShell檢測(cè)方法從單一層面提取特征,無(wú)法覆蓋各種類(lèi)型WebShell的全部特征,無(wú)差別的檢測(cè)效果差,泛化能力弱的問(wèn)題.為解決以上問(wèn)題,本文提出了基于隨機(jī)森林和組合特征的WebShell檢測(cè)方法.分別從文本層和編譯結(jié)果層提取特征構(gòu)建組合特征集,并引入Fisher特征選擇,解決特征集過(guò)大特征冗余的問(wèn)題.在分類(lèi)器上采用隨機(jī)森林算法用以提高檢測(cè)模型的泛化能力.經(jīng)過(guò)實(shí)驗(yàn)證明,本文提出的方法具有很好的WebShell檢測(cè)效果.但是如果將該檢測(cè)方法應(yīng)用到實(shí)際的工程檢測(cè)引擎中,其檢測(cè)效率和效果還得進(jìn)一步探討.

      猜你喜歡
      特征選擇腳本決策樹(shù)
      酒駕
      安奇奇與小cool 龍(第二回)
      一種針對(duì)不均衡數(shù)據(jù)集的SVM決策樹(shù)算法
      數(shù)據(jù)庫(kù)系統(tǒng)shell腳本應(yīng)用
      決策樹(shù)和隨機(jī)森林方法在管理決策中的應(yīng)用
      電子制作(2018年16期)2018-09-26 03:27:06
      快樂(lè)假期
      Kmeans 應(yīng)用與特征選擇
      電子制作(2017年23期)2017-02-02 07:17:06
      基于決策樹(shù)的出租車(chē)乘客出行目的識(shí)別
      聯(lián)合互信息水下目標(biāo)特征選擇算法
      基于肺癌CT的決策樹(shù)模型在肺癌診斷中的應(yīng)用
      大悟县| 台湾省| 屏南县| 阜平县| 乌兰浩特市| 六枝特区| 朝阳县| 茂名市| 乌鲁木齐县| 枣阳市| 隆德县| 旬阳县| 苏尼特左旗| 龙门县| 连南| 新巴尔虎右旗| 崇文区| 濉溪县| 洛宁县| 正安县| 彰化县| 武强县| 开鲁县| 北京市| 罗城| 中宁县| 增城市| 德庆县| 方山县| 论坛| 洛南县| 弥勒县| 遵义县| 平乐县| 乐平市| 右玉县| 安康市| 兴和县| 迭部县| 永城市| 布尔津县|