摘要:該文針對DDoS攻擊提出了一種非侵入性IP追蹤方案,在正常狀態下對轉接網絡路由器中數據包進行概率采樣,利用路由器的cache來保存數據包的有效源地址,受攻擊時檢測出未知來源地址,構造出攻擊路徑圖。仿真證明該方案不需要改變路由器配置與協議,也不需要用各類檢測技術收集大量準確的攻擊信息。計算量的分布式處理使該方案有很好的可擴展性,能夠對攻擊源進行簡單有效的快速追溯。
關鍵詞:DDoS攻擊;IP追蹤
中圖分類號:TP393文獻標識碼:A文章編號:1009-3044(2009)24-7027-02
No-Intrusive IP Traceback for DDoS Attacks
LIU An-li, ZHAO Huai-xun
(School of Communications Engineering, Engineering College of Armed Police Force, Xi'an 710086, China)
Abstract: The scheme which uses sampled traffic under non-attack conditions to build and maintains caches of the valid source addresses transiting network routers. Under attack conditions, route anomalies are detected by determining which routers have been used for unknown source addresses, in order to construct the attack graph. Results of simulation studies are presented. Our approach does not require changes to the Internet routers or protocols. Precise information regarding the attack is not required allowing a wide variety detection techniques to be used. allowing for a fast traceback and the scheme is scalable due to the distribution of processing workload.
Key words: DDoS attacks; IP traceback
攻擊者發動分布式拒絕服務(DDoS)攻擊時經常利用偽造的源地址來隱藏自己的身份和位置[1]。一些防火墻軟件執行入口過濾,只允許有效的IP地址進入接入路由器,這樣的方法并不能完全杜絕DDoS攻擊。追蹤的目的是用盡量少的網絡資源找到攻擊的真正來源后在最接近攻擊源頭處阻止攻擊,并進一步確定攻擊者的身份。
在正常狀態下,數據包在傳輸時通常遵循一種相對靜態路徑,這些路徑形成的路由表一般情況下不會頻繁更新。當攻擊者偽造了源地址時,數據包通過路由器時就找不到正確的路由選擇通路,此異常現象可用來確定攻擊路徑。基于這一基本原理,我們提出了該IP追蹤方案。其原理是在沒有受到攻擊的狀態下,對數據流進行概率采樣,利用路由器中的緩存器來保存采樣流量所獲得的有效源地址,在受到攻擊時,尋找并確定哪些路由器中有來源不明地址,并在一定的自治域內構造攻擊圖。該方案有很好的可擴展性,構建攻擊圖的計算方法簡單而快速,不必為了回溯追蹤而修改路由器協議、終端配置或互聯網協議。
1 關鍵性假設
該方案基于以下幾點關鍵的假設:即端到端的路徑是相對穩定的,分析發現[1]:一條主導路徑的廣泛程度是根據主導路徑(經常出現的線路)占所有追蹤路徑總數的比率計算出來的,主機間、城市間和某一獨立系統三者的主導路徑平均值大概為:82%,97%和100%。這表明互聯網路徑是被單一路由所完全控制。盡管主導路徑的存在時間有很大的差異,但是大約有2/3的互聯網路徑能持續數天或數周。
研究國家互聯網測量基礎設施(NIMI)中的數據包的路徑傳輸[2]發現:NIMI 路徑中78%的數據包走的總是相同的路由器,86%路由器中所通過的數據包占整個數據網絡數據量的的90%或更高。對于公眾服務器來說,相應的數字分別是73%和85%。它還表明,路線往往持續至少一天,從總體上來看,只有1/3的互聯網線路和1/6的NIMI路線是短暫的
路由波動原理[3]的研究指出:熱門站點的訪問是形成大多數穩定主導路徑的主要原因,這些網絡路徑在幾天或幾周內都非常穩定,因為這些路線有高可靠性且有良好的互聯網連接管理。上述研究表明,互聯網線路所呈現出相對較高的穩定性是白名單里的路由信息不會非常頻繁和不規則變化的主要原因。
2 非侵入性追蹤方案
該方案中,網絡路由器使用標準的流采樣率和NetFlow[4]和IPFIX[5-6]報告機制更新已賦值的白名單(White List,WL)1緩存器。每個白名單里的內容必須填入來源數據包的源地址和目的地址。每個緩存器中的存儲記錄包括以下字段,發送數據的路由器地址和保存過期記錄的時間。
在沒有檢測到DDoS攻擊的時候,白名單緩存器更新路由器中的白名單,而在檢測到DDoS攻擊的時候,就不再更新白名單,這樣是防止偽造的源地址被寫入緩存器中。我們假定用某種機制可以檢測出如TCP SYN flood等的DDoS攻擊[7]。在攻擊時,從路由器采樣的數據傳送到白名單緩存器,白名單將根據檢測到攻擊的情況來產生記錄或更新記錄。白名單緩存器在采樣流量和緩存器所記錄的數據之間尋找失配數據(異常數據)。被發現的異常的數據流被送到追蹤管理器生成攻擊圖。
追蹤的主要目標之一是定位最靠近攻擊源的路由器,對其攻擊流量進行有效的過濾或限速來減輕攻擊,在一定的自治域中(如校園網)只對網絡中關鍵節點的輸入和輸出數據流執行檢測就足夠了,不需要對所有的路由器中的數據流進行檢測,為了對關鍵點進行選取,我們把攻擊者分類為內部攻擊(如僵尸網絡的受害者)或外部攻擊。對于追蹤外部攻擊者,入口路由器是執行監測和流量采樣的關鍵點。對于追蹤內部攻擊者,需要知道網絡的拓撲結構,然后對離受害者最近的路由器進行檢測。由于只對部分路由器進行流量采樣和流量輸出檢測,使得采樣工作負荷和流量開銷顯著下降。這是該方案的一個非常重要的改進,即考慮到了當受害者被DDoS攻擊且在網絡重負載情況下執行追溯攻擊源的難度。這項方案的另一個優勢是由于追蹤只涉及到少量的路由器,在整個網絡中將建立一個唯一的內置具有建立白名單功能的追蹤管理器來掌管整個網絡,對數據進行合并存儲并且在一個中心點對信息進行處理。該方案可在一定范圍內對全局情況進行觀察并快速處理數據流信息,因此可以很容易的識別出異常數據流。
3 相關追蹤部署問題
路由器中內置的流量采樣/監測和輸出工具被用來向白名單緩存器傳遞采樣數據并報告所需信息。如果路由器中沒有建立這樣的工具,追蹤管理器就會沿網絡路徑在各路由器中建立白名單。
一個重要問題是為防止攻擊流量的記錄被列入白名單而破壞跟蹤,該何時去暫停記錄過程。該方案是利用DDoS攻擊的檢測機制觸發跟蹤進程并停止記錄過程。由于檢測攻擊總會有一個延遲,記錄的采樣流量首先寫入白名單的緩沖區。緩沖區中的記錄寫進白名單緩存器的時間取決于攻擊檢測的速度。例如,如果攻擊檢測機制需要x秒的時間,通知攻擊源追蹤管理器需要Y秒,那么緩沖區刷新間隔將是X + Y秒。
為了估算白名單的大小,文獻[8] 中提到:亞馬遜網站在2003年最繁忙的一天里在一小時內有630,000個訪問者,在IPv4網絡中用一個白名單存儲器來保護服務器,每個記錄中有4個字節用來記錄源地址,4個字節是來記錄路由器地址、8個字節以毫秒為單位用來計數,這樣16個字節意味著存儲30份的白名單記錄需要4.8MB的存儲空間。
4 仿真實驗
我們在n-2環境下對該方案進行仿真實驗。在記錄階段,合法節點生成一定數據流量發送給被攻擊目標,追蹤管理器根據相關采樣流量建立白名單。當攻擊流量開始時,白名單暫停更新而追蹤進程開始執行,合法節點繼續以一定的概率隨機產生新的數據流或保持現有的流量值不變。
如圖1所示,在仿真環境下構建了100個攻擊節點和120個合法節點。攻擊者以隨機偽造的數值范圍從1到10000的地址(其中包括合法節點的地址)發送攻擊數據流。做為整個實驗重點的路由器R1,R2,R3和的R4是網絡的入口路由器。來自于合法節點和攻擊者的數據流進入網絡的數據速率設置為10Mbps,為模擬互聯網的實際時延,設置數據流傳輸時延為30ms。路由器內部鏈接數據速率設置為100Mbps,傳輸時延為10ms,在記錄階段,100個合法節點N1到N100以5pkts/s的流量速率發送數據包給被攻擊目標(Victim)。路由器R1和R4以0.01的概率對數據包進行的采樣,并將采樣流量送達追蹤管理器。記錄周期被設置為20秒。我們進行了3次仿真攻擊實驗,每個攻擊節點在第20秒的時候分別以20,50和100 pkts /s的速度發送數據流。在攻擊期間,所有合法的節點(包括N101到N120模擬產生新的合法請求)以0.5的發送概率1和每個節點5 pkts/sec速率產生數據流,攻擊的持續時間是1.5秒。
R1和R3成功的檢測到了攻擊數據流。表1是檢測到的一些失配數據包的統計數據。時間以攻擊開始點為起點,用RX(Y)的形式顯示統計結果,其中X指的是路由器的序號,Y指的是檢測到的失配數據包數量。t為時間,在以攻擊速度分別為20,50和100pkts/s的三次仿真實驗中的140ms,80ms和70ms處,路由器R1和R3中首次檢測到失配的數據包,在tms時,追蹤管理器分別收到來自R1和R3的采樣數據包為3、3、4個,而其中有2、2、3個數據包是失配數據包。
由于來自于新的合法節點的流量記錄沒有在白名單中被發現,仿真結果出現了一些誤報,在攻擊速率為100 pkts /秒時的路由器R2中和攻擊速率為20和50 pkts/秒時的R4中檢測到了異常數據包。實驗發現雖然隨著時間的向前推進誤報越來越多。但是路由器R1與R3中和R2和R4中的不匹配的采樣數據包的數量也在增加,在0.5秒的時候,最小間隙比(最壞情況下)是1/10。在1.5秒時,以攻擊速率分別為20,50和100 pkts /s的情況下,最小的間隙比分別為1/15,1/17和1/69,因此可得出結論,在現實世界的網絡中我們可以設定一個確切的閾值,在閾值范圍內誤報率可以被忽略不計。
5 結論
基于數據包在的源端和目的端傳輸過程中通過路由器時有一個相對靜態路徑,可以檢測到攻擊者用偽造的地址實施攻擊時的異常路徑這樣一個原理。我們實現了一個非侵入性的追蹤技術方案,仿真證明該方案能夠成功的追蹤到路由器轉發的攻擊數據包。隨著攻擊速率的加快和數據流量(合法數據流和攻擊數據流)的增加,檢測到失配數據包的數量和時間也在增加和提前。這就可以設定一個閾值來忽略誤報率。
由于該方案在追蹤觸發上采取了與現有追蹤技術不同的方法,因此不宜進行定量分析比較。對其進行定性分析后可以發現,該方案不需要對路由配置和所傳數據包結構進行更改,也不必利用DDoS攻擊檢測技術獲取精確信息,充分體現了非侵入性的特點。記錄和計算任務轉移給了白名單存儲器和追蹤管理器,這樣減輕了受害者的額外負擔,而且由于記錄階段是在攻擊沒有發生的時候完成的,一旦檢測到攻擊,失配檢查就會立即被引導來檢查是哪一個路由器攜帶有攻擊流量。該算法將計算量進行了分布式處理,使得該方案有很好的可擴展性,仿真實驗證明該算法簡單而有效,可以快速構造攻擊圖。
注:本文為譯著,原作者Vrizlynn L.L.Thing 等。
參考文獻:
[1] Paxson V.End-to-end routing behavior in the Internet[M].ACM Sigcomm,1996.
[2] Zhang Y,Paxson V,Shenker S.The Stationarity of Internet Path Properties: Routing, Loss, and Throughput[R].ACIRI Technical Report,2000.
[3] Rexford J.BGP Routing Stability of Popular Destinations[M].ACM SIGCOMM IMW (Internet Measurement Workshop),2002.
[4] Cisco IOS Netflow[EB/OL].http://www.cisco.com/en/US/products/ps6601/products_ios_protocol_group_home.html.
[5] Claise B.IPFIX Protocol Specification[S].IETF Internet Draft, Version 19,2005.
[6] Sadasivan G.Architecture for IP Flow Information Export[S].IETF Internet Draft, Version 9,2005.
[7] Wang H N, Zhang D L,Shin K G0Detecting SYN flooding attacks[C].IEEE INFOCOMM,2002.
[8] Regan K.Holiday E-Tail Sales Set Records Despite Performance Woes[EB/OL].E-Commerce Times.http://www.ecommercetimes.com/story/32491.html.