郭昊 陳周?chē)?guó) 劉智 冷濤 郭先超 張巖峰



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