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