999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于語(yǔ)義分析的PHP Webshell 檢測(cè)方法研究*

2020-12-23 00:28:34岳子涵沈興文吳毅良
通信技術(shù) 2020年12期
關(guān)鍵詞:文本實(shí)驗(yàn)檢測(cè)

岳子涵,薛 質(zhì),沈興文,吳毅良

(1.上海交通大學(xué),上海 200240;2.上海市浦東新區(qū)大數(shù)據(jù)中心,上海 200240;3.廣東電網(wǎng)公司江門(mén)供電局,廣東 江門(mén) 529099)

0 引言

隨著互聯(lián)網(wǎng)的不斷發(fā)展,Web 應(yīng)用逐漸廣泛應(yīng)用于人們的生活、娛樂(lè)以及工作,因此安全問(wèn)題隨之而生[1]。PHP 憑借成本低、速度快、可移植性好等優(yōu)點(diǎn),成為Web 開(kāi)發(fā)中最受歡迎的腳本語(yǔ)言之一。但是,由于攻擊面廣和攻擊技術(shù)多,PHP 語(yǔ)言存在一些安全問(wèn)題。Webshell 是一種動(dòng)態(tài)腳本形式存在的后門(mén)程序[2]。攻擊者可通過(guò)訪(fǎng)問(wèn)該程序得到命令執(zhí)行環(huán)境,進(jìn)而達(dá)到控制服務(wù)器的目的,對(duì)用戶(hù)產(chǎn)生了巨大威脅。因此,PHP Webshell 的檢測(cè)方法研究是備受學(xué)術(shù)界和業(yè)界共同關(guān)注的Web 安全研究主題之一。

傳統(tǒng)的Webshell 檢測(cè)方法主要包括靜態(tài)分析、動(dòng)態(tài)分析以及這兩種方法的有機(jī)結(jié)合[3]。基于靜態(tài)分析的檢測(cè)方法是指對(duì)攻擊者上傳的Webshell 文件通過(guò)基于規(guī)則和特征碼匹配的方式發(fā)現(xiàn)Webshell[4]。這種方法資源占用小,檢測(cè)快速方便,但存在漏檢率過(guò)高的問(wèn)題,無(wú)未知風(fēng)險(xiǎn)對(duì)抗能力[5]。動(dòng)態(tài)檢測(cè)方法是對(duì)Webshell 文件執(zhí)行時(shí)特有的HTTP 請(qǐng)求或響應(yīng)進(jìn)行檢測(cè)[6]。這種方法誤判率較高且系統(tǒng)資源和實(shí)踐消耗較大。此外,由于攻擊者利用代碼混淆隱藏技術(shù)使得Webshell 的變體層見(jiàn)疊出,傳統(tǒng)的特征提取檢測(cè)方法局限性較大[7]。可見(jiàn),研究可抵御混淆繞過(guò)技術(shù)且誤報(bào)率低的Webshell 檢測(cè)系統(tǒng)具有重要的實(shí)用價(jià)值。

圖1 Webshell 檢測(cè)模型設(shè)計(jì)

由于混淆前后的Web 惡意代碼在語(yǔ)義結(jié)構(gòu)上具有一定的相似性,因此針對(duì)PHP 文件,本文以代碼的語(yǔ)義結(jié)構(gòu)為切入點(diǎn)描述腳本,提出了基于語(yǔ)義分析的Webshell 檢測(cè)方法。該方法與當(dāng)下熱點(diǎn)研究機(jī)器學(xué)習(xí)相結(jié)合,將PHP 代碼的語(yǔ)義結(jié)構(gòu)作為文本特征,結(jié)合機(jī)器學(xué)習(xí)構(gòu)建惡意Web 代碼檢測(cè)模型。

1 系統(tǒng)模型

基于語(yǔ)義分析的Webshell 檢測(cè)系統(tǒng)的訓(xùn)練流程如圖1 所示,由抽象語(yǔ)法樹(shù)提取模塊、詞向量提取模塊和機(jī)器學(xué)習(xí)模塊3 部分組成。本系統(tǒng)的輸入為PHP 文件的源代碼。首先,提取輸入樣本的抽象語(yǔ)法樹(shù),并保存為文本文件。其次,對(duì)其進(jìn)行預(yù)處理,使用Word2vec 算法提取行為特征,生成對(duì)應(yīng)的詞向量。最后,將其輸入到機(jī)器學(xué)習(xí)模型中,分析并判斷是否為Webshell。

1.1 抽象語(yǔ)法樹(shù)提取

抽象語(yǔ)法樹(shù)(Abstract,Syntax Tree,AST)是程序語(yǔ)言源代碼經(jīng)過(guò)詞法分析和語(yǔ)法分析后獲得的樹(shù)狀解析表示[8]。樹(shù)的每個(gè)節(jié)點(diǎn)表示源代碼中的一個(gè)結(jié)構(gòu)。AST 一般為編譯器語(yǔ)法分析階段的產(chǎn)物,只提供主要結(jié)構(gòu)。與直接使用源代碼相比,使用AST 進(jìn)行處理的主要優(yōu)點(diǎn)是AST 是對(duì)代碼分段后的結(jié)果的總結(jié)[9]。樹(shù)結(jié)構(gòu)反映了代碼的實(shí)際執(zhí)行順序,操作符周?chē)闹碉@示在每棵樹(shù)的相應(yīng)參數(shù)中。通過(guò)將PHP 代碼轉(zhuǎn)化為AST 后執(zhí)行字向量轉(zhuǎn)換,基于底層代碼的特征集合,避免了技術(shù)干擾方法的影響,實(shí)現(xiàn)了對(duì)未知Webshell 的檢測(cè)。

PHP 源代碼通過(guò)圖1 中AST 提取模塊所示過(guò)程轉(zhuǎn)換為抽象語(yǔ)法樹(shù)。本文主要通過(guò)PHP-Parser將PHP 源代碼轉(zhuǎn)化為抽象語(yǔ)法樹(shù)。PHP-Parser 是一個(gè)由PHP 編寫(xiě)的PHP 代碼靜態(tài)分析工具,可以生成指定PHP 源代碼相對(duì)應(yīng)的AST。它首先會(huì)列出所有的全局變量,其次根據(jù)代碼的執(zhí)行順序拆分函數(shù)名和參數(shù)值,最后生成如圖2 所示的AST。一個(gè)語(yǔ)句對(duì)應(yīng)一個(gè)數(shù)組,數(shù)組的名字即為被調(diào)用的函數(shù)。數(shù)組中按順序存放函數(shù)類(lèi)型和函數(shù)值。

圖2 一句話(huà)木馬及其抽象語(yǔ)法樹(shù)示例

1.2 詞向量提取

Word2vec 是2013 年谷歌團(tuán)隊(duì)推出的一款開(kāi)源詞向量特征訓(xùn)練工具[10-11]。它使用向量運(yùn)算代替文本內(nèi)容處理,通過(guò)向量化文本中的單詞,用向量空間的距離表示每個(gè)詞之間的距離。距離越近,則出現(xiàn)在一定相鄰范圍中的概率越大。因此,文本語(yǔ)義上的相似度可通過(guò)向量空間的相似度表示。Word2vec 一般分為連續(xù)詞袋模型(Continuous Bagof-Words,CBOW)和跳字模型(Skip-Gram)兩種模型。它們的區(qū)別在于CBOW 根據(jù)某一特征詞的上下文相關(guān)詞預(yù)測(cè)該詞的概率,Skip-Gram 則是基于某一特征詞預(yù)測(cè)其上下文相關(guān)詞的概率。由于該場(chǎng)景的樣本中,各單詞出現(xiàn)的頻率隨機(jī)分布于幾十到上萬(wàn)之間,差異較大,故選擇可較好處理低頻元素的Skip-Gram 詞向量訓(xùn)練模型,以得到更高的準(zhǔn)確率。

對(duì)于生成的AST,使用Python 腳本處理得到格式化的文本序列(如圖3 所示)作為模型的原始輸入,便于特征提取。然后,對(duì)所有樣本的文本序列進(jìn)行分詞,構(gòu)成用于訓(xùn)練詞向量的數(shù)據(jù)集,使用Word2vec 生成每個(gè)單詞的詞向量。對(duì)于每一個(gè)抽象語(yǔ)法樹(shù)樣本,對(duì)其包含的所有單詞的詞向量計(jì)算算術(shù)平均值得到該文本的向量。

圖3 格式化文本序列

1.3 基于機(jī)器學(xué)習(xí)的入侵檢測(cè)系統(tǒng)

將Word2vec 算法生成的文本詞向量作為基于機(jī)器學(xué)習(xí)的Webshell 檢測(cè)模型的輸入。本文共選取隨機(jī)森林、XGBoost 和SVM 這3 種機(jī)器學(xué)習(xí)算法進(jìn)行訓(xùn)練。

1.3.1 隨機(jī)森林

隨機(jī)森林算法是機(jī)器學(xué)習(xí)算法中常見(jiàn)的一種決策樹(shù)算法,利用多棵決策樹(shù),通過(guò)投票機(jī)制對(duì)樣本進(jìn)行訓(xùn)練和預(yù)測(cè)[12]。每棵樹(shù)有放回地隨機(jī)抽取訓(xùn)練樣本,隨機(jī)選取特征作為分枝依據(jù),使得每個(gè)子決策樹(shù)得到一個(gè)判斷結(jié)果[13]。經(jīng)由所有子決策樹(shù),根據(jù)其判斷進(jìn)行表決,得到隨機(jī)森林的判定結(jié)果。由于是有放回地抽取樣本且隨機(jī)選擇特征,它可以有效避免可能出現(xiàn)的過(guò)擬合現(xiàn)象。

1.3.2 XGBoost

XGBoost 是一種高效、可擴(kuò)展的梯度增強(qiáng)框架實(shí)現(xiàn)[14],是一種集成學(xué)習(xí)。集成學(xué)習(xí)的目的是通過(guò)結(jié)合多個(gè)基學(xué)習(xí)器的預(yù)測(cè)結(jié)果[15],提高單個(gè)學(xué)習(xí)器的泛化能力和魯棒性。XGBoost 以CART 樹(shù)中的回歸樹(shù)作為基分類(lèi)器,但不是簡(jiǎn)單地將幾個(gè)CART 樹(shù)進(jìn)行組合。它將模型上次預(yù)測(cè)產(chǎn)生的誤差作為參考進(jìn)行下一顆樹(shù)的建立,從而不斷降低損失函數(shù)[16]。作為梯度增強(qiáng)回歸算法的改進(jìn)優(yōu)化,XGBoost 算法是Tree Model 的一個(gè)特例[17]。

1.3.3 SVM

支持向量機(jī)(Support Vector Machines,SVM)是一種判別分類(lèi)器算法,通過(guò)定義兩個(gè)類(lèi)之間的超平面,可以以最佳效果將所有樣本分為兩個(gè)不同類(lèi)別的點(diǎn)[18],同時(shí)使得類(lèi)間所有點(diǎn)的相對(duì)分離距離最大。支持向量機(jī)算法通過(guò)尋找最優(yōu)解來(lái)尋找最優(yōu)超平面參數(shù)。公差邊界越大,錯(cuò)誤分類(lèi)點(diǎn)的個(gè)數(shù)越接近邊界。但是,大多數(shù)其他數(shù)據(jù)點(diǎn)的距離會(huì)增加,懲罰系數(shù)會(huì)減小,以提高整體驗(yàn)證樣本的準(zhǔn)確性。

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

2.1 實(shí)驗(yàn)數(shù)據(jù)與環(huán)境

本文的PHP 訓(xùn)練樣本集大小為24389。其中:正常樣本22400 個(gè),主要來(lái)源于PHP 開(kāi)源內(nèi)容管理系統(tǒng)(Content Management System,CMS),如wordpress、phpcms 以及yii;收集異常樣本1989 個(gè),主要來(lái)源于github 上公開(kāi)的數(shù)據(jù)。在實(shí)際的生產(chǎn)環(huán)境中,正常PHP 文件的數(shù)量遠(yuǎn)遠(yuǎn)大于惡意webshell文件的數(shù)量。因此,將正樣本和負(fù)樣本的比例大約設(shè)置為10:1,增加白樣本的數(shù)量,以使模型對(duì)實(shí)際環(huán)境更具適應(yīng)性,從而增強(qiáng)模型的魯棒性和適應(yīng)性。

實(shí)驗(yàn)環(huán)境的軟硬件配置信息如表1 所示。在PHP 編譯環(huán)境中,將PHP 代碼轉(zhuǎn)換成抽象語(yǔ)法樹(shù),之后的詞向量提取、模型訓(xùn)練與檢測(cè)均基于Python語(yǔ)言。詞向量訓(xùn)練使用Genism 庫(kù),機(jī)器學(xué)習(xí)部分則采用sklearn(scikit-learn)實(shí)現(xiàn)。

表1 實(shí)驗(yàn)配置環(huán)境

2.2 實(shí)驗(yàn)評(píng)價(jià)指標(biāo)

本次實(shí)驗(yàn)為二分類(lèi)問(wèn)題,實(shí)驗(yàn)結(jié)果可分為以下4 類(lèi)。

(1)真正例(True Positive,TP):真實(shí)值為正常樣本,預(yù)測(cè)值為正常樣本。

(2)假負(fù)例(False Negative,F(xiàn)N):真實(shí)值為正常樣本,預(yù)測(cè)值為Webshell 樣本。

(3)假正例(False Positive,F(xiàn)P):真實(shí)值為Webshell 樣本,預(yù)測(cè)值為正常樣本。

(4)真負(fù)例(True Negative,TN):真實(shí)值為Webshell 樣本,預(yù)測(cè)值為Webshell 樣本。

本次實(shí)驗(yàn)采用十折交叉驗(yàn)證評(píng)估模型,評(píng)估指標(biāo)采用精確率P、召回率R和準(zhǔn)確率ACC,計(jì)算公式如下:

2.3 實(shí)驗(yàn)設(shè)計(jì)與結(jié)果分析

本次實(shí)驗(yàn)流程如圖4 所示。

圖4 實(shí)驗(yàn)流程

使用Word2vec 將AST 文本序列轉(zhuǎn)化為數(shù)字向量作為輸入數(shù)據(jù),在輸入相同訓(xùn)練特征的情況下,實(shí)驗(yàn)對(duì)比了XGBoost、隨機(jī)森林、SVM 這3 種算法的準(zhǔn)確率、精確率與召回率,結(jié)果如表2 所示。

表2 Webshell 檢測(cè)模型實(shí)驗(yàn)結(jié)果

結(jié)果表明,基于A(yíng)ST 的檢測(cè)方法準(zhǔn)確率可達(dá)98.82%,此外具有較高的精確率與召回率。此次實(shí)驗(yàn)中,XGBoost 模型各項(xiàng)指標(biāo)均優(yōu)于其他算法,因此選擇基于XGBoost 算法的模型進(jìn)行PHP Webshell檢測(cè)。XGBoost 模型的參數(shù)設(shè)置如下:maxdepth=8,min-child-weight=1,learning-rate=0.1,n-estimators=1000,gamma=0。

此外,表3 顯示了本文模型與PHP Webshell 檢測(cè)相關(guān)工作的對(duì)比結(jié)果。由對(duì)比結(jié)果可得,本文模型在準(zhǔn)確率、精確率和召回率等多個(gè)方面均有所提升。

表3 相關(guān)算法性能比較

3 結(jié)語(yǔ)

為了更好地解決當(dāng)前Webshell 檢測(cè)中混淆惡意代碼的檢測(cè)問(wèn)題,本文提出了一種基于語(yǔ)義分析的Webshell 檢測(cè)系統(tǒng)。從PHP 文件的源代碼中提取AST,使用Word2vec 將詞法序列轉(zhuǎn)換為詞向量作為機(jī)器學(xué)習(xí)模型的最終輸入,并對(duì)不同的機(jī)器學(xué)習(xí)算法進(jìn)行驗(yàn)證,最終選擇了性能最好、準(zhǔn)確率最高的XGBoost 算法。在以后的計(jì)劃中,將嘗試同樣的方法對(duì)JSP 文件進(jìn)行檢測(cè),并嘗試引入動(dòng)態(tài)流量特征信息,結(jié)合兩者檢測(cè)方法來(lái)降低誤報(bào)率,以開(kāi)發(fā)一個(gè)基于機(jī)器學(xué)習(xí)和深度學(xué)習(xí)的全面入侵檢測(cè)系統(tǒng),從而有效保護(hù)網(wǎng)絡(luò)。

猜你喜歡
文本實(shí)驗(yàn)檢測(cè)
記一次有趣的實(shí)驗(yàn)
“不等式”檢測(cè)題
“一元一次不等式”檢測(cè)題
“一元一次不等式組”檢測(cè)題
在808DA上文本顯示的改善
做個(gè)怪怪長(zhǎng)實(shí)驗(yàn)
基于doc2vec和TF-IDF的相似文本識(shí)別
電子制作(2018年18期)2018-11-14 01:48:06
NO與NO2相互轉(zhuǎn)化實(shí)驗(yàn)的改進(jìn)
實(shí)踐十號(hào)上的19項(xiàng)實(shí)驗(yàn)
太空探索(2016年5期)2016-07-12 15:17:55
小波變換在PCB缺陷檢測(cè)中的應(yīng)用
主站蜘蛛池模板: 99热这里只有免费国产精品| 福利视频久久| 91免费精品国偷自产在线在线| 五月天久久婷婷| 国产在线麻豆波多野结衣| 青青操国产视频| 免费国产小视频在线观看| 欧美亚洲国产日韩电影在线| 国产日韩欧美视频| 婷婷五月在线| 亚洲最大福利网站| 国产亚洲视频免费播放| 亚洲精品第一在线观看视频| 一本一道波多野结衣av黑人在线 | 亚洲精品综合一二三区在线| 成人福利在线看| 一本色道久久88综合日韩精品| 欧美亚洲一区二区三区导航| 99视频精品全国免费品| 波多野结衣国产精品| 在线观看热码亚洲av每日更新| 亚洲成A人V欧美综合| 成人精品在线观看| аⅴ资源中文在线天堂| 国产地址二永久伊甸园| 亚洲人成网站色7777| 欧美日韩精品一区二区在线线| 天堂va亚洲va欧美va国产| 91在线视频福利| 任我操在线视频| aa级毛片毛片免费观看久| 成人亚洲国产| 亚洲天堂网在线观看视频| 亚洲最猛黑人xxxx黑人猛交| 亚洲午夜国产精品无卡| 69视频国产| 亚洲午夜福利在线| 色综合狠狠操| 福利小视频在线播放| 亚洲黄网视频| 3344在线观看无码| 日韩福利视频导航| 精品欧美一区二区三区在线| 狼友视频一区二区三区| www.日韩三级| 久久性视频| 亚洲成AV人手机在线观看网站| 91精品情国产情侣高潮对白蜜| 日韩小视频在线观看| 无遮挡国产高潮视频免费观看| 久草国产在线观看| 在线免费观看AV| 国产免费羞羞视频| 尤物精品视频一区二区三区| 不卡无码h在线观看| 色综合色国产热无码一| 好吊日免费视频| 亚洲第一在线播放| 污污网站在线观看| 精品无码人妻一区二区| 这里只有精品在线播放| 亚洲午夜福利在线| 亚洲综合色婷婷中文字幕| 蝴蝶伊人久久中文娱乐网| 最新国产麻豆aⅴ精品无| 57pao国产成视频免费播放| 国产黑人在线| 露脸真实国语乱在线观看| 精品国产91爱| 九色综合伊人久久富二代| 无码aaa视频| 亚洲日本中文字幕天堂网| 国产欧美综合在线观看第七页| 伊人久热这里只有精品视频99| 久久九九热视频| 欧美日本在线观看| 久久婷婷国产综合尤物精品| 黄色国产在线| 国产剧情国内精品原创| 亚洲欧美色中文字幕| 丝袜高跟美脚国产1区| 欧美色图久久|