郭昊 陳周國 劉智 冷濤 郭先超 張巖峰
摘要: 網(wǎng)絡(luò)流量加密在增強(qiáng)了通信安全與隱私保護(hù)的同時,也為惡意流量檢測帶來了新的挑戰(zhàn). 近年來隨著機(jī)器學(xué)習(xí)在各領(lǐng)域成功應(yīng)用,其也被應(yīng)用于加密流量分類中,但傳統(tǒng)特征提取方法可能會導(dǎo)致流量中重要信息丟失或無效信息冗余,阻礙了分類精度與效率的進(jìn)一步提升. 本文提出一種基于低維二階馬爾可夫矩陣的加密流量分類方法LDSM,用以篩選表征能力強(qiáng)的流量特征,從而優(yōu)化模型分類效果. 首先,提取加密流量中有效負(fù)載,根據(jù)其十六進(jìn)制字符空間分布構(gòu)建二階馬爾可夫矩陣;其次,通過計算狀態(tài)轉(zhuǎn)移概率矩陣中各特征的基尼增益,迭代刪除對模型訓(xùn)練貢獻(xiàn)最低的特征,取模型分類準(zhǔn)確率最高的特征集合作為低維二階馬爾可夫矩陣特征;最后,通過實驗驗證低維二階馬爾可夫矩陣特征的模型訓(xùn)練能力. 實驗中構(gòu)建了Scikit-learn 的實驗環(huán)境,采用兩個公開數(shù)據(jù)集CTU-13 和CIC-IDS2017,實現(xiàn)對加密流量的分類任務(wù),特征降維實驗結(jié)果表明,LDSM 方法將二階馬爾可夫矩陣特征降維至256 個特征時分類效果最佳,特征降維后僅為原特征數(shù)量的6. 25%,保證模型分類精度的同時提升了模型訓(xùn)練效率;與其他方法對比實驗結(jié)果表明,LDSM 方法流量分類的平均準(zhǔn)確率達(dá)到98. 51%,與其他方法相比,分類準(zhǔn)確率提高3% 以上,所以LDSM 方法對于加密流量分類是可行且有效的.
關(guān)鍵詞: 加密流量; 機(jī)器學(xué)習(xí); 馬爾可夫; 基尼增益; 特征降維
中圖分類號: TP393. 08 文獻(xiàn)標(biāo)志碼: A DOI: 10. 19907/j. 0490-6756. 2024. 030003
1 引言
網(wǎng)絡(luò)流量分類是網(wǎng)絡(luò)空間安全和網(wǎng)絡(luò)管理領(lǐng)域的一項重要任務(wù). 如今,隨著加密技術(shù)在保護(hù)用戶隱私方面的廣泛應(yīng)用,網(wǎng)絡(luò)通信中加密流量的占比日益增多[1]. 不同類型加密流量之間的區(qū)別很小,傳統(tǒng)基于端口或基于簽名的流量分類方法不適用于加密流量識別,因此對不同類型加密流量的區(qū)分是一項具有挑戰(zhàn)性的任務(wù). 近年來,機(jī)器學(xué)習(xí)在圖像分類[2]和文本識別[3]等領(lǐng)域取得了很好的效果,因此其也被廣泛應(yīng)用于惡意流量檢測中[3-5].
相較于傳統(tǒng)方法,基于機(jī)器學(xué)習(xí)的分類方法可以在使得分類過程更加自動化的同時提高分類精度. 機(jī)器學(xué)習(xí)模型可以針對性的構(gòu)建學(xué)習(xí)模型以適應(yīng)惡意網(wǎng)絡(luò)流量的獨特特征,也可以擴(kuò)展以處理大量數(shù)據(jù),對網(wǎng)絡(luò)行為和流量環(huán)境的變化具有魯棒性. 將機(jī)器學(xué)習(xí)模型應(yīng)用于加密流量分類領(lǐng)域需要采取合適的數(shù)據(jù)轉(zhuǎn)化方式將網(wǎng)絡(luò)數(shù)據(jù)包轉(zhuǎn)化為機(jī)器學(xué)習(xí)模型的輸入格式[6]. 圖像分類領(lǐng)域中樣本往往為固定尺寸的圖像,文本識別領(lǐng)域中模型通常用于分類明文語句,由于數(shù)據(jù)流量包不規(guī)則且所含信息為密文,故上述領(lǐng)域中的特征工程方法難以直接運用到加密流量領(lǐng)域中.
在早期研究中,一部分研究側(cè)重于提取流量的統(tǒng)計特征,如Meta 特征[7]統(tǒng)計包長度、傳輸時間間隔等特征,BD(Byte Distribution)特征[8]利用16×16 的矩陣統(tǒng)計不同字符的出現(xiàn)頻率,Man 等人[8]直接利用加密流量的196 項統(tǒng)計特征形成灰度圖像,這類方法雖然可以將所有原始流量轉(zhuǎn)化為具有相同格式的統(tǒng)計特征,但是卻忽略了流量中的數(shù)據(jù)空間信息,降低了模型的學(xué)習(xí)效果;一部分研究直接將原始流量中的有效字段轉(zhuǎn)換為向量或矩陣特征,如Tathri 等人[9]將原始流量轉(zhuǎn)化為灰度特征圖像,通過切片(當(dāng)長度大于固定長度時)或填充(當(dāng)長度小于固定長度時)數(shù)據(jù)包中的字節(jié)流有效負(fù)載,以獲得固定大小的矩陣,這類方法雖然可以有效地保留流量中的數(shù)據(jù)空間信息,但是卻只能通過截取或填充的方法統(tǒng)一特征格式,可能造成數(shù)據(jù)信息丟失或冗余. 除此之外Bai 等人[10]借用文本處理的方式作為數(shù)據(jù)轉(zhuǎn)換的方法,將網(wǎng)絡(luò)流量字段轉(zhuǎn)換成文本,但隨著更多加密協(xié)議的使用,有效負(fù)載被隨機(jī)加密,不再具有特定的語義.
2014 年,Korczynski 等人[11]首次提出了一種基于馬爾可夫鏈的加密流量分類方法,使用馬爾可夫模型進(jìn)行流量分類和識別,他們利用給定應(yīng)用程序的SSL/TLS 標(biāo)頭中的一系列消息類型,以構(gòu)建一階齊次馬爾可夫鏈作為該應(yīng)用程序的統(tǒng)計指紋. 2017 年,Shen 等人[12]改進(jìn)了Korczynski 等人的方法并提出了基于二階馬爾可夫鏈可感知屬性的加密流量分類方法. 2022 年,Tang 等人[13]基于流量文件中每個字節(jié)對應(yīng)的ASCII 碼(0-255),構(gòu)建一階馬爾科夫鏈特征用于流量分類;Cao 等人[14]提取流量文件中的二進(jìn)制比特流,將長度為4 個比特的比特串作為一個基本單位,構(gòu)建一階馬爾科夫特征圖像. 通過研究分析,發(fā)現(xiàn)上述文獻(xiàn)仍存在不足之處:
(1) 部分文獻(xiàn)側(cè)重于提取流量的統(tǒng)計特征,如包長度、傳輸時間間隔等,這種方法雖然可以將所有原始流量轉(zhuǎn)化為具有相同格式的統(tǒng)計特征,但是卻忽略了流量中的數(shù)據(jù)空間信息,降低了模型的學(xué)習(xí)效果.
(2) 一階馬爾可夫鏈特征的當(dāng)前狀態(tài)僅由先前狀態(tài)決定,忽略了當(dāng)前狀態(tài)與更早狀態(tài)的依賴關(guān)系,特征表征能力弱,導(dǎo)致模型學(xué)習(xí)不足.
(3) 二階馬爾可夫鏈特征數(shù)過多,概率轉(zhuǎn)移矩陣為稀疏矩陣,包含大量低區(qū)分度特征,模型訓(xùn)練效率差,且有過擬合的風(fēng)險.
針對以上問題,本文提出一種基于低維二階馬爾可夫矩陣(Low Dimensional Second-orderMarkov Matrix, LDSM)的加密流量分類方法,拼接原始流量中的有效負(fù)載,構(gòu)建具有數(shù)據(jù)空間信息的二階馬爾可夫矩陣,提升了特征表征能力,根據(jù)基尼增益降低特征維度,刪除低區(qū)分度特征,優(yōu)化了模型訓(xùn)練開銷,降低了過擬合的風(fēng)險.
2 方案設(shè)計
2. 1 整體流程
為了高效地識別網(wǎng)絡(luò)中的加密流量,本文提出了LDSM 方法,方法流程如圖1 所示. LDSM 方法由4 部分組成,第1 步為數(shù)據(jù)預(yù)處理,過濾無用數(shù)據(jù)包,并根據(jù)五元組(源IP 地址、源端口、目的IP地址、目的端口和傳輸層協(xié)議)將流量文件分割為網(wǎng)絡(luò)流;第2 步為構(gòu)建特征,按十六進(jìn)制讀取網(wǎng)絡(luò)流文件中的有效負(fù)載(0-F),以相鄰字符分布構(gòu)建二階馬爾可夫矩陣;第3 步為特征降維,利用特征進(jìn)行交叉驗證,迭代刪除基尼增益最低的n 項特征,直至剩余特征小于或等于n 項. 取迭代過程中準(zhǔn)確率最高的特征集合作為低維二階馬爾可夫特征. 第4 步為評估,是將低維二階馬爾可夫特征隨機(jī)分為訓(xùn)練集與測試集,由訓(xùn)練集對模型進(jìn)行訓(xùn)練,將測試集輸入到已訓(xùn)練完畢的模型中進(jìn)行分類效果評估.
2. 2 數(shù)據(jù)預(yù)處理
為了評估LDSM 方法的加密流量分類效果,需要充足的加密流量集作為實驗數(shù)據(jù)集. 實驗使用CTU-13 數(shù)據(jù)集[15]和CICIDS-2017 數(shù)據(jù)集[16]作為惡意流量樣本. CTU-13 是2013 年由捷克理工大學(xué)捕獲的僵尸網(wǎng)絡(luò)流量數(shù)據(jù)集,其中共包含13個不同場景的僵尸網(wǎng)絡(luò)攻擊;CICIDS-2017 于2017 年由加拿大網(wǎng)絡(luò)安全所構(gòu)建,其中共包含8 種不同的網(wǎng)絡(luò)攻擊. 正常流量樣本使用Wireshark 訪問Alexa 排名前列網(wǎng)站進(jìn)行收集. 由于原始數(shù)據(jù)集含有較多雜流量,所以對數(shù)據(jù)集進(jìn)行數(shù)據(jù)清洗,過濾雜流量,最后篩選出用于實驗的惡意流量共計4. 25 GB,正常流量共計4. 53 GB.
使用SplitCap. exe 工具,根據(jù)五元組信息(源IP 地址、源端口、目的IP 地址、目的端口和傳輸層協(xié)議)分割原始流量文件,生成的每個文件為一個單獨的網(wǎng)絡(luò)流,最終統(tǒng)計惡意流量TLS 流數(shù)共153 662 條,正常流量TLS 流數(shù)共162 362 條. 數(shù)據(jù)集分布如表1 所示.