您好,登錄后才能下訂單哦!
這期內(nèi)容當(dāng)中小編將會(huì)給大家?guī)?lái)有關(guān)針對(duì)HTTPS加密流量的Webshell檢測(cè)研究是怎樣的,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
webshell是Web攻擊中常見(jiàn)的一種木馬形式,目前主流的檢測(cè)方法都是基于HTTP請(qǐng)求和響應(yīng)流量的內(nèi)容特征,然而在HTTPS協(xié)議下,很多webshell檢測(cè)機(jī)制是無(wú)能為力的。冰蝎這類加密型webshell的出現(xiàn)更是增加了檢測(cè)難度,尤其是冰蝎3.0版本采用預(yù)共享密鑰機(jī)制,即使在HTTP場(chǎng)景中的檢測(cè)也是有一定難度的。本文通過(guò)提取網(wǎng)絡(luò)流量中的若干特征,主要針對(duì)訪問(wèn)同一HTTPS網(wǎng)站的正常加密流量和webshell加密流量的分類進(jìn)行了探索,實(shí)現(xiàn)了在HTTPS加密流量中webshell通信流量的識(shí)別,無(wú)論對(duì)于冰蝎2.0還是3.0升級(jí)版,都能夠達(dá)到很好的識(shí)別效果。
由于Web服務(wù)具有很強(qiáng)的便利性,已經(jīng)被越來(lái)越多地用于提供信息服務(wù),然而其中的數(shù)據(jù)和用戶信息也成為了很多不法分子獲利的目標(biāo)。webshell是一種基于Web服務(wù)的后門(mén)程序,提供了對(duì)各種關(guān)鍵功能的遠(yuǎn)程訪問(wèn),例如執(zhí)行任意命令、遍歷文件目錄、查看和修改任意文件、提升訪問(wèn)權(quán)限等。所以如何有效地識(shí)別出webshell文件或通信是一個(gè)亟待解決的問(wèn)題。
目前較為成熟的webshell檢測(cè)方法一般有三種:日志檢測(cè)、文件檢測(cè)和流量檢測(cè),主流的檢測(cè)方式都必須由人工構(gòu)建字符特征作為輸入?yún)?shù),然而攻擊者可以通過(guò)對(duì)webshell代碼進(jìn)行變形從而達(dá)到繞過(guò)檢測(cè)的目的,并且隨著越來(lái)越流行的加密型webshell的出現(xiàn)和HTTPS加密流量的廣泛使用,無(wú)疑給webshell檢測(cè)帶來(lái)了更大的挑戰(zhàn)。
本文利用流量檢測(cè)的方式并基于統(tǒng)計(jì)特征,聚焦于在HTTPS加密流量中識(shí)別出包含冰蝎在內(nèi)的webshell通信流量,分別從數(shù)據(jù)采集、特征提取、模型訓(xùn)練和預(yù)測(cè)、特征重要性分析等方面展開(kāi)闡述。
冰蝎是目前比較流行的加密型webshell客戶端,它可以在通信過(guò)程中建立加密隧道,以躲避安全設(shè)備的檢測(cè)。近期發(fā)布的3.0版本,對(duì)通信流量產(chǎn)生影響的主要是密鑰交換方式的改變,其余都是一些功能上的改進(jìn)。除了對(duì)一些bug的修復(fù),涉及到流量變化的修改具體是:
1、去除動(dòng)態(tài)密鑰協(xié)商機(jī)制,采用預(yù)共享密鑰,全程無(wú)明文交互;
2、請(qǐng)求體增加了隨機(jī)冗余參數(shù),避免防護(hù)設(shè)備通過(guò)請(qǐng)求體大小識(shí)別請(qǐng)求。
為了采集流量數(shù)據(jù),我們自建了一個(gè)網(wǎng)站,并且安裝使用了自簽名證書(shū),使得訪問(wèn)該網(wǎng)站的流量都是TLS加密的。所以無(wú)論是常見(jiàn)的非加密型webshell還是冰蝎這類加密型webshell,訪問(wèn)該網(wǎng)站產(chǎn)生的都是HTTPS流量。
我們目前共收集了訪問(wèn)該網(wǎng)站的具有代表性的6種類型的流量數(shù)據(jù),分別是正常訪問(wèn)的流量、兩類頁(yè)面性webshell的流量和三類客戶端型webshell的流量,其中客戶端型包括使用量最大的中國(guó)菜刀和對(duì)流量進(jìn)行加密的冰蝎,近期也特別收集了新發(fā)布的冰蝎3.0的流量。
由于本文旨在研究訪問(wèn)同一HTTPS網(wǎng)站的正常加密流量和webshell加密流量的分類,所以將所有數(shù)據(jù)分為正常和webshell兩種類型,分別標(biāo)記為0和1。每種數(shù)據(jù)的標(biāo)簽和數(shù)量如表3.1所示,這里數(shù)據(jù)量的單位是數(shù)據(jù)包利用Joy解析之后雙向網(wǎng)絡(luò)流的數(shù)量。
表3.1 數(shù)據(jù)集的標(biāo)簽和數(shù)量統(tǒng)計(jì)列表
調(diào)用Joy對(duì)數(shù)據(jù)包進(jìn)行解析,得到j(luò)son格式的解析結(jié)果,經(jīng)過(guò)處理后提取出五種主要的數(shù)據(jù)元素,包含六百多維特征,分別是:
(1)數(shù)據(jù)流元特征
(2)數(shù)據(jù)包包長(zhǎng)序列
(3)數(shù)據(jù)包時(shí)間間隔特征
(4)數(shù)據(jù)包字節(jié)分布特征
(5)數(shù)據(jù)包TLS特征
據(jù)觀察,對(duì)訪問(wèn)同一HTTPS網(wǎng)站的webshell流量和正常流量作對(duì)比,具有如下表3.2中所列的幾個(gè)特點(diǎn)。
表3.2 訪問(wèn)同一HTTPS網(wǎng)站的webshell流量和正常流量對(duì)比
關(guān)于熵值,如果數(shù)據(jù)經(jīng)過(guò)加密或編碼處理,那么它的熵值就會(huì)變大,所以webshell在熵值特征上與正常流量的區(qū)別符合常理。
使用LightGBM作為webshell流量識(shí)別分類模型,一些重要參數(shù)的設(shè)計(jì)如下:
learning_rate = 0.1
n_estimators = 200
colsample_bytree = 0.9
num_leaves = 7
subsample = 0.9
(1)在冰蝎3.0發(fā)布之前,我們已經(jīng)收集了表3.1中除冰蝎3.0之外的所有數(shù)據(jù),并做了一些研究,分別進(jìn)行了下面三個(gè)小實(shí)驗(yàn)。
實(shí)驗(yàn)一:使用所有流量,隨機(jī)選出20%作為測(cè)試集,剩余的隨機(jī)選出20%作為驗(yàn)證集,其他80%作為訓(xùn)練集,整體準(zhǔn)確率較高,實(shí)驗(yàn)結(jié)果顯示,測(cè)試集中只有一條流被分類錯(cuò)誤,準(zhǔn)確率為96.9%。
實(shí)驗(yàn)二:由于數(shù)據(jù)量較少很可能導(dǎo)致過(guò)擬合,所以進(jìn)行了交叉驗(yàn)證,預(yù)留出頁(yè)面型No.2的數(shù)據(jù)作為測(cè)試集,使用其余的數(shù)據(jù)作為訓(xùn)練集和驗(yàn)證集,實(shí)驗(yàn)結(jié)果顯示,16條數(shù)據(jù)流中預(yù)測(cè)正確的是15條,準(zhǔn)確率是93.7%。
實(shí)驗(yàn)三:由于冰蝎2.0是當(dāng)時(shí)數(shù)據(jù)集中唯一的加密型webshell,所以單獨(dú)預(yù)留出冰蝎2.0的數(shù)據(jù)作為測(cè)試集,使用其余的數(shù)據(jù)作為訓(xùn)練集和驗(yàn)證集,實(shí)驗(yàn)結(jié)果顯示,22條數(shù)據(jù)流中預(yù)測(cè)正確的是18條,準(zhǔn)確率是81.8%。
從實(shí)驗(yàn)一和實(shí)驗(yàn)二可以看出,模型經(jīng)過(guò)訓(xùn)練之后,對(duì)訪問(wèn)同一HTTPS網(wǎng)站的正常流量和webshell流量具有較好的識(shí)別能力。實(shí)驗(yàn)三則證明了webshell本身是否是加密類型對(duì)模型的識(shí)別能力沒(méi)有任何影響,即使在加密型webshell并不存在于訓(xùn)練集中的情況下,模型依然能識(shí)別出冰蝎的流量。
(2)最近冰蝎發(fā)布3.0版本,雖然功能上的改進(jìn)對(duì)流量識(shí)別影響不大,但是我們想看看密鑰交換方式的改變對(duì)流量識(shí)別的影響,所以在前面實(shí)驗(yàn)的基礎(chǔ)上繼續(xù)研究。我們新收集了3.0版本的冰蝎訪問(wèn)自建HTTPS網(wǎng)站的流量,由于網(wǎng)站的TLS證書(shū)已經(jīng)發(fā)生變化,為了避免TLS相關(guān)特征對(duì)實(shí)驗(yàn)結(jié)果的影響,以下實(shí)驗(yàn)只使用了前四種數(shù)據(jù)元素,包含四百多維特征。
實(shí)驗(yàn)四:使用之前的所有數(shù)據(jù)進(jìn)行訓(xùn)練和驗(yàn)證,將冰蝎3.0流量作為測(cè)試集輸入訓(xùn)練好的模型中進(jìn)行測(cè)試,實(shí)驗(yàn)結(jié)果顯示,24條數(shù)據(jù)流中預(yù)測(cè)正確的是23條,準(zhǔn)確率是95.8%。
實(shí)驗(yàn)五:因?yàn)橹暗臄?shù)據(jù)中有冰蝎2.0產(chǎn)生的流量,為了避免不同版本冰蝎的相似性對(duì)實(shí)驗(yàn)結(jié)果造成的影響,去掉訓(xùn)練集中的冰蝎2.0數(shù)據(jù),讓訓(xùn)練集中不包含任何加密型webshell流量,還是使用冰蝎3.0的流量作為測(cè)試集,實(shí)驗(yàn)結(jié)果顯示,24條數(shù)據(jù)流中預(yù)測(cè)正確的是23條,準(zhǔn)確率是95.8%。
從實(shí)驗(yàn)四可以看出,在模型對(duì)訪問(wèn)同一HTTPS網(wǎng)站的正常流量和webshell流量具有識(shí)別能力的情況下,模型依然能夠識(shí)別新版本的冰蝎流量,也就是冰蝎3.0流量的出現(xiàn)并沒(méi)有影響模型的識(shí)別能力。實(shí)驗(yàn)五則證明了和實(shí)驗(yàn)三相同的結(jié)論,即webshell本身是否是加密類型對(duì)模型的識(shí)別能力沒(méi)有任何影響。
如圖3.1所示,分別順序展示了五個(gè)實(shí)驗(yàn)的重要程度較高的10個(gè)特征,column列表示特征所在的維度,importance列表示特征重要程度,數(shù)值越大,重要程度越高,按降序排列。
圖3.1 五個(gè)實(shí)驗(yàn)的特征重要性
表3.1中觀察到的后兩個(gè)特征入流的包數(shù)量和總熵分別是第0維和第8維特征,由圖3.1可以看出,兩者都發(fā)揮了比較重要的作用,而TLS特征并沒(méi)有發(fā)揮任何作用,符合觀察到的特點(diǎn)。另外,雖然每次模型訓(xùn)練使用到的特征重要性不盡相同,但也可以發(fā)現(xiàn),一些重要的特征基本不變,只是特征重要程度有所變化。
本文主要研究了訪問(wèn)同一HTTPS網(wǎng)站的正常加密流量和webshell加密流量的分類問(wèn)題,實(shí)驗(yàn)結(jié)果表明,經(jīng)過(guò)訓(xùn)練的模型不僅對(duì)正常加密流量和包含冰蝎在內(nèi)的webshell加密流量具有較好的識(shí)別能力,而且即使在訓(xùn)練集中只包含非加密型webshell的情況下,模型依然能夠識(shí)別冰蝎這類加密型webshell,冰蝎3.0版本也不例外。
當(dāng)然這只是一個(gè)初步探索,未來(lái)還有很多工作需要繼續(xù)。首先,數(shù)據(jù)對(duì)機(jī)器學(xué)習(xí)模型的訓(xùn)練非常重要,本文實(shí)驗(yàn)中用到的數(shù)據(jù)量是較少的,雖然能在一定程度上說(shuō)明問(wèn)題,但是還需要更多的數(shù)據(jù)來(lái)進(jìn)行驗(yàn)證;其次,webshell的檢測(cè)需要結(jié)合安全專家知識(shí)提取出更有區(qū)分度的特征,好的特征工程直接決定了模型效果的上限;最后,數(shù)據(jù)平衡、模型調(diào)優(yōu)等都是機(jī)器學(xué)習(xí)方法中不可缺少的部分,對(duì)模型預(yù)測(cè)結(jié)果有著積極的作用。
上述就是小編為大家分享的針對(duì)HTTPS加密流量的Webshell檢測(cè)研究是怎樣的了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。