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

        ?

        基于CNN的JSP類型Webshell檢測

        2022-01-07 03:31:06鞏思越張英韜王寶會
        新型工業(yè)化 2021年10期
        關(guān)鍵詞:灰度分類樣本

        鞏思越,張英韜,王寶會

        (1.北京航空航天大學(xué)軟件學(xué)院,北京 100000;2.武漢大學(xué),湖北 武漢 430000)

        0 引言

        隨著我國互聯(lián)網(wǎng)應(yīng)用的突飛猛進,Web應(yīng)用在眾多場景和業(yè)務(wù)中變得越來越重要,這也給不法分子提供了數(shù)不勝數(shù)的Web漏洞靶場。作為一種常用的攻擊工具,Webshell是以asp、php、JSP等常見的網(wǎng)頁文件形式存在的一種代碼執(zhí)行環(huán)境,也被叫做網(wǎng)頁后門。攻擊者通過層出不窮的Web漏洞進入到后臺管理系統(tǒng)后,通常會將php或者JSP后門文件與網(wǎng)站服務(wù)器Web目錄下正常的網(wǎng)頁文件混在一起,然后就可以使用瀏覽器來訪問Webshell,從而進行文件上傳下載或者進一步的權(quán)限提升。根據(jù)2020年我國互聯(lián)網(wǎng)網(wǎng)絡(luò)安全態(tài)勢綜述[2]報告顯示,監(jiān)測發(fā)現(xiàn)境內(nèi)外約2.6萬個IP地址對我國境內(nèi)約5.3萬個網(wǎng)站植入后門,根據(jù)INTERNET LIVE STATS[3]統(tǒng)計數(shù)據(jù)顯示,2021年6月,平均每天會有19萬個網(wǎng)站受到不同程度的網(wǎng)絡(luò)攻擊,在所有的網(wǎng)絡(luò)攻擊中,后門植入(也稱Webshell攻擊、木馬攻擊)無疑是影響最大,最深遠的。Webshell植入可以讓攻擊者長時間的控制服務(wù)器且不被發(fā)覺,可以不斷地從服務(wù)器中獲取數(shù)據(jù)并且對其進行操控,這對于網(wǎng)站擁有者和網(wǎng)站用戶來講都是不可接受的。目前容易受到Webshell攻擊的對象都是一些較為老舊的、使用PHP及JSP編寫的網(wǎng)站,而現(xiàn)階段各家云服務(wù)廠商、安全廠商對于這些攻擊的檢測效果差強人意,一旦被攻擊損失慘重,并且絕大多數(shù)研究針對的都是PHP類型的Webshell攻擊進行研究,針對JSP類型的Webshell檢測研究遠遠低于針對PHP類型的Webshell研究[8]。故本文希望能夠提出一種深度學(xué)習算法,針對JSP類型的 Webshell文本進行檢測,提升整體的檢出精度,從而能夠更好的應(yīng)用在各個JSP web項目中,有效的保護JSP類型的Web項目,降低項目受到攻擊的概率,提高系統(tǒng)的安全程度。

        1 相關(guān)研究

        JSP類型的Webshell檢測,主要分為三類,分別是基于流量檢測、基于日志檢測和基于文本檢測。本文主要研究對JSP類型的Webshell基于文本分類的檢測?;谖谋痉诸惖臋z測實際上是對一份代碼文件進行判斷,屬于文本二分類問題,優(yōu)勢在于發(fā)現(xiàn)及時、特征分析方便。目前比較主流的方式有三種:(1)基于特征匹配的方式進行檢測,Ben Hagen于2011年設(shè)計實現(xiàn)了Neo PI[10]檢測器,用于對文件惡意性進行定量檢測。該工具對文本的最長字符長度、信息熵、重合指數(shù)、已知惡意代碼字符串以及文件壓縮比等元素分析待測文件,但是該工具只對文件做定量結(jié)論,而不做定性評價。Luczko又設(shè)計了一款PHP shell detector[11],該工具是利用文件的MD5值來識別惡意文件,但是,MD5值的HASH特性,會導(dǎo)致漏報率比較高?;谖谋咎卣鞯臋z測,檢測效果優(yōu)劣主要依賴于特征庫的質(zhì)量,不同類型的Webshell各有特點,需要根據(jù)目標針對性構(gòu)建特征庫,人工工作量很大,通用性不足。此外,由于特征庫是針對已有的Webshell構(gòu)建的,因此新Webshell檢測效果也有限。(2)基于機器學(xué)習的檢測,茅雨綺等人提出的基于抽象語法樹和XGBoost的JSP Webshell檢測[6],提取出Java文件的語法樹,抽象出特征序列,以特征序列作為輸入樣本進行檢測。詞向量提取中,茅雨綺等人對比了三種不同的特征提取算法,分別是TF-IDF,Word2Vec,Glove,機器學(xué)習算法選擇對比了XGBoost、KNN、支持向量機、隨機森林四種機器學(xué)習算法,最終得出結(jié)論Glove+XGBoost的組合可以得到更好的效果。(3)基于深度學(xué)習的檢測,周子恒等人在提取了PHP文件的操作碼之后,使用word2vec轉(zhuǎn)換詞向量,利用RNNs-LSTM算法對PHP樣本進行分類,準確率達到了95%[10]。傅建明等人是基于提取了PHP文件操作碼之后,使用詞匯表模型對文件進行表示,然后使用卷積神經(jīng)網(wǎng)絡(luò)對Webshell文件進行分類,F(xiàn)1值達到了97.2%[12]。

        3 本文方法

        根據(jù)前人研究經(jīng)驗,大部分學(xué)術(shù)論文選擇研究PHP類型的Webshell檢測,主要是由于以下兩點,一是特征提取便捷,可以通過現(xiàn)成的庫提取opcode,轉(zhuǎn)而作為深度學(xué)習的特征進行輸入,二是網(wǎng)絡(luò)上公開的PHP Webshell較多,可以有效的進行計算。但是在樣本集不變,特征提取手段不變的前提下,大部分的論文的實驗結(jié)果都是在95%上下,可是無法應(yīng)用到實際場景中。本文采用了將文本轉(zhuǎn)化為灰度圖像,使用圖像檢測CNN方法,進行判斷,具體流程如圖1。

        圖1 研究過程

        3.1 評價標準

        由于Webshell的檢測與傳統(tǒng)的分類問題不太一樣,更加在意Webshell的破壞威力,所以希望是在盡可能提高查全率的同時降低誤報率,我們采用混淆矩陣的方式來展示最終的結(jié)果,并對惡意樣本的查準率和查全率進行比較。

        表1 混淆矩陣

        3.2 數(shù)據(jù)獲取

        針對JSP類型的Webshell文件網(wǎng)絡(luò)公開數(shù)據(jù)較少的情況,我們收集了網(wǎng)絡(luò)上公開的Webshell倉庫,從中提取了400多個JSP類型的Webshell文件,再由東巽科技(北京)有限公司提供了2233個惡意JSP樣本,經(jīng)過去重后,得到2413個異常樣本數(shù)據(jù),正常樣本的收集是獲取了gitee.com上使用“JSP”作為關(guān)鍵詞搜索倉庫的前100頁所有倉庫中除惡意樣本外的所有JSP文件。去重過后得到3360個正常樣本。

        JSP類型的Webshell樣本操作碼沒有公開庫可以提取,所以自然也就不能按照PHPWebshell的檢測方式進行檢測,我們嘗試了幾種實現(xiàn)方式,最終選擇了使用灰度圖表示文件的形式進行處理。傳統(tǒng)的文本文件處理始終是圍繞著詞的維度作為特征進行輸入,十分依賴詞的拆分或是token的提取與表示,從之前的tfidf,word2vec到后來的Bert、GPT3,圍繞著詞的維度在對文本進行處理,但是考慮到Webshell檢測這個任務(wù)屬于一個二分類任務(wù),更多的是偏向判定是或不是這個問題,就和最開始的圖像識別問題很相似。圖像識別也可以是對一個圖像進行判斷,屬不屬于這個類別的問題,極其相似的任務(wù)目標下,我們應(yīng)該做的就是找出文本的特征。

        3.3 預(yù)處理轉(zhuǎn)換為灰度圖像

        對于JSP類型的Webshell而言,特征其實就是它導(dǎo)入的包和對這些包進行操作的語句,傳統(tǒng)的檢測方式可以是對關(guān)鍵函數(shù)進行特征編碼,作為深度學(xué)習網(wǎng)絡(luò)的輸入,如PHP中的eval、system、cmd_shell、readdirl函數(shù),如果套用到JSP類型中就是對Java語句中java.io.FileOutputStream、application.getRealPath等語句。但實際上,每一個操作函數(shù)單獨作為一個特征可以,也可以被多個特征組合起來共同標記,如eval,我們認為eval是由四個字母組成,當這四個字母按照相同順序、相鄰的出現(xiàn)在同一行的時候,也可以認為這個特征是成立的?;谶@個想法,我們希望能夠嘗試著將這種特征刻畫并提取出來。

        在獲取到數(shù)據(jù)集并進行去重過后,我們需要對樣本進行預(yù)處理,我們將JSP文件通過tomcat服務(wù)器提供的接口轉(zhuǎn)換為Java文件進行對比試驗??紤]到代碼編寫,所以我們?nèi)コ俗⑨尯椭形淖址?,這里我們默認中文字符不會參與到Java代碼中,只會出現(xiàn)在JSP的HTML結(jié)構(gòu)中。然后對剩余所有的字符通過python的ord函數(shù)轉(zhuǎn)換為對應(yīng)的ASCII值。這個時候一個文本就可以由大量的0到128表示了。通過對擁有樣本的分析可以發(fā)現(xiàn),正常樣本的行數(shù)遠遠小于異常樣本的行數(shù),即惡意樣本有可能會充斥大量無關(guān)字符進行干擾判斷,且異常樣本中可能包含類似“u006fu0075u0074”這種字符,實際上是將JSP文件中的Java代碼部分做了unicode編碼,通過混淆編碼的方式繞過傳統(tǒng)的Webshell檢測機制。我們選擇保留了這部分代碼,并沒有選擇轉(zhuǎn)碼回去,這樣的話,后續(xù)如果有這樣的異常樣本出現(xiàn),特征也會更加明顯。

        JSP/Java文件轉(zhuǎn)碼完成后,我們對不滿一百個字符的行末尾補0,按行區(qū)分,構(gòu)建出一個1000*100的灰度圖像,文件多余的部分截掉,行數(shù)不足的補0。生成的圖像中每一個像素點都是之前文件的一個字母或標點。如圖2所示,第一行的圖像是異常樣本的灰度圖像,第二行是正常樣本的灰度圖像。圖3表示截取了生成圖像的前100行像素。

        圖2 異常樣本與正常樣本生成灰度圖像對比圖

        3.4 構(gòu)建CNN模型

        考慮到實際收集到的樣本數(shù)量較少,對于大型的網(wǎng)絡(luò)結(jié)構(gòu)偏差會比較大,所以對于這種圖像處理的方式采用的是較為簡單的CNN網(wǎng)絡(luò)結(jié)構(gòu)。網(wǎng)絡(luò)結(jié)構(gòu)如下,先通過3*3*1的卷積網(wǎng)絡(luò),然后通過一個2×2的最大池化層,重復(fù)三次,接著將經(jīng)過池化的向量拉成一維向量,通過隱層維度分別為256,128,64的全連接層,匯總到一個維度中,除了輸出層使用的是sigmoid激活函數(shù)外,其余各層激活函數(shù)選擇的都是ReLU。實際網(wǎng)絡(luò)結(jié)構(gòu)如圖4。

        圖3 截取異常樣本與正常樣本生成灰度圖像對比圖

        圖4 網(wǎng)絡(luò)結(jié)構(gòu)

        我們的對JAVA和JSP兩種類型的文件分別進行訓(xùn)練,將原始樣本以4:1的比例拆分為訓(xùn)練集和測試集進行訓(xùn)練,訓(xùn)練20個epoch,batch大小選擇10,優(yōu)化器選擇Adam,參數(shù)設(shè)定為:learning_rate=0.001,beta_1=0.9,beta_2=0.999,epsilon=1e-07,從第13個epoch開始,訓(xùn)練集的分類準確率就已經(jīng)達到了1,這也符合我們的預(yù)期,因為Webshell檢測需要能夠?qū)σ阎臉颖具M行完全正確的分類。共計訓(xùn)練20個epoch之后,JSP類型的測試結(jié)果如表一所示,Java類型文件測試結(jié)果如表2所示。關(guān)于兩種類型測試集總和數(shù)量差了100多個樣本的原因是,在tomcat將JSP轉(zhuǎn)碼為Java文件的過程中,有少量JSP樣本由于語法錯誤無法轉(zhuǎn)碼成功,但是在JSP類型訓(xùn)練中還保留了下來,目的是為了提取其中的公共特征。

        表2 JSP 類型CNN 測試集結(jié)果混淆矩陣

        表3 JAVA 類型測試集結(jié)果混淆矩陣

        4 結(jié)果對比與分析

        本文在使用相較于其他研究較多的樣本后,得到的結(jié)果相比較而言也是較優(yōu)的,對比茅雨綺等人與趙瑞杰等人的研究結(jié)果如表4,可以看到,由于在訓(xùn)練過程中使得訓(xùn)練集上分類準確度達到1,故在測試集上查全率是遠高于前人研究結(jié)果的。

        表4 對比前人結(jié)果與本文結(jié)果(JSP 類型)

        5 結(jié)語

        本文提出了一種基于基于CNN的JSP類型Webshell檢測方法,以JSP和JSP編譯生成的Java文件的ASCII碼為原始數(shù)據(jù),轉(zhuǎn)換為1000*100的灰度圖像,對比CNN、隨機森林、XGBoost等主流的深度學(xué)習算法,得出ASCII+CNN模型在JSP類型的Webshell檢測中明顯占優(yōu),查全率相較于其他算法都有明顯的提升,查準率同樣也是在第一梯隊的。在接下來的研究中,需要繼續(xù)收集原始Webshell樣本,并嘗試新的圖像檢測處理框架及自然語言處理算法,進一步提升算法的適用性及魯棒性。

        猜你喜歡
        灰度分類樣本
        采用改進導(dǎo)重法的拓撲結(jié)構(gòu)灰度單元過濾技術(shù)
        基于灰度拉伸的圖像水位識別方法研究
        分類算一算
        用樣本估計總體復(fù)習點撥
        分類討論求坐標
        推動醫(yī)改的“直銷樣本”
        數(shù)據(jù)分析中的分類討論
        教你一招:數(shù)的分類
        基于最大加權(quán)投影求解的彩色圖像灰度化對比度保留算法
        隨機微分方程的樣本Lyapunov二次型估計
        中文字幕亚洲精品码专区| 久久麻传媒亚洲av国产| 国产极品裸体av在线激情网| 国产精品无码素人福利| 男人吃奶摸下挵进去啪啪软件 | 国产免费av片在线观看播放| 日韩人妻无码精品二专区| 国产丝袜美腿在线视频| 91超精品碰国产在线观看| 久久久g0g0午夜无码精品| 无码人妻一区二区三区免费n鬼沢| 亚洲精品成AV无在线观看| 日本一区二区午夜视频| 日韩日韩日韩日韩日韩日韩日韩| 中文字幕人妻无码视频| 国产 国语对白 露脸| 久久久国产精品福利免费| 啪啪视频免费看一区二区| 就爱射视频在线视频在线| 少妇下面好紧好多水真爽播放| 男人边吻奶边挵进去视频| 在线观看精品国产福利片87| 国产91极品身材白皙| 久久国产劲爆∧v内射| 性色做爰片在线观看ww| 99福利网| 久久久一本精品久久久一本| 精品国产粉嫩内射白浆内射双马尾 | 欧美性猛交xxx嘿人猛交| 18禁裸男晨勃露j毛免费观看| 草莓视频一区二区精品| 精品免费看国产一区二区白浆| 亚洲97成人在线视频| 正在播放强揉爆乳女教师| 久久无码人妻一区二区三区午夜 | 九九精品无码专区免费| 久久精品国产亚洲av热九九热 | 久久精品国产亚洲av高清色欲| 一本色道久久综合亚洲精品蜜臀| 新久久国产色av免费看| 全免费a级毛片免费看无码|