摘要: 傳統基于主機的防御無法應對分布式拒絕服務(DDoS)攻擊對整個自治系統的沖擊。提出了雙過濾并行凈化網絡方案、基于自治系統的自適應概率包標記方案和基于源地址驗證的單播反向路徑轉發策略,形成了基于邊界網關的DDoS攻擊防御體系,提高了包標記方案的效率,簡化了防御部署。實驗驗證了該防御體系的有效性。
關鍵詞:
中圖分類號: TP393.08 文獻標識碼:A 文章編號:2095-2163(2011)01-0079-04
0引言
分布式拒絕服務DDoS(Distributed Denial of Service) 攻擊是利用大量攻擊主機同時對受害者發起拒絕服務攻擊,使受害者無法提供正常服務。根據攻擊目標的資源可用性,DDoS攻擊可分為資源消耗攻擊和帶寬消耗攻擊[1]。帶寬消耗攻擊通過使用大量的數據流來消耗目標的帶寬資源,不僅使受害者不能接收合法請求,而且對其所在網絡造成嚴重擁塞,甚至可能造成附近網絡癱瘓。DDoS攻擊利用了Internet體系結構上的缺陷,因此在網絡體系結構不變的前提下,無法完全從根本上阻止DDoS攻擊,只能盡量緩解攻擊造成的危害。
文獻[2]提出了通過中間網絡的響應比通過受害網絡要有效,因為中間網絡能處理大量攻擊流,并可分布協作處理,可以檢測路由器流量,定位跟蹤節點或過濾等。文獻[3]提出了集合蜜罐、路由黑洞等特點的網絡排污口方案,能有效防御DDoS攻擊;文獻[4]給出了基于概率包標記的IP地址追蹤方法,能有效追蹤攻擊源;文獻[5]提出了單播路徑反向驗證技術,對IP欺騙攻擊有很好效果。但是,排污口技術無法對攻擊流量和合法流量區分對待,概率包標記局限于路徑較短的簡單網絡,路徑反向驗證只適用于偽造IP地址攻擊。
基于以上局限性,本文提出了自適應雙過濾凈化網絡,使用雙層過濾器并動態提取黑白名單規則配置邊界網關的訪問控制列表ACL(Access control list),動態適應流量變化,過濾凈化攻擊流量;基于自治域號ASN(Autonomous System Number)的自適應概率包標記方案,使用動態標記概率適應網絡拓撲,以ASN作標記提高攻擊源追蹤效率;基于源地址的反向路徑入口地址驗證,在攻擊源入口處進行報文過濾。三個模塊組合形成基于邊界網關的自適應DDoS攻擊防御技術。
1相關工作
1.1傳統DDoS攻擊防御技術
針對DDoS攻擊的常用方法是在惡意流量入口的邊界路由器上配置訪問控制列表ACL來過濾攻擊流量,同時使用限速限制帶寬來減緩擁塞。但是,DDoS攻擊源自大量分散的主機,而且經常使用源地址欺騙,使用ACL過濾惡意流量的方法耗費成本太高;防火墻在進行攻擊檢測和保護目標網絡的同時,也對受害主機的正常訪問造成一定影響;運營商經常采用BGP觸發黑洞路由技術來防御DDoS攻擊,其原理是通過一臺路由器在AS內部的所有IBGP鄰居上觸發黑洞路由,拒絕所有發向攻擊對象的流量。這樣將使合法訪問也無法正常進行,對攻擊流量的記錄和分析也較為困難[3]。在傳統的DDoS攻擊防御策略中,一般將抗DDoS攻擊設備串聯在網絡中,一旦發生攻擊,直接由這些設備進行流量分析過濾。這樣固然響應迅速,但相當于在網絡中增加了一個或多個結點,從而增加了潛在的故障點。若抗DDoS攻擊設備防御失敗,則會造成整個網絡斷線。
1.2基于網絡排污口路由的DDoS攻擊防御技術
網絡排污口(Sinkhole)路由技術[6]可在發生攻擊時通過BGP協議觸發邊界路由器上路由策略,將流量牽引至排污口路由器,與之相連的DDoS攻擊記錄分析設備對攻擊流量進行記錄和分析,進而提取出過濾規則和完成攻擊源的追溯。排污口技術同時集合了黑洞路由、蜜罐網絡技術[4]的特點。與蜜罐技術不同,排污口技術重點保護的是整個自治域網絡的整體安全,而不是一兩臺主機。排污口技術能有效應對大規模DDoS攻擊,但無法區分攻擊流量與合法流量,即攻擊發生時,拋棄攻擊流量的同時,合法流量也被拋棄。
1.3基于包標記的IP追蹤技術
當發生DDoS攻擊時,追溯攻擊源,在上游配置過濾器,可提高DDoS攻擊防御效果,減小對下游和受害網絡的危害[7]。在路徑追溯方面,廣泛采用的方法是數據包標記技術,即利用數據包中沒有利用到的空閑空間記錄所經過路由信息。最簡單的包標記方案是將路由器地址寫入數據包的IP選項字段,但數據包長度增加可能會導致數據包額外分段。文獻[5]提出一種概率包標記(PPM)技術,即以某一概率向數據包中添加路由地址信息。其占用網絡資源少,只需要網絡中部分路由器參與包標記,且無附加流量。該方法征用數據包頭部的不常用字段,如IP首部選項,IP包首部標準字段空間,或者對原包重新封裝。由于數據包頭部空間有限,不足以存放路徑上路由地址的全部信息,需要分片處理,所以會指數級的增加路徑重構所需要的時間空間,在復雜網絡中效率比較低。
1.4源IP地址過濾
目前發生的DDoS攻擊大多附帶著IP地址欺騙以隱匿身份,使得攻擊源難以發現,而且通過被攻擊目標還能對其他合法用戶造成攻擊[8]。單播反向路徑轉發URPF(Unicast Reverse Path Forwarding)技術[9]即針對這種IP欺騙攻擊,其工作原理是基于路由器驗證所轉發數據包中源地址的可訪問性。數據包到達邊界路由器,獲取到報文源地址和進入接口,檢查該源IP地址的出口接口和接收該報文的入口接口是否匹配。若不匹配,則源IP地址無效,拋棄數據包。URPF適用于限制企業網絡中的惡意流量,可限制偽造地址進入網絡。
2基于邊界網關的自適應DDoS攻擊防御系統
2.1實時的雙層過濾凈化網絡策略
網絡排污口路由策略在發生攻擊時,邊界路由器將進入自治域的下一跳改為排污口路由器,與之相連的記錄分析設備進行流量分析和記錄。其缺點是無法區別對待攻擊流量和合法流量。
本文提出實時自適應的雙層過濾的凈化網絡(clean-up network)方案。當發生攻擊時,邊界路由器將相應下一跳改為凈化網絡路由器,進行流量的分析和分流的同時,定時向邊界路由器發送更新,動態配置邊界路由器的ACL(如基于IP地址歷史數據庫的白名單),并持續一段時間內有效。合法IP數據包直接由邊界路由器轉發至AS內部,而不在凈化網絡對之分析后中轉,提高效率且減少傳輸延時,維護工作量顯著降低,大幅減輕攻擊造成的危害。
凈化網絡部署如圖1所示。其由凈化分流服務器和一系列安全監控分析設備組合構成,并聯在自治域網絡中。未發生DDoS攻擊時,流量從邊界網關直接轉發至受害服務器所在AS內部網絡,不經過凈化網絡。當網絡中發生攻擊,邊界網關將下一跳設置為凈化網絡路由器,此時流量將被轉發到凈化網絡。網絡中的安全分析記錄設備將進行一系列的檢測、甄別和過濾,剩余合法流量繼續轉發至AS內部網絡。服務器提取出白名單規則,實時配置邊界路由ACL并持續一定時間。同時將攻擊流自治域入口接口信息摘要附加于原始流量一起發至安全分析設備,后者通過分析攻擊流入口信息以及路徑重構方案,最終找到攻擊源。
2.2基于AS的自適應包標記的攻擊源追蹤策略
傳統包標記使用路由地址標記數據包,由于標記空間有限,需將路由地址分片標記,則指數級增加了路徑重構所需的時間空間,且大幅增加了誤報率[10]。若采用固定概率標記,由于受害端重構路徑為類樹形,遠端標記易被近端標記所覆蓋,則遠端路徑較少,較難重構。
本文提出一種基于AS追溯的自適應概率包標記技術ASAPPM(Adaptive Probabilistic Packet Marking based on Autonomous System),即用當前路由器所在自治域號碼ASN代替路由地址作為標記。ASN是Internet中標示AS的全局唯一數字。ASN由IANA(Internet Assigned Numbers Authority)統一組織、分配和管理,目前絕大多數ASN都是16bit,所以ASN作為標識比IP地址需要更少的頭部空間。另一方面,Internet中AS的數量要比路由器的數量少的多,因此獲得整個Internet的AS拓撲信息要比獲得路由器更容易。因此,以ASN為標記對AS展開追蹤是一個較好的選擇。同時,為了平衡遠近端路徑,采用p/(n+1)(n為跳數,0<p<1)作為標記概率,增大遠端標記概率,減小近端標記概率。
標記空間征用IP頭部的服務類型字段(8 bit)和標識ID字段(16 bit)。包標記字段分為三部分:ASN標識(16 bit)、flag標識(1 bit)和跳數域(5 bit)。ASN標識放在標識ID字段,flag標識放在服務類型字段的第一位,跳數域放在服務類型字段的第二至第六位。flag標記當前ASN標識狀態,0表示未標記或標記過偶數次,1表示標記過一次。ASN標識字段存儲當前路由器地址或兩路由器地址的異或值。
ASAPPM具體算法如下:
ASA Packet Marking Procedure at Border Router R:
For each packet w Router-R received:
If w.flag==0 then
Let k be a random number between[0,1]
If k<p/(w.hop+1) then
Write ASN into w.ASN
Set w.hop=0
Set w.flag=1
Else if ASN?選=w.ASN then
Write ASN+w.ASN into w.ASN
Increase w.hop
在目標主機所在AS邊界的凈化網絡服務器上,搜集數據包標記信息進行路徑重構。跳數域值表示標記邊與目標主機所在AS的距離。由于a⊕b⊕a=b,所以當跳數為1時,本地ASN與標識域值異或即得上一跳自治域的ASN。依此類推可得到路徑上其他ASN。
2.3基于源地址驗證的單播反向路徑轉發策略
DDoS攻擊往往會引起更大的傳輸流量攻擊,對其他用戶或者網絡產生額外破壞和影響。為使整個網絡免受此攻擊影響,用戶會讓服務提供商直接過濾掉這些目標IP地址。若已查明攻擊的來源,即可采用ACL這樣的圍堵機制。檢測到攻擊流量并進行分類后,為邊界路由器設置相應的 ACL,這就是基于源地址驗證的單播反向路徑轉發策略(URPF Based on Source IP)。
基于源地址的URPF流程如圖2所示,數據包到達AS邊界路由,檢查源地址,丟棄廣播地址和目的地址不是廣播的全0地址;檢查源地址和轉發信息庫FIB (Forward Information Base)中是否匹配,若不匹配,則檢查報文是否符合ACL規則,若不符合,則丟棄。
3實驗測試
本實驗的環境如下:機器配置Intel(R) 2.4GHz/2.0GB,操作系統為Windows XP,仿真平臺為Opnet Modeler 8.1。將第二節所述策略實現為ASAPPM和URPF兩模塊分別進行測試。利用OPNET模擬五個自治域互聯,每個自治域分別有200個主機節點和10個路由器節點,在邊界網關上配置URPF模塊和凈化網絡模塊,在網絡中配置Packet Marking模塊以及簡單的IP地址和TTL流量識別模塊。
圖3為AS拓撲圖。測試時,以AS1內一個節點作為受害目標服務器A,在五個AS中分別有10個節點以穩定速率向A請求服務,發包速率20pps;在AS5內部署100個節點作為攻擊傀儡機,其中10個節點發動欺騙IP攻擊。每次試驗時間為30秒,從第12秒開始,使用AS5攻擊節點對AS1內的服務器A進行攻擊,發包速率5Kpps,持續18秒。
受攻擊時,分別啟動ASAPPM和URPF模塊,丟棄包情況如圖4所示。由圖4 可以看出,單獨啟動ASAPPM時,網關丟棄包的數量比URPF丟包兩倍還要多。這是由于URPF只針對源IP地址不符合其入口路由規則的數據包進行丟棄,若攻擊流量為真實IP地址或與其入口規則相符合,則認定為合法流量;而ASAPPM追溯攻擊源至AS5時,則將AS5的路由前綴設為Blacklist,凡符合其前綴規則的數據包都被認定為攻擊包。在過濾掉AS5中攻擊流量的同時,合法流量也被拋棄,提高了誤報率。因此,ASAPPM需要和AS內攻擊源追溯相結合才能進一步發揮效果。URPF雖然過濾掉虛假IP地址的大部分攻擊流量,但其對真實IP地址攻擊無能為力。如果URPF和其他流量識別模塊同時工作將會進一步提升效果。
圖5為分別在凈化網絡模塊是否啟動條件下受害服務器接受和丟棄數據包數量統計情況。未啟用防御機制,接收包中合法流量僅為5%,而啟用后合法流量接近80%。實驗表明在邊界路由上的DDoS攻擊防御策略能較好地完成其性能。
4結束語
實驗表明,基于邊界網關的自適應DDoS攻擊防御系統,盡管有一些不足,但實施方便而有效,和AS內基于主機的防御技術結合后形成復合式DDoS攻擊防御體系會更好地發揮性能和效果。對DDoS攻擊的防范需要各自治域及ISP間更好、更完善、更密切地配合,并采取行之有效的防御措施,從而降低其對網絡的威脅。
參考文獻:
[1] CHANG R K C. Defending against flooding-based distributed denial-of-service attacks: tutorial. IEEE Communications Maga- zine[J]. 2002,40(10):42-51.
[2] 楊余旺,楊靜宇,孫亞民. 分布式拒絕服務攻擊的實現機理及 其防御研究[J]. 計算機工程與設計,2004:30-34.
[3] 孫廣煜. Sinkhole路由技術白皮書[Z]. 華為技術有限公司,2- 005.
[4] 金光. 基于數據包標記的拒絕服務攻擊防御技術研究[D]. 杭 州:浙江大學,2008.
[5] 鄒存強. 基于ISP網絡的DDoS攻擊防御的研究及應用[D]. 北 京:北京郵電大學,2010.
[6] GREENE B R,MCPHERSION D. ISP Security: Deploying and Using Sinkholes[J]. NANOG28,2002:25-36.
[7] SAVAGE S,WETHERALL D,Karlin A. Network Support forIP Traceback[J]. IEEE/ACM Transactions on Networking,2001, 9(3):226-237.
[8] KUMARI W,MCPHERSON D. RFC 5635-Remote TriggeredBlack Hole Filtering with Unicast Reverse Path Forwarding(u- RPF) [EB/OL]. 2009-08-01. http://www.rfc-editor.org/rfc/rfc5- 635.txt.
[9] KIM YH,LAO WC. Packetscore: Statistical-based overload c- ontrol against distributed denial-of-service attacks[C]// Proc. of the IEEE INFOCOM,2004:2594-2604.
[10] 黃昌來. 基于自治系統的DDoS攻擊追蹤研究[D]. 上海:復旦大學,2009.