?

物聯網DDoS攻擊檢測研究

2021-08-06 05:48黃華雪王印璽
現代計算機 2021年16期
關鍵詞:字段數據包網關

黃華雪,王印璽

(四川大學網絡空間安全學院,成都 610065)

0 引言

隨著5G通信網絡在我國正式商用,物聯網行業即將進入迅猛發展期。根據GSMA預測,到2025年全球物聯網設備連接規模將達到250億[1],然而物聯網設備安全防護能力較弱,容易被黑客入侵。近年來,物聯網硬件和軟件層面得到大力發展,人們利用物聯網技術構建智能零售、智慧農業、智能家居、智能交通、智慧物流、智能醫療和智慧城市,囊括了人們衣食住行醫方面方面。隨著物聯網設備接入網絡的數量和種類不斷增多,使得網絡管理、業務拓展、運營維護變得困難重重。生產廠商為了快速占有市場份額,在安全防護方面的研發投入差強人意,導致安全事故頻出。2016年,攻擊者使用Mirai病毒控制大量物聯網設備向DNS服務器發動DDoS攻擊,導致大面積通信服務處于癱瘓狀態[2]。物聯網設備成為發動DDoS攻擊的溫床[3],被控制后形成僵尸網絡,發動大規模DDoS攻擊。物聯網DDoS攻擊不僅影響應用服務的安全穩定,而且會危害網絡關鍵基礎設施,更有甚者威脅國家安全。

如何在海量的物聯網連接中檢測出DDoS攻擊活動是比較困難的問題。一方面受限于物聯網設備低成本、低功耗、計算資源有限等現實因素,不同物聯網設備使用通信協議也不同,很難將為傳統x86設備設計方案硬搬到物聯網中。另一方面攻擊與防御一直處于動態博弈之中,新的檢測防御方法剛被提出,就會有新的攻擊手段產生并突破防御。人工檢測方法具有明顯的滯后性,當新型僵尸網絡病毒發動大規模DDoS攻擊時,才會引起從業者關注,進行事后分析。淺層機器學習檢測物聯網DDoS攻擊精度與特征選取有關,十分依賴專家經驗,所以手動提取特征無法避免。深度學習檢測方法無需手動選取特征,檢測精度往往取決于參數優化與神經網絡結構選取,缺乏可解釋性。

物聯網在DDoS攻擊中同時扮演“受害者”與“助手”兩種角色,比如被控制物聯網設備向局域網內的其他物聯網設備發動DDoS攻擊。為了盡早阻斷攻擊者對內網與外網發動的攻擊活動,需要在物聯網網關處部署檢測算法。但考慮到檢測方案可能會耗費大量資源,并不適用資源受限的物聯網網關環境。如果在網關處檢測過多特征將耗費大量資源,勢必影響網關正常轉發工作,所以為網關增加邊緣計算等設施是必要的。本文提出一種基于TCN物聯網DDoS檢測方案,該方案部署在邊緣計算節點上,并且邊緣計算節點的網卡以混雜模式工作,以獲取局域網內的流量。

1 相關工作

針對物聯網DDoS攻擊,國內外的研究者進行嘗試,獲得大量研究成果,大致可分為基于異常檢測和基于特征的檢測。異常檢測方案,通過建立正常的網絡行為模型作為基準,當檢查到實際網絡活動與模型有較大偏差時,則認定該活動為網絡攻擊。特征檢測方案,通過發掘實際網絡行為與已知的特征庫進行比對,進而判斷該活動是否為網絡攻擊。

1.1 異常檢測

Galeano等人[4]提出的基于熵的度量來檢測與緩解DDoS攻擊的方法。重放Bot-IoT數據集,對網絡流量的源/目的IP、源/目的端口的信息進行熵計算。當捕捉到DDoS攻擊會導致網絡流量分布發生顯著變化時,自動生成能減輕威脅的規則,將其發送至OpenFlow交換機,達到阻斷DDoS攻擊效果。

Zheng等人[5]提出了一種基于COTS SDN交換機的兼具自適應星與實時性的檢測DDoS攻擊的體系結構RADAR。RADAR由收集器、探測器和定位器三部分組成。RADAR可以實時識別不同的洪泛攻擊,如SYN洪泛、UDP洪泛和DNS放大攻擊。并在在Mininet和基于硬件的測試臺上進行測試,結果表明,該系統能以較少的時延和可接受的開銷更有效地發現DDoS。

Siddharth等人[6]提出基于圖的異常流量檢測算法MIDAS,該算法利用源IP地址,目的IP地址和時間戳來構建網絡連接拓撲圖,通過卡方檢驗計算圖中邊、邊的兩端點的得分,并選去其中的最大值作為分數輸出。并使用DARPA數據集進行測試,結果表明該方案具有實時檢測DDoS攻擊的能力,檢測的準確度為0.96。

Li等人[7]提出了一種基于生成對抗網絡的無監督多元異常檢測方法MAD-GAN,該方法的生成器和判別器同時使用LSTM作為基本模型,來捕獲時間序列分布的相關性。該基本模型不是單獨處理每個數據流,而是同時考慮整個變量集,以便捕獲到變量之間的潛在關系。并通過測試數據和重構數據之間的殘差來識別測試數據中的異常。

1.2 特征檢測

Ozcelik等人[8]提出一種基于SND和霧計算的檢測和緩解DDoS攻擊方案ECESID。該方案首先利用Mirai變種病毒感染多臺物聯網設備,向基于霧計算平臺的軟件定義網絡控制器發動DDoS攻擊;然后利用每個物聯網設備的TCP SYNs隊列作為TRW-CB(Threshold Random Walk with Credit Based Rate Limiting)算法檢測的特征,以及連接目的IP地址集作為RL(Rate Limiting)算法的特征,將惡意主機與良性主機區分開來,以識別軟件定義的物聯網環境中的惡意活動;最后將檢測到的惡意數據包丟棄。

Doshi等人[9]提出面向IoT流量的機器學習檢測DDoS攻擊框架,首先記錄數據包的源IP地址、源端口、目標IP地址、目的端口、數據包大小和時間戳信息,并按設備和時間對數據包進行分組;然后基于物聯網設備行為的領域知識,為每個數據包生成無狀態和有狀態特征;最后對比k近鄰、隨機森林、決策樹、支持向量機和ANN訓練的模型來區分正常流量和DDoS攻擊流量,五種算法的測試集精度都高于0.99。

Zheng等人[5]提出一種基于SDN網絡的物聯網網關檢測DDoS攻擊機制,使用邊緣計算解決SDN控制器過載的問題,通過訓練機器學習的模型定位惡意流量。文獻[10]使用CICIDS2017數據集訓練分別CNN,LSTM和混合CNN+LSTM模型對DDoS攻擊檢測進行了評估,混合CNN+LSTM模型提供了最高的準確性97.16%。

2 基于TCN的物聯網DDoS攻擊檢測

對于時間序列數據的分析,最常用的神經網絡是RNN。RNN可以使用內部存儲器來處理輸入時間序列,但是由于RNN易出現梯度消失,網絡幾乎不可訓練,導致RNN模型通常不直接用于長期記憶計算。LSTM就是用來解決RNN中梯度消失問題的,LSTM可以處理具有數千個甚至數百萬個時間點的序列,并且即使對于包含許多高頻和低頻成分的長時間序列也具有良好的處理能力,但是LSTM計算復雜度高。一維卷積網絡也能應用于時間序列分析,計算復雜度比LSTM小。TCN在處理非常長的輸入序列方面表現出比LSTM更好的性能。本文提出利用TCN模型對物聯網DDoS進行檢測。TCN模型是以CNN模型為基礎,利用因果卷積、殘差模塊和空洞卷積進行改進。

2.1 TCN模型

圖1 因果卷積

殘差模塊解決了梯度消失或者梯度爆炸問題,使得網絡性能不會隨著深度的增加而降低。如圖2所示:該結構目的是為了學到一種恒等映射函數H(x)=x。但網絡直接學習上述恒等變換是困難的,所以令H(x)=F(x)+x,其中identity映射執行同等映射為x,residual映射為F(x),只需讓網絡習得F(x)=0即可。假如網絡在深度為n時到達最優,此時繼續加大n,則F(x)=0,只剩下x。此后,網絡一直將處于最優狀態,網絡的性能也就不會隨著深度增加而降低。

圖2 殘差模塊

圖3 空洞卷積

2.2 數據處理

本文使用libpcap對經過網卡流量或者公開的pcap格式數據集進行解析,選取的流量特征不包含任何的IP、端口信息,因此完全取基于報文的具體內容來對流量進行識別和判斷。特征提取的內容參考了文獻[11]中所使用的特征,并進行修改。選取數據包中如表1的10個特征。其中Protocols的值是一種包括了網絡層到應用層的協議的二進制詞袋結構。當數據包采用TCP協議傳輸時,UDPLen與ICMPType分別被置為0、20(ICMP類型有十幾種,且0被占用,用20代表未使用ICMP協議)。當UDPLen不為0時,所有與TCP相關的字段設置為0,ICMPType為20。當ICMPType不為20時,TCP與UDP相關字段都被設置成0。

表1 特征說明表

以上10個特征都采用了對應的方法進行規范化,將其轉化在[0,1]之間分布的浮點數。對PKTLen、IPFlags、TCPLen、TCPwinsize和UDPLen字段采用將16位二進制轉化為整數后除以216后規范化為浮點數;對Protocols、TCPFlags和ICMPType字段采用將8位二進制轉化為整數后除以28后規范化為浮點數;將Time字段在放大1000000倍后取整,再除以232后規范化為浮點數;對TCP ACK字段采用將32位二進制轉化為整數后除以232后規范化為浮點數。

3 實驗評估

本文首先搭建如圖4所示的環境,物聯網網關左側是三臺物聯網設備(黃色的為正常節點,灰色為惡意節點),下側為配備Intel Xeon Silver 4210 CPU,64 GB內存和NVIDIA GeForce GTX 1080Ti的邊緣計算節點,物聯網網關是在Raspberry Pi 4B基礎上定制的OpenWrt系統。

圖4 實驗環境架構

本文使用了由加拿大網絡安全研究所提供的CIC-DDoS2019公開數據集,該數據集包含正常流量和最新常見DDoS攻擊的PCAP文件。但是CIC-DDoS2019數據集中大部分都屬于攻擊流量,正常的訪問流量相對較少,所以本文抓取了部分正常流量作為補充,使得數據集均衡,最后使用Scapy重放數據集。

本文使用TensorFlow 2.2深度學習框架來構建TCN模型,訓練TCN模型的epochs設置為20,batch-size設置為64,dropout設為0.05,擴張因子設置為16,Adam作為優化器。

本文評價指標公式如下所示:

最后,本文對提出TCN模型與Lucid-CNN模型進行對比實驗,實驗結果如表2所示,TCN模型的結果在多個指標上都比Lucid-CNN好。

表2 對比實驗

4 結語

物聯網DDoS攻擊持續破壞互聯網的可用性,本文提出了基于TCN的物聯網DDoS攻擊檢測框架,該檢測方案是部署在邊緣計算節點。使用改進公開數據集CIC-DDoS2019作為訓練模型,由于CIC-DDoS2019的攻擊流量遠大于正常流量,所以抓取了部分正常流量使得數據集平衡。本文獨特的流量預預處理機制,不僅可以消除奇異樣本數據導致的不良影響,還能保持流量間時序關系。通過與其他深度學習方法進行比較,TCN模型可以快速收斂并獲得相對較好的精度,取得了令人鼓舞的性能。經實驗驗證,本文檢測精度高達0.993。

猜你喜歡
字段數據包網關
智能燃氣表物聯網運行體系網關技術研究
基于FPGA的工業TSN融合網關設計
二維隱蔽時間信道構建的研究*
帶鉤或不帶鉤選擇方框批量自動換
大規模低軌衛星網絡移動性管理方案
一種主從冗余網關的故障模式分析與處理
C#串口高效可靠的接收方案設計
網絡數據包的抓取與識別
無正題名文獻著錄方法評述
無正題名文獻著錄方法評述
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合