◆方友志 譚坤淋
(重慶對外經貿學院 重慶 401520)
本文以DDoS攻擊的檢測模型為基礎提出一種集成學習分布式檢測框架,能夠針對DDoS攻擊流量特點進行檢測方法的研究和分析。這種框架對流量采用了分布式的采集存儲技術,同時可以對數據進行實時清洗,能夠滿足對DDoS攻擊檢測的精準性與及時性等要求。結合大數據技術框架而建立的DDoS攻擊檢測系統使用了Gopacket、Libpcap 等工具構建出分布式流量采集傳感器,能夠對互聯網中的流量進行隨時的采集,采用Spark Streaming 來構建提取流量特征的模塊,提取多維度特征時則采用TCP/IP 的網絡編程模式與DDoS攻擊流量數據包相結合的方式,檢測算法方面采用了分布式森林檢測算法來對Spark 所構建出的DDoS攻擊檢測模型進行檢測,這樣能夠最大限度的滿足對大數據流量實時檢測的需求。
機器學習屬于人工智能中的一個分支,人工智能的脈絡是從推理到感知到學習,機器學習是通過讓機器進行學習來實現人工智能解決問題的一種方式。機器學習作為一門交叉學科,涉及了多個學科,其中包含統計學、概率論、算法復雜度理論以及逼近論等。通過運用機器學習理論對計算機提供訓練,即通過訓練能夠讓計算機系統地學到新的知識以及技能,進而可以對數據進行分類和預測。機器學習具有優秀的分類能力和預測能力,能夠廣泛應用在信息安全領域當中,目前我國應用機器學習算法的領域有決策樹、神經網絡、支持向量機以及貝葉斯分類等算法。
DDoS攻擊即分布式拒絕服務攻擊,DDoS 通過控制網絡上的僵尸主機來產生大量的流量,通過大規模的數據流向來攻擊主機,最終達到消耗主機網絡帶寬以及系統資源,從而讓主機無法繼續正常工作的目的。DDoS 的攻擊主要分為兩種,即攻擊網絡帶寬資源以及攻擊系統資源兩種:
互聯網是由大量終端設備連接形成的網絡,想要獲取某一臺服務器上的信息內容,則需要將請求的數據指令通過特定的路徑傳遞過去,在傳遞的過程中需要經過許多不同的網絡涉筆。現階段我國的路由器、服務器以及交換機的數據包解析能力和網絡帶寬是有限的,因此當大量的數據包向某一網絡進行發送時,就會造成網絡堵塞的情況,無法進行正常的功能運行。DDoS攻擊就是利用了這一個特點,產生大量無用的數據包來占領網絡設備以及途徑的帶寬,繼而造成主機面對合法請求的時候無法進行正常的響應,進而拒絕服務。DDoS網絡帶寬資源攻擊也能包含兩種,即直接洪水攻擊與反射放大攻擊。
2.1.1 直接洪水攻擊
這種攻擊的原理是控制大量的僵尸主機來產生大量無效數據包,發送給被攻擊的網絡或者主機,這樣能夠對其網絡帶寬資源進行消耗。應用最廣的直接洪水攻擊為ICMP 以及UDP 兩種洪水攻擊模式。
2.1.2 反射放大攻擊
直接洪水攻擊,操作簡單但效果并不理想,并且極易被查出攻擊源頭。反射放大攻擊能夠有效彌補這兩項缺點。利用路由器以及服務器等設備對請求所產生的響應進行DDoS攻擊,這樣不僅能夠降低僵尸主機發送數據包的壓力,還能夠有效避免被查出來源。應用最廣的反射放大攻擊為ACK、DNS 兩種反射攻擊模式。
除網絡帶寬攻擊外,DDoS攻擊也可以對服務器的系統資源進行消耗。客戶端與服務器采用TCP 協議來進行通信對話,TCP 作為通訊協議具有一定的可靠性,其連接方式按照三個階段進行,即連接創建、數據傳送以及連接終止。因TCP 在進行設計時并沒有考慮到安全的問題,因此具有較多漏洞可以進行攻擊。
2.2.1 TCP 洪水攻擊
服務器在TCP 協議建立連接后,會在內存中單列出一塊區域對TCP 的鏈接信息進行保存,但連接過多就會對服務器內存資源造成大量的消耗,超過一定的內存后就會無法繼續建立連接。TCP 的洪水攻擊采用的是消耗連接數的原理,讓被攻擊目標的服務器無法進行新連接的建立。
2.2.2 SYN 洪水攻擊
TCP 連接三階段中,客戶端如果沒有對服務器所反饋的報文回應,服務器就會在一定時間內進行多次重傳,這個過程中TCP 的鏈接信息就會一直處于保存的狀態。SYN 洪水攻擊能夠利用僵尸主機產生大量SYN 同步報文,被攻擊目標受到報文后就會向偽造的IP 地址發送應答,但服務器并不會收到相對的數據包,這樣就會造成被攻擊服務期內產生大量的無效連接,服務器的內存資源會被大量的消耗和攻擊。
網絡安全領域近幾年的研究難點與熱點始終是DDoS,但目前仍然沒有較為統一的方法來對DDoS攻擊進行有效的防御。DDoS 的攻擊檢測能夠快速識別出DDoS 的攻擊流量并且發出警告,是DDoS攻擊防御的起始步驟,在整個攻擊防御的體系當中具有相當重要的意義。我國對DDoS攻擊檢測技術的研究主要集中在收集并且分析網絡中的大量流量數據來檢測有可能出現的攻擊情況,根據檢測模型的驗證結果能夠分為誤用檢測以及異常檢測兩種情況。
誤用檢測指的是通過收集、檢測流量中的簽名或者已經確定的攻擊模式來進行攻擊檢測,這種檢測模型需要建立起專屬DDoS 的攻擊特征數據庫,將采集的流量與數據庫中的特征進行匹配,最后得出結論。誤用檢測模型更加適合應用具有較為明顯攻擊特征的DDoS攻擊的檢測當中,例如一些針對系統漏洞的攻擊。但現階段的攻擊流量已經逐漸向正常流量靠攏,特征不再明顯,因此使用誤用檢測無法檢測出許多類型的DDoS 檢測。
異常檢測模型作為目前應用最為廣泛的模型,其原理在于流量模型是建立在正常情況范圍中并對網絡進行實時監測,發生DDoS攻擊時網絡中就會出現偏離正常流量的現象,這樣就能夠判斷是否出現了攻擊。這樣的檢測形式更加獨立,并且不需要依賴DDoS攻擊特征,能夠更好地識別一些未知的攻擊情況。但引發網絡異常的影響因素較多,未必都是DDoS攻擊,也有可能是其他的情況,因此這項模型很容易出現誤報的情況。
這兩種檢測模型各自具有自身的優缺點,可以說誤用檢測模型的檢測效率較高,但對未知攻擊無法進行有效識別,異常檢測模型能夠識別異常攻擊,但精準度不高。有專家學者認為可以將這兩種模型的優點結合在一起,因此提出了綜合檢測模型的理論。檢測方法方面可以采用基于統計分析方法、基于深入學習、基于傳統機器學習算法、基于知識方法以及多種方法混合的檢測方法。
基于統計學的檢測方法主要通過對比正常狀態下的流量與攻擊狀態的流量來檢測DDoS攻擊。出現DDoS攻擊時,流量會出現猛增的現象。但網絡的正常狀態下無法直接獲得流量總值,所以需要通過統計的方法來對流量值進行比較進而判斷是否存在DDoS攻擊。通常采用的方法為:
(1)機器學習檢測法:即對某件事發生的概率進行總結,進而預測這件事是否會發生。在進行DDoS攻擊檢測時,這項檢測方法將檢測問題進行多種分類,打造出可以自我學習的攻擊檢測模型,經過不斷的學習和訓練,進而判斷數據的正常與否。
(2)根據請求頁面大偏差值統計進行檢測,這種方法主要用來判斷用戶所訪問的網站是否為高頻網站,出現攻擊時,攻擊者通常會采用隨機任意請求網頁,這樣就可以采用概率分布來進行全面檢測。
綜上所述,互聯網技術隨著信息時代的發展,已經潛移默化的融入各行各業當中,網絡的安全技術卻始終落后于互聯網的發展進度,這樣就讓網絡安全問題成為互聯網技術發展的最大問題。DDoS攻擊在眾多網絡攻擊方式中具有最大的殺傷力,能夠直接導致企業或者組織的計算機出現大面積癱瘓的情況,服務功能在很長一段時間內無法使用,進而造成無法挽回的損失。采用DDoS 檢測系統能夠有效的對正常流量中的攻擊流量進行檢測盒過濾,采用大數據技術對攻擊IP 進行追蹤分析能夠尋找到規律,以及活動范圍進而提升對攻擊流量清洗的精準度,因此研發一套可靠的DDoS攻擊檢測系統對我國網絡安全有著至關重要的意義。