王林汝 姬艷
1 江蘇省互聯(lián)網(wǎng)行業(yè)管理服務(wù)中心;2 中國(guó)電信股份有限公司江蘇分公司
WebShell就是以網(wǎng)頁(yè)文件形式(如asp、jsp、php等類(lèi)型)存在的一種命令執(zhí)行環(huán)境,通常將其認(rèn)為屬于一種網(wǎng)頁(yè)后門(mén)。這使得入侵者可以通過(guò)它來(lái)非法獲取服務(wù)器系統(tǒng)權(quán)限,進(jìn)而控制“肉雞”發(fā)起DDos攻擊,對(duì)網(wǎng)站內(nèi)容進(jìn)行篡改、在網(wǎng)頁(yè)上掛木馬病毒,作為隱藏自身的代理類(lèi)服務(wù)器,對(duì)服務(wù)器內(nèi)部進(jìn)行掃描,對(duì)網(wǎng)頁(yè)植入暗鏈/黑鏈等等。
最近幾年,針對(duì)網(wǎng)站的隱蔽性攻擊(如被植入后門(mén)等)表現(xiàn)出逐年穩(wěn)定增長(zhǎng)態(tài)勢(shì),國(guó)家互聯(lián)網(wǎng)應(yīng)急響應(yīng)中心發(fā)布的《2016年中國(guó)互聯(lián)網(wǎng)網(wǎng)絡(luò)安全報(bào)告》中指出,2016 年,CNCERT/CC監(jiān)測(cè)發(fā)現(xiàn)約 4 萬(wàn)個(gè) IP 地址對(duì)我國(guó)境內(nèi)82072 個(gè)網(wǎng)站被植入后門(mén),其中政府網(wǎng)站有 2361 個(gè),占境內(nèi)被植入后門(mén)網(wǎng)站的 2.9%,網(wǎng)站數(shù)量較 2015 年增長(zhǎng) 9.3%。
由于WebShell是使用HTTP協(xié)議進(jìn)行木馬上傳及惡意操作,與被控制的服務(wù)器之間的通信是遠(yuǎn)程通過(guò)80端口進(jìn)行傳遞,因此常規(guī)的防火墻很難以攔截此類(lèi)攻擊。并且使用WebShell進(jìn)行攻擊通常不會(huì)在被入侵系統(tǒng)的日志當(dāng)中留下入侵痕跡,只會(huì)在網(wǎng)站的web日志當(dāng)中留下一些數(shù)據(jù)提交歷史記錄,因此通過(guò)對(duì)HTTP日志進(jìn)行分析來(lái)發(fā)現(xiàn)WebShell行為,是近期網(wǎng)絡(luò)安全研究的熱點(diǎn)。
目前WebShell檢測(cè)的方式主要分為靜態(tài)檢測(cè)和動(dòng)態(tài)檢測(cè)兩方面[3]。當(dāng)黑客使用WebShell來(lái)入侵服務(wù)器時(shí),不管其操作是對(duì)文件進(jìn)行上傳或修改,都必然會(huì)有一個(gè)包含WebShell代碼的文件,因此從文件代碼入手,這是靜態(tài)特征檢測(cè)的思路;而當(dāng)WebShell運(yùn)行后,所有數(shù)據(jù)是通過(guò)HTTP協(xié)議進(jìn)行傳輸,因此可以從HTTP請(qǐng)求/響應(yīng)中可以找到蛛絲馬跡,這是動(dòng)態(tài)特征檢測(cè)。
已有的研究工作當(dāng)中,靜態(tài)檢測(cè)通過(guò)匹配已知WebShell的文件特征(如特征碼、特征值、危險(xiǎn)函數(shù)等)來(lái)實(shí)現(xiàn)WebShell檢測(cè)方法,此類(lèi)方法只能查找已知的WebShell,并且誤報(bào)率漏報(bào)率會(huì)比較高,若配置的規(guī)則完善,則可以有效減低誤報(bào)率,但是對(duì)于WebShell檢測(cè)的漏報(bào)率則會(huì)相應(yīng)提高。
而WebShell在代碼執(zhí)行當(dāng)中所具備的特征,則稱(chēng)作動(dòng)態(tài)特征。由于WebShell是通過(guò)HTTP協(xié)議進(jìn)行通信,因此提取WebShell特有的HTTP請(qǐng)求/響應(yīng)來(lái)形成特征庫(kù),對(duì)所有的HTTP請(qǐng)求日志進(jìn)行匹配,這就是動(dòng)態(tài)特征檢測(cè)。
此外,還有通過(guò)對(duì)服務(wù)器內(nèi)并部署的動(dòng)態(tài)文件(如.php等)內(nèi)的代碼進(jìn)行語(yǔ)法檢測(cè),根據(jù)對(duì)常用語(yǔ)言如php等采用掃描編譯等方式,對(duì)代碼和注釋進(jìn)行剝離,并對(duì)其中的變量、字符串、函數(shù)等語(yǔ)法結(jié)構(gòu)進(jìn)行歸類(lèi)和分析,進(jìn)而來(lái)實(shí)現(xiàn)對(duì)于關(guān)鍵危險(xiǎn)函數(shù)的檢測(cè)發(fā)現(xiàn);通過(guò)此方式可以完美解決漏報(bào)的情況;但誤報(bào)上,仍存在問(wèn)題。
已有的研究工作取得了一些科研成果,但存在以下不足:
(1)基于靜態(tài)特征的檢測(cè)方案當(dāng)中,存在漏報(bào)率高且誤報(bào)率高,無(wú)法及時(shí)發(fā)現(xiàn)0day型的WebShell,而且容易被代碼混淆等方法繞過(guò)等等系列問(wèn)題,并且由于需要配合人工進(jìn)行二次檢測(cè),因此對(duì)于大型網(wǎng)站的WebShell檢測(cè)而言需要的人力工作量很大;
(2)基于動(dòng)態(tài)特征的檢測(cè)方案,存在部署代價(jià)高,制定的規(guī)則需要頻繁更新,并且無(wú)法發(fā)現(xiàn)經(jīng)過(guò)混淆的惡意代碼等缺點(diǎn);
(3)對(duì)于基于語(yǔ)法檢測(cè)的檢測(cè)方案,需要大量已知的后門(mén)數(shù)據(jù)進(jìn)行語(yǔ)法語(yǔ)義的分析訓(xùn)練,前期需要投入相當(dāng)程度的成本,并且對(duì)于未發(fā)現(xiàn)的0day類(lèi)型的WebShell無(wú)法檢測(cè)發(fā)現(xiàn),也無(wú)法發(fā)現(xiàn)經(jīng)過(guò)混淆的惡意代碼。
作者目前在工作中面臨的實(shí)際問(wèn)題是:
(1)如何處理海量的HTTP日志數(shù)據(jù);
(2)如何實(shí)現(xiàn)對(duì)已知的WebShell和0day入侵的及時(shí)發(fā)現(xiàn)。
針對(duì)問(wèn)題1:通過(guò)使用分布式計(jì)算框架來(lái)實(shí)現(xiàn)對(duì)于海量HTTP日志數(shù)據(jù)的處理;
針對(duì)問(wèn)題2:則通過(guò)提取已知WebShell的訪(fǎng)問(wèn)參數(shù)進(jìn)行訓(xùn)練從而實(shí)現(xiàn)對(duì)已知WebShell進(jìn)行檢測(cè),統(tǒng)計(jì)單位時(shí)間內(nèi)host的訪(fǎng)問(wèn)行為特征從而實(shí)現(xiàn)對(duì)未發(fā)現(xiàn)的0day類(lèi)型WebShell進(jìn)行檢測(cè),并使用機(jī)器學(xué)習(xí)分類(lèi)器根據(jù)提取的特征進(jìn)行訓(xùn)練,實(shí)現(xiàn)對(duì)WebShell的自動(dòng)化實(shí)時(shí)檢測(cè)。
(1)訪(fǎng)問(wèn)參數(shù)特征選擇
因?yàn)閻阂釽ebShell的請(qǐng)求參數(shù)通常將包含特定的惡意代碼或通過(guò)代碼混淆實(shí)現(xiàn)上傳惡意代碼或進(jìn)行操作,因此訪(fǎng)問(wèn)特征參數(shù)將從惡意代碼匹配及代碼混淆度進(jìn)行檢測(cè)。對(duì)于請(qǐng)求參數(shù)字段(對(duì)于GET方式,參數(shù)為url中?后的字符串,對(duì)于POST字段而言,則為post字段),依據(jù)&符號(hào)將參數(shù)字符串切割為單個(gè)參數(shù),依據(jù)=符號(hào)將單個(gè)參數(shù)切割為key和value值。
1)惡意代碼命中特征:根據(jù)已知的惡意WebShell日志及正常的HTTP訪(fǎng)問(wèn)日志,對(duì)日志內(nèi)每個(gè)key/每個(gè)value及其是否為WebShell攻擊進(jìn)行關(guān)聯(lián)分析,對(duì)關(guān)聯(lián)度超過(guò)指定閾值的key或value判斷為惡意代碼,并依據(jù)關(guān)聯(lián)程度及代碼邏輯分析,結(jié)合已知WebShell惡意代碼黑名單庫(kù),建立高嫌疑惡意代碼庫(kù)及低嫌疑惡意代碼庫(kù)。當(dāng)有新的HTTP日志數(shù)據(jù)時(shí),分別檢測(cè)其中的訪(fǎng)問(wèn)參數(shù)命中高嫌疑惡意代碼庫(kù)及低嫌疑惡意代碼庫(kù)的次數(shù),作為惡意代碼命中特征。
2)最大參數(shù)字符長(zhǎng)度:正常的HTTP請(qǐng)求參數(shù)通常由有意義的字符構(gòu)成,字符長(zhǎng)度不會(huì)太高。而WebShell的請(qǐng)求參數(shù)當(dāng)中通常包含隱藏在參數(shù)中上傳的文件代碼,最大字符長(zhǎng)度可能會(huì)較高。
3)請(qǐng)求參數(shù)最大字符熵值:正常的HTTP請(qǐng)求參數(shù)由明文構(gòu)成,因此整體字符熵值較低。而通過(guò)代碼加密或代碼混淆的惡意代碼,加密后整體字符分布呈現(xiàn)隨機(jī)性,因此字符熵值較高。
4)字符重合指數(shù):計(jì)算每個(gè)參數(shù)的平均字符重合指數(shù),正常的HTTP訪(fǎng)問(wèn)參數(shù)通常是由有意義的字符組成,平均字符重合指數(shù)接近6.5%。而通過(guò)混淆或加密的WebShell代碼字符分布比較隨機(jī),重合的字符較少,整體字符重合指數(shù)較低,接近隨機(jī)分布3.5%。
(2)訪(fǎng)問(wèn)行為特征選擇
1)請(qǐng)求方式訪(fǎng)問(wèn)占比:統(tǒng)計(jì)單位時(shí)間內(nèi)對(duì)于指定host的各類(lèi)HTTP請(qǐng)求方式(如GET/POST等)的比例,正常的訪(fǎng)問(wèn)行為下抓取網(wǎng)頁(yè)內(nèi)容當(dāng)中GET類(lèi)型的訪(fǎng)問(wèn)請(qǐng)求占比較高,而惡意WebShell請(qǐng)求由于需要上傳代碼或獲取數(shù)據(jù)庫(kù)內(nèi)容,其POST類(lèi)型的訪(fǎng)問(wèn)請(qǐng)求占比非常高。
2)總訪(fǎng)問(wèn)次數(shù):統(tǒng)計(jì)單位時(shí)間類(lèi)對(duì)于指定host的總訪(fǎng)問(wèn)請(qǐng)求次數(shù),正常訪(fǎng)問(wèn)行為當(dāng)中每分鐘的訪(fǎng)問(wèn)次數(shù)穩(wěn)定在一個(gè)合理區(qū)間,而遭到WebShell攻擊入侵時(shí),短期內(nèi)將收到大量的非法訪(fǎng)問(wèn)請(qǐng)求,總訪(fǎng)問(wèn)次數(shù)將遠(yuǎn)高于正常值。
3)單IP訪(fǎng)問(wèn)次數(shù)最大占比:統(tǒng)計(jì)單位時(shí)間內(nèi)對(duì)于指定host訪(fǎng)問(wèn)當(dāng)中,所有源IP的訪(fǎng)問(wèn)次數(shù)占比,得到來(lái)訪(fǎng)IP當(dāng)中訪(fǎng)問(wèn)次數(shù)占比的最大值。在正常的HTTP訪(fǎng)問(wèn)行為中,通常每個(gè)來(lái)訪(fǎng)IP的訪(fǎng)問(wèn)次數(shù)較為平均。而惡意WebShell訪(fǎng)問(wèn)當(dāng)中,源自攻擊者IP的單IP訪(fǎng)問(wèn)次數(shù)很高,因此單IP訪(fǎng)問(wèn)次數(shù)占比也很高。
4)動(dòng)靜態(tài)文件訪(fǎng)問(wèn)次數(shù)占比:統(tǒng)計(jì)單位時(shí)間內(nèi)對(duì)于指定host訪(fǎng)問(wèn)當(dāng)中,目的URL所屬的類(lèi)型比例。當(dāng)被訪(fǎng)問(wèn)的URL包含動(dòng)態(tài)文件后綴 ['‘jsp',‘php',‘a(chǎn)sp',‘a(chǎn)spx',‘cgi'],則認(rèn)為訪(fǎng)問(wèn)了動(dòng)態(tài)文件,否則則認(rèn)為該次訪(fǎng)問(wèn)屬于訪(fǎng)問(wèn)靜態(tài)文件。正常的HTTP訪(fǎng)問(wèn)請(qǐng)求當(dāng)中,動(dòng)態(tài)文件的訪(fǎng)問(wèn)請(qǐng)求比例通常低于靜態(tài)文件的請(qǐng)求比例。但在WebShell請(qǐng)求當(dāng)中,對(duì)于動(dòng)態(tài)文件的訪(fǎng)問(wèn)占比遠(yuǎn)高于對(duì)靜態(tài)文件的訪(fǎng)問(wèn)占比。
依據(jù)上述的場(chǎng)景分析和特征選擇,最終確定了一下8個(gè)特征作為后續(xù)機(jī)器學(xué)習(xí)訓(xùn)練所用參數(shù),如表1所示:
(1)特征量化
對(duì)于全量的HTTP日志數(shù)據(jù),將按目標(biāo)host分別進(jìn)行統(tǒng)計(jì),設(shè)定單位時(shí)間為1分鐘。
1)惡意代碼命中特征:分別使用高嫌疑惡意代碼庫(kù)及低嫌疑惡意代碼庫(kù)對(duì)請(qǐng)求參數(shù)數(shù)據(jù)進(jìn)行匹配,分別記錄高嫌疑
表1 檢測(cè)方案特征選擇表
2)最大參數(shù)字符長(zhǎng)度:對(duì)于請(qǐng)求參數(shù)內(nèi)的多個(gè)參數(shù),計(jì)算其每個(gè)參數(shù)內(nèi)容字符長(zhǎng)度data_length,并取其最大值max_data_length作為該項(xiàng)特征的值。若該項(xiàng)特征的數(shù)值越大,則屬于WebShell行為的可能性越高。
3)請(qǐng)求參數(shù)最大字符熵值:對(duì)于請(qǐng)求參數(shù)內(nèi)的多個(gè)參數(shù),分別按照公式(1)計(jì)算域名di的域名字符熵:
并取最大值max_entropy作為該項(xiàng)特征的值。若最大字符特征熵值越大,則屬于WebShell行為的可能性越高。
4)平均字符重合指數(shù):對(duì)于請(qǐng)求參數(shù)內(nèi)的多個(gè)參數(shù),分別計(jì)算每個(gè)參數(shù)的請(qǐng)求值的字符重合指數(shù),計(jì)算方式如下:如果英文的26個(gè)字母在文本中出現(xiàn)的概率分別為:p0,p1...p25,則該參數(shù)值的字符重合指數(shù)=p0^2+p1^2+p2^2...+p25^2;最終求的多個(gè)參數(shù)的字符重合指數(shù)并求其均值avg作為該項(xiàng)特征值。平均字符重合指數(shù)越高,則說(shuō)明屬于正常訪(fǎng)問(wèn)的可能程度越大。
5)請(qǐng)求方式訪(fǎng)問(wèn)占比:統(tǒng)計(jì)單位時(shí)間內(nèi)對(duì)于指定host的GET類(lèi)請(qǐng)求占比和POST類(lèi)請(qǐng)求占比,類(lèi)型的請(qǐng)求占比=該類(lèi)型的請(qǐng)求次數(shù)/總訪(fǎng)問(wèn)次數(shù)。正常的HTTP訪(fǎng)問(wèn)請(qǐng)求當(dāng)中GET類(lèi)型請(qǐng)求方式的占比高于POST類(lèi)請(qǐng)求次數(shù)的占比,而在WebShell行為當(dāng)中,大部分的都是POST類(lèi)型的請(qǐng)求,GET類(lèi)型的請(qǐng)求占比較低。
6)總訪(fǎng)問(wèn)次數(shù):統(tǒng)計(jì)單位時(shí)間內(nèi)對(duì)于指定host的訪(fǎng)問(wèn)總次數(shù)sum_vivit_num;在正常的HTTP訪(fǎng)問(wèn)行為中,通常每個(gè)惡意代碼命中次數(shù)High_evil_num和低嫌疑惡意代碼命中次數(shù)normal_evil_num作為特征。高嫌疑惡意代碼命中次數(shù)或低嫌疑惡意代碼命中次數(shù)越高,則說(shuō)明該屬于WebShell行為的可能性越高。來(lái)訪(fǎng)IP的訪(fǎng)問(wèn)次數(shù)較為平均。而惡意WebShell訪(fǎng)問(wèn)當(dāng)中,源自攻擊者IP的單IP訪(fǎng)問(wèn)次數(shù)很高,因此單IP訪(fǎng)問(wèn)次數(shù)占比也很高。
7)單IP訪(fǎng)問(wèn)次數(shù)最大占比:統(tǒng)計(jì)單位時(shí)間內(nèi)對(duì)于指定host內(nèi)每個(gè)IP的訪(fǎng)問(wèn)次數(shù),單IP訪(fǎng)問(wèn)次數(shù)占比=單IP訪(fǎng)問(wèn)次數(shù)/總訪(fǎng)問(wèn)次數(shù);并求出單IP訪(fǎng)問(wèn)次數(shù)最大占比。在正常的HTTP訪(fǎng)問(wèn)行為中,通常每個(gè)來(lái)訪(fǎng)IP的訪(fǎng)問(wèn)次數(shù)較為平均。而惡意WebShell訪(fǎng)問(wèn)當(dāng)中,源自攻擊者IP的單IP訪(fǎng)問(wèn)次數(shù)很高,因此單IP訪(fǎng)問(wèn)次數(shù)占比也很高。
8)動(dòng)靜態(tài)文件訪(fǎng)問(wèn)次數(shù)占比:統(tǒng)計(jì)單位時(shí)間內(nèi)對(duì)于指定host內(nèi)目的URL所屬的類(lèi)型比例。當(dāng)目的URL當(dāng)中包含動(dòng)態(tài)文件后綴 [‘jsp', ‘php', ‘a(chǎn)sp', ‘a(chǎn)spx', ‘cgi'],則動(dòng)態(tài)文件訪(fǎng)問(wèn)次數(shù)+1,否則靜態(tài)文件訪(fǎng)問(wèn)次數(shù)+1;訪(fǎng)問(wèn)次數(shù)占比=動(dòng)/靜態(tài)文件次數(shù)÷總訪(fǎng)問(wèn)次數(shù)。正常的HTTP訪(fǎng)問(wèn)請(qǐng)求當(dāng)中,動(dòng)態(tài)文件的訪(fǎng)問(wèn)請(qǐng)求比例通常低于靜態(tài)文件的請(qǐng)求比例。但在WebShell請(qǐng)求當(dāng)中,對(duì)于動(dòng)態(tài)文件的訪(fǎng)問(wèn)占比遠(yuǎn)高于對(duì)靜態(tài)文件的訪(fǎng)問(wèn)占比。
(2)算法模型的選擇
本次選擇的分類(lèi)算法模型是隨機(jī)森林模型。隨機(jī)森林顧名思義,是用隨機(jī)的方式建立一個(gè)森林,森林里面有很多的決策樹(shù)組成,隨機(jī)森林的每一棵決策樹(shù)之間是沒(méi)有關(guān)聯(lián)的;在得到森林之后,當(dāng)有一個(gè)新的輸入樣本進(jìn)入的時(shí)候,就讓森林中的每一棵決策樹(shù)分別進(jìn)行一下判斷,看看這個(gè)樣本應(yīng)該屬于哪一類(lèi)(對(duì)于分類(lèi)算法),然后看看哪一類(lèi)被選擇最多,就預(yù)測(cè)這個(gè)樣本為那一類(lèi),隨機(jī)森林算法對(duì)于多維特征的數(shù)據(jù)集分類(lèi)有很高的效率,運(yùn)行效率和準(zhǔn)確率較高,實(shí)現(xiàn)起來(lái)也比較簡(jiǎn)單。
(3)整體方案流程
為了實(shí)現(xiàn)對(duì)已知WebShell行為的檢測(cè),需要從已知的惡意WebShell數(shù)據(jù)當(dāng)中分析提取惡意代碼特征,并結(jié)合公開(kāi)的WebShell訪(fǎng)問(wèn)特征碼建立惡意代碼庫(kù),并對(duì)HTTP日志數(shù)據(jù)進(jìn)行清洗過(guò)濾進(jìn)行計(jì)算,整體方案流程如圖1:
圖1 整體方案流程圖
整體方案分為4個(gè)階段:
1)數(shù)據(jù)清洗階段:數(shù)據(jù)清洗階段負(fù)責(zé)對(duì)HTTP日志數(shù)據(jù)進(jìn)行過(guò)濾和清洗,將符合篩選條件的HTTP日志按host和訪(fǎng)問(wèn)單位時(shí)間進(jìn)行匯聚和統(tǒng)計(jì),方便后續(xù)特征提取階段。
2)特征提取階段:依據(jù)上述的兩大類(lèi)共8個(gè)特征,對(duì)經(jīng)過(guò)數(shù)據(jù)清洗的HTTP日志進(jìn)行統(tǒng)計(jì)計(jì)算,將得到的特征值傳輸?shù)胶罄m(xù)階段當(dāng)中。
3)模型訓(xùn)練階段:采用已知的WebShell日志記錄及正常的HTTP訪(fǎng)問(wèn)記錄提取到的特征值放入分類(lèi)器進(jìn)行訓(xùn)練和調(diào)優(yōu),通過(guò)多種常用分類(lèi)器模型的效果對(duì)比,選擇表現(xiàn)較優(yōu)的分類(lèi)器模型作為最終檢測(cè)模型。
4)實(shí)時(shí)檢測(cè)階段:將單位時(shí)間內(nèi)的實(shí)時(shí)數(shù)據(jù)提取到的特征值放入訓(xùn)練好的模型進(jìn)行判斷,若檢測(cè)出告警,則依據(jù)訪(fǎng)問(wèn)參數(shù)及IP訪(fǎng)問(wèn)比例檢出惡意訪(fǎng)問(wèn)IP,并將檢測(cè)結(jié)果進(jìn)行存儲(chǔ)和上報(bào)。
對(duì)江蘇省2017年10月某周的7天脫敏后host中包括gov.cn的HTTP日志數(shù)據(jù)來(lái)進(jìn)行檢測(cè),數(shù)據(jù)總記錄條數(shù)約為2.23億條。收集的HTTP日志數(shù)據(jù)包括以下的字段,如表2所示:
表2 HTTP日志字段格式表
本方案抽取正常HTTP日志記錄50000條記錄和已知WebShell日志30000條記錄,共計(jì)80000條數(shù)據(jù)作為訓(xùn)練數(shù)據(jù)集;并在整體數(shù)據(jù)庫(kù)當(dāng)中隨機(jī)抽取10份數(shù)據(jù)樣本,每一份數(shù)據(jù)樣本包含5000個(gè)正常HTTP訪(fǎng)問(wèn)記錄和3000個(gè)WebShell記錄,作為測(cè)試數(shù)據(jù)集。最后取10份 測(cè)試數(shù)據(jù)集的得分平均值,作為評(píng)判該模型性能的最終得分。
將訓(xùn)練得到的分類(lèi)器和基于決策樹(shù)C4.5得到的分類(lèi)器以及基于邏輯回歸的分類(lèi)器從準(zhǔn)確率、召回率和F1分?jǐn)?shù)三方面進(jìn)行性能比對(duì),如表3所示。
通過(guò)對(duì)7天共2.23億條host以Gov.cn為結(jié)尾的HTTP日志進(jìn)行檢測(cè),過(guò)濾掉平均每分鐘訪(fǎng)問(wèn)次數(shù)小于10條的非熱門(mén)訪(fǎng)問(wèn)后,對(duì)余下的近2千萬(wàn)條訪(fǎng)問(wèn)記錄進(jìn)行檢測(cè)。共發(fā)現(xiàn)非法訪(fǎng)問(wèn)行為14萬(wàn)條,高嫌疑入侵IP七個(gè)。通過(guò)數(shù)據(jù)分析發(fā)現(xiàn),通常入侵者是采用程序自動(dòng)實(shí)現(xiàn)漏洞掃描上傳代碼獲取服務(wù)器信息等工作,平均每分鐘的動(dòng)態(tài)文件訪(fǎng)問(wèn)次數(shù)超過(guò)3000次,動(dòng)態(tài)文件訪(fǎng)問(wèn)占比超過(guò)90%。
表3 分類(lèi)器的性能比對(duì)表
通過(guò)對(duì)WebShell行為的分析,總結(jié)和提取和WebShell在實(shí)現(xiàn)過(guò)程呈現(xiàn)的8個(gè)特征,進(jìn)一步結(jié)合機(jī)器學(xué)習(xí)方法及大數(shù)據(jù)平臺(tái)實(shí)現(xiàn)了通過(guò)HTTP日志數(shù)據(jù)對(duì)已知類(lèi)型和0day類(lèi)型的WebShell的檢測(cè)方法。通過(guò)不同分類(lèi)器模型的對(duì)比試驗(yàn)和使用真實(shí)的HTTP日志數(shù)據(jù)檢測(cè)的實(shí)驗(yàn)結(jié)果表明,本方法在對(duì)于海量的HTTP日志數(shù)據(jù)當(dāng)中發(fā)現(xiàn)WebShell行為具有實(shí)際應(yīng)用價(jià)值,下一步將對(duì)檢測(cè)出的WebShell行為進(jìn)行深度研判及溯源分析。