摘 要
針對 TLS 惡意流量識別方法存在大量標記樣本獲取困難、無標記樣本沒有充分利用、模型對于未知樣本識別率較低等問題,提出基于半監督深度學習的網絡惡意加密流量識別方法。該方法能夠利用大量未標記網絡流量用于模型訓練,提升分類模型的泛化能力。該方法首先借助網絡流量圖片化方法將原始流量 PCAP 轉換為灰度圖,然后借助 FixMatch 框架對實現少標記樣本下惡意流量進行識別。在公開數據集 CTU-Malware-Capture 和 USTC-TFC2016 上對模型訓練和測試,結果表明:FixMatch 模型在準確率、精確度、召回率和 F1值這 4 個指標上均優于 PseudoLabel、MixMatch 和 ICT 方法。此外,在少標記樣本量情況下,FixMatch 模型對惡意加密流量的識別優勢更為明顯。
中國互聯網信息中心發布的第 49 次《中國互聯網發展狀況統計報告》顯示,截至 2021年 12 月,中國互聯網普及率達 73.0%。互聯網中采用加密的流量呈逐年攀升的趨勢。在全球主要國家與地區,這一數據更是已經超過了90%。由數據統計機構 Netmarketshare 發布的統計數據可知,截至 2019 年 10 月 2 日,超文本傳輸安全協議(Hyper Text Transfer Protocol over Secure Sockets Layer,HTTPS)加密萬維網(World Wide Web,WWW)流量在全球范圍內被使用的比例已經超過 90%;2019 年 12 月,谷歌宣稱80% 的 Android 應用程序默認使用傳輸層安全協議(Transport Layer Security,TLS)加密所有流量,且這一比例還會隨著時間的推移而繼續增大。越來越多的惡意軟件隱匿在加密 TLS 流量中來傳輸惡意信息,對用戶、企業和國家的通信安全造成威脅。因此,對 TLS 惡意加密流量進行高效識別對網絡監管和打擊犯罪有著重要意義。
目前,已經有國內外研究人員對網絡惡意加密流量進行研究,并且取得了一定的成就。Canard 等人 提出對加密流量進行深度包檢測(Deep Packet Inspection,DPI)而無需解密的技術,但在設置階段需要大量的計算和較長的檢測時間。Anderson 等人提出了一種 TLS 指紋識別系統,該系統利用目標地址、端口和服務器名精心構造的指紋串。近年來,半監督學習在圖像識別、自然語言處理等領域也取得了顯著成績。Rezaei 等人提出了一種半監督檢測模型,首先在大型未標記數據集上訓練,然后使用少量標記數據集重新訓練模型。谷歌的研發隊伍提出了 MixMatch和 FixMatch 技術,利用集成方法,提高了模型準確率。
為解決網絡惡意加密流量識別方法中大量標記樣本獲取困難問題,本文提出一種基于FixMatch 的網絡惡意加密流量識別方法。通過借助網絡流量圖片化方法將 PCAP 格式的原始流量數據以流為單位進行切分、填充、映射到灰度圖片中,構建 FixMatch 模型并對惡意加密流量進行分類,在公開數據集上進行驗證,實驗證明識別效果優于現有方法。
1
相關知識
1.1 卷積神經網絡
卷積神經網絡(Convolutional Neural Networks,CNN)是一種人工神經網絡,目前已成為語音分析和圖像識別領域的研究熱點,廣泛應用于人臉識別、疾病分析、圖像處理等領域。CNN 一般由輸入層、卷積層、池化層、全連接層以及輸出層構成 。其中卷積層可從輸入數據中快速精準地提取樣本特征。池化層有 2 個典型特性:一是可以大幅度加快模型的訓練速度,對提取的特征信息進行降維處理,降低訓練量。二是防止模型訓練結果過擬合 。實際的操作中,常在兩個相鄰的卷積層之間加入一層池化層。全連接層的特性之一是能將當前訓練所提取的特征和保留的樣本特征進行組合。正是由于 CNN擁有局部連接和權值共享的特性,使得 CNN 可以精準高效地從輸入數據中挖掘潛在的特征。
1.2 一致性正則化
一致性正則化是當前最先進的半監督學習算法的一個重要組成部分。一致性正則化利用未標記的數據,它依賴于這樣一個假設:當輸入相同圖像的擾動版本時,模型應該輸出相似的 預 測。該 想 法 首 次 在 Learning with Pseudo-Ensembles中提出,其中模型通過標準監督分類損失和損失函數對未標記數據進行訓練。

式中:
為一批標記的樣 本,
為 訓 練 樣 本,
為 one-hot 標 簽。設
為一批未標記的樣本,其中u 是確定 X 和 U 相對大小的超參數。設
為模型對輸入 X 產生的預測類分布。
1.3 相關半監督深度學習算法
1.3.1 偽標簽(PseudoLabel)
偽標簽是一種簡單有效的深度神經網絡半監督方法。其在監督的方式下訓練有標簽的樣本,對于無標記樣本通過偽標簽的方法選擇出該數據具有的最大概率預測類,把這個預測出的標簽作為實際標簽使用。偽標簽利用模型本身的思想為未標記的數據獲取人工標簽。具體來說,這指的是用“硬”標簽(即模型輸出的參數最大值),并且只保留最大類概率高于預定義閾值的人工標簽。令
偽標記使用以下損失函數:

式中:
τ 為閾值,兩個概率分布 p和 q 之間的交叉熵為
1.3.2 MixMatch
MixMatch 是一種整體方法,它結合了半監督學習主流范例中的思想。給定一組標注實例X 及其對應的 one-hot 目標(代表 L 個可能標簽中的一個)和一批大小相同的未標記示例 U,MixMatch 將生成一批經過處理的增強標記示例X' 和一批猜測標簽 U' 的增強未標記示例。然后分別使用 U' 和 X' 計算單獨的標記和未標記損失項。半監督學習的組合損失 L 如下:


式中:H(p,q) 為分布 p 與分布 q 間的交叉熵;T,K,α,
為超參數。模型
對參數為 θ的輸入 x 產生類標簽 y 上的分布。
1.3.3 ICT
插值一致性訓練 (Interpolation ConsistencyTraining,ICT)鼓勵對于無標記樣本點的插值的預測和這些樣本的預測的插值保持一致。ICT 可以將決策邊界移動到數據分布的低密度區域,如果兩個樣本在輸入分布中屬于同一個聚類或簇,它們很可能屬于同一個類別,這被稱為聚類假設,這也表明好的決策邊界應當位于數據分布的低密度區域。不同的一致性正則化技術的區別在于如何選擇對未標記數據的擾動,常規的做法是使用隨機擾動,但是在高維情況下只有很小比例的隨機擾動能夠將決策邊界推到低密度區域,對此,ICT 提出了一種簡單但是有效的基于插值一致性的方法:

式中:
為 ICT 的 訓 練 分 類 器,θ' 為 θ 的滑動平 均。
為參數為λ 的 線 性 插 值 函 數:
1.3.4 FixMatch
在一致性正則化和偽標記方法基礎上,將它們相結合,提出了新的一些具有更高準確率的方法。Sohn 等 在 2020 年提出了 FixMatch,該方法結合了偽標簽和一致性正則化的思想,盡管 FixMatch 的整個環節較簡單,但其在多個標準數據集上都得到了目前的最好結果。FixMatch 利用了兩種增強:“弱”和“強”。
FixMatch 中 使 用 的 弱 增 強 分 為 平 移 和 翻 轉 兩類,數據增強前后,圖片變化不大。平移是基于空間上的變換,表現為上、下、左、右的平行移動 。翻轉表現為對圖片進行水平、垂直翻轉。FixMatch 中使用的強增強包含 Cutout、CTAugment 和 RandAugment。Cutout 是 一 種模擬遮擋的方法,表現為對圖像的部分區域進行 遮 擋。AutoAugment是一種能夠利用搜索算法,自動檢索合適的數據增強策略的方法。RandAugment 是 AutoAugment 的變體,它給定了一個可以選擇的數據增強方法的列表,并給定了一些可能的數據增強幅度。可以從這幾個列表中選擇 N 個增強方法,然后隨機選擇一個數據增強幅度上限 M,使得這 N 個數據增強方法的幅度不能超過給定的幅度上限 M,然后將這一系列增強方法用于圖片。CTAugment 通過控制理論的思想解決了 RandAugment 中對于數據增強策略的學習需求,動態學習了每個變換的幅度。
對于每一個有標簽樣本,用交叉熵損失訓練一個有監督模型。對于每一個無標簽樣本,采用弱增強得到一幅圖像,將該圖像傳遞給模型,得到一個預測結果,該模型會設定一個閾值,如果這個預測結果最高的類別的置信度高于閾值,那么,該類別就會作為這張圖片的標簽。此時,運用了自訓練的思想,即偽標簽。然后,強增強后的圖片通過模型進行一個分類的預測,此時會得到另一個預測結果,對模型的輸出施加交叉熵損失。根據一致性正則化的思想,模型希望弱增強和強增強這兩種數據增強方法后的圖片的預測結果盡可能一致。最后,有標簽樣本損失和無標簽樣本損失的加權當作模型總損失,以總損失最小為目標優化模型。FixMatch的處理流程如圖 1 所示。

圖 1 FixMatch 的處理流程
2
基于FixMatch的TLS網絡惡意流量識別方法
2.1 網絡流量圖片化
基 于 文 獻 [19] 對 數 據 處 理 的 經 驗, 本 節的網絡流量圖片化主要是使用工具集 USTCTK2016 將原始流量數據(PCAP)處理成 cifar10數據集格式(便于更好地遷移到多數模型)。
(1)流量切分:按照流量表示形式將原始PCAP 文件按照數據流形式切分為多個 PCAP 文件,本數據流是具有相同五元組信息的數據包的時間排序集合。
(2)圖片生成:將處理過的文件按照 784字節進行統一長度處理,即保留文件前 784 字節 數 據, 舍 棄 文 件 785 字 節 及 以 后 的 所 有 信息,如果長度少于 784 字節,則在文件后面補充 0x00;統一長度后的文件按照二進制形式轉換為灰度圖片,即一個字節對應灰度像素值,如 0x00 對應黑色,0xff 對應白色,輸出格式為PNG。在公開數據集上對網絡流量進行圖片化處理后的效果如圖 2、圖 3 所示。

圖 3 USTC-TFC2016 數據集下流量圖片化展示
2.2 構建 FixMatch 的 TLS 網絡惡意流量識別模型
2.2.1 數據增強
根據 FixMatch 模型中的弱增強和強增強方法對轉換成圖片的數據進行數據增強處理。本文采用的弱增強為 50% 的概率對圖片進行水平翻轉,利用 reflect 的方式進行填充,然后進行隨機裁剪和數據歸一化處理;本文采用 RandAugment方法進行數據強增強,規定從 RandAugment 給定的數據增強方法列表N中隨機選擇增強方法,從 1 到 10 之間隨機選擇一個數據增強幅度上限M,使得這 N 個數據增強方法的幅度不能超過給定的幅度上限 M。
2.2.2 FixMatch 模型構建
FixMatch 結合了偽標簽和一致性正則化的思想,其損失函數由兩個交叉熵損失項組成:應用于標記數據的監督損失
和非監督損失
針對有標簽樣本:使用交叉熵損失訓練一個有監督模型,得到有監督樣本的損失函數

針 對 無 標 簽 樣 本:首 先, 在 給 定 的 無 標簽圖像的弱增強版本下計算模型的預測類分布
如果得到的類別預測結果的最值大于預先給定的閾值,則該類別就是這個圖片的標簽。其次,使用
作為偽標簽,該圖片再經過強增強,得到強增強后的分類預測結果。這個結果與新生成的標簽信息做交叉熵損失,得到無標簽樣本的損失

式中:τ 為一個標量超參數,表示閾值以上保留一個偽標簽。有標簽樣本損失和無標簽樣本損失的加權當作模型總損失,以總損失最小為目標優化模型,FixMatch 最小的損失函數為
其中
為一個固定的標量超參數,表示未標記損失的相對權重。FixMatch 算法偽代碼如算法 1 所示。

FixMatch 模型的訓練流程:對于每一個有標簽的樣本,用交叉熵損失訓練一個有監督模型,得到一個有標簽樣本的損失;對于每一個沒有標簽的樣本,采用弱增強得到一幅圖像,將該圖像傳遞給模型,得到一個預測結果。比較模型與預先設定的閾值,如果這個預測結果最高的類別的置信度高于閾值,該類別就會作為這張圖片的標簽,即偽標簽。然后,強增強后的圖片也會通過模型進行一個分類的預測,此時會得到另一個預測結果,對模型的輸出施加交叉熵損失。基于 FixMatch 的網絡惡意加密流量檢測系統架構如圖 4 所示。

圖 4 基于 FixMatch 的網絡惡意加密流量檢測系統架構
3
實驗結果及分析
3.1 實驗環境與數據集
本文實驗在 Windows 10 環境下運行,處理器 為 AMD Ryzen 7 4800H,GPU 為 RTX 2060,內存為 16 GB。采用 Pytorch1.8.0 軟件框架實現基于 FixMatch 的網絡惡意加密流量識別。
本實驗選用的是開放數據集 CTU-MalwareCapture[20] 和 USTC-TFC2016[19] 中 的 部 分 數 據,數據由原始的 PCAP 文件組成。從 CTU-Malware Capture 中選擇了 Dridex,Dynamer,HTBot,Miuref,Zbot 和 Cerber 6 類使用 TLS 進行加密通信的惡意應用流量;從 USTC-TFC2016 中選擇了 Neris,Shifu,Zeus,Virut 和 Htbot 5 類 使 用TLS 進行加密通信的惡意應用流量。數據集構成如表 1 和表 2 所示。
表 1 CTU-Malware-Capture 惡意家族樣本

表 2 USTC-TFC2016 數據集樣本

3.2 評價指標
本文采用查準率(Precision)、召回率(Recall)、
值(F1-score)和準確率(Accuary)作為評價指標來估計方法的分類效果,其定義如下:查準率(Pre):

召回率(Rec):



準確率(Acc):

式中:TP,TN,FP 和 FN 分別為正確識別的目標流量數、正確識別的其他流量數、錯誤識別的目標流量數和錯誤識別為其他流量數的目標流量數。
3.3 模型參數設置
FixMatch模型訓練時,選擇帶動量的隨機梯度下降算法(Stochastic Gradient Descent,SGD)作為優化器,且動量的大小設置為 0.9。批量大小(Batch Size)設置為 100。本文參照 FixMatch原論文的設定,將無監督部分損失的系數
設置為 1,無標簽數據批量倍數 u 設置為 7。過濾低置信度的無標簽樣本閾值 τ 設為 0.95,學習率(Learning Rate) 設 置 為 0.01, 并 且 使 用 帶熱啟動(Warm Up)的余弦學習率衰減(Cosine Decay Schedule)。本文使用的網絡惡意加密流量分類模型的骨干網絡是 CNN,批量大小設置為 50。將數據集打亂后,設定 0.2 為拆分閾值,選取 20% 做測試集,剩下的為訓練集。
本文將提出的基于 FixMatch 的 TLS 網絡惡意流量識別方法分別與近年來提出的半監督學習方法 MixMatch、ICT 以及經典半監督學習方法PseudoLabel 進行對比。在進行實驗前,對上述3 種模型的超參數進行設置,根據此前研究者們提供的參考值并結合實驗結果,對實驗參數進行多次調整,設置參數值如表 3 所示。
表 3 半監督模型超參數

3.4 實驗結果及分析
3.4.1 不同標記樣本占比的結果對比
將本文構建的 FixMatch 模型與其他 3 種半監督模型在不同少標記樣本下進行實驗,在數據集
和 USTC-TFC2016 下多分類結果如圖 5、圖 6 所示。

(a)不同標記占比下的準確率對比

(b)不同標記占比下的查準率對比

(c)不同標記占比下的召回率對比

(d)不同標記占比下的 F1 對比
圖 5 CTU-Malware-Capture 在不同標記樣本占比下的多分類結果對比
值逐漸趨于穩定。

(a)不同標記占比下的準確率對比

(b)不同標記占比下的查準率對比

(c)不同標記占比下的召回率對比

(d)不同標記占比下的 F1 對比
圖 6 USTC-TFC2016 在不同標記樣本占比下的多分類結果對比
由圖 5、圖 6 可知,在 20% 標記樣本下,本文使用的所有半監督模型
都達到 0.9 以上的水平,這說明使用 20% 的標記數據集,大部分模型都可以準確識別惡意流量類型。隨著標記樣本量的減少和未標記樣本占比的上升,FixMatch 模型逐漸顯示出更好的分類效果。當標記樣本占比下降到 10% 時,除 FixMatch 模型各項指標依然保持較高水平外,其他模型指標都有明顯下降,說明 FixMatch 模型整體效果要優于其他半監督模型。在 CTU-Malware-Capture數據集下,當標記樣本占比下降到 0.3% 時,與PseudoLabe 算法相比,FixMatch 模型的查準率、召回率、
值分別提高了 4.56%,3.26% 和 3.93%。在 USTC-TFC2016 數據集下,當標記樣本占比下降到0.5%時,與ICT相比,FixMatch模型的查準率、召回率、
值分別提高了 3.11%,3.47% 和 3.29%。該實驗說明,標記樣本占比逐漸減少對 FixMatch模型造成的影響相對較小,尤其是標記樣本占比極小時,FixMatch 模型的優勢更加明顯。
3.4.2 不同算法性能對比
隨著樣本數量的增加,FixMatch 的準確率有穩定上升的趨勢,在相同的樣本總數下,只需要少量標記樣本就能達到其他半監督學習模型的識別效果,這大大減少了在網絡流量識別中需要準確標記所有訓練樣本的人力、物力和時間成本。同時,在樣本數量不斷增加時,模型的準確率、查準率、召回率和
值逐漸趨于穩定。
通過上述實驗可以看到,在 CTU-Malware Capture 和 USTC-TFC2016 數 據 集 下,FixMatch在 20% 的標記樣本數時,能達到很好的識別效果。表 4 詳細記錄了 FixMatch 模型與 MixMatch、ICT 和 PseudoLabel 3 種半監督模型的對比結果。
從表 4 可以看出,在 CTU-Malware-Capture數據集下,FixMatch 模型的準確率、查準率、召回率和
值 均 高 于 其 他 半 監 督 模 型, 與MixMatch 相比,這 4 個指標分別提高了 2.25%,1.75%,2.94% 和 2.36%;與 ICT 相 比, 分 別提 高 了 0.88%,1.18%,0.78% 和 0.98%;與PseudoLabel 相比,分別提高了 0.73%,2.07%,4.83% 和 3.48%。在 USTC-TFC2016 數 據 集下,FixMatch 模 型 與 MixMatch 相 比, 分 別 提高 了 3.41%,0.92%,0.96% 和 0.94%;與 ICT相 比, 分 別 提 高 了 2.75%,0.07%,1.03% 和0.55%;與 PseudoLabel 相比,分別提高了 3.65%,1.15%,1.23% 和 1.19%。這也驗證了本文提出的基于 FixMatch 的網絡惡意加密流量識別方法的可行性。
表 4 FixMatch 模型與其他半監督模型對比結果

4
結 語
針對網絡流量數據量大且未標記數據易獲取等特點,本文提出了基于 FixMatch 的 TLS 網絡惡意流量識別模型,保證了在少量標記樣本和大量未標記樣本下,該模型對惡意流量識別 仍 具 有 良 好 的 效 果。實 驗 表 明, 在 USTC TFC2016 和
數 據 集 下,本文 FixMatch 模型的效果比近年來提出的半監督 方 法 MixMatch、ICT 以 及 PseudoLabel 的 效果均有所提升,尤其在少量標記樣本上表現突出。然而,文章還存在一些不足之處,例如,在FixMatch 訓練模型使用的基分類器選擇上,可以嘗試更多種的組合和更優的分類器。下一步工作將在基分類器選擇上做出更優的調整,以及在網絡流量的特征工程上開展更深層次的研究。
一顆小胡椒
中國網絡空間安全協會
一顆小胡椒
一顆小胡椒
信息安全與通信保密雜志社
公安部網安局
奇安信集團
聚銘網絡
奇安信集團
奇安信集團
數世咨詢
E安全