亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于CNN的Webshell文件檢測(cè)

        2019-04-12 06:22:20傅建明王應(yīng)軍
        關(guān)鍵詞:詞匯表攻擊者文檔

        傅建明,黎 琳,王應(yīng)軍

        (1.武漢大學(xué) 國(guó)家網(wǎng)絡(luò)安全學(xué)院 湖北 武漢 430072;2.武漢大學(xué) 空天信息安全與可信計(jì)算教育部重點(diǎn)實(shí)驗(yàn)室 湖北 武漢 430072)

        0 引言

        Web服務(wù)是企業(yè)對(duì)外服務(wù)的接口,因其后臺(tái)企業(yè)數(shù)據(jù)和消費(fèi)者數(shù)據(jù)的巨大價(jià)值,吸引了大量的攻擊者.根據(jù)Internet Live Status 2018年1月的數(shù)據(jù)[1],全球每天大概有100 618個(gè)網(wǎng)站被攻擊.并且根據(jù)《2018年全球風(fēng)險(xiǎn)報(bào)告》[2],網(wǎng)絡(luò)攻擊的次數(shù)正在逐步增多,僅2016年就有3.75億個(gè)新型惡意軟件和木馬程序出現(xiàn)在被攻破的Web服務(wù)器上.為了便于攻擊者對(duì)破襲后的Web服務(wù)器進(jìn)行長(zhǎng)期的控守,攻擊者會(huì)上傳一個(gè)遠(yuǎn)程訪(fǎng)問(wèn)工具到Web服務(wù)器,該Web服務(wù)器上的遠(yuǎn)程訪(fǎng)問(wèn)控制工具俗稱(chēng)為Webshell.

        Webshell本質(zhì)上是一個(gè)采用ASP、JSP或PHP編寫(xiě)的腳本程序文件,駐留在Web服務(wù)器的公開(kāi)訪(fǎng)問(wèn)目錄中,攻擊者利用瀏覽器或者定制的客戶(hù)端軟件可以對(duì)其直接訪(fǎng)問(wèn).Webshell提供了對(duì)各種關(guān)鍵功能的遠(yuǎn)程訪(fǎng)問(wèn),例如執(zhí)行任意命令、遍歷文件目錄、查看和修改任意文件、提升訪(fǎng)問(wèn)權(quán)限、發(fā)送垃圾郵件和釣魚(yú)郵件[3].2018年5月的統(tǒng)計(jì)數(shù)據(jù)[4]指出,PHP在網(wǎng)站服務(wù)器編程語(yǔ)言中占據(jù)了83.4%;同時(shí),已有的研究主要關(guān)注PHP編寫(xiě)的Webshell.因此,本文只關(guān)注PHP Webshell,如China Chopper、WSO、C99和B374K等[5-6].當(dāng)然,其檢測(cè)方法也可以推廣到其他腳本的Webshell.

        學(xué)術(shù)界和安全公司都研究檢測(cè)Webshell的方法,包括Webshell日志的檢測(cè)[7]、Webshell流量的檢測(cè)[8-9]、Webshell文件的檢測(cè)[10-12].從網(wǎng)頁(yè)訪(fǎng)問(wèn)的日志中容易檢測(cè)Webshell,這歸因于訪(fǎng)問(wèn)Webshell的IP比較單一、訪(fǎng)問(wèn)次數(shù)少、Webshell網(wǎng)頁(yè)比較孤立,這是一種攻擊事后溯源的方式.利用啟發(fā)式規(guī)則或者統(tǒng)計(jì)模型從網(wǎng)絡(luò)流量中檢出Webshell流量一直是安全界和企業(yè)界常用的方式,Webshell的正則表達(dá)式大量用于Web服務(wù)器邊界的WAF(web application firewall)中,但正則表達(dá)式容易被混淆繞過(guò)[13],且只能檢測(cè)已知的Webshell.而Webshell的統(tǒng)計(jì)模型一般采用人工構(gòu)建的特征作為輸入?yún)?shù),這些特征一旦被攻擊者感知到,則攻擊者可以繞過(guò)這種模型[14].

        Webshell是一種惡意代碼,傳統(tǒng)基于特征值匹配的惡意代碼檢測(cè)方法同樣適應(yīng)于Webshell文件的檢測(cè)[10-12],其優(yōu)點(diǎn)是檢測(cè)速度快、檢測(cè)精準(zhǔn),但變形和混淆會(huì)引發(fā)漏報(bào),且對(duì)未知的Webshell缺乏感知能力.同時(shí),傳統(tǒng)機(jī)器學(xué)習(xí)模型檢測(cè)Webshell文件也需要人工構(gòu)建的特征作為輸入?yún)?shù),而攻擊者可構(gòu)造繞過(guò)模型的Webshell文件.但是,Webshell文件檢測(cè)非常重要,入侵檢測(cè)系統(tǒng)在Web服務(wù)的邊界捕獲到可疑文件,需要快速得到檢測(cè)結(jié)果;同時(shí),攻擊者在上傳Webshell到Web服務(wù)器之前,也會(huì)測(cè)試該Webshell是否能被安全工具和各種公開(kāi)的Webshell沙箱檢出.

        Webshell是由腳本語(yǔ)言編寫(xiě)的一種語(yǔ)言文本.因此,可以采用自然語(yǔ)言的語(yǔ)言模型例如N-gram模型、馬爾可夫模型處理Webshell,把Webshell看作是不同語(yǔ)言符號(hào)構(gòu)建的、有特殊含義的文本.為了對(duì)抗混淆和加密,本文把Webshell轉(zhuǎn)換為腳本編譯后的操作碼(operation code,opcode),從而把Webshell文件的檢測(cè)轉(zhuǎn)化為Webshell opcode序列的檢測(cè).與此同時(shí),深度學(xué)習(xí)已經(jīng)廣泛應(yīng)用于圖像識(shí)別、聲音識(shí)別、自然語(yǔ)言處理中[15-18].本文引入深度學(xué)習(xí),用以對(duì)抗傳統(tǒng)機(jī)器學(xué)習(xí)中Webshell的繞過(guò)人工特征,同時(shí)也希望深度學(xué)習(xí)模型可以記憶混淆操作和加密操作,從而提高檢測(cè)的泛化能力.

        本文關(guān)注Webshell文件檢測(cè),提出了基于詞匯表模型和深度學(xué)習(xí)算法卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network,CNN)的檢測(cè)方法,具體工作包括3個(gè)方面:

        a) 為了降低Webshell混淆和加密操作對(duì)檢測(cè)的干擾,將對(duì)文件的檢測(cè)轉(zhuǎn)化為對(duì)opcode序列的檢測(cè),并通過(guò)實(shí)驗(yàn)證明基于opcode的檢測(cè)相較于基于原始文本的檢測(cè),能夠提高檢測(cè)精度.

        b) 分別利用詞袋模型和詞匯表模型對(duì)opcode序列提取詞頻特征和詞序特征,實(shí)驗(yàn)證明詞序特征對(duì)Webshell檢測(cè)的影響優(yōu)于詞頻特征,能夠提高檢測(cè)的精確率.

        c) 將改進(jìn)后的CNN模型應(yīng)用到Webshell文本檢測(cè)這個(gè)二分類(lèi)問(wèn)題,并通過(guò)實(shí)驗(yàn)證明優(yōu)于傳統(tǒng)的機(jī)器學(xué)習(xí)算法和現(xiàn)有安全工具.

        1 相關(guān)工作介紹

        1.1 Webshell流量檢測(cè)

        攻擊者利用SQL注入漏洞或者文件上傳漏洞等把Webshell文件上傳到Web服務(wù)的文件目錄中,然后像正常使用Web服務(wù)一樣利用Webshell.攻擊者在利用Webshell時(shí),會(huì)在網(wǎng)絡(luò)中產(chǎn)生網(wǎng)絡(luò)流量,也會(huì)在Web服務(wù)器中產(chǎn)生Web日志.利用已知的正常網(wǎng)絡(luò)流量(日志)和Webshell流量(日志),就可以構(gòu)建識(shí)別Webshell的模型.

        文獻(xiàn)[7]統(tǒng)計(jì)Web日志的分布發(fā)現(xiàn),Webshell的URI資源和URI查詢(xún)字符比較簡(jiǎn)短、隨意、雜亂,甚至出現(xiàn)畸形字符,Webshell文件的單位時(shí)間窗口的訪(fǎng)問(wèn)次數(shù)較少,Webshell文件訪(fǎng)問(wèn)的入度和出度比較小,甚至接近于0.這些啟發(fā)式知識(shí)有利于從大量Web日志中發(fā)現(xiàn)Webshell的使用痕跡,屬于攻擊事后的取證.文獻(xiàn)[19]把Web流量的每一個(gè)記錄分為URI資源和URI查詢(xún),分別對(duì)這兩部分以4-gram分割,建立各自修正的TF-IDF權(quán)值,最后根據(jù)累計(jì)的權(quán)值識(shí)別惡意Web流量,包括Webshell流量.這種加權(quán)累加的結(jié)果也是一種啟發(fā)式知識(shí),可以用于在線(xiàn)檢測(cè).利用啟發(fā)式知識(shí)識(shí)別Webshell的好處是檢測(cè)速度快,但其對(duì)混淆和加密比較敏感.

        文獻(xiàn)[9]把HTTP請(qǐng)求轉(zhuǎn)換為一個(gè)帶統(tǒng)計(jì)特性的符號(hào)序列,采用變階的馬爾科夫模型(variable-order Markov model,VMM)描述該變長(zhǎng)的符號(hào)序列,然后根據(jù)模型出現(xiàn)的概率識(shí)別惡意流量,其中包括Webshell流量.該模型可以緩解概念漂移、變長(zhǎng)符號(hào)、高熵帶來(lái)的識(shí)別干擾.CNN-Webshell[6]引入Word2Vec和CNN[20-21]識(shí)別網(wǎng)絡(luò)流量中Webshell的請(qǐng)求,其檢測(cè)結(jié)果優(yōu)于樸素貝葉斯、支持向量機(jī)、K鄰近、隨機(jī)森林等傳統(tǒng)的機(jī)器學(xué)習(xí)算法,其檢測(cè)準(zhǔn)確率比SVM提高了2.6%.

        1.2 Webshell文件檢測(cè)

        Webshell文件屬于惡意代碼的一種,傳統(tǒng)惡意代碼分析和檢測(cè)技術(shù)同樣適用于Webshell文件的檢測(cè).理解Webshell文件的結(jié)構(gòu)、內(nèi)容、特性,可以更好地服務(wù)于檢測(cè).

        文獻(xiàn)[18]指出,Webshell習(xí)慣性地使用混淆技術(shù)逃避特征值的檢測(cè),并使用去混淆操作還原Webshell中混淆代碼,最后采用一種上下文觸發(fā)的片斷哈希(context-trigger piecewise hashing)對(duì)去混淆的Webshell聚類(lèi),樣本間的聚類(lèi)關(guān)系有助于識(shí)別未知Webshell.文獻(xiàn)[22]通過(guò)靜態(tài)和動(dòng)態(tài)分析已有的Webshell,發(fā)現(xiàn)其可見(jiàn)的特性,如口令的暴力破解、SQL數(shù)據(jù)庫(kù)的訪(fǎng)問(wèn)、端口掃描、安全工具的檢測(cè)等;也發(fā)現(xiàn)許多不可見(jiàn)的特性,如一半的Webshell有認(rèn)證機(jī)制,且其中1/3可以繞過(guò),1/3 Webshell執(zhí)行時(shí)會(huì)通知某個(gè)第三方(不是攻擊者),泄漏安裝Webshell的Web服務(wù)器.如果注冊(cè)被棄用的第三方域名,則可以捕獲感染W(wǎng)ebshell主機(jī).該研究揭示了Webshell的生態(tài)系統(tǒng),包括攻擊者、感染的Web服務(wù)器以及Webshell內(nèi)置的后門(mén)代碼,這些后門(mén)代碼會(huì)泄漏攻擊者的信息和感染的Web服務(wù)器的信息.

        文獻(xiàn)[23]利用污點(diǎn)分析獲取Webshell文件的模式,該模式可以識(shí)別未知的Webshell.從已有的Webshell文件中抽取可以標(biāo)識(shí)Webshell的特征.Linux惡意軟件探測(cè)掃描器[10]、PHP Webshell Detector[11]、D盾[12]等都是利用這些特征的正則表達(dá)式檢測(cè)Webshell.同時(shí),NeoPI[24]通過(guò)文件信息熵、文件可壓縮比、文件重合指數(shù)、單詞最大長(zhǎng)度、惡意代碼片斷等統(tǒng)計(jì)特征識(shí)別Webshell,該統(tǒng)計(jì)特征可以對(duì)抗部分混淆和加密,提高對(duì)未知Webshell的感知能力,但檢測(cè)閾值是人為經(jīng)驗(yàn)設(shè)定,會(huì)出現(xiàn)誤報(bào)和漏報(bào).文獻(xiàn)[25]分析敏感函數(shù)和敏感字符串在正常PHP文件和Webshell文件中的使用分布,提出了一種打分機(jī)制識(shí)別可疑的Webshell,但沒(méi)有解釋如何確定閾值.

        文獻(xiàn)[26]選取文檔屬性(如單詞數(shù)量、分割符數(shù)量)、字符串操作函數(shù)、命令執(zhí)行函數(shù)(如eval,exec,system)、加解密函數(shù)、系統(tǒng)調(diào)用函數(shù)(如文件操作、數(shù)據(jù)庫(kù)操作)等作為特征集,其基于決策樹(shù)的檢測(cè)模型取得了較好的檢測(cè)結(jié)果.基于類(lèi)似的特征集,文獻(xiàn)[27]采用了基于SVM的檢測(cè)模型,其準(zhǔn)確性?xún)?yōu)于決策樹(shù)模型.文獻(xiàn)[28]首先采用NN(nearest neighbor)剔除樣本中的可疑噪聲,選取NeoPI[24]中特征集,然后應(yīng)用SVM識(shí)別Webshell,其準(zhǔn)確性比傳統(tǒng)的SVM高2.1%.

        2 檢測(cè)框架

        CNN是深度學(xué)習(xí)中一種被廣泛應(yīng)用的網(wǎng)絡(luò),常用于圖像識(shí)別領(lǐng)域,由于其方便性、可靠性等特點(diǎn),已經(jīng)成為圖像識(shí)別領(lǐng)域的主要研究方法.近些年來(lái),研究者將CNN引入自然語(yǔ)言處理領(lǐng)域用于處理文本分類(lèi)問(wèn)題,而Webshell檢測(cè)也屬于文本二分類(lèi)問(wèn)題,所以本文將其應(yīng)用于對(duì)Webshell的檢測(cè).

        本文基于CNN的Webshell檢測(cè)框架如圖1所示,主要包括數(shù)據(jù)預(yù)處理、特征提取和表示以及檢測(cè)模型3個(gè)模塊.

        圖1 檢測(cè)框架Fig.1 Framework of detection

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

        數(shù)據(jù)預(yù)處理的工作包括文件去重和opcode獲取,本文基于MD5值哈希以去除重復(fù)文件.

        MD5去重是根據(jù)文件內(nèi)容計(jì)算每個(gè)文件的MD5值,如果MD5相同,則認(rèn)為文件相同進(jìn)行去重.opcode是PHP腳本編譯之后的中間語(yǔ)言,其和PHP的關(guān)系就類(lèi)比于jvm字節(jié)碼和JAVA的關(guān)系,它包括操作符、操作數(shù)、指令格式及規(guī)范以及保存指令及相關(guān)信息的數(shù)據(jù)結(jié)構(gòu).PHP腳本執(zhí)行包括4個(gè)階段:詞法分析、語(yǔ)法解析、opcode編譯、opcode執(zhí)行.編譯器在第3階段會(huì)將opcode與相應(yīng)的參數(shù)或函數(shù)調(diào)用綁定,即使對(duì)Webshell危險(xiǎn)函數(shù)進(jìn)行混淆加密,在編譯時(shí)依然會(huì)出現(xiàn)與正常文件編譯結(jié)果不同的opcode語(yǔ)句.因此可以根據(jù)這一特點(diǎn),利用opcode區(qū)分Webshell和正常文件,把對(duì)文件的檢測(cè)轉(zhuǎn)換為對(duì)opcode序列的檢測(cè),本文利用PHP插件邏輯擴(kuò)展模塊(Vulcan logic dumper,VLD)編譯獲取PHP文件opcode.

        2.2 特征提取及表示

        無(wú)論是機(jī)器學(xué)習(xí)還是深度學(xué)習(xí)都無(wú)法直接應(yīng)用于文本,因此需要將2.1節(jié)獲得的opcode特征向量轉(zhuǎn)變成算法所能處理的數(shù)學(xué)形式.鑒于本文研究的對(duì)象是靜態(tài)PHP文件,因此在opcode的基礎(chǔ)上,通過(guò)詞袋模型&TF-IDF和詞匯表模型分別提取詞頻和詞序特征.

        2.2.1詞袋模型&TF-IDF 詞袋模型是應(yīng)用于NLP領(lǐng)域的特征提取模型,該模型不考慮詞法、語(yǔ)法和語(yǔ)序關(guān)系,將文檔看作是一袋子獨(dú)立的單詞,基于單詞構(gòu)建字典(dictionary),并根據(jù)字典將文檔表述為向量.該模型假設(shè)存在一個(gè)包含正常文件和Webshell文件的文檔集合D,里面共有M個(gè)文檔,提取文檔里的所有單詞構(gòu)成包含N個(gè)opcode單詞的字典(N可根據(jù)實(shí)際情況進(jìn)行選擇),利用字典將每個(gè)文檔表示成一個(gè)N維向量,向量每一維的值代表該單詞在該文檔中出現(xiàn)的次數(shù).

        但僅憑詞頻無(wú)法反映詞的重要性,為了尋找到能更好地概括特征、區(qū)分正常文件與Webshell的opcode單詞,本文在詞袋模型處理之后引入TF-IDF進(jìn)一步處理.TF-IDF算法利用詞的逆文檔頻率(inverse document frequency,IDF)修正僅僅用詞頻表示的詞特征值,基于詞的TF-IDF值過(guò)濾掉區(qū)分能力較小的單詞而保留重要的詞語(yǔ).圖2是詞袋模型的處理示例.

        圖2 詞袋模型處理示例Fig.2 Example of bag-of-words model

        2.2.2詞匯表模型 由2.2.1節(jié)可知,詞袋模型在構(gòu)建文檔向量時(shí),并沒(méi)有保留單詞詞序特征,而詞序往往包含更多的語(yǔ)義信息,因此本文采用詞匯表模型提取PHP腳本opcode序列的詞序特征.

        詞匯表模型假設(shè)存在一個(gè)包含正常文件和Webshell文件的文檔集合D,里面共有M個(gè)文檔,提取文檔里的所有單詞構(gòu)成帶有詞序序號(hào)的N個(gè)單詞的字典(序號(hào)是單詞出現(xiàn)的順序),利用字典將每一個(gè)文檔表示成一個(gè)P維向量(P即代表所選取的最大文檔長(zhǎng)度),P維向量的每一維的值即是該文檔中的單詞出現(xiàn)在詞典里的序號(hào),而不是單詞出現(xiàn)在文檔里的次數(shù).圖3是詞匯表模型的處理示例.

        圖3 詞匯表模型處理示例Fig.3 Example of vocabulary model

        2.3 檢測(cè)模型

        傳統(tǒng)的用于文本分類(lèi)問(wèn)題的CNN結(jié)構(gòu)主要都源于文獻(xiàn)[15]一文中的結(jié)構(gòu),而考慮到數(shù)據(jù)的稀疏性,本文所用CNN模型結(jié)構(gòu)增加了一層卷積層,并改變?cè)瘸鼗矸e層輸出后再合并的方法,而采用先合并卷積層輸出再池化的方式.模型結(jié)構(gòu)如圖4所示,由兩層一維卷積層、全局池化層、softmax層構(gòu)成.

        圖4 CNN模型結(jié)構(gòu)Fig.4 Architecture of CNN model

        卷積層共有兩層,每層包含3個(gè)卷積核數(shù)量為128、長(zhǎng)度分別為3、4、5的一維卷積神經(jīng)網(wǎng)絡(luò),通過(guò)卷積運(yùn)算抽取局部特征.給定輸入矩陣n*k,n為文檔個(gè)數(shù),k為特征維數(shù),該卷積層進(jìn)行卷積時(shí)只對(duì)列進(jìn)行卷積.在給定矩陣的位置i,卷積結(jié)果為Ci=f(W·Xi:i+h-1+b)∈R,h為卷積核長(zhǎng)度,b是偏移量,而f是非線(xiàn)性修正函數(shù),經(jīng)過(guò)實(shí)驗(yàn)對(duì)比relu和tanh激活函數(shù),發(fā)現(xiàn)tanh對(duì)準(zhǔn)確率、精確率和召回率的影響都優(yōu)于relu,因此最終f選用了tanh.整個(gè)矩陣的卷積結(jié)果被表示成一個(gè)特征向量C=[C1,C2,…,Cn-h+1]∈Rn-h+1.

        由卷積的運(yùn)算定義可知,卷積得到的特征向量個(gè)數(shù)與卷積核的個(gè)數(shù)相等,因此需要對(duì)多個(gè)特征向量進(jìn)行融合,本文采用串接方式將多個(gè)向量進(jìn)行連接,形成固定長(zhǎng)度的融合特征向量.而后全局池化層對(duì)融合特征向量提取最大值,即C(h,m)=max{C(h,m)},降低特征維數(shù),避免過(guò)擬合現(xiàn)象發(fā)生.

        池化層之后是softmax層,池化層的輸出通過(guò)全連接的方式連接一個(gè)softmax層,根據(jù)本文工作需要輸出兩類(lèi)概率分布,即Webshell和正常文件的概率分布.

        在訓(xùn)練中,本文采用Adam算法對(duì)參數(shù)進(jìn)行訓(xùn)練.為了提高模型的準(zhǔn)確度,本文采用Dropout策略使得部分神經(jīng)網(wǎng)絡(luò)單元失效,防止模型過(guò)擬合.

        3 實(shí)驗(yàn)設(shè)計(jì)與評(píng)估

        3.1 數(shù)據(jù)來(lái)源

        Webshell文件樣本主要通過(guò)使用“Webshell”關(guān)鍵字搜索下載github公開(kāi)項(xiàng)目得到,由于本文只關(guān)注PHP語(yǔ)言編寫(xiě)的Webshell,所以經(jīng)過(guò)篩選后一共有188個(gè)公開(kāi)項(xiàng)目,例如tennc/webshell、ysrc/webshell-sample、xl7dev/WebShell、tdifg/WebShell、bartblaze/PHP-backdoors等.

        正常PHP樣本主要使用互聯(lián)網(wǎng)常見(jiàn)的基于PHP開(kāi)發(fā)的開(kāi)源軟件樣本,主要包括WordPress、PHPCMS、phpMyAdmin、Smarty和Yii.

        經(jīng)過(guò)MD5文件排重處理后共獲得777個(gè)Webshell樣本和2 437個(gè)正常PHP樣本.

        3.2 實(shí)驗(yàn)設(shè)置

        3.2.1實(shí)驗(yàn)條件 本文實(shí)驗(yàn)基于python實(shí)現(xiàn),python版本為3.6.4.實(shí)驗(yàn)環(huán)境是Win10 64bit操作系統(tǒng),處理器為Intel Core i7-8700K@3.70 GHz,內(nèi)存為32 GB.

        3.2.2實(shí)驗(yàn)參數(shù) 對(duì)數(shù)據(jù)樣本所得opcode個(gè)數(shù)統(tǒng)計(jì)分析如圖5所示.大多數(shù)文件的opcode個(gè)數(shù)都在4~50之間,但92%的Webshell文件和73%的正常文件的opcode個(gè)數(shù)分布在4~300之間.選取50、100、150、200、300作為詞匯表模型的最大文檔長(zhǎng)度參數(shù)進(jìn)行實(shí)驗(yàn)驗(yàn)證,最終選擇300作為最大文檔長(zhǎng)度參數(shù).

        CNN模型的丟棄率設(shè)置為0.5,學(xué)習(xí)速率為0.001,批處理大小為100,訓(xùn)練周期為5輪,測(cè)試集與訓(xùn)練集比例為40%和60%.

        3.3 評(píng)價(jià)標(biāo)準(zhǔn)

        Webshell的檢測(cè)是一個(gè)二分類(lèi)問(wèn)題,本文選取精確率、召回率以及F1值這3個(gè)評(píng)估指標(biāo)用以評(píng)估方法性能.實(shí)驗(yàn)?zāi)P蛯?duì)數(shù)據(jù)檢測(cè)分類(lèi)的所有可能情況如表1所示.精確率(P)、召回率(R)、F1值計(jì)算如下:

        圖5 opcode個(gè)數(shù)分析Fig.5 Analysis of opcode

        表1 分類(lèi)情況Tab.1 Classification

        3.4 實(shí)驗(yàn)結(jié)果與分析

        3.4.1方法性能評(píng)估 實(shí)驗(yàn)從算法和特征兩個(gè)角度評(píng)估本文方法性能,實(shí)驗(yàn)結(jié)果如表2所示.

        表2 實(shí)驗(yàn)結(jié)果比較Tab.2 Comparison of experimental results %

        在特征方面,本文比較了詞匯表模型和詞袋模型.由表2可知,前3個(gè)算法對(duì)于特征的改變并不敏感,但對(duì)于CNN和RNN算法來(lái)說(shuō),基于詞序特征的詞匯表模型提高了精確率和F1值,其中CNN的精確率和F1值分別提高了1.1%和0.1%.

        3.4.2同類(lèi)工具比較 本文選取對(duì)比了現(xiàn)有的4個(gè)安全工具:D盾、河馬在線(xiàn)查殺[33]、OpenRASP[34]以及深信服[35],這4個(gè)工具都支持PHP腳本上傳檢測(cè).

        實(shí)驗(yàn)將777個(gè)樣本上傳至4類(lèi)工具檢測(cè),檢測(cè)結(jié)果如表3所示,D盾檢測(cè)率最高達(dá)到了87.4%,但依然低于本文方法的97.1%.

        表3 同類(lèi)工具比較Tab.3 Comparison of similar tools

        3.4.3opcode有效性 為了評(píng)估opcode的有效性,采用詞匯表模型進(jìn)行特征提取,在原始數(shù)據(jù)集和opcode數(shù)據(jù)集上分別進(jìn)行了實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果如表4所示.由表4可知,采用PHP opcode作為數(shù)據(jù)集時(shí),能夠提高檢測(cè)的精度,其中CNN的3個(gè)評(píng)估指標(biāo)分別提高了1.2%、1.4%、1.2%.

        4 結(jié)論

        本文提出了一種基于CNN的Webshell檢測(cè)方法,該方法基于PHP opcode序列,利用詞匯表模型提取其詞序特征,基于特征向量訓(xùn)練構(gòu)建CNN檢測(cè)模型.實(shí)驗(yàn)證明該方法無(wú)論在精確率、召回率還是F1值,都優(yōu)于傳統(tǒng)的機(jī)器學(xué)習(xí)算法;其次,實(shí)驗(yàn)還對(duì)比了兩類(lèi)特征模型,證明詞序特征相較于詞頻特征更有助于Webshell檢測(cè);此外,通過(guò)對(duì)比在opcode和原始文本數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果,證明opcode比原始文本更加利于檢測(cè);最后,本文還比較了現(xiàn)有安全工具,現(xiàn)有安全工具大多是基于特征匹配的方法,而實(shí)驗(yàn)結(jié)果表明本文方法檢測(cè)率優(yōu)于安全工具,證明了本文檢測(cè)方法的有效性.與文獻(xiàn)[6]相比,本文方法關(guān)注的是Webshell文本而非Webshell網(wǎng)絡(luò)流量,是長(zhǎng)文本而非短文本,但兩者都使用了CNN來(lái)處理檢測(cè)這個(gè)二分類(lèi)問(wèn)題,并且實(shí)驗(yàn)也證明了CNN解決此類(lèi)問(wèn)題的有效性.

        表4 opcode有效性實(shí)驗(yàn)結(jié)果Tab.4 Effectiveness of opcode %

        同時(shí),本文的工作也存在一定的局限性.首先,Webshell樣本收集難度大,樣本收集數(shù)量少,導(dǎo)致檢測(cè)模型會(huì)出現(xiàn)過(guò)擬合.其次,檢測(cè)模型的輸入長(zhǎng)度是固定的,而樣本的長(zhǎng)度并非固定,這種長(zhǎng)度的不一致會(huì)影響模型的檢測(cè)率.以上兩個(gè)問(wèn)題是下一步需要研究和解決的問(wèn)題.

        猜你喜歡
        詞匯表攻擊者文檔
        基于微分博弈的追逃問(wèn)題最優(yōu)策略設(shè)計(jì)
        有人一聲不吭向你扔了個(gè)文檔
        正面迎接批判
        愛(ài)你(2018年16期)2018-06-21 03:28:44
        基于RI碼計(jì)算的Word復(fù)制文檔鑒別
        Persistence of the reproductive toxicity of chlorpiryphos-ethyl in male Wistar rat
        有限次重復(fù)博弈下的網(wǎng)絡(luò)攻擊行為研究
        巧妙提取英文詞匯表的純英文單詞
        電腦迷(2014年16期)2014-04-29 03:32:41
        不讓他人隨意下載Google文檔
        電腦迷(2012年4期)2012-04-29 06:12:13
        詞匯表
        詞匯表
        中国大陆一级毛片| 亚洲av综合av一区| 白天躁晚上躁麻豆视频| 日本欧美在线播放| 女优视频一区二区三区在线观看| 亚洲中文字幕久久在线| 亚洲成av人片在www| 四虎精品视频| 精品国产一区二区三区久久狼| av日韩高清一区二区| 色爱无码av综合区| 亚洲国产精品线路久久| 亚洲中文有码一区二区| 久久天堂精品一区二区三区四区| 波多野42部无码喷潮| 欧美国产亚洲日韩在线二区| 亚洲综合原千岁中文字幕| 久久一道精品一区三区| av人摸人人人澡人人超碰妓女| 在线观看av手机网址| 男女视频在线观看一区二区| 美女网站免费观看视频| 国产一区二区不卡老阿姨| 国产成人精品人人做人人爽| 国产tv不卡免费在线观看| 色一情一区二区三区四区| 亚洲国产成人AV人片久久网站 | 国产精品涩涩涩一区二区三区免费| 人妻中文字幕一区二区视频| 国产激情无码一区二区三区| 久久久久这里只有精品网| 日本a一区二区三区在线| 无码人妻久久久一区二区三区| 亚洲欧洲偷自拍图片区| 亚洲精品乱码久久久久99| 色和尚色视频在线看网站 | 欧美黑人粗暴多交高潮水最多| 久久AⅤ天堂Av无码AV| 日本不卡的一区二区三区中文字幕 | 99久久综合狠狠综合久久| 黑丝美女喷水在线观看|