關於DDoS攻擊及防禦技術綜述

DDoS攻擊及防禦技術綜述
本文內容爲論文轉載。

摘    要:
分佈式拒絕服務攻擊 (Distributed Denial of Service, DDoS) 是互聯網上有嚴重威脅的攻擊方式之一, 難以完全對其進行防禦。介紹DDoS攻擊的技術原理, 在此基礎上, 分析主流入侵檢測方式在DDoS攻擊檢測中的優缺點。最後, 全面分析了適用於DDoS攻擊防禦的技術手段, 爲防禦DDoS攻擊提供了技術參考。

關鍵詞:
DDoS; 攻擊技術; 攻擊防禦; 攻擊檢測;

0 引言
在互聯網的各種安全威脅中, 拒絕服務攻擊威脅性強, 而分佈式拒絕服務攻擊所帶來的安全威脅程度更高, 後果損失更加嚴重。從廣義上來說, 拒絕服務攻擊指任何導致網絡系統不能正常爲用戶提供服務的攻擊手段, 主要包含漏洞利用型攻擊和資源消耗型攻擊兩類。漏洞利用型攻擊針對被攻擊的系統或軟件漏洞, 精心設計特殊的報文, 使得目標系統、軟件崩潰或者重啓。目前這類攻擊的危害不是非常大, 在防火牆及各種檢測機制的保護下, 能夠有效避免。資源消耗型攻擊也稱泛洪攻擊, 它的攻擊方式是在短時間內發送大量的報文來對目標進行攻擊, 使得目標機器的計算能力和處理能力大幅度降低, 從而造成目標服務器的服務質量下降甚至停止服務。相較於漏洞利用型攻擊方式, 資源消耗型攻擊方式更依賴於對目標主機性能的干擾, 由此也產生了後來的分佈式拒絕服務攻擊。

1 DDoS攻擊技術原理
1.1 攻擊網絡帶寬
(1) 直接攻擊。直接攻擊是指攻擊者利用控制的大量主機對受害者發送大量的數據流量, 使得受害者的網絡帶寬被佔據, 並大量消耗服務器和網絡設備的處理能力, 達到拒絕服務攻擊的目的。例如ICMP/IGMP洪水攻擊, UDP洪水攻擊等都是典型的DDoS直接攻擊方式。

(2) 反射和放大攻擊。直接攻擊不僅效率低而且容易被追蹤, 所以攻擊者更多地選擇反射攻擊。反射攻擊又稱DRDoS (Distributed Reflection Denial of Service, 分佈式反射拒絕服務) , 是指攻擊者利用路由器、服務器等設施對請求產生應答, 從而反射出大量的流量對受害者進行攻擊的一種DDoS攻擊方式。這種攻擊方式隱蔽, 更大危害還來自於使用反射過程的放大。放大是一種特殊的反射攻擊, 其特殊之處在於反射器對於網絡流量具有放大作用, 可以將攻擊者較小的流量放大成較大流量, 從而造成更加嚴重的帶寬消耗。

(3) 攻擊鏈路。攻擊鏈路與前面提到的攻擊方法不同, 攻擊對象不是服務器而是骨幹網絡上的帶寬資源。一種典型的鏈路攻擊方式是Coremelt攻擊。首先, 攻擊者通過traceroute等手段確定各個殭屍主機與攻擊鏈路之間的位置關係。然後, 由攻擊者將殭屍網絡分成兩部分, 並控制這兩部分之間通過骨幹網絡進行通信。大量的數據包通過骨幹網絡, 將會造成骨幹網絡的擁堵和延時。從骨幹網絡上來看, 通過網絡的數據包是真實存在的, 並沒有任何有效的方式將真正的數據包與拒絕服務攻擊的數據區分開來, 這樣使得這種攻擊方式更加隱蔽和難以防範。

1.2 攻擊系統資源
(1) 攻擊TCP連接。TCP是一種面向連接的、可靠的、基於字節流量的傳輸層控制協議。由於在設計之初考慮更多的是協議的可用性, 缺乏對協議的安全性進行周密比較和詳細描述, 因此TCP協議存在許多安全缺陷和安全問題。TCP連接洪水攻擊的原理, 就是在建立三次握手過程中, 服務器會創建並保存TCP連接信息, 該信息會被保存在連接表中。但是, 連接表中的空間是有限的, 一旦連接表中存儲的數據超過了其最大數目, 服務器就無法創建新的TCP連接。攻擊者利用大量的受控主機, 佔據連接表中所有空間, 使得目標無法建立新的TCP連接。當大量的受控主機進行攻擊時, 其攻擊效果非常明顯。攻擊手段主要有:SYN洪水攻擊、PSH+ACK洪水攻擊、RST攻擊、Sock stress攻擊等。

(2) 攻擊SSL連接。安全套接字 (Secure Sockets Layer, SSL) 是爲網絡通信協議提供安全及數據完整性的一種安全協議。其在傳輸層對數據進行加密, 然而SSL協議在加密、解密和密鑰協商的過程中會消耗大量的系統資源。SSL洪水攻擊的原理, 就是在SSL握手過程中, 無論接收的數據是否有效, 只能先進行解密才能進行驗證, 所以攻擊者利用這個特性, 向被攻擊者發送大量的無用數據, 消耗目標大量的計算資源。

1.3 攻擊應用資源
(1) 攻擊DNS服務器。DNS服務是網絡服務中一項核心服務, 對DNS服務器攻擊造成的影響更具威脅性。針對DNS服務器的攻擊, 主要有DNS QUERY洪水攻擊和DNS NXDOMAIN攻擊兩類。DNS QUERY洪水攻擊是利用大量的查詢請求, 使得DNS服務器進行大量查詢, 消耗其大量的計算和存儲資源, 使得DNS服務器的服務質量下降, 甚至完全停止服務。在發起該攻擊方式時, 考慮到DNS服務器的查詢方式, 需要發送大量的不同域名的地址查詢, 而且儘量不要選擇存儲在DNS緩存記錄裏面的域名。DNS NXDO-MAIN攻擊是DNS QUERY洪水攻擊的一種變種, 後者攻擊時發送的是真實的域名地址, 前者則發送大量不存在的域名地址, 使得DNS服務器進行大量遞歸查詢, 從而使得正常的請求速度變慢, 甚至是拒絕服務。

(2) 攻擊Web服務器。隨着Web的迅速發展, 人們的生活因此而變得方便快捷, 大量的商務也因此更加方便。所以一旦Web服務器遭到拒絕服務攻擊, 那麼就會對其承載的大量服務造成巨大的影響。攻擊Web服務器, 常用的手段包括HTTP (s) 洪水攻擊、Slowloris攻擊、慢速POST請求攻擊、數據處理過程攻擊等。

1.4 混合攻擊
攻擊者在實施攻擊過程中, 並不在意使用了哪種攻擊手段, 而更加在意是否能夠達到拒絕服務攻擊的效果。所以, 攻擊者常常使用其能夠使用的所有攻擊手段進行攻擊, 稱這種攻擊爲混合攻擊。這些攻擊方式是相輔相成、互相補充的, 對於受害者來說, 要面對不同協議、不同資源的攻擊, 更加難以防範, 其處理拒絕服務攻擊的成本也會大幅提高, 這種攻擊更加具有針對性。

除上述提到的攻擊方式外, 拒絕服務攻擊還可與其它攻擊方式相互混合使用。以達到混淆視聽, 難以防範的目的。

2 DDoS攻擊檢測技術
2.1 基本方法
常見的入侵檢測方法分爲誤用檢測和異常檢測兩種。誤用檢測通過匹配攻擊基本特徵庫檢測攻擊, 一旦發生攻擊, 系統能夠快速作出判斷, 且誤報率低。異常檢測則通過發現當前網絡狀態明顯偏離正常狀態檢測攻擊。由於誤用檢測只能檢測攻擊類型已知、攻擊報文具有明顯誤用特徵的入侵行爲, 因此對系統漏洞型的DDoS攻擊有較好的作用。隨着DDoS攻擊的日益發展, 通過操縱大量的傀儡機來達到攻擊目標。在原來僞造大量虛假報文的基礎上, 改進到可以發送大量的真實報文。所以誤用檢測對DDoS攻擊已經不能有效地進行阻止, 異常檢測在防禦DDoS攻擊發揮着日益重要的作用。

2.2 基於流量特徵的攻擊檢測
基於流量特徵的攻擊檢測是一種基於知識的檢測方法。首先收集已知的DDoS攻擊的各種特徵, 然後將當前網絡中的數據包與收集到的各種數據特徵進行比較。如果特徵與DDoS攻擊的特徵匹配, 則可以檢測出遭受了DDoS攻擊。這種檢測方法能夠準確檢測攻擊行爲, 辨別攻擊的類型, 可以採用相應措施來阻止攻擊。但缺點是不能檢測未知的入侵, 總是滯後於新出現的攻擊方式, 需要不斷更新特徵庫, 對系統依賴性較大, 不但系統移植性差, 而且維護工作量也大。這種檢測方法一般用於檢測利用漏洞型的DDoS攻擊。基於流量特徵的攻擊檢測主要使用了特徵匹配、模型推理、狀態轉換和專家系統的方法。

2.3 基於流量異常的攻擊檢測
基於流量異常的檢測是目前常用的方法。基於流量的攻擊方法必然會帶來流量異常變化。因此, 通過建立模型來判斷流量是否異常, 從而知道服務器是否被攻擊。流量異常檢測可以檢測到未知類型的攻擊, 然而僅僅通過流量的異常變化並不能判斷是否是因爲流量攻擊而導致的流量異常變化。如正常上班時間週一到週五, 公司服務器的訪問數量是一定的, 但是流量異常變化可能是由於人員突然集中或者發生緊急情況人員突然撤離。由此可知流量導致的變化不只是由於攻擊造成的, 還有種種可能的原因, 要從中將正常的流量變化與遭受攻擊時的流量變化進行區分, 需要確定正常流量是如何變化的。這是確定遭到攻擊所必須解決的問題。

已有研究中, 大量異常流量是通過檢測時的流量特徵進行建模來識別攻擊。這種單純依靠檢測時的流量進行區分攻擊的方式是不準確的。一旦出現與攻擊類似的異常流量變化就會導致檢測結果出錯。所以這種檢測方式是不完善的。

3 DDoS攻擊防禦技術
一般認爲, 除非修改TCP/IP的內核, 否則, 從理論上沒有辦法徹底解決拒絕服務攻擊, 但可以通過一些技術手段有效阻止部分DDoS攻擊, 降低攻擊的危害。

3.1 攻擊源消除
DDoS攻擊需要大量的傀儡機才能完成, 離開了傀儡機那麼攻擊者就不能實施。因此, 可以採取各種措施防止攻擊者獲得大量傀儡機, 從攻擊源頭上消除攻擊。攻擊者能夠控制的傀儡機大都是系統存在嚴重安全漏洞的計算機, 所以要防範計算機成爲傀儡機, 就必須對主機的硬件或軟件系統存在的安全漏洞進行全面檢測, 及時打補丁、修補漏洞。當然在當前的網絡體系中, 還可以通過破壞DDoS攻擊形成的條件來對該攻擊進行防範。當前網絡架構下, 接收端被動接收報文, 而對於發送端沒有約束。基於授權的攻擊預防技術可以控制發送端的流量, 從而達到從源頭上解決DDoS攻擊。對於一部分不需要向外提供服務的對象, 也可以通過隱藏自己在網絡上的存在, 從而達到防範DDoS攻擊的效果。

3.2 攻擊緩解
攻擊緩解是在DDoS攻擊發生後, 通過對網絡流量的過濾或限制, 削弱攻擊者攻擊的流量, 儘可能地減少DDoS攻擊帶來的影響。攻擊緩解的基本手段包括報文過濾和速率限制。

(1) 報文過濾。針對源地址進行欺騙的DDoS攻擊, 可以通過對報文源IP地址進行檢測, 根據IP地址的真假對報文進行過濾防禦。入口過濾在攻擊源端的邊界路由上起作用, 當數據包進入到網絡時, 檢查報文IP地址是否符合通告的網絡標準, 如果不滿足就丟棄這個數據包。

(2) 速率限制。當服務器遭受嚴重DDoS攻擊時, 由於邊界路由器出現擁塞, 會出現大量的丟包現象。速率限制的核心就是從被丟棄的數據包中尋找信息, 把這些丟棄包中的流量特徵進行彙總, 將符合特徵的數據包提煉成有價值的數據路, 並通過限制這些數據流從而達到組織DDoS攻擊的目的。

3.3 攻擊預防
(1) 減少公開暴露。對於企業而言, 減少不必要的分開曝光是十分有效的防禦DDoS攻擊的一種方式, 及時關閉不必要的服務, 設置安全羣組和私有網絡, 禁止對主機的非開放服務, 限制打開最大SYN連接數, 限制特定IP地址的訪問。通過這些方式可以減少受到攻擊的可能性。

(2) 利用擴展和冗餘。DDoS攻擊對不同的協議層具有多種攻擊方式, 因此儘可能採取多種手段進行防範。利用擴展和冗餘是在受到攻擊前做好防範。它能使得系統在遭受攻擊時具有一定的可擴展性, 不至於一旦受到攻擊就將完全暫停服務, 儘可能減少DDoS攻擊帶來的危害。

(3) 提升網絡帶寬保證能力。網絡帶寬直接決定抗DDoS攻擊的能力, 如果帶寬僅僅只能10M的話, 無論如何都不能抵禦DDoS攻擊。理論上講網絡帶寬越大越好, 但是考慮到經濟原因, 不可能無限制地將網絡帶寬提高, 要在經濟能力允許的範圍內儘量提高網絡帶寬的保證能力。

(4) 分佈式資源共享服務器。將數據和程序分佈在多個服務器上, 建立分佈式資源共享服務器。分佈式資源共享服務器有利於協調整個系統共同解決問題, 進行更加優化的資源分配。能夠克服傳統的資源緊張與響應瓶頸的缺陷, 分佈式規模越大, 防禦攻擊也就更加容易。

(5) 監控系統性能。對系統性能進行監控也是預防DDoS攻擊的一種重要方式, 不合理的服務器配置會使得系統容易被DDoS攻擊, 對API、CDN和DNS等第三方服務進行監控, 對網絡節點進行監視, 及時發現並清理可能出現的漏洞。當這些性能出現異常後, 及時進行維護。對網絡日誌進行定期查閱, 看是否有異常入侵, 及時做好防範工作。

3.4 IP地址溯源
在攻擊過程中, 可以根據攻擊來源來設定過濾, 將攻擊來源處的流量進行過濾達到降低攻擊強度的效果;另外, 還可以將收集到的信息作爲法律證據對攻擊者進行法律制裁。IP地址溯源技術主要有:連接測試、隨機採樣、登錄分析等。

4 結語
DDoS攻擊攻擊方式難以檢測。目前, 檢測技術不完善、攻擊檢測技術方法實用性差, 並且隨着攻防技術的不斷髮展, 分佈式拒絕分佈攻擊也呈現出了新的特性, 對其進行防禦和檢測愈加困難, 一直是網絡安全領域研究的重點。本文在分析DDoS攻擊技術原理的基礎上, 分析了誤用檢測和異常檢測兩種方式在DDoS攻擊檢測中的優缺點, 並重點分析了基於流量特徵和流量異常兩類攻擊的檢測方法。最後, 全面分析了適用於DDoS攻擊防禦的技術手段, 可爲相關單位和組織在防禦DDoS攻擊時提供技術參考。


 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章