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

面向高速網絡流量的加密混淆型WebShell檢測

2022-08-28 07:43:28曹藝懷陳偉張帆吳禮發
網絡與信息安全學報 2022年4期
關鍵詞:特征檢測

曹藝懷,陳偉,張帆,吳禮發

面向高速網絡流量的加密混淆型WebShell檢測

曹藝懷1,陳偉1,張帆2,吳禮發1

(1.南京郵電大學計算機學院,江蘇 南京 210023;2. 武漢輕工大學數學與計算機學院,湖北 武漢 430048)

WebShell是一種常見的Web腳本入侵工具。隨著流量加密和代碼混淆等技術的逐漸發展,使用傳統的文本內容特征和網絡流特征進行匹配的檢測手段越來越難以防范生產環境下復雜的WebShell惡意攻擊事件,特別是對于對抗性樣本、變種樣本或0Day漏洞樣本的檢測效果不夠理想。搭建網絡采集環境,在高速網絡環境中利用數據平面開發套件(DPDK,data plane development kit)技術捕獲網絡數據包,標注了一套由1萬余條不同平臺、不同語言、不同工具、不同加密混淆方式的WebShell惡意流量與3萬余條正常流量組成的數據集;通過異步流量分析系統框架和輕量型日志采集組件快速地解析原始流量,并融合專家知識深度分析幾種流行的WebShell管理工具通信過程中的HTTP數據包,從而構建面向加密混淆型WebShell流量的有效特征集;基于該有效特征集使用支持向量機(SVM,support vector machine)算法實現對加密混淆型WebShell惡意流量的離線訓練和在線檢測。同時,利用遺傳算法改進參數搜索方式,克服了由人工經驗設置參數方位以及網格搜索陷入局部最優解的缺點,模型訓練效率也得到提升。實驗結果顯示,在自建的WebShell攻擊流量數據集上,保證了檢測高效性的同時,檢測模型的精確率為97.21%,召回率為98.01%,且在對抗性WebShell攻擊的對比實驗中表現良好。結果表明,所提方法能夠顯著降低WebShell攻擊風險,可以對現有的安全監控體系進行有效補充,并在真實網絡環境中部署和應用。

WebShell;DPDK;流量分析;異常檢測

0 引言

隨著互聯網技術的廣泛應用和快速發展,Web應用程序已經滲透到各行各業中,政府、教育機構、大型企業、電商和社交網絡等建立了網上服務站點,以便開展業務和用戶瀏覽信息,由此網站的信息量和規模在不斷增大,隨之帶來的Web安全問題日益嚴重。國家互聯網應急響應中心(CNCERT)在2021年5月發布的《2020年我國互聯網網絡安全態勢綜述》[1]中指出,2020年度境內外2.6萬個IP地址對我國境內約5.3萬個網站植入WebShell。WebShell俗稱網站后門,攻擊者通過上傳WebShell到網站目錄獲取目標權限。隨著現代紅藍對抗逐漸升級,無論是在企業日常安全演練,還是黑灰產非法侵入、破壞基礎信息設施等場景中,攻擊者越來越頻繁地使用如蟻劍(AntSword)、冰蝎(Behinder)、哥斯拉(Godzila)等流行的國產WebShell管理工具,來實現主機權限獲取、內網橫向移動、數據竊取修改等大量惡意攻擊行為。因此,研究出可以準確、快速地檢測面向不同類型的加密混淆型WebShell管理工具的攻擊流量對網站安全和用戶信息安全有著重要的現實意義。

基于目前的網絡環境和技術手段,針對WebShell的檢測和分析技術,通常是主機端特征對比和敏感函數發現等靜態檢測方式,這種基于規則匹配的方法僅對已知的WebShell樣本具有較高檢出率,對于一些未知或混淆加密的WebShell樣本檢測召回率較低、普適性較差。另外,通過結合機器學習和基于訪問情況、行為模式等動態檢測機制在網絡流量側發現異常行為的檢測方式面臨著特征選取不充分、分類器效果差等問題。

針對這些挑戰,本文的主要工作如下。

1) 標注了一套面向HTTP的WebShell惡意流量檢測的標注數據集,并上傳共享。數據集由兩部分組成:① 1萬條以上的HTTP WebShell惡意流量,包括不同系統、不同語言、不同工具、不同混淆加密方式的WebShell攻擊流量;② 2萬條以上的HTTP正常流量,涵蓋了主流的HTTP協議應用類型。

2) 提出一種融合專家知識的加密混淆型WebShell惡意流量特征提取方法。利用異步流量分析系統框架快速地解析流量數據得到包含若干信息字段的文本,再結合關于加密混淆型WebShell攻擊特征、繞過方式等專家知識,提取有效的關鍵信息字段。本文基于對攻擊和數據的理解提出的提取特征方法,不依賴復雜的機器學習算法就可以達到較好的檢測效果。

3)設計并實現了一套基于高速網絡環境的加密混淆型WebShell惡意流量識別的原型系統,自動識別WebShell惡意流量。將該系統部署在服務器上,使用DPDK技術提供的模塊捕獲網絡流量數據包,針對加密混淆型WebShell通信特征,實現對不同種類的WebShell惡意流量進行檢測。實驗結果表明,該原型系統精確率達到98.51%,召回率達到99.15%,并且可以識別出部分未知加密混淆方式的WebShell惡意流量。

1 相關工作

基于目前的網絡環境和技術手段,研究學者針對WebShell的檢測方法總體上分為3類,分別從基于文本內容、Apache/Nginx日志內容和網絡流量進行了廣泛而深入的研究。

第1種基于WebShell文本內容的檢測方法大致可以劃分為靜態檢測和動態檢測。靜態檢測主要是利用統計學方法,如文件中的特征代碼、信息熵、最長單詞、重合指數、壓縮等特征進行異常檢測。動態檢測是通過監控代碼行為來判斷是否為WebShell,借助動態污點追蹤技術檢測或阻斷風險操作。其中,被廣泛提到的是Hagen于2011年設計實現的NeoPI[2],這款工具對某些混淆、變形的WebShell文件具有很好的識別效果,但是只做定量檢測,并不對文件做定性評價,并且存在誤報率和漏報率較高的問題。另外,基于文件內容的檢測需要在檢測前獲取WebShell文本,這使該技術在針對無文件WebShell進行檢測時存在瓶頸。

第2種基于Web日志的檢測方法通過分析日志內容,可以溯源取證整個攻擊過程,比較適合分析較為復雜的、未被發現的WebShell的繞過策略。石劉洋等[3]在檢測日志文本特征的同時,提出結合統計特征以及文件訪問之間的關聯特征。通過研究發現,日志中對WebShell的訪問頻率記錄與正常記錄存在明顯的差異,利用這種差異性可以有效提升日志檢測的準確率。基于日志的檢測技術可以利用上下文信息獲取攻擊者的意圖和確切行為,但是由于完整的日志一般記錄在攻擊行為發生之后,這種檢測方法存在一定的滯后性,需要進一步研究如何結合機器學習的優勢及時地預測和阻斷攻擊者的下一步非法行為。

第3種基于網絡流量的檢測方法通過流量數據分析行為,結合訪問日志、數據包內容等信息進行建模分析,從中挖掘可能出現的異常點。文獻[4-5]從隱匿性、接口特性和逃逸檢測等方面進行分析,通過部署蜜罐對惡意樣本進行觀察,總結了不同類型的惡意樣本在執行敏感操作時的客戶端行為和服務端行為。然而,針對流量技術的檢測面臨流量噪聲、實時性能、特征維度、樣本不均衡等多方面因素的制約[6]。此外,根據加密通信流量的情況可能會進一步提高檢測難度。

2 WebShell數據集與特征提取

2.1 加密混淆型WebShell數據集

關于WebShell檢測的公開數據集大多聚焦于惡意文件樣本,而缺少WebShell通信流量的數據集。基于當前紅藍對抗的現狀和WebShell管理工具的使用習慣,本文從兩大系統、3種工具、3種程序語言、2種模式作為切入點,廣泛地采集不同環境下的WebShell通信流量數據。如圖1所示,兩大系統分為Windows系統和Linux系統,3種WebShell管理工具分為蟻劍、冰蝎和哥斯拉,3種程序語言分為PHP、JSP和ASP,2種模式分為原始模式和混淆模式[7]。其中,混淆模式又分為特征混淆和編碼混淆,依據不同的WebShell管理工具的特點,具體的混淆模式如表1所示。為了盡可能地模擬真實攻擊環境,本文構建了存在若干漏洞的蜜罐來捕獲和分析WebShell攻擊行為,并且邀請了數位有豐富滲透測試經驗的安全技術人員來攻擊這個蜜罐,即通過某種漏洞拿到靶機環境權限,進而使用上述3種常用的WebShell管理工具進行命令執行、文件瀏覽、權限維持、特權提升和橫向移動等惡意攻擊行為[8]。最后,部署在靶機的流量采集模塊共捕獲到11 408條WebShell通信流量作為惡意樣本,其中包含未混淆的WebShell流量5 375條,加密混淆后的WebShell流量6 033條,并且從真實網絡環境中收集到正常HTTP通信流量24 788條作為正常樣本,包含注冊、登錄、增刪改查等正常業務請求。

Figure 1 Different combination of dataset

表1 不同WebShell攻擊的混淆模式

2.2 加密混淆型WebShell特征工程

加密混淆型WebShell特征工程主要分為3個模塊,分別是解析流量數據、采集和標準化流量日志以及流量特征提取。

2.2.1 解析流量數據

解析流量數據主要功能為基于Zeek[9]入侵檢測系統的流量解析和原始日志輸出,大致流程如圖2所示。

圖2 解析流量數據流程

Figure 2 Flow of analyzing pcap file

首先子模塊會監控輸入源,獲取新產生的網絡流量PCAP文件,然后為每一個PCAP文件創建一個子進程,在子進程中,模塊加載默認的HTTP協議數據提取腳本,以及由用戶自定義編寫的Zeek功能拓展腳本,調用Zeek入侵檢測系統對PCAP文件進行解析和處理,得到由Zeek日志系統生成的日志文件。根據WebShell與正常文件的連接特征和行為特征之間的差別,該模塊在/zeek/scripts/sites/__load__.zeek配置文件中引入了4類Zeek腳本,對系統的功能進行了拓展。

(1)記錄HTTP請求頭的COOKIE字段

在針對WebShell連接行為的流量分析中,HTTP請求頭的COOKIE字段是一個重要考察點。正常網站的訪問過程中會存在多個不同的有意義的COOKIE字段,如記錄會話信息的SessionID、記錄身份認證信息的Token以及時間戳等其他信息。WebShell由于其功能較為單一,在不混淆的前提下,其連接過程中通常只會有一個COOKIE字段,即SessionID字段。腳本從HTTP請求連接的流量中提取得到請求頭,并將請求頭的COOKIE字段添加到http.log日志文件中。

(2)記錄HTTP請求頭的自定義字段

根據RFC2616和RFC7230的標準定義,HTTP請求頭中的字段具有注冊認證的作用。同樣,網站開發者會根據具體的需求自定義字段,這些字段包含關于HTTP流量的重要信息。而WebShell只是一個單獨的腳本文件,會包括一些基本的HTTP請求頭字段。與上一腳本類似,腳本從請求頭中提取出自定義的字段,并將其記錄在http.log日志文件中。

(3)記錄HTTP連接中POST請求數據

POST是HTTP請求方法之一,用于向服務端提交用戶數據。根據RFC2616的標準定義,分析POST請求包的傳輸數據可以判斷網絡中上載的行為是否存在惡意攻擊。因此,通過http_entity_data事件腳本提取POST方法傳輸的數據內容,將其記錄在http.log日志文件中。

(4)記錄HTTP連接中RESPONSE返回數據

RESPONSE數據包是服務端返回給客戶端的數據,可以分析返回數據是否包含命令執行、SQL注入等惡意攻擊的結果。與上一個腳本類似,通過HTTP連接中傳輸的協議包實體數據,腳本會取出REPONSE數據包的內容,并記錄在http.log日志文件中。

經過上述腳本處理后,一個HTTP協議的流量數據包會解析成一條包含23個字段的JSON格式記錄,每個PCAP文件生成一個http.log日志文件,其形式如圖3所示。

圖3 http.log日志文件示意

Figure 3 Schematic diagramof http.log file

2.2.2 采集和標準化流量日志

采集和標準化流量日志模塊選用Filebeat[10]采集日志和Logstash[11]處理日志的技術棧。Filebeat是使用Golang實現的輕量型日志采集器,它會監視配置中指定的日志文件或位置,收集日志事件,Filebeat會采集由上一個模塊中Zeek產生的http.log日志文件,并將它們轉發到Logstash組件進行下一步處理。Logstash是一款開源的服務器端日志處理管道,它能同時對來自不同數據源的數據進行采集,通過編寫自定義的規則,對采集到的數據進行處理和轉換,并配置到不同輸出源,如文件、數據庫和Kibana等組件。Logstash主要負責將Filebeat傳輸的文件做如下過濾步驟。

步驟1 將由Unix時間戳(Unix timestamp)表示的時間格式轉換為更加簡潔明了、易讀的UTC+8:00的時間格式。

步驟2 將不易識別、較為復雜的字段名重命名為簡單易懂的字段,如“source.ip”轉換成“src_ip”,“source.port”轉換成“src_port”,“http.request.body.bytes”轉換成“request_ body_len”等。

步驟3 去除由Filebeat組件產生的不必要的字段,如“fileset”“event”“network”等字段,減少日志文件存儲空間的壓力。

采集和標準化流量日志模塊均使用Docker實現配置和運行,Filebeat和Logstash兩個組件的大致工作流程如圖4所示。

圖4 采集和標準化流量日志流程

Figure 4 Flow of collecting and standardizing traffic logs

2.2.3 流量特征提取

流量特征提取模塊提出了對HTTP流量進行特征工程的轉化方案。經過數據清洗和格式化后,提取流量數據的內容特征,生成用于模型識別的特征向量,如表2所示。

表2 加密混淆型WebShell流量特征

(1)基于文本的特征

①URL特征。出于攻擊隱匿性的考慮,WebShell落地文件通常位于敏感的目錄(如“images/”“css/”等),文件通常以敏感名稱命名(如“shell.php”“1.php”等),文件后綴一般是ASP、JSP和PHP,另外,為了規避上傳檢測,會用類似“php%00jpg”的混淆后綴名。

②請求流量中是否有referer字段。referer字段包含了當前請求頁面的來源頁面或站點,即表示當前頁面是通過此來源頁面中的鏈接進入的。而WebShell腳本的邏輯較為簡單,通常是單頁面的形式,所以一般情況下不存在referer首部字段。

③請求流量中COOKIE個數。由于WebShell通常只會攜帶一個或兩個COOKIE。

④請求和返回流量中HTTP首部字段個數。WebShell只是一個單獨的腳本文件,一般只會包括一些基本的HTTP請求頭字段,如“Host”“Accept-Encoding”“User-Agent”“Content-Type”和“Content-Length”等。

⑤POST BODY長度。即HTTP首部字段Content-Length的值。

⑥ POST BODY參數個數。通常WebShell的功能是基于命令執行的方式,所以參數個數較少,甚至在冰蝎、哥斯拉等WebShell管理工具的通信流量中不存在參數,而是以“application/ octet-stream”內容編碼方式進行數據傳輸。

⑦ POST BODY是否是特殊編碼格式。攻擊者往往會利用不同的信息編碼方式(如base64、rot13、chr16、chr32等)來逃避基于關鍵字特征的內容檢測。

(2)基于統計的特征

① POST BODY信息熵。信息熵是描述一個系統混亂程度的指標。加密混淆型WebShell相對于其他普通的WebShell而言,最大的不同在于前者的流量內容是基于端到端的AES算法或XOR運算加密通信。由此,相對于正常流量而言,加密混淆型WebShell流量的信息熵相對較大。

② RESPONSE BODY非字母數字比率。和上一個特征相同,由于WebShell流量加密導致其返回包的流量中會出現很多不可見字符,如圖5所示。

圖5 加密混淆型WebShell的返回數據包

Figure 5 Response body of encrypted and obfuscation WebShell

③ POST BODY最長參數長度占總長度比率。由于WebShell的POST請求包數據內容較多,參數個數較少,所以往往凸顯出最長參數長度占總長度的比率較高的特點。

④ POST BODY重合指數(IC,index of coincidence)[12]。

重合指數是衡量頻率分布和均勻分布相似程度的度量,可以用來判斷文件是否被加密的一種方法,一個完全隨機的英文文本的IC值接近0.038 5,而有意義的英文文本的IC值接近0.067。如果某條流量的POST BODY數據內容經過某種加密方式的處理,其IC值會接近0.038 5。

3 面向流量的加密混淆型WebShell檢測

本文設計的加密混淆型WebShell檢測系統整體架構分為3個部分,分別是流量采集模塊、流量處理模塊和流量檢測模塊。流量采集模塊主要負責在網絡出口處把用分光器鏡像出來的流量從核心交換機傳輸到DPDK[13]應用服務器,然后通過DPDK應用服務器實現在高速網絡流量環境對數據包的捕獲。流量處理模塊由Docker容器搭建,主要負責通過Zeek開源工具對流量數據包被動式解析成JSON形式的文本,然后利用Filebeat輕量型日志采集器實時讀取JSON文本,并將采集的文本輸入Logstash日志處理器中對數據清洗和格式化,最后對數據包的內容進行深度分析,通過特征挖掘等方式從不同維度提取有效的檢測特征。流量檢測模塊主要是將上一步特征工程的結果應用到改進后SVM模型上實現對高速網絡流量中WebShell行為的分析、檢測和溯源。加密混淆型WebShell檢測流程如圖6所示。

圖6 加密混淆型WebShell檢測流程

Figure 6 Flow of encrypted and obfuscation WebShell detection

3.1 算法原理

支持向量機(SVM)由Vapnic與其同事首先提出,是一種基于分類和回歸分析的監督型數據分類學習模型算法。SVM算法是從線性可分情況下廣義最優分類面發展而來,在預測小樣本和非線性數據的訓練擬合中擁有很多特有的優勢。基本思想如圖7所示,通過在正例和反例間構建最大化隔離邊緣,由此轉換為凸二次規劃問題求解。

3.2 參數優化

在機器學習模型的訓練過程中,其訓練效果和性能受模型的超參數影響,根據專家經驗,支持向量機中比較重要的3個參數為懲罰系數“C”、核函數“kernel”和核函數參數“”。主流的核函數有4種,分別是線性核函數“Linear”、多項式核函數“Polynomial”、徑向基核函數“RBF”和生長曲線核函數“Sigmoid”。RBF核函數不易受訓練樣本數量及分類特征維數的影響,計算復雜度低,因此本文選取RBF核函數。懲罰系數的主要作用是調節特征子空間中支持向量機的置信范圍與經驗風險的比值,使模型的泛化能力達到最佳。核函數的參數決定著函數的徑向尺度范圍,參數設置過小會導致欠擬合現象,設置過大會降低模型的泛化能力[14]。

圖7 二維空間中的分類

Figure 7 Classification in two-dimensional space

在尋找SVM參數最優解時,有時會選擇經驗法、試探法等偶然性較強的方法,更多時候是用網格搜索法。然而,網格搜索法的主要缺點是:當搜索區間和搜索步長確定之后,就只能在一些已確定的離散點中尋找最優解,而很可能錯過更優解。

尋找SVM最優參數的實質是二次凸規劃問題,即求函數的最優值,而遺傳算法最主要的用處之一就是函數最優化,是一種高效的隨機搜索算法,不會將搜索范圍限定在某一些解中,克服了網格搜索的缺點。所以,本文利用一種改進遺傳SVM參數優化算法獲取參數的最優解,縮短搜索時間。首先,該改進算法通過網格搜索方法快速搜索初始參數范圍;然后,根據初始參數范圍,利用原始遺傳算法進行精細搜索,從而克服了原始遺傳算法的初始搜索空間根據人工經驗設置以及網格搜索陷入局部最優解的缺點,改進遺傳SVM算法參數優化流程如圖8所示。

圖8 改進遺傳SVM算法參數優化流程

Figure 8 Improved genetic SVM algorithm parameter optimization process

3.3 算法適用性

SVM通過選取少量支持向量的方法確定超平面,支持向量最靠近分類決策面的所有樣本的集合,只占所有樣本中很小部分,是全體樣本集中最具代表性的樣本集合,即當訓練樣本較小時,仍然可以對測試集數據有較高的分類準確率。因此,將支持向量機理論應用于加密混淆型WebShell檢測,可以在先驗數據不足的情況下,SVM算法的分類能力依然較強,從而使加密混淆型WebShell檢測系統的檢測能力得到保障。

4 實驗與分析

4.1 實驗環境

實驗環境分為訓練環境、靶機環境和攻擊環境。訓練環境的操作系統:MacOSBigSur 11.5.2;處理器:2 GHz 四核Intel Core i5;內存:16 GB 3733 MHz LPDDR4X;腳本解釋器:Python3.6;第三方Python模塊:scikit-learn v0.23.3、numpy v1.19.2和pandas v1.1.5。

靶機環境均使用VMwareWorkstationPro15搭建,其中Windows系統環境使用Windows 10 20H2,64位;Linux系統環境使用Ubuntu 20.04 LTS;PHP環境使用PHP 7.1.2;Java環境使用JDK 8u71;ASP.NET環境使用.NET Framework 3.5。

攻擊環境的操作系統:Windows 10;處理器:AMD A8-8600P Radeon R6,10 Compute Cores 4C+6G 1. 6GHz;WebShell管理工具:AntSword v2.1.14,Behinder v3.0 Beta11,Godzillav3.03。

4.2 評價指標

本文使用十折交叉驗證,即數據集平均分為10份子集,輪流將其中9份作為訓練集,1份作為測試集,取平均10次交叉驗證的準確率作為評判結果。訓練數據是不平衡的,往往會導致在測試時準確率較高但召回率很低。為了解決這一問題,本文選用1分數(1 score)作為評估指標。1分數是一種在統計學中用于衡量二分類模型效果的一種指標,它同時兼顧了模型的準確率和召回率,可以視作上述兩種指標的調和平均。利用混淆矩陣表示數據的分類結果如表3所示。

表3 混淆矩陣

根據表3,精確率(Precision)、召回率(Recall)和1分數的定義如式(2)~式(4)所示。

4.3 實驗結果與分析

為了驗證本文提出的基于加密混淆型WebShell流量檢測算法的有效性,設計如下三組實驗。

第一組實驗目的是對比使用網格搜索[15]和改進后參數優化算法之后SVM訓練達到收斂時所使用的迭代次數。如圖9所示,經網格搜索方法尋找最佳參數的SVM訓練達到收斂時迭代次數大約是80次;通過改進原始遺傳算法,加快了SVM訓練收斂速度,大約迭代40次即可收斂,有效提高了參數優化速度,降低了SVM訓練時間。其中,遺傳算法的參數設定為:最大遺傳代數MAXGEN=300,種群數量NIND=50,變異率pm=0.01,交叉率pc=0.6。

圖9 經網格搜索和改進后遺傳算法優化的SVM訓練達到收斂時迭代次數

Figure 9 The number of iterations when the SVM training optimized by the grid search and improved genetic algorithm reaches convergence

第二組實驗對比了使用CICFlowMeter[19]工具自動提取特征和本文提出的融合專家知識的加密混淆型WebShell惡意流量特征提取方法時相同數據集的1分數。CICFlowMeter是一款網絡流量生成器,它可用于生成雙向流的80多維流特征,如持續時間、數據包數、字節數、包的長度等常見流相關特征。

如表4所示,在使用相同數據集的情況下,經CICFlowMeter提取特征后1分數是81.76%;使用本文提出的特征提取方法后1分數是98.17%。后者的1分數比前者高可能在于CICFlowMeter偏向于分析網絡流本身的特征,而忽略了網絡數據包的內容,并且部分WebShell惡意流量與正常流量在流特征上的差異不太明顯。

表4 不同特征工程WebShell檢測能力對比

第三組實驗將數據集分為兩組DatasetA和DatasetB,DatasetA是未經過混淆的原始數據流量,DatasetB是經過不同混淆方式處理后的數據流量。將實驗內容分為3個部分:第一部分實驗以DatasetA作為訓練集和測試集,評估支持向量機和隱式馬爾可夫兩種不同的算法在此數據集的檢測效果;第二部分實驗是在使用SVM算法的情況下,用Dataset A作為訓練集預測DatasetB的結果和用部分DatasetB作為訓練集預測剩余部分DatasetB的結果;第三部分實驗以DatasetA和DatasetB作為訓練集,使用支持向量機算法檢測某種未知的加密混淆型WebShell流量作為測試集DatasetC,即該種加密混淆方式沒有出現在DatasetA和DatasetB中。

第一部分實驗結果如表5第一行所示,使用相同數據集DatasetA的情況下,SVM算法的性能優于HMM算法。使用SVM算法的1分數是98.35,而HMM的1分數是84.31%,召回率較低可能是因為HMM算法是基于馬爾可夫性假設,即當一個隨機過程在給定現在狀態及所有過去狀態情況下,其未來狀態的條件概率分布僅依賴于當前狀態。

第二部分實驗結果如表5第二行所示,以未混淆的加密混淆型WebShell流量DatasetA作為訓練集,用SVM算法預測混淆后加密混淆型WebShell流量DatasetB的精確率為49.20%,召回率為41.89%,1分數是45.25%。作為對比,使用十則交叉驗證方法劃分DatasetB,平均10次交叉驗證的1分數為97.46%。該組實驗表明,混淆后的加密混淆型WebShell流量與原始數據相比,在內容特征和行為特征等方面均有較大的差異,所以檢測模型需要DatasetB進一步豐富樣本種類以及對加密混淆型WebShell的識別能力。

表5 第三組實驗結果

第三部分實驗目的是驗證加入DatasetB作為訓練集后的模型對未知的加密混淆型WebShell流量仍然有優秀的檢測效果。首先,蟻劍支持用戶自定義插件的功能,其中x1DecoderPlus是一種開源的蟻劍流量加密方法,它是基于XOR和Base64的編碼方式,在流量的內容形式上與表1所示的蟻劍默認3種編碼方式完全不同。其次,通過開源的方法對冰蝎進行源碼級別的修改,修改后的冰蝎WebShell流量去除或變更了原版冰蝎WebShell流量的若干固有特征。由于真實環境中,WebShell流量通常只會占全部流量的百分之幾,甚至萬分之幾,所以本次實驗利用x1Decoder Plus和修改后冰蝎WebShell管理工具共生成503條WebShell流量和隨機選擇2 375條正常流量作為增量測試集,檢測結果如表5第三行所示,1分數為97.61%,證實了本文提出的模型有較好的泛化能力,可以檢測出相對未知的加密混淆型WebShell流量。

通過搭建一個存在歷史漏洞的WordPress站點來測試本文提出的SVM模型的時效性,并將其與其他研究結果進行橫向比較。首先,探討了不同大小的流量數據包對模型運行時間的影響,實驗中使用兩個流量數據文件,其文件大小分別是1.4MB和88.3MB,并且將兩個文件均運行3次取平均值作為實驗結果。結果如表6所示。當流量數據規模較少時,SVM模型可以在較短的時間內得到檢測結果,這樣有助于安全運營人員快速響應潛在的威脅事件。其次,將本次實驗結果與Wu等提出的基于隨機森林算法的FRF-WD[17]檢測方法作比較。為了保持樣本的一致性,驗證FRF-WD方法的數據集中,WordPress站點的所有源文件作為正常樣本,4種類型的惡意WebShell文件作為異常樣本,其中4種類型包括一句話WebShell、利用蟻劍插件生成的加密混淆WebShell、哥斯拉WebShell和冰蝎WebShell。兩種方法的檢測效率比較如表7所示。

表6 不同文件大小對實驗結果的影響

表7 FRF-MD和本文方法的檢測效率比較

由于需要快速處理流量,在算法上選擇了SVM這種“輕量級”算法;在時間復雜度上,本文利用Elastic兩大組件Filebeat和Logstash,可以較好地優化流量解析、標準化過程中耗費的時間;在空間復雜度上,本文利用docker-compose對各個模塊進行編排,耗費內存較小,響應速度較快。即使本文方法的檢測對象是流量數據包,需要經過流量解析和日志轉換等流程,但總檢測時間與FRF-WD檢測方法的所用時間相近,時效性得到保障。兩種方法的檢測能力比較如表8所示,FRF-WD檢測方法和本文提出的方法都可以檢測出較為原始的一句話、小馬、大馬和未混淆的蟻劍等常規類型的WebShell文件,但是前者未能檢測出經過混淆后的蟻劍、冰蝎和哥斯拉WebShell惡意文件,而本文方法仍然可以有效地檢測出受害主機與攻擊主機之間的通信流量。

表8 FRF-MD和本文方法的檢測能力比較

注:?代表能夠檢測出WebShell攻擊,○代表不能檢測出WebShell攻擊。

5 結束語

以往的WebShell檢測研究多數通過從WebShell文件樣本中提取大量的語義、語法等特征,并將這些特征作為關鍵詞來判斷是否存在WebShell。隨著攻防對抗的日益升級,以及加密和混淆技術的逐漸發展,這些方法很難適用。本文以HTTP請求和響應流量作為研究對象,在對蟻劍、冰蝎、哥斯拉3種主流的WebShell管理工具攻擊原理與方法進行深入研究之后,結合專家知識分析WebShell管理工具的攻擊行為在流量報文上體現出的文本特征和統計特征,利用可以在高速網絡環境中捕獲HTTP流量數據包的DPDK技術,采集了上述3種工具的加密混淆型WebShell流量數據集,構建了加密混淆型WebShell流量檢測方案,分別進行WebShell攻擊行為檢測和WebShell攻擊成功識別。實驗結果表明,本文提出的融合專家知識的特征提取方案相比CICFlowMeter工具自動提取特征的檢測能力更為優秀,并且檢測模型在面對未知的加密混淆型WebShell流量時表現出良好的檢出能力。此外,本文的模型在保持較好檢測性能的同時,與文中引用的基于文件內容檢測的FRF-WD方法相比,檢測效率并未有明顯下降,運行時間只增加了4%,但能識別出FRF-WD方法不能識別出來的潛在WebShell攻擊威脅。

雖然本文方法能有效地對加密混淆型WebShell進行檢測,但還存在提升空間。例如,由于請求報文較長,數據包會出現分片傳輸,這會導致HTTP數據包分割成若干個數據包。因此,可以嘗試在檢測之前將分片的請求包重組到一起再進行檢測,以達到更好的檢測效果。另外,隨著攻防技術的發展,加密混淆型WebShell特征可能會出現一些變化,需要日后進一步豐富惡意HTTP通信樣本的種類。

[1] 國家互聯網應急響應中心. 2020年我國互聯網網絡安全態勢綜述[EB].

CNCERT/CC. Overview of China’s Internet security posture in 2020[EB].

[2] BEHRENS S, HAGEN B. Web shell detection using NeoPI [EB].

[3] 石劉洋, 方勇. 基于Web日志的Webshell檢測方法研究[J].信息安全研究, 2016, 2(1): 66-73.

SHI L Y, FANG Y. Research on Webshell detection method based on Web log[J]. Journalof Information Security Research, 2016, (1): 66-73.

[4] YANG C H, SHEN C H. Implement web attack detection engine with snort by using modsecurity core rules[C]//Fourth the E-Learning and Information Technology Symposium (EITS 09). 2009.

[5] 宋明璐. 基于主動學習的CNN Webshell檢測[D].北京:北京交通大學, 2021.

SONG M L. CNN Webshell detection based on active learning[D]. Beijing: Beijing Jiaotong University, 2021.

[6] 龍嘯, 方勇, 黃誠, 等. Webshell研究綜述: 檢測與逃逸之間的博弈[J].網絡空間安全, 2018, 9(1): 62-68.

LONG X, FANG Y, HUANG C, et al. Webshell research review: the confrontation between detection and escape[J]. Cyber Security, 2018, 9(1):62-68.

[7] STAROV O, DAHSE J, AHMAD S S, et al. No honor among thieves: A large-scale analysis of malicious web shells[C]//Pro- ceedings of the 25th International Conference on World Wide Web. 2016: 1021-1032.

[8] 趙運弢, 徐春雨, 薄波, 等. 基于流量的WebShell行為分析與檢測方法[J]. 網絡安全技術與應用, 2018, 18(4): 8-9.

ZHAO Y T, XU C Y, BAO B, et al. WebShell behavior analysis and detection method based on traffic[J]. Network Security Technology &Application, 2018, 18(4): 8-9.

[9] HAAS S, SOMMER R, FISCHER M. Zeek-osquery: host-network correlation for advanced monitoring and intrusion detection[C]//IFIP International Conference on ICT Systems Security and Privacy Protection. Springer, Cham, 2020: 248-262.

[10] SANJAPPA S, AHMED M. Analysis of logs by using logstash[C]//Proceedings of the 5th International Conference on Frontiers in Intelligent Computing: Theory and Applications. Springer, Singapore, 2017: 579-585.

[11] CHEN L, LIU J, XIAN M, et al. Docker container log collection and analysis system based on ELK[C]//2020 International Conference on Computer Information and Big Data Applications (CIBDA). IEEE, 2020: 317-320.

[12] HARREMO?S P, TOPSOE F. Inequalities between entropy and index of coincidence derived from information diagrams[J]. IEEE Transactions on Information Theory, 2001, 47(7): 2944-2960.

[13] 曾理, 葉曉舟, 王玲芳. DPDK技術應用研究綜述[J]. 網絡新媒體技術, 2020, 9(2): 1-8.

ZENG L, YE X Z, WANG L F. Summary of DPDK Technology Application Research[J]. Journal of Network New Media, 2020, 9(2): 1-8.

[14] 劉奕, 李建華, 張一瑫, 等.基于特征屬性信息熵的網絡異常流量檢測方法[J].信息網絡安全, 2021, 21(2): 78-86.

LIU Y, LI J H, ZHANG Y T, et al. Network abnormal traffic detection method based on characteristic attribute information entropy[J]. Netinfo Security, 2021, 21(2): 78-86.

[15] HESTERMAN J Y, CAUCCI L, KUPINSKI M A, et al. Maximumlikelihood Estimation With a Contracting-grid Search Algorithm[J]. IEEE Transactions on Nuclear Science, 2010, 57(3): 1077-1084.

[16] SHARAFALDIN I, LASHKARI A H, GHORBANI A A. Toward generating a new intrusion detection dataset and intrusion traffic characterization[C]//International Conference on Information Systems Security & Privacy (ICISSP). 2018: 108-116.

[17] WU Y, SUN Y, HUANG C, et al. Session-based webshell detection using machine learning in web logs [J]. Security and Communication Networks, 2019, 2019

Encrypted andobfuscation WebShell detection for high-speed network traffic

CAO Yihuai1, CHEN Wei1, ZHANG Fan2, WU Lifa1

1. School of Computer Science, Nanjing University of Posts and Telecommunications, Nanjing 210023, China 2. School of Mathematics and Computer Science, Wuhan Polytechnic University, Wuhan 430048, China

With the gradual development of traffic encryption and text obfuscation technologies, it is increasingly difficult to prevent complicated and malicious WebShell attack events in production environment using traditional detection methods based on text content and network flow features, especially for adversarial samples, variant samples and 0Day vulnerability samples. With the established network traffic collection environment, DPDK technology was used to capture network traffic in the high-speed network environment, and a dataset was marked with label. The dataset consisted of more than 24,000 normal traffic and more than 10,000 malicious WebShell traffic under different platforms, different languages, different tools, different encryption and obfuscation methods. Then Asynchronous traffic analysis system framework and lightweight log collection components were used to efficiently parse raw traffic. Expert knowledge was integrated to analyze HTTP data packets during the communication process of several popular WebShell management tools, and the effective feature set for encrypted and obfuscation WebShell was obtained. Support Vector Machine (SVM) algorithm was used to realize offline training and online detection of complicated WebShell malicious traffic based on the effective feature set. Meanwhile, improving the parameter search method with the genetic algorithm promoted the model training efficiency furthermore. The experimental results showed that the detection efficiency can be guaranteed based on the self-built WebShell attack traffic dataset. Besides, the detection model has a precision rate of 97.21% and a recall rate of 98.01%, and it performed well in the comparative experiments of adversarial WebShell attacks. It can be concluded from the results that the proposed method can significantly reduce the risk of WebShell attack, effectively supplement the existing security monitoring system, and be applied in real network environments.

WebShell, DPDK, traffic analysis, abnormal detection

The National Key R&D Program of China (2019YFB2101704),The National Science Foundation of Hubei Province (2020CFB761)

曹藝懷, 陳偉, 張帆, 等. 面向高速網絡流量的加密混淆型WebShell檢測[J]. 網絡與信息安全學報, 2022, 8(4): 119-130.

TP393

A

10.11959/j.issn.2096?109x.2022055

曹藝懷(1996?),男,湖北黃岡人,南京郵電大學碩士生,主要研究方向為Web安全、攻防技術和流量分析。

陳偉(1979?),男,江蘇淮安人,南京郵電大學教授,主要研究方向為無線網絡安全、移動互聯網安全。

張帆(1977?),男,湖北當陽人,武漢輕工大學副教授,主要研究方向為信息系統安全、可信計算和機器學習及安全。

吳禮發(1968?),男,湖北蘄春人,南京郵電大學教授、博士生導師,主要研究方向為網絡協議逆向、軟件安全漏洞挖掘及逆向和入侵檢測。

2021?11?18;

2022?01?07

陳偉,chenwei@njupt.edu.cn

國家重點研發計劃(2019YFB2101704);湖北省自然科學基金(2020CFB761)

CAO Y H, CHEN W, ZHANG F, et al. Encrypted and obfuscation WebShell detection for high-speed network traffic[J]. Chinese Journal of Network and Information Security, 2022, 8(4): 119-130.

猜你喜歡
特征檢測
抓住特征巧觀察
“不等式”檢測題
“一元一次不等式”檢測題
“一元一次不等式組”檢測題
“幾何圖形”檢測題
“角”檢測題
新型冠狀病毒及其流行病學特征認識
如何表達“特征”
不忠誠的四個特征
當代陜西(2019年10期)2019-06-03 10:12:04
抓住特征巧觀察
主站蜘蛛池模板: 色吊丝av中文字幕| 天堂va亚洲va欧美va国产 | 国产成人高清在线精品| 干中文字幕| 成·人免费午夜无码视频在线观看| a亚洲视频| 热这里只有精品国产热门精品| 乱人伦99久久| 毛片网站免费在线观看| 欧美伊人色综合久久天天| 亚洲av综合网| 免费人成网站在线观看欧美| 国产日韩精品欧美一区喷| 久久久受www免费人成| 美女被躁出白浆视频播放| 992tv国产人成在线观看| 99草精品视频| 欧美国产日韩在线观看| 日本黄色不卡视频| 国产精品久久久久久久伊一| 天天色天天操综合网| 在线一级毛片| 久久性视频| 久久婷婷六月| 中文字幕av一区二区三区欲色| 呦视频在线一区二区三区| 国产成人AV男人的天堂| 欧美精品H在线播放| 亚洲中文字幕av无码区| 国产91精品调教在线播放| 日韩国产 在线| 国产福利影院在线观看| 91娇喘视频| 久久综合色88| 欧美精品另类| 午夜啪啪福利| 无码'专区第一页| 国产成人艳妇AA视频在线| 国产喷水视频| 国产精品女人呻吟在线观看| 久草视频精品| 丰满少妇αⅴ无码区| 亚洲欧美另类日本| 亚洲三级视频在线观看| 日本人真淫视频一区二区三区| 久久久亚洲色| 国产日韩精品欧美一区喷| 国产成人精品一区二区三区| 精品综合久久久久久97| 国产欧美日韩另类精彩视频| 日本www在线视频| 麻豆精品视频在线原创| 一本一本大道香蕉久在线播放| 国产肉感大码AV无码| 欧美69视频在线| 永久毛片在线播| 欧美中文字幕无线码视频| 亚洲第一中文字幕| 中文字幕乱码二三区免费| 少妇精品久久久一区二区三区| 国产在线麻豆波多野结衣| 亚洲—日韩aV在线| 毛片免费观看视频| 午夜a级毛片| 人妻丰满熟妇αv无码| 天天做天天爱夜夜爽毛片毛片| 97人人做人人爽香蕉精品| 亚洲一区二区三区在线视频| 国产欧美精品午夜在线播放| 国产精品99久久久| 九色最新网址| 一本一道波多野结衣一区二区| 性网站在线观看| 美女无遮挡免费视频网站| 久久精品一品道久久精品| 欧美亚洲另类在线观看| 国产sm重味一区二区三区| 亚洲一级毛片免费看| 日本日韩欧美| 美女无遮挡免费视频网站| 九九久久99精品| 真实国产乱子伦高清|