search
尋找貓咪~QQ 地點 桃園市桃園區 Taoyuan , Taoyuan

花無涯帶你走進黑客世界之設置路由器防禦DDoS攻擊

在分散式「拒絕服務」(DDoS)的攻擊過程中,靠近網路邊緣的網路節點將會變得資源枯竭。

「野蠻粗暴」的DDoS,DDoS之所以能動輒網站失聯、服務癱瘓,造成巨大影響,原因在於它簡單直接,直接攻擊在底層連接上。DDoS攻擊是一種很野蠻的攻擊方式。一些黑客通過技術手段控制了一些伺服器、個人電腦后,他們只需要在這些設備上植入DDoS攻擊程序,即可打擊互聯網上任意一目標。以往一個黑客要入侵一個網站,一般要經過技術分析、查找漏洞、實施入侵等一系列工作。但這並不總是有效的,如果一些網站代碼、伺服器安全加固較好的話,這類技術入侵也無計可施。

但DDoS就不一樣了,比如黑客控制了1000台機器,這些機器每個帶寬是10M,那麼相當於黑客有了10G的流量,當它控制這些機器同時向某一網站發起流量攻擊時,目標網站可能瞬間帶寬被佔滿,而無法訪問。據了解,國內的絕大多數的網站都是10M、100M規模的帶寬,超過1G帶寬的只有那些互聯網上非常知名的企業才會有。超過100G的,除過國內一些做IDC帶寬服務的、以及像加速樂這樣專門做抗攻擊服務的,算下來估計在互聯網企業中不超過20家企業。所以超大流量打過來,企業自身一般沒有任何辦法。

一、路由器設置實現DDoS防禦之DDoS攻擊原理討論

在分散式「拒絕服務」(DDoS)的攻擊過程中,一群惡意的主機或被惡意主機感染的主機將向受攻擊的伺服器發送大量的數據。在這種情況下,靠近網路邊緣的網路節點將會變得資源枯竭。原因有二:一是靠近伺服器的節點通常在設計時只要求處理少量的用戶數據; 二是由於數據在網路核心區的聚集使處於邊緣的節點會接收更多的數據。此外,伺服器系統本身也很容易受到攻擊,在極度超載的情況下會癱瘓。

DDoS攻擊被視為一種資源管理問題。本文的目的就是要保護伺服器系統在全局性網路中不會收到過量的服務請求。當然,這種機制也可以很容易地變為對網路節點的保護。為此,必須採取一種預防性措施:在攻擊性數據包聚集到使伺服器癱瘓之前,在傳送路徑上的路由器中對流量進行調節,避免攻擊的發生。具體實現機制是要在與伺服器有數級距離的上游路由器上設置門限值,只有在這個門限值以內的數據量可以通過路由器,而其他數據將被放棄或路由至其他路由器。

這種防禦系統中的一個主要因素是各個路由點輸出「適當」的數據量。「適當」必須視當時的需求分配而定,因此伺服器與網路之間要進行動態協商。本文中的協商方法由伺服器(S)發起,如果伺服器在低於設計容量(Us)的情況下運行,則不需要設置門限值;如果伺服器的負載(Ls)超過了設計容量,則可以在伺服器的上游設置門限值來進行自我保護。此後,如果當前的門限值不能使S的負載低於Us,則應降低門限值;反之,如果Ls《 Us,則應升高門限值;如果門限值的升高沒有使負載在監視期內明顯增加,則可以取消門限值。控制演算法的目標就是將伺服器的負載控制在[Ls,Us]範圍之內。

很顯然,不可能要求保留所有網路伺服器的狀態信息,因為這樣會造成狀態信息爆炸。但按需求選擇保護機制是可行的,這一觀點是基於DDoS攻擊是一種個別現象而非普遍情況的假設。在任何時間段內,我們認定只有少數的網路受到攻擊,大部分網路在「健康」狀態下運行。此外,惡意攻擊者通常選擇那些訪問用戶最多的「主要站點」攻擊,這些站點就可以利用以下的網路結構來保證自身的安全。

二、路由器設置實現DDoS防禦之系統的模式討論

本文提及的所有數據量和伺服器負載量的單位均為 kbps。系統網路拓撲圖如圖1所示。本文給出了網路模型G=(V,E),其中V代表一系列節點,E表示邊緣。所有的葉狀節點均為主機和數據來源。內部節點為路由器,路由器不會產生數據但可以接收來自主機的數據或轉發來自其他路由器的數據。R表示內部路由節點,所有的路由器均假設是可以信任的。主機H=V-R,被分為普通的正常用戶Hg和惡意用戶Ha,E是網路鏈路模型,默認為雙向。

葉形節點V被當作目標伺服器S。正常用戶以[0,rg]的速度將數據包發送到S。惡意攻擊者則以[0,ra]的速度向S發送數據包,從原則上講可以根據用戶通常如何訪問S(假設rg《 《 Us)來為rg設置一個合理的水平,但ra的取值很難確定,實際上ra的值大大高於rg。

當S受到攻擊時,它會啟動前面談到的門限值防護機制。為了便於表示,假設一個超載的伺服器仍然能夠啟動防護機制,因此沒有必要在每台路由器上均設置門限值。R(k)表示與S相距k層的路由器或短於k層的路由器,但它們均直接與主機相連。

圖中的方塊節點表示主機,圓形節點代表路由器。最左側的主機為目標伺服器S,R(3)中的路由器為圖中綠色的部分,請注意R(3)中最下層的路由器與S只相隔兩層,之所以將其包括在內是因為它與主機直接相連。

三、路由器設置實現DDoS防禦之路由器門限值演算法

在圖1的例子中,令每台主機上的數字(S除外)減去當前主機向S發送數據的速率。設Ls=18且Us=22,發往S的負載超出了Us,因此將在S處啟動門限值。演算法運行結束之後,S確定門限值為6.25並將此速率定製到R(3)的各個路由器中。在圖1中路由器上方的數字錶示到達S的數據速率,下方括弧中的數字錶示數據傳遞的速率(經過調節后的)。經過調節后S處的負載限制到了20.53,R(3)中經過調節的速率是伺服器負載的公平值。

目前為止僅討論了如何使用基本的門限值演算法,R(k)將隨k的增加而快速增加。因此如果某些路徑沒有受到攻擊,則這些路徑上的路由器資源就會造成浪費。如果位於S和R(k)之間的路由器可以監視通向S的分組數據速率,則可以在不影響性能的前提下使情況得到改善。

圖2為圖1中在S和R(3)之間引入了監視路由器后的方式。請注意,圖中R(3)所屬的三個路由器的門限值被取消,因為在這些路徑上並沒有任何攻擊。

四、路由器設置實現DDoS防禦各種考核測量標準

性能測量的一個基本指標是門限值能在多大程度上防DDoS攻擊。除了基本指標,還必須考慮安裝這一機制的成本。因此,可採用下述評估標準:

1.伺服器中普通用戶的數量;

2.保護S時需要介入的路由器數量;

3.針對用戶需求變化的應變能力。

一般來講,我們認為攻擊者比普通用戶的攻擊性更強。但是某個惡意的攻擊能使其他大量的主機參與到惡意攻擊中來,雖然每個主機看上去像是一般的普通用戶,但它們加在一起仍然會造成DDoS攻擊。從本質上說,防禦此類攻擊比較困難。

在實際布置此類防護機制時必須遵守幾點要求。首先,必須保證門限值的可靠性,否則,機制本身就可能成為攻擊點。為了保證可靠性,門限值消息在被邊緣路由器接納到網路中時,必須先進行驗證。第二,必須保證這些消息能夠安全地從發起點到達目的點。由於門限值消息的發送量很小,其鑒權和傳輸優先性應該可以接受,而且,由於控制方法必須收到反饋,伺服器可能會在瞬時超載,為了確保該調節機制仍能運行,可以使用協處理器或幫助設備。第三,門限值保護機制可能不會在整個網路中得到支持,但只要受攻擊的路由上有一台路由器支持此機制就行。



熱門推薦

本文由 yidianzixun 提供 原文連結

寵物協尋 相信 終究能找到回家的路
寫了7763篇文章,獲得2次喜歡
留言回覆
回覆
精彩推薦