《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > BGP協議防御DDoS攻擊的方法淺析
BGP協議防御DDoS攻擊的方法淺析
2016年微型機與應用第24期
陳石,劉金生
(中國聯合網絡通信有限公司 網絡運維部互聯網處,北京 100033)
摘要: BGP (Border Gateway Protocol)協議是Internet中應用最廣泛的自治系統間路由協議,它通過面向連接的TCP (Transfer Control Protocol)協議保障路由信息的可靠轉發。然而,以DDoS(Distributed Denial of Service)為代表的網絡攻擊對基于TCP 的應用協議產生了嚴重的威脅。保護BGP協議較為常見的方法是在網絡邊緣添加防火墻、流量分析儀等安全設備。從分析BGP鄰居的建立過程及DDoS的攻擊特點入手,提出一種新的思路,在不增加運營成本的前提下,實現BGP協議對DDoS的防御。
Abstract:
Key words :

  陳石,劉金生

  (中國聯合網絡通信有限公司 網絡運維部互聯網處,北京 100033)

         摘要:BGP (Border Gateway Protocol)協議是Internet中應用最廣泛的自治系統間路由協議,它通過面向連接的TCP (Transfer Control Protocol)協議保障路由信息的可靠轉發。然而,以DDoS(Distributed Denial of Service)為代表的網絡攻擊對基于TCP 的應用協議產生了嚴重的威脅。保護BGP協議較為常見的方法是在網絡邊緣添加防火墻、流量分析儀等安全設備。從分析BGP鄰居的建立過程及DDoS的攻擊特點入手,提出一種新的思路,在不增加運營成本的前提下,實現BGP協議對DDoS的防御。

  關鍵詞:BGP鄰居;TCP連接方向分布式拒絕服務攻擊; 互聯網服務提供商

  中圖分類號:TP393文獻標識碼:ADOI: 10.19358/j.issn.16747720.2016.24.002

  引用格式:陳石,劉金生. BGP協議防御DDoS攻擊的方法淺析[J].微型機與應用,2016,35(24):5-7.

0引言

  根據中國聯通公眾互聯網CHINA169的統計,截至2016年5月,Internet上自治系統間路由條目數已經達到62萬條,如此龐大的數據信息都是依賴于路由協議進行計算和轉發,而以分布式拒絕服務攻擊(Distributed Denial of Service,DDoS)為代表的網絡攻擊卻對路由協議的安全產生了嚴重的威脅。本文提出一種基于TCP連接方向的方法對抗DDoS攻擊。

1基于TCP的邊界網關協議

  Internet是由眾多相互聯在一起的自治系統(Autonomous System,AS)組成的,而負責傳遞AS之間網絡層可達性信息(Network Layer Reachability Information, NLRI)的協議稱為BGP(Border Gateway Protocol)。為了確保NLRI的可靠轉發,BGP使用TCP協議作為它的下層承載協議。

  TCP[1] (Transfer Control Protocol)是開放系統互聯(Open System Interconnect, OSI)參考模型中唯一面向連接的傳輸層協議,它使用“三次握手”機制建立面向連接的虛電路,每一條TCP連接都被通信鏈路的兩個端點(IP地址:端口號)唯一確定:TCP連接={(IP1:port1),(IP2:port2)}。BGP對應的port值(端口號)為179。BGP協議在進行路由信息的交換與轉發前,需要建立鄰居(PEER)關系,BGP建立鄰居的過程可以分為兩個階段。

  階段一: TCP通道的建立。這個階段的主要任務是在希望建立BGP鄰居的路由器之間搭建起一條數據通道。TCP的 “按序重傳”和“滑動窗口”機制能夠確保BGP承載的路由信息在互聯網中可靠地傳輸,而不必進行周期性的全部泛洪。

  階段二:BGP報文的協商。在這個階段,將要建立BGP鄰居的兩臺路由器利用TCP的數據通道,使用OPEN報文以單播方式進行能力協商(包括版本號、保持時間、BGP標識、可選參數等),決定最終是否能夠成功建立BGP鄰居關系。

2防御DDoS攻擊的常用方法

  DDoS[2]攻擊是互聯網上常見的攻擊手段,黑客借助客戶/服務器技術,將多個計算機聯合起來作為攻擊平臺,對目標發動持續性攻擊,耗盡目的主機資源,最終使正常的用戶請求得不到應答。評估DDoS的攻擊強度,可以采用“中間網絡檢測法[3]”數學模型:首先在核心路由器上以Δt為標準時間間隔對數據流量進行采樣,然后分別計算出(源地址、目的地址、目的端口)相同的數據包的集合,得到與以上三元組相同的數據包α隨時間變化的序列。當時間間隔很大時計算該序列的自相關系數:

  βk=[∑N=ki=1(ai-)(ai+k-)]/[∑Ni=1(ai-)2]

  其中:αi(i=1,2,…,k)為k個Δt時間內α的序列;為α的數學期望;βk為自相關系數。如果自相關系數不為0,則說明發生了DDoS攻擊,偏離值越高,說明遭到的攻擊強度越大,以此判斷是否需要在核心路由器上部署分布式的DDoS防御系統。

  理論上說,所有基于TCP的應用都面臨DDoS攻擊的威脅,BGP協議自然也不例外。開啟了BGP協議的路由器抵御DDoS攻擊的常用手段有:在前端增設防火墻或流量過濾與清洗設備,互聯地址隱藏(或者直接使用私網地址互聯),源地址識別,限制SYN/ICMP流量等。這些方法在實施過程中,要么需要增加新的硬件,提高了運營維護成本;要么需要在全網部署新的路由協議和安全策略,擴展性較差。

3防御DDoS攻擊的新思路

  DDoS攻擊最常用的手段是同步泛洪(SYNFLOOD),向攻擊目標發起大量的同步連接請求,卻不回復ACK,最終耗盡目標服務器的資源。這種攻擊方式必須有明確的攻擊目標,也就是說攻擊是有方向性的。順著這個思路,如果能夠在BGP鄰居建立的第一階段控制住TCP連接的建立方向,就可以有效降低有效連接請求的數量,抑制DDoS對系統的資源占用,達到保護BGP協議的效果。

  如圖1所示,企業網AS100希望通過ISP(網絡服務提供商)將AS200接入互聯網。物理層面:邊界路由器A與B通過一條物理鏈路相連;網絡層面:A與B使用邏輯接口(環回口)建立BGP鄰居進行路由信息交換。

  

001.jpg

  圖中ISP為避免受到來自外部的DDoS攻擊,在與企業網建立BGP鄰居的第一個階段(即TCP建立階段),拒絕所有始發于A的外部TCP連接請求,僅允許本地作為發起端。

  那么,這樣做是否會影響BGP鄰居的建立呢?如前所述,在建立BGP鄰居的第一個階段,雙方都會發起TCP連接請求,雖然ISP一側的路由器B拒絕了來自企業網路由器A的TCP建立請求,但始發于B的TCP建立請求并不會受到任何影響。根據TCP的建立機制[4],如果B端的TCP activedelay延時小于A端,在完成三次握手之后,TCP連接就會建立成功;若B端的TCP activedelay延時大于A端,則此次連接建立失敗,但TCP兩端會重新生成隨機的activedelay延時并發出第二次、第三次……連接請求,一旦B端的activedelay延時小于A端,TCP連接就會成功建立,并進入到BGP鄰居建立的下一階段。所以控制TCP的連接方向并不會影響BGP鄰居的正常建立。

  事實上,不論是否限制TCP的連接方向, BGP鄰居建立完成后,同一對BGP鄰居之間都只會保存一條TCP鏈路的連接。

4控制TCP連接方向具體方法

  在實際網絡環境中,控制TCP連接方向的方法有三種:

  (1)擴展型訪問控制列表(EACL: Extended Access Control List)

  B端配置實例:

  ip accesslist extended 100

  deny tcp any any eq bgp

  permit ip any any

  擴展的訪問控制列表可以針對TCP協議的各種應用(端口號)進行數據包的過濾,圖1中,在B端的互聯接口入向應用本策略,可以拒絕所有向B端BGP端口發起的TCP連接,而對B端出向的TCP連接不做任何限制。

  在A端打開debug信息,可以看到從A端始發的TCP連接請求被拒絕(圖2)。最終建立的TCP連接一定是B的隨機高端口訪問A的179端口(圖3),即該連接始發于B。

 

002.jpg

  擴展型訪問控制列表具有配置規范、部署靈活、易于維護的特點,但它對通過接口的每一個數據包都要進行拆包檢查,當一個EACL中包含的過濾條目較多時會占用大量的CPU資源,甚至會影響設備的轉發性能。因此,這種方法并不適用于中低端的路由器設備,建議應用在具有分布式CPU架構的骨干路由器上,例如在電信級的網絡環境(ISP)中部署。

  (2)連接模式匹配(connectionmode)

  連接模式是BGP協議內置的安全策略,針對具體的BGP鄰居部署。它分為主動和被動兩種模式,如果在B端設置了主動模式,則所有從A始發的TCP連接請求到達B端時均被拒絕,這就相當于關閉了B側的179端口,實現效果與擴展型訪問控制列表類似。需要注意的是:兩個BGP鄰居的連接模式必須主動與被動匹配,否則TCP連接無法建立。

  B端配置實例:neighbor 1.1.1.1 transport connectionmode active

  A端配置實例:neighbor 2.2.2.2 transport connectionmode passive

  相比EACL的“逢包必檢”,本連接模式只針對具體的BGP鄰居進行限制,對系統資源的占用要小很多。但在廣播型鏈路或者多宿主的網絡環境中,連接模式需要分別對每個鄰居開啟此功能,部署不夠靈活,建議應用在企業網互聯或者企業內網Intranet中。

  (3)默認路由(defaultrouting)

  為了更好地理解這種方法,把企業網AS100想象成一個末端網絡,路由器A是它唯一的出口網關。A通過默認路由指向B,而B則通過一條靜態路由指向A。

  在BGP鄰居建立的第一個階段,A會收到告警信息:“Active open failedno route to peer”(即始發TCP連接失敗,沒有到達鄰居的路由),最終建立成功的TCP連接始發于B端。如此看來,使用默認路由同樣可以控制TCP連接方向。

  這里需要搞清楚一個問題:A明明有一條指向B的默認路由,為什么會收到無路由的告警呢?這是因為默認路由有一個隱含的防環機制:它不能主動發起TCP連接請求;但對于接收到的TCP連接請求,默認路由可以被動地響應,按照三次握手流程返回seq和ack值,完成TCP建立。所以當一端使用了默認路由時,最終完成的TCP連接一定始發于配置默認路由的另一端。

  在實際網絡環境中,ISP往往沒有能力監控從接入端指向自己的是否為一條默認路由。因此,依靠對端的配置來抵御DDoS的攻擊還是有一定風險的。相對于生產網絡,這種方法更適用于教學或實驗的網絡環境。

5結論

  與增加防火墻等硬件設備相比,通過控制TCP連接的方向來防御DDoS攻擊,可以不受網絡拓撲結構的限制,除了部署靈活以外,還能夠避免增加新的故障點,降低了運營成本,不失為BGP應用的一種新的探索與嘗試。

參考文獻

  [1] STEVENS W R. TCP/TP詳解卷1:協議[M].北京:機械工業出版社,2016.

  [2] 李鋒.粒子群BP神經網絡在DDoS攻擊檢測中的應用[J].微型機與應用,2014,33(3):5054.

  [3] 孫欽東,張德運,高鵬.基于時間序列分析的分布式拒絕服務攻擊檢測[J].計算機學報,2005,28(5):767773

  [4] STEWART J. Bgp4: Interdomain routing in the Internet[M].Boston: Addison Wesley,1998.


此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 亚洲精品高清视频 | 春意影院免费入口 | 午夜寂寞影院视频在线观看 | 国产日韩精品在线 | 日日夜夜国产 | 欧美激情国内自拍偷 | 看成年女人免费午夜视频 | 黑丝美女网站 | 羞羞色在线 | 无遮挡1000部拍拍拍免费观看 | 两个人看的www高清免费视频 | 午夜剧场普通用户 | 色综合天天操 | 欧美精品一区在线看 | 亚州激情 | 天天干天天操天天 | 国产成人视屏 | 国产精品麻豆一区二区 | 国产成人综合网亚洲欧美在线 | 在线观看嗯啊成人动作片 | 午夜看片网站 | 欧美成人全部视频 | 亚洲国产第一区二区香蕉日日 | 日韩欧美中文字幕在线视频 | 午夜一级毛片 | 天天插天天狠天天透 | 插菊花综合 | 亚洲成人免费观看 | 国产日韩精品一区二区在线观看 | 日本三级欧美三级人妇英文 | 羞羞视频在线看免费 | 黄色片一级免费看 | 亚洲人成网国产最新在线 | 美女视频黄色网址 | 成人久久久精品乱码一区二区三区 | 一级片一级毛片 | 最近最好的中文字幕2019免费 | 激情五月综合 | 欧美日韩麻豆 | 欧美一区二区三区不卡免费 | 日韩欧美色综合 |