申秀雨,姬偉峰?,李映岐,吳玄
(1.空軍工程大學信息與導航學院,陜西西安 710077;2.93107 部隊,遼寧沈陽 110000;3.94701 部隊,安徽 安慶 246000)
隨著通信技術的發展,各類終端設備以指數爆炸的趨勢接入互聯網,萬物互聯(IoE)的時代即將到來。邊緣計算[1]作為一種新型計算模型應運而生,將計算任務放在靠近數據源的邊緣側進行,能夠降低終端與云中心的信息傳輸開銷。邊緣基礎設施的存儲資源和計算資源都較為薄弱,許多邊緣設備在設計之初只考慮了可用性而忽略了安全性,這些設備暴露在互聯網上極易受到網絡攻擊。分布式拒絕服務(DDoS)攻擊[2]是最常見的網絡安全威脅之一,其因攻擊成本低、危害范圍大被廣泛關注。近年來,DDoS 攻擊強度越來越大,AWS 發布報告稱2020 年受到的DDoS 攻擊量為2.3 Tb/s[3]。在邊緣計算環境中,DDoS 攻擊可以輕易地實施于邊緣節點,并通過計算卸載[4]將海量的惡意流量發送到邊緣網絡的所有設備,造成邊緣網絡癱瘓,因此,需要研究一種面向邊緣計算卸載的DDoS 攻擊檢測模型,以便有效保護邊緣計算資源并提高邊緣設備可用性。
目前,邊緣計算中對計算卸載的研究主要集中在卸載方式、卸載粒度、卸載決策上,通過綜合考慮終端設備性能、信道質量、邊緣服務計算能力等因素[5]對時延[6]、能耗[7]以及多指標聯合效用[8]進行優化,對卸載安全方面的研究比較少,而卸載安全問題被很多專家學者認為是不容忽視的新方向[9-11]。
基于機器學習的邊緣智能[12]方法已經用在邊緣計算的DDoS 檢測中。文獻[13]在WEKA 工具中實施6 種不同的機器學習(ML)算法對CICDDoS2019數據集進行分析,其中決策樹(DT)和隨機森林(RF)算法獲得99%的最佳檢測結果,DT 在時間上優于RF 算法。雖然決策樹預測效率高,但預測模型對訓練樣本的要求較高,受樣本不平衡的影響較大。文獻[14]提出一種基于隨機森林和深度森林的無線傳感器網絡入侵檢測模型,獲得了比傳統機器學習方法更高的檢測準確率,但不及CNN 和Autoencoder SVM。
深度學習算法[15]比其他機器學習算法具有更高的準確率,但由于結構復雜、參數較多,模型訓練需要大量的時間和計算資源,因此需要對深度學習算法進行輕量化設計來適應邊緣計算環境,并同時保證較高的檢測效率。
文獻[16]利用FastRNN 和FastGRNN 構建一層128 個神經元的輕量型Edge-Detect 模型,與標準LSTM、GRU 相比,精度提高了1%,模型尺寸縮減了66%。但該模型僅做到了對DDoS 攻擊的二分類。文獻[17]針對一維時間序列數據無法作為卷積層輸入、CNN 池化層存在信息丟失和RNN 處理長時序時存在梯度消失的問題,在初始CNN、RNN 基礎上引入格拉姆角場(GAF)、SoftPool 池化層和多頭注意力機制(MHS),選用Bi-GRU 代替傳統的RNN 算法,達到減少模型參數的目的,所構建的物聯網入侵檢測模型(GSM-IDS)在多分類中具有較好表現,但其在處理模型輸入的數據時采用升維的方式,增加了模型處理數據的復雜度。
文獻[18]提出LUCID 模型,建立了適用CNN輸入的在線流量預處理機制,其將流量樣本轉化為二維矩陣,讓所有卷積核使用相同參數,簡化了CNN 參數學習方式,從而得到更加輕量級的訓練模型,訓練過程中學習參數、計算量、內存占用均減少,與LSTM 達到相同檢測精度時,分類速度快了40 倍,所以,CNN 在資源有限的環境中,既能最大限度地減小運算規模,同時又能保持高性能。但LUCID 模型的輸入仍然需要人為篩選出流量的11 個屬性,不能實現自主區分多屬性在檢測中的重要性。以上方法大多都是針對通信鏈路中的全部數據直接進行檢測,檢測到攻擊后對所有卸載任務進行阻斷,未考慮通過對卸載任務進行分類來降低單個任務受到攻擊時對整個鏈路中計算任務安全卸載的影響。
基于以上討論,考慮到邊緣網絡中計算和存儲資源有限的特殊性,針對現有DDoS 檢測方法性能有待提高、未對計算卸載任務進行分類處理、CNN模型不能自主過濾冗余特征的問題,本文提出一種邊緣計算中基于任務分類的Attention-1D-CNN DDoS 檢測模型TCA1C,其中包括卸載任務分類處理模塊和Attention-1D-CNN 模塊,可以在線收集邊緣網絡中的實時流量數據并及時檢測DDoS 攻擊,進而阻斷DDoS 攻擊對邊緣服務器的影響。
TCA1C 模型的卸載任務分類處理模塊對混雜在通信鏈路中的卸載數據進行分類識別,降低了不同任務受到攻擊時的相互影響。同時,在同一計算任務下提取數據的屬性值并進行歸一化,生成可直接輸入檢測模型的數據樣式。
TCA1C 模型的Attention-1D-CNN 模塊對輸入數據進行檢測,其中,通道注意力(CA)機制對1DCNN 不同通道的特征圖進行篩選,空間注意力(SA)機制對同一特征圖中不同位置的信息進行篩選,將低于篩選閾值的特征作置零處理,減少1D-CNN 的學習參數,提高模型收斂速度。
為了解決邊緣網絡中卸載任務種類不同、屬性值多樣,不利于快速完成DDoS 檢測的問題,本文提出一種TCA1C 模型。該模型部署在邊緣服務器上,由卸載任務分類處理模塊和Attention-1D-CNN 模塊構成,是一個對邊緣網絡中DDoS 攻擊進行檢測的輕量級模型。該模型架構由卸載任務分類處理、模型訓練、攻擊檢測3 個階段構成,如圖1 所示(彩色效果見《計算機工程》官網HTML 版,下同)。

圖1 TCA1C 模型架構Fig.1 TCA1C model architecture
卸載任務分類處理模塊主要完成卸載任務分類和數據處理任務,將終端設備卸載到邊緣網絡中的計算任務處理為可直接輸入檢測模塊的數據樣式,為檢測每個計算任務是否受到DDoS 攻擊做好數據準備工作。
Attention-1D-CNN 模塊主要完成模型訓練和攻擊檢測任務,1D-CNN 完成特征提取和異常檢測,CA和SA 機制對1D-CNN 提取的特征進行篩選,去除不必要的冗余特征。
終端設備將計算任務卸載到邊緣服務器時,不同設備以及同一設備的不同任務之間會共用終端設備與邊緣服務器的通信鏈路。直接在通信鏈路上采樣進行檢測會將不同任務的數據包混在一起,當檢測出有異常時,不能立刻確定是哪個任務中出現了DDoS攻擊,不利于精確實施防御措施。因此,需要將通信鏈路中混雜的數據包按卸載任務進行分類、重組,并處理成可以直接輸入檢測模型的數據樣式。
卸載任務分類處理就是根據終端設備所卸載任務的ID 信息,對鏈路中的流量數據按不同卸載任務進行分類整合,對同一個計算任務中的數據包提取屬性值并做歸一化處理,具體分為卸載任務識別分類、數據屬性值提取、屬性值歸一化3 個步驟,該過程所涉及的參數如表1 所示。

表1 任務分類處理的參數Table 1 Parameters in task classification processing
1)卸載任務識別分類。在捕獲流量的時間窗口內,通信鏈路中會有一個或若干個卸載任務的數據包,每個數據包都有自己對應的任務標識(I)。根據數據包所攜帶的任務標識對混雜在一起的數據包進行分類,每個卸載任務的數據包被組合在一起,直到收集完該任務的所有N個數據包,如圖2 所示。

圖2 卸載任務分類過程Fig.2 Offloading task classification process
2)數據屬性值提取。對每個數據包提取f個屬性,包括Protocol、Timestamp、Total Fwd Packets 等,提取的屬性保存為N×f的矩陣,N行表示有N個數據包,每一行表示數據包的所有屬性值,f列表示每個數據包的f個不同屬性,詳細屬性如表2 所示。

表2 每個卸載任務的數據包屬性Table 2 Data packet attributes of each offloading task
3)屬性值歸一化。對有空值的行進行剔除,留下的行將屬性值歸一化到[0,1],每一行的數組(1×f)就是一個單獨的樣本,在檢測DDoS 攻擊時,作為模型的輸入。
算法1 給出了卸載任務分類處理過程,步驟1 對需要的參數進行初始化,步驟2~11 為整個處理過程,步驟3~5 對數據包按任務I進行分類,步驟6~10對所有數據包的屬性值進行標準化處理,所有的處理過程都在時間窗口t內完成。
算法1卸載任務分類處理算法
模型訓練和DDoS 攻擊檢測階段都在Attention-1D-CNN 模塊中完成,具體流程如圖3 所示。

圖3 Attention-1D-CNN 模塊流程Fig.3 Procedure of Attention-1D-CNN module
1D-CNN[19]包括卷積層、池化層、全連接層,卷積層完成1D-CNN 和激活函數的運算[20],池化層完成下采樣,全連接層與傳統多層感知機(MLP)類似,完成權重學習和邏輯回歸。1D-CNN 在處理一維流信息時的計算復雜度為O(pq),其中,p為樣本大小,q為卷積核大小,所以,1D-CNN 在實時性高、資源有限的硬件上更容易實現。
1D-CNN 每層的卷積過程為:
其中:Sl-1是第l-1 層所有神經元的輸出構成的數組,同時作為第l層卷積運算的輸入;W是第l-1 層神經元到第l層神經元的卷積核;bl是由第l層神經元的偏置構成的數組;Xl是第l層所有神經元卷積輸出構成的數組;conv1D 是使用無填充valid 模式的一維卷積運算。式(1)所示即第l-1 層神經元的輸出Sl-1與第l-1 層到第l層的卷積核W進行一維卷積運算,再加上第l層神經元的偏置bl,得到第l層神經元卷積的輸出Xl。
激活過程表示為:
其中:Yl是Xl經過激活函數進行非線性映射后的輸出結果,同時作為下一步池化過程的輸入;g為激活函數,通常有Tanh、ReLU、Sigmoid、Softmax 等,此處選用Sigmoid。Sigmoid 函數可將特征轉化為權重,其表達式為:
池化過程為:
其中:Sl為Yl經過下采樣后的輸出,也是下一層卷積的輸入;↓S表示帶有采樣因子S的下采樣操作。
雖然標準1D-CNN 具有計算復雜度低的優勢,但仍有2 個不足:1)在同一卷積層中,由不同通道的卷積核生成的特征圖不同,不能識別哪些特征圖是必要的,哪些特征圖在參數學習上的貢獻度低;2)同一特征圖中不同位置的特征信息也不同,不能區分哪些特征信息是必要的,哪些信息對參數的貢獻度低。低貢獻度特征對模型訓練和DDoS 檢測作用不大,但增加了參數學習過程的計算復雜度,因此,本文在標準1D-CNN 上引入CA 和SA 機制,利用篩選函數剔除低貢獻度的特征。
注意力機制[21]與CNN 結合,不僅可以通過捕獲CNN 不同通道的權重關系給不同通道的特征進行加權,而且可以捕獲一個特征圖不同位置的權重信息,從而有效地進行特征篩選并增強特征[22-23]。
在CA 機制中,不同通道的特征圖被拼接在一起得到Lin,Lin為CA 機制的輸入。Lin經過平均池化和最大池化分別得到2 個長度與通道數量相等的一維向量,利用大小與通道數量成正比的卷積核對2 個一維向量進行卷積,將得到的2 個卷積結果利用乘法融合,再通過Sigmoid 激活函數得到代表不同通道權重值的權重向量μ,平均池化的一維向量與權重向量點積,得到篩選通道的閾值λ。不同通道的特征圖與閾值λ作為通道篩選函數FC的輸入,篩選出必要的特征圖得到Lout,減少不必要的計算量。CA 機制如圖4 所示。

圖4 CA 機制Fig.4 CA mechanism
通道篩選函數FC的定義如下:
其中:|Li,in|為第i個通道特征圖的絕對值;λ為特征圖的篩選閾值。當特征圖絕對值小于λ時,該特征圖被置為0,即Lout的值取0,以達到減少計算復雜度的目的,如圖4 中Lout的空白部分所示;當特征圖絕對值大于等于λ時,Lout的值與Lin保持一致。
在SA 機制中,每個卷積通道得到的特征圖Min經過一維卷積得到代表特征圖信息的向量α,α經過Sigmoid 激活得到該特征圖不同位置的權重向量β,Min的平均池化結果與β相乘,得到空間篩選閾值向量γ,Min和γ作為空間篩選函數FS的輸入,篩選出每個特征圖中的必要信息,剔除低于閾值但增加計算復雜度的冗余信息,得到Mout。SA 機制如圖5所示。

圖5 SA 機制Fig.5 SA mechanism
空間篩選函數FS定義如下:
其中:|Mj,in|為特征圖Min第j個位置信息的絕對值;|γj|為對應第j個位置的篩選閾值。當第j個位置信息的絕對值小于篩選閾值|γj|時,將該位置的值置為0,即Mout的值取0,達到減少計算復雜度的目的,如圖5 中Mout的空白部分所示;當第j個位置信息的絕對值大于等于篩選閾值|γj|時,Mout的值與Min保持一致。
本文采用CICDDOS2019 數據集驗證所提模型效果。CICDDOS2019 數據集由真實的網絡系統生成,包括良性流量和最新常見的DDoS 攻擊,從原理上DDoS 攻擊被分為基于反射的DDoS 攻擊和基于漏洞的DDoS 攻擊,從協議上被分為基于TCP、UDP及TCP、UDP 集成的攻擊[24],詳細的分類情況如表3所示。

表3 CICDDOS2019 數據集DDoS 攻擊的詳細分類Table 3 Detailed classification of DDoS attacks in CICDDOS2019 dataset
原始數據集按攻擊類型分為11個文件,每個文件所包括的DDoS 攻擊實例數量和實驗所用到的實例數量如表4 所示。CICDDOS2019 數據集中的實例包括56 863 個正常流量包和12 類共50 006 249 個攻擊流量包(WebDDoS 只有439 個),每個實例都有88 個特征,其中1 個為分類標簽。因為原始數據集的實例數量過大,所以在訓練和測試所提的模型時,從原始數據集中選取部分樣本構建訓練和測試樣本集,樣本集中包含從11 文件中選取的正常實例共56 863 個,在11類攻擊實例中,每類都選取56 863個。

表4 CICDDOS2019 數據集實例分析Table 4 Example analysis in CICDDOS2019 dataset 單位:個
模型的訓練和測試在Intel?CoreTMi7-1165 處理器、16 GB RAM、Win10 64 位操作系統上完成,編程環境為Jupyter Notebook 6.52,編程框架為Python 3.8和TensorFlow 2.11,1D-CNN 的卷積核大小為3,通道數為64。
TCA1C 模型的對比實驗選取DT 模型[13]、極限學習機(ELM)模型[25]、LSTM 模型[26]和1D-CNN 模型[27],本文采用準確率、召回率、精確率、F1 值和每步平均耗時作為評估TCA1C 模型性能的指標。
準確率是陽性和陰性樣本被正確區分的比例,表示對整體樣本的分類能力,如式(7)所示;召回率是在真實的陽性樣本中預測為陽性樣本所占的比例,表示正確預測陽性樣本全度的能力,如式(8)所示;精確率是在預測的陽性樣本中真實陽性樣本所占的比例,表示正確預測陽性樣本精度的能力,如式(9)所示;F1 值是召回率和精確率的加權調和平均,可平衡單維度指標的缺陷,如式(10)所示。
其中:TP表示預測和實際都是陽性的樣本數量;FP表示將陰性誤判為陽性的樣本數量;TN表示預測和實際都是陰性的樣本數量;FN表示將陽性誤判為陰性的樣本數量。
對于卸載任務分類處理模塊,本文采用計算任務安全卸載概率K來評估模塊的有效性。
當終端設備的計算任務在一定的攻擊概率Kattack下進行卸載時,采用任務分類處理時,各個卸載任務的安全概率相互獨立,表示為:
其中:Ksecure為采用任務分類處理時的計算任務安全卸載概率;Kattack為計算任務受到攻擊的概率。
當不采用任務分類時,各個卸載任務的安全概率取決于信道中所有卸載任務的安全情況,每個需要卸載任務的安全概率相互影響,表示為:
模型訓練的準確率收斂情況如圖6 所示。DT 在訓練10 輪時,準確率從0.500 0 上升到0.913 0,在10 輪以后迅速收斂并穩定在0.993 3 附近。ELM 收斂的波動幅度較小,從0.954 6 穩定收斂到0.965 8 附近。TCA1C 與LSTM、1D-CNN 的收斂趨勢大致相同,但TCA1C 和LSTM 比1D-CNN 收斂得更快,在訓練10 輪時,TCA1C 和LSTM 可以達到0.993 0 以上的準確率,而1D-CNN 在訓練40 輪時才能接近0.993 0。TCA1C 在訓練10 輪以后,準確率穩定接近0.997 5,而LSTM 波動幅度很大,準確率最高為0.993 5,最低為0.955 0。從收斂速度和結果來看,TCA1C 明顯優于其他對比模型。

圖6 5 種模型準確率的收斂性Fig.6 Convergence of accuracy for five models
5 種模型訓練過程中每步平均耗時如圖7 所示。LSTM 在訓練過程中學習的參數比其他模型更多,每步平均耗時最長且波動幅度大,最短為11 ms,最長為209 ms。ELM 在10 輪以后每步平均耗時明顯變長,在20~60 ms 之間波動。DT、1D-CNN 和TCA1C 每步平均耗時均在15 ms 以下,由于TCA1C在訓練過程中,通過CA 和SA 機制減少了冗余特征的學習,因此TCA1C 比1D-CNN 在耗時方面更占優勢,90%以上的每步平均耗時低于1D-CNN,在準確率高于DT 情況下,每步平均耗時與DT 基本一致,穩定在4~8 ms 之間。

圖7 5 種模型每步平均耗時Fig.7 Average time consuming per step of five models
5 種模型在精確率、召回率、F1 值上的表現情況如圖8 所示。各模型對數據集里11 類DDoS 攻擊進行檢測,對各類攻擊檢測的性能取平均值進行比較。DT 的綜合表現為:精確率0.993 43,召回率0.993 51,F1 值0.993 45。ELM 的綜合表現為:精確率0.960 74,召回率0.960 31,F1 值0.960 12。LSTM 綜合表現為:精確率0.995 50,召回率0.995 42,F1 值0.995 39。1D-CNN 綜合表現為:精確率0.996 86,召回率0.996 80,F1 值0.996 82。TCA1C 綜合表現為:精確率0.997 28,召回率0.997 27,F1 值0.997 25。TCA1C 整體上優于DT、ELM、LSTM 和1D-CNN 模型,并得到了更好的分類結果。

圖8 5 種模型性能對比Fig.8 Performance comparison of five models
當邊緣網絡中進行卸載的計算任務受到攻擊概率為20%和40%時,各計算任務安全卸載概率如圖9 所示。需要卸載的計算任務經過任務分類處理,安全卸載概率相互獨立,能保持較高水平。未經任務分類處理時,不同卸載任務的安全卸載概率互相影響,最終的安全卸載概率隨著卸載任務數量的增加而快速降低,嚴重影響了卸載任務的安全性。

圖9 計算任務安全卸載概率Fig.9 Computing task security unloading probability
基于以上仿真結果和分析可知,TCA1C 模型在DDoS 檢測方面具有明顯優于ELM、LSTM 和1D-CNN的準確率和時間性能,雖然時間性能與DT 相當,但準確率明顯優于DT 模型,通過在線流量處理,可以解耦不同卸載任務的關聯性,有效保障終端設備在進行計算卸載時整體的安全性。
本文針對邊緣網絡中防御DDoS 攻擊時資源受限的特點,研究和分析當前邊緣網絡DDoS 防御方法存在的問題,提出了一種基于任務分類的Attention-1D-CNN DDoS 檢測模型TCA1C。該模型通過卸載任務分類處理機制對混雜在通信鏈路中的流量數據按任務分類并處理為可以直接輸入到檢測模塊的數據樣式;通過Attention-1D-CNN 模塊對每個計算任務進行DDoS 檢測,正常數據進入邊緣服務進行處理,異常數據被丟棄或將該會話關閉。實驗結果表明,TCA1C 模型對DDoS 攻擊在降低整體用時的情況下,具有較高的檢測準確率,當卸載任務面臨一定攻擊概率時,能使計算任務的卸載保持較高的安全性。TCA1C 模型的優異性能表明,該模型是一種適合邊緣網絡環境的DDoS 攻擊檢測方法。下一步工作將在此基礎上,研究邊緣網絡中攻擊強度、入侵響應策略對計算任務安全卸載的影響,尋求能夠降低計算任務安全卸載所需成本的高效檢測方案。