国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Stacking 的網(wǎng)絡惡意加密流量識別方法*

2022-08-23 01:53:20王天棋丁要軍
通信技術 2022年7期
關鍵詞:會話分類器客戶端

王天棋,丁要軍

(甘肅政法大學,甘肅 蘭州 730070)

0 引言

在安全和隱私保護需求的驅(qū)動下,加密流量在網(wǎng)絡中占據(jù)了越來越重要的地位。根據(jù)谷歌在2020 年發(fā)布的透明度報告,已經(jīng)有80%的安卓應用程序默認使用傳輸層安全協(xié)議(Transport Layer Security,TLS)加密所有流量[1]。根據(jù)CISCO 2019年的報告,使用加密來隱藏遠程控制以及數(shù)據(jù)泄露等惡意行為的惡意軟件占比超過70%,使用加密通信的惡意軟件幾乎覆蓋了所有常見類型[2]。因此,高效識別TLS 惡意加密流量有重要的現(xiàn)實意義。

目前,已經(jīng)有國內(nèi)外研究人員對網(wǎng)絡惡意加密流量進行了研究,并且取得了一定的成就。Canard等人[3]提出了對加密流量進行深度包檢測(Deep Packet Inspection,DPI)而無需解密的技術,但在設置階段需要大量的計算和較長的檢測時間。Torroledo 等人[4]通過考慮TLS 協(xié)議中的證書,利用證書內(nèi)容對惡意流量進行識別,但是此方法對無證書傳遞的加密會話惡意性檢測無效。Anderson 等人[5]提出了一種TLS 指紋識別系統(tǒng),該系統(tǒng)利用目標地址、端口和服務器名精心構造了指紋串。但是,Matou?ek 等人[6]發(fā)現(xiàn)以取證為目的創(chuàng)建唯一且穩(wěn)定的TLS 指紋并不容易,惡意用戶可以通過惡意行為改變TLS 版本、密碼套件等信息躲避檢測,因此指紋的發(fā)展受到了限制。此外,Anderson等人在文獻[7]中研究利用TLS 握手階段的可用特征來識別加密惡意流量,但缺乏對握手階段外的特征考慮,且只使用了邏輯回歸分類器進行驗證。

鑒于此,本文在TLS 加密流量特征分析的基礎上,提出了一種基于Stacking 的網(wǎng)絡惡意加密流量識別方法。該方法通過對惡意流量和正常流量進行分析,提取出能識別惡意流量的會話特征、握手特征和證書特征,并在單一特征和多特征條件下對惡意加密流量識別進行對比,發(fā)現(xiàn)多特征的檢測方法能有效提升識別效果。為解決單一的機器學習方法在不同環(huán)境下的分類準確率難以保持穩(wěn)定且泛化能力差的問題,構建Stacking 模型并選擇合適的基學習器和元學習器,最后在公開數(shù)據(jù)集上進行訓練,實驗證明所提算法的識別效果優(yōu)于現(xiàn)有方法。

1 TLS 加密流量分析

1.1 TLS 協(xié)議分析

TLS 協(xié)議是加密流量傳輸中常用的協(xié)議[8],也是保護許多明文應用協(xié)議的主要協(xié)議。圖1 是一個完整的TLS 握手過程。如圖1 所示,首先,客戶端發(fā)送一條ClientHello 消息,該消息為服務器提供了一系列密碼套件和一組客戶端支持的TLS 擴展;其次,服務器發(fā)送一個ServerHello 消息,其中包含從客戶端列表中選擇的加密套件,還包含服務器支持的擴展列表以及證書鏈的Certificate 消息,該消息可用于對服務器進行身份驗證;再次,在客戶端發(fā)送ClientKeyExchange 消息給服務器端后,客戶端和服務器交換ChangeCipherSpec 消息,以后的消息將使用協(xié)商好的加密參數(shù)進行加密;最后,客戶機和服務器開始交換應用程序數(shù)據(jù)[9]。

圖1 TLS 協(xié)議握手協(xié)商階段流程

傳統(tǒng)的通過TLS 解密來查看流量密文內(nèi)容的方式,不僅耗時,而且不能保護隱私。由于TLS 協(xié)商的過程是通過明文來進行的,因此可以從未加密的消息中提取有用的信息。雖然證書是在TLS 握手階段得到的,但由于其對分類結(jié)果的影響明顯,因此本文將證書作為單獨特征向量進行考慮。

1.2 TLS 加密流量特征分析和提取

1.2.1 TLS 握手特征分析和提取

握手特征從客戶端發(fā)送明文Client Hello 消息和服務端反饋Server Hello 消息中提取。圖2 展示了惡意會話和正常會話的服務器對TLS 加密套件的選擇對比和客戶端支持的曲線對比。為了更清晰地表示,將密碼套件用16 進制代碼表示。

圖2 惡意會話和正常會話密碼套件和曲線對比

服務器選擇的密碼套件針對大多數(shù)正常會話和惡意會話有嚴格劃分。大多數(shù)正常的加密會話服務器選擇的TLS 密碼套件為000a、c014。

其中:

從圖2(a)中可以看出,惡意軟件占比多的0004、0005 是比較弱的加密套件,安全性不足。從客戶端支持的曲線對比看出,除選用基于256 bits的素數(shù)域P 上的橢圓曲線(secp256r1)外,有23%的惡意會話的客戶端依賴底層素數(shù)域特征為2255-19的橢圓曲線(x25519),而有33%的正常會話選用基于384 bits 的素數(shù)域P 上的橢圓曲線(secp384r1)。

此外,觀察到正常加密流量客戶端支持的擴展種類豐富,惡意流量客戶端擴展種類較為單一。提取出的TLS 握手特征如表1 所示。

表1 TLS 握手特征

1.2.2 服務器證書特征分析和提取

服務器證書是用于驗證服務器身份的文件,普通認證機構(Certificate Authority,CA)證書由可信的CA 機構頒發(fā)。自簽名證書任何人都可以頒發(fā),它的issuer 與subject 相同。

在提取證書特征的過程中,證書的有效期、證書鏈的長度、證書是否自簽名等重要特征指標無法直接獲取,需要通過相應的算法來獲得。圖3 展示了正常和惡意加密流量的服務器證書有效期時長對比和服務器證書的issuer 長度對比??梢钥闯觯5募用芰髁孔C書有效期較短,有58%的正常會話證書有效期是80 天左右。而惡意加密流量有效期時間相對較長,甚至有5.6%達到36 500 天。

圖3 惡意和良性流量證書有效期和issuer 長度對比

從服務器證書的issuer 長度可以看出,60%的正常加密會話的服務器證書issuer 長度為1,而惡意流量證書issuer 長度為2 和3 的占比86%。此外,觀察到TLS 服務器使用自簽名證書的頻率和使用公鑰的長度等指標在惡意和正常加密流量中也有明顯區(qū)別。提取出的服務器證書特征如表2 所示。

表2 證書特征

1.2.3 會話的特征分析和提取

會話特征是現(xiàn)有文獻中的常見特征。通過觀察發(fā)現(xiàn),大部分惡意軟件的接收數(shù)據(jù)包數(shù)量為5~12個,而正常流量數(shù)據(jù)包的數(shù)量變化范圍較大。惡意加密流量的連接狀態(tài)為連接已建立,發(fā)起方中止RSTO 的最多,占比43%,而正常加密流量的連接狀態(tài)以正常建立和終止SF 的居多。此外,包長度、包到達時間等也是重要的會話統(tǒng)計特征。提取出的會話特征如表3 所示。

表3 會話特征

2 基于Stacking 集成學習的加密惡意流量檢測方法

2.1 Stacking 集成模型

Stacking 是組合異質(zhì)分類器的集成學習方法,它融合不同的學習算法實現(xiàn)高精度的分類任務[10],能夠有效降低泛化誤差,并通過元學習器來取代Bagging 的投票法,來綜合降低偏差和方差。同時,Stacking 作為一種集成框架,往往采用兩層結(jié)構,第1 層組合多個基學習器輸出特征,第2 層使用元學習器組合第1 層的輸出特征,給出最終的預測結(jié)果。研究表明,Stacking 在增加有限計算開銷的同時,有出色的性能和魯棒性[11]。

Stacking 算法共分成3 個步驟:

(1)根據(jù)原始數(shù)據(jù)D訓練第一層分類器,一共有T個分類器,其中ht是第t次循環(huán)得到的分類器;

(2)根據(jù)第一層分類器的輸出,構造新的數(shù)據(jù)集,第一層的預測結(jié)果將作為數(shù)據(jù)的新特征,原始數(shù)據(jù)的標簽成為新數(shù)據(jù)的標簽;

(3)根據(jù)新的數(shù)據(jù)集訓練第二層分類器得到新的分類器h′,對于每一個數(shù)據(jù)實例x,分類器的預測結(jié)果為h′(h1(x),h2(x),…,hT(x)),其中,h1(x),h2(x),…,hT(x)表示第一層中的分類器[12]。

Stacking 算法偽代碼如下:

2.2 Stacking 模型構建

Stacking 集成方法通過將不同的算法結(jié)合在一起,發(fā)揮每個算法的優(yōu)勢來獲得更佳的預測性能。在構建Stacking 集成模型中,首先需要確定基學習器的種類,而基學習器的選擇需從準確性和多樣性兩個方面考慮。

從基學習器的預測性能方面考慮,本文除了選擇隨機森林(Random Forest,RF)和LightGBM[13]模型作為基學習器,還選擇了其他預測性能優(yōu)異的模型。其中,XGBoost 針對傳統(tǒng)的梯度提升決策樹進行改進,在訓練時間等方面都有所提升。

為了獲得最佳的集成模型,還需要考慮基學習器之間的相關性。選擇相關性較小的算法能夠充分發(fā)揮不同算法的優(yōu)勢[14],達到互補的目的。本文采用Pearson 相關系數(shù)衡量算法之間的相關性大小,其表達式為:

式中:和分別為各向量中元素的平均值。最后,依據(jù)基分類器追求“準而不同”的原則,初步選 擇RF、K 近 鄰(K-Nearest Neighbor,KNN)、XGBoost、支持向量機(Support Vector Machine,SVM)和LightGBM 作為基學習器。

Wolpert 在提出Stacking 時,就說明了元學習算法和新數(shù)據(jù)的屬性表示對Stacking 集成的泛化性能影響很大[15]。對于輸出類概率的初級分類器,分類器h對樣例x的預測是,x屬于所有可能類標簽的概率為pht(cj|x),j=1,…,l,其中,l是指l個分類問題,pht(cj|x)定義了分類器h估計樣例x屬于類別cj的概率值。將基分類器對所有類預測的后驗概率作為元層學習器的輸入屬性[16],乘以最大概率的概率分布,其表達式為:

概率分布的熵為:

元模型通常很簡單,為了減輕過擬合,第二層元學習器選擇邏輯回歸模型。本文構建的基于Stacking 的加密惡意流量檢測模型如圖4 所示。

圖4 基于Stacking 的惡意加密流量識別算法流程

3 實驗結(jié)果及分析

3.1 實驗環(huán)境與數(shù)據(jù)集

本文采用scikit-learn 機器學習庫構建Stacking模型并完成實驗評估,在Windows 10 環(huán)境下運行,處理器為AMD Ryzen 4800H,圖形處理器(Graphics Processing Unit,GPU)為RTX 2060,內(nèi)存為16 GB。

本實驗選用DataCon 開放數(shù)據(jù)集[17],源自2020年2—6 月收集的惡意軟件與正常軟件,經(jīng)奇安信技術研究院天穹沙箱運行并采集其產(chǎn)生的流量篩選生成,數(shù)據(jù)集格式為pcap 文件。由于本文研究需要更精確的數(shù)據(jù)集,對數(shù)據(jù)進行以下處理:

(1)過濾未完成完整握手過程的會話;

(2)過濾確認包、重傳包及傳輸丟失的壞包;

(3)借助Zeek[18]將pcap 包轉(zhuǎn)換為流量日志,進行特征提?。?/p>

(4)特征提取后對非數(shù)值型的特征流量使用One-Hot 編碼,滿足模型輸入的需要;

(5)對特征的缺失值和異常值進行處理,采用Z-score 對數(shù)據(jù)進行標準化。經(jīng)過數(shù)據(jù)預處理后,最終的數(shù)據(jù)集如表4 所示。

表4 最終數(shù)據(jù)集構成

3.2 評價指標

本文采用精確率(Precision)、召回率(Recall)、F1 值和ROC 曲線下方的面積(Area Under Curve,AUC)值作為評價指標來估計方法的分類效果。精確率(Precision)、召回率(Recall)和F1 值的定義分別為:

式中:TP為被模型預測為正類的正樣本數(shù)量;FN為被模型預測為負類的正樣本數(shù)量;FP為被模型預測為正類的負樣本數(shù)量。

3.3 特征性能對比

本文提取出會話統(tǒng)計特征86 維,握手特征62維和證書特征31 維,共計179 維特征向量。為了分析不同特征組合的性能,使用隨機森林算法分別測試了3 種特征組合下的識別效果,實驗結(jié)果如表5 所示。

表5 不同的特征組合五折交叉驗證結(jié)果

為了減小特征冗余和噪聲,去除相關度高及有負影響的特征,使用特征篩選算法Correlation AttributeEval,分別選擇特征從10 到100 維的10 種情況進行實驗,確定特征維數(shù)為多少時,模型分類效果最佳,實驗結(jié)果如圖5 所示。

圖5 特征維數(shù)確定

當特征維數(shù)為30 時,使用隨機森林算法分類時,F(xiàn)1 最高,達到97.2%。此后隨著維數(shù)的增加,F(xiàn)1 值逐漸降低。因此,本文將特征維數(shù)縮減到30 來進行實驗,在提高識別效果的同時縮短了運行時間。

不同特征組合下分類性能對比如圖6 所示??梢钥闯龆嗵卣髯R別顯著提升了模型精確率和召回率,特征篩選進一步提升了模型的性能。

3.4 元分類器選擇

為了減輕過擬合,第二層元學習器一般選擇簡單的模型,本文選擇邏輯回歸作為元分類器學習。表6 比較了常用于Stacking 模型中的K 近鄰(K-Nearest Neighbor,KNN)、支持向量機(Support Vector Machine,SVM)和邏輯回歸(Logistic Regression,LR)算法作為基分類器的差異。結(jié)果表明LR 算法作為元學習器時,Stacking 模型表現(xiàn)最好。

3.5 算法性能對比

將本文構建的Stacking 模型與SVM、RF、XGBoost、CNN 算法對比,實驗結(jié)果如表7 所示。

表7 算法性能對比

由表7 可以看出,本文構建的Stacking 模型的查準率、召回率、F1 值和AUC值均高于其他算法模型。與SVM 相比,分別提高了3.4%,3.3%,3.4%和3.2%;與XGBoost 相比,分別提高了2.2%,2.1%,1.7%和0.3%;與CNN 相比,分別提高了1.5%,2.7%,2.1%和4.1%。因此,通過上述對實驗結(jié)果的分析,驗證了本文提出的基于Stacking 的網(wǎng)絡惡意加密流量識別方法的可行性。

4 結(jié)語

本文通過分析大量的正常和惡意加密流量,從中提取出具有顯著區(qū)分度的會話特征、握手特征和證書特征。對單一特征和多特征識別網(wǎng)絡惡意加密流量進行對比,結(jié)果表明加入了握手和證書特征后可以顯著提升模型的識別效果。構建基于Stacking集成學習的網(wǎng)絡惡意加密流量檢測模型,實驗表明,在Datacon2020 數(shù)據(jù)集下,本文Stacking 模型效果比XGBoost 等4 種算法效果均有所提升,解決了單一的機器學習方法泛化能力弱的問題。此外,文章還存在一些不足之處,如在構建Stacking 模型時可以嘗試更多基分類器和元分類器的組合,從而作出更優(yōu)的選擇,這也是今后進一步研究的方向。

猜你喜歡
會話分類器客戶端
縣級臺在突發(fā)事件報道中如何應用手機客戶端
傳媒評論(2018年4期)2018-06-27 08:20:24
孵化垂直頻道:新聞客戶端新策略
傳媒評論(2018年4期)2018-06-27 08:20:16
基于Vanconnect的智能家居瘦客戶端的設計與實現(xiàn)
電子測試(2018年10期)2018-06-26 05:53:34
BP-GA光照分類器在車道線識別中的應用
電子測試(2018年1期)2018-04-18 11:52:35
有意冒犯性言語的會話含義分析
漢語教材中的會話結(jié)構特征及其語用功能呈現(xiàn)——基于85個會話片段的個案研究
加權空-譜與最近鄰分類器相結(jié)合的高光譜圖像分類
結(jié)合模糊(C+P)均值聚類和SP-V-支持向量機的TSK分類器
基于LLE降維和BP_Adaboost分類器的GIS局部放電模式識別
沖突語的會話分析研究
牡丹江市| 如东县| 榆林市| 综艺| 囊谦县| 彭阳县| 明光市| 泽库县| 庆安县| 上犹县| 阳山县| 西城区| 建宁县| 新邵县| 米易县| 临夏市| 南通市| 榆社县| 邢台县| 东宁县| 阿荣旗| 平定县| 孟连| 惠水县| 应城市| 中阳县| 名山县| 贵溪市| 泸西县| 呼和浩特市| 阳高县| 三亚市| 通州区| 洪江市| 石嘴山市| 台前县| 桐梓县| 陕西省| 沅陵县| 滕州市| 扎鲁特旗|