唐思均
?
分布式環境下基于機器學習的DDoS攻擊檢測的研究與發現*
唐思均
(宜賓職業技術學院,四川 宜賓 644000)
隨著計算技術的快速發展,分布式拒絕服務(Distriibuted Denital of Service,DDoS)攻擊已經成為目前信息網絡不穩定的重要原因,由于僵尸網絡的盛行,DDoS已經越來越嚴重,每次攻擊都會產生嚴重的影響。主要圍繞分布式環境下DDoS攻擊原理和DDoS檢測方法進行分析,探討分布式環境下DDoS攻擊系統設計與實現的有效方式,從而為相關領域提供豐富的理論基礎。
分布式環境;機器學習;DDoS;攻擊檢測
DDoS攻擊通常也被稱為分布式拒絕服務攻擊,這是一種通過控制網絡上的主機產生大量的流量來制造巨大規模數據,流損耗主機網絡帶寬使主機無法正常工作的攻擊方式。DDoS的攻擊方式主要有攻擊網絡帶寬資源和攻擊系統資源兩種。由于互聯網中路由器、服務機、交換機設備在帶寬和數據包解析方面能力有限,因此如果大量的網絡數據同時發過來,會導致網絡出現堵塞,無法提供正常的服務。DDoS攻擊利用消耗網絡帶寬的原理,產生大量不必要的數據包,給被攻擊的網絡設備帶來巨大的數據流量,使被攻擊的主機無法正常響應。消耗網絡資源的DDoS攻擊主要分為直流洪水攻擊和反射放大攻擊。
其中直流洪水攻擊主要是通過控制一定數量的僵尸主機,制造大量的網絡數據包,同時發送給被攻擊的主機網絡,使被攻擊的主機因為網絡帶寬被占滿而無法正常運行。通常情況下,直流洪水攻擊有ICMP洪水攻擊和UDP洪水攻擊兩種。反射放大攻擊跟直流洪水攻擊相比,原理較為復雜,由于直流洪水攻擊的攻擊效果并不理想,非常容易被查到攻擊源頭,而反射放大攻擊則完美地解決了直流洪水攻擊存在的缺點。反射攻擊主要通過路由器、服務器等網絡設備產生響應來發動攻擊,反射式攻擊不僅能夠有效地減輕僵尸主機的運行負擔,并且攻擊源頭也不容易被查找。常見的反射式攻擊包括ACK反射攻擊和DNS反射攻擊等。
根據目前數據統計,DDoS的攻擊工具種類很多,最常見的攻擊工具有TFN2K、SynK4、LetDown、Hyenae等。其中TFN2K的最早版本是TFN,這個程序支持多種攻擊方式,經過不斷完善,已經成為目前最常見的DDoS攻擊方式。Synk4攻擊工具是由C語言編寫的,不僅可以在UNIX使用,同時還能夠與GNU兼容,在沒有保護設備的網絡環境中,攻擊效果十分明顯。LetDown可以發動非常強大的洪水攻擊,可以在TCP的任何階段切斷網路,攻擊方式非常復雜,很多網絡入侵檢測系統都無法有效地攔截。Hyenae是一種有效的網絡數據偽裝包發生器,可以在IPv4和IPv6環境中發動各種形式的DDoS攻擊,并且Hyenae可以獨立運行,不受網絡設備的干擾,甚至可以繞過防火墻對主機造成嚴重的影響。
目前,DDoS的攻擊方式越來越復雜,對DDoS攻擊進行檢測也變得越來越困難,在過去的幾年里,很多網絡安全研究者研發了多種檢測DDoS攻擊的有效工具,這些檢測工具和方法有的是分布式的,有的則是集中式的。DDoS攻擊檢測系統主要是通過檢測干擾系統服務信號為主機提供網絡保護。
當主機遭到DDoS攻擊時,被攻擊的主機網絡中會瞬間出現大量的數據包,網絡流量數據會出現明顯的異常,因此,基于網絡流量的DDoS檢測方法最直接也最有效。基于網絡流量的DDoS檢測方法包括基于全網流量變化檢測、TCP數據包變化比例檢測、子網流量變化檢測三種方式。其中基于全網流量變化的檢測是通過對網絡中源IP和目的IP之間的流量進行檢測,根據網絡攻擊流的相關性,可以建立相應的流量矩陣,最終檢測出DDoS的攻擊方式。TCP數據包變化比例檢測主要是通過對網絡環境中TCP數據包的標志位比例進行檢測,一旦比例發生明顯的變化,就會檢測出相應的DDoS攻擊方式。子網流量變化檢測主要是通過網絡中流量的變化情況,根據攻擊原理,檢測出DDoS攻擊方式。
基于地址變化的DDoS檢測方法是由源地址出現速率變化和源地址分布變化兩部分組成。源地址出現速率變化的檢測原理是,主機在受到DDoS攻擊的時候,由于工具的數據包往往跟正常的數據包相同,但是被攻擊的網絡IP地址數量會急速增加,根據這個原理,使用機器學習的方式就能夠快速有效地檢測出DDoS的攻擊方式。這種方式對源地址均勻分布的DDoS攻擊檢測效果非常顯著。源地址分布變化的檢測原理是,主機在正常運行的情況下,IP地址分布比較穩定,一旦受到DDoS攻擊之后,很多IP地址都是DDoS偽造的,因此,此時IP地址分布會變得非常不穩定,根據這個特點,使用滑動窗口將數據包進行分類,通過計算相鄰滑動窗口的系數,就能夠有效地檢測出DDoS的攻擊方式。
如果主機受到DDoS攻擊的時候,由于攻擊數據包頭部信息很多都是隨機產生的,因此,數據包信息的統計結果會發生明顯的改變。利用相應的方法檢驗數據包頭部的信息,并與正常情況的分布信息情況進行比較,可以快速有效地分析出響應的DDoS攻擊方式。另外,還可以通過對數據包進行采樣分析,從而降低計算的難度,進行高效的DDoS檢驗。目前常見的DDoS攻擊方式主要是SYN洪水,由于攻擊者在進行DDoS攻擊的時候,會發送大量的SYN數據包,但是不會對被攻擊主機的服務器做出相應的回應,因此,能夠快速消耗被攻擊主機的網絡寬帶,使其無法正常運行。利用被攻擊主機受到的SYN數據包進行分析,可以檢測出發動SYN攻擊的主機網絡位置。
通常情況下,分布式環境DDoS攻擊檢測系統由四個部分組成,分別為數據采集系統、數據處理子系統、HDFS分布式文件系統和數據分析子系統。其中數據采集子系統負責觸發檢測系統工作并進行源數據的獲取,提取相關信息為后續的工作做準備。數據處理系統負責對數據進行處理加工,其中包括數據包分組信息、數據特征信息提取和統一歸類操作等。HDFS子系統是對海量的數據信息進行快速有效的儲存,當進行數據處理的時候,能夠將數據信息進行快速的提取。數據分析子系統主要負責對數據特征進行分析,檢測出相應的DDoS攻擊方式。
數據采集子系統主要負責對數據包信息進行快速提取,在獲取數據包的時候,數據采集子系統會根據相應的原理提取其中不同的特征信息,并快速發送給后面的系統進行相應的處理和檢測工作。數據采集系統另一個重要的功能是能夠快速啟動DDoS攻擊檢測系統。在主機正常運行的情況下,不會對DDoS攻擊進行檢測,只有在數據采集子系統獲取相應的數據包之后,才會啟動這一功能。因此,數據采集子系統的設計對于檢測DDoS有著非常重要的作用。
在DDoS檢測系統中,HDFS分布式文件系統主要負責數據包的儲存工作,數據采集系統會將獲取的數據包傳送給HDFS分布式文件系統,然后HDFS會以文本的形式進行保存。HDFS系統有很多應有優勢,不僅適應各種大數據的儲存,同時也能夠在性能較低的主機上運行,并且HDFS系統有著一定的容錯機制,每份數據包信息都會進行多份儲存。通常情況下,HDFS系統是由客戶端、Secondary NameNode節點、NameNode節點組成,數據被獲取之后,系統會自動緩存一定的時間,且每過一定的時間,HDFS客戶端就會將文本文件儲存到HDFS系統中,確保數據采集子系統提取的信息能夠進行快速有效的存儲。
數據處理子系統的主要作用是對數據進行一定的加工處理,主要包括分組、特征信息提取等。通常情況下,數據處理子系統都是利用Java語言進行編寫,包括數據分組和數據提取兩個部分。數據分組功能是將處理過的信息根據數據特征進行快速有效地分組,分組原理跟協議類型有所不同。數據提取是將分組后的數據根據特征進行提取,這個功能通常是利用Spark進行設計,具有較快的反應速度和較高的可拓展性。
數據分析子系統的功能主要是對檢測的數據進行分析,獲得相應的DDoS攻擊的IP地址,其中BP神經網絡是數據分析子系統的核心。在進行大量的樣本分析的過程中,數據分析子系統會利用BM-HJ-GSO算法進行誤差分析,從而獲取DDoS攻擊的引擎信息,對DDPS攻擊檢測系統輸入相應的特征數據后,可以對DDoS進行全面的檢測,并得出相應的分析結果。在進行BM-HJ-GSO計算的時候,通常需要使用Spark算法,這樣可以快速有效地獲取DDoS的初始值。通過使用BP神經網絡的初始值,可以對DDoS進行全方位的檢測工作。在對BP神經網絡進行調試的過程中,需要獲取相應的神經網絡模型。將檢測模型的特征信息轉化成RDD信息,然后再對DDoS進行檢測。
隨著計算機技術的快速發展,為了給用戶的網絡使用安全提供保障,應該完善分布式環境下基于機器學習的DDoS的檢測技術,網絡安全人員需要明確DDoS的攻擊原理和常見的DDoS攻擊工具的特點,設計相應的DDoS檢測系統,從而快速有效地檢測出DDoS攻擊方式,使用戶的網絡能夠不受干擾。
[1]譚淼.分布式環境下基于機器學習的DDoS攻擊檢測的研究與實現[D].北京:北京郵電大學,2018.
[2]賈斌.基于機器學習和統計分析的DDoS攻擊檢測技術研究[D].北京:北京郵電大學,2017.
[3]劉運.DDoS Flooding攻擊檢測技術研究[D].長沙:國防科學技術大學,2011.
[4]孫永強.基于機器學習的分布式拒絕服務攻擊檢測方法研究[D].長沙:國防科學技術大學,2006.
唐思均(1980—),男,四川宜賓人,研究生,講師,研究方向為計算機科學。
四川省教育廳科研項目“基于分布式拒絕服務攻擊(DDoS)防御技術研究”(項目編號:18ZB0678)
2095-6835(2019)07-0001-02
TP393.08
A
10.15913/j.cnki.kjycx.2019.07.001
〔編輯:嚴麗琴〕