分布式拒絕服務(wù)攻擊是惡意破壞目標服務(wù)器、服務(wù)或網(wǎng)絡(luò)的正常通信量的企圖,其方法是用大量Internet通信量淹沒目標或其周圍的基礎(chǔ)設(shè)施。DDoS攻擊通過利用多個受損的計算機系統(tǒng)作為攻擊流量的來源來達到有效性。被利用的機器可以包括計算機和其他網(wǎng)絡(luò)資源,如物聯(lián)網(wǎng)設(shè)備。從高層來說,DDoS攻擊就像堵塞高速公路的交通堵塞,阻止常規(guī)交通到達它想要的目的地。
DDoS攻擊是怎么工作的?
DDoS攻擊要求攻擊者獲得對在線計算機網(wǎng)絡(luò)的控制,以便進行攻擊。電腦或者其他機器(如物聯(lián)網(wǎng)設(shè)備)被惡意軟件感染,每臺電腦都變成了僵尸。然后攻擊者就可以遠程控制這群被稱為僵尸網(wǎng)絡(luò)的機器人。
一旦建立了僵尸網(wǎng)絡(luò),攻擊者就可以通過遠程控制的方法向每個機器人發(fā)送更新的指令,從而指導(dǎo)機器人。當僵尸網(wǎng)絡(luò)攻擊受害者的IP地址時,每個機器人都會向目標發(fā)送請求,這可能導(dǎo)致目標服務(wù)器或網(wǎng)絡(luò)溢出容量,導(dǎo)致對正常流量的拒絕服務(wù)。因為每個機器人都是一個合法的互聯(lián)網(wǎng)設(shè)備,所以很難將攻擊流量與正常流量分開。
DDoS攻擊的常見類型是什么?
不同的DDoS攻擊向量針對不同的網(wǎng)絡(luò)連接組件。為了了解不同的DDoS攻擊是如何工作的,有必要了解網(wǎng)絡(luò)連接是如何建立的。Internet上的網(wǎng)絡(luò)連接由許多不同的組件或“層”組成。就像從頭開始建造房子一樣,模型中的每一步都有不同的目的。OSI模型,如下圖所示,是一個概念框架,用來描述網(wǎng)絡(luò)連接在7個不同的層。
、
雖然幾乎所有的DDoS攻擊都涉及用流量淹沒目標設(shè)備或網(wǎng)絡(luò),但攻擊可以分為三類。攻擊者可能利用一個或多個不同的攻擊向量,或基于目標采取的對抗措施的循環(huán)攻擊向量。
應(yīng)用層攻擊(Application Layer Attacks)
攻擊目標:
有時被稱為第7層DDoS攻擊(參照OSI模型的第7層),這些攻擊的目標是耗盡目標的資源。攻擊針對的是在服務(wù)器上生成并響應(yīng)HTTP請求交付web頁面的層。在客戶端執(zhí)行一個HTTP請求很便宜,而且目標服務(wù)器響應(yīng)起來也很昂貴,因為服務(wù)器通常必須加載多個文件并運行數(shù)據(jù)庫查詢才能創(chuàng)建web頁面。第7層攻擊很難防御,因為流量很難標記為惡意的。
應(yīng)用層攻擊實例:
HTTP Flood
這種攻擊類似于在web瀏覽器中一次又一次地在許多不同的計算機上按下refresh——大量的HTTP請求涌向服務(wù)器,導(dǎo)致拒絕服務(wù)。
這種類型的攻擊范圍從簡單到復(fù)雜。更簡單的實現(xiàn)可以使用相同范圍的攻擊IP地址、引用和用戶代理訪問一個URL。復(fù)雜版本可能會使用大量的攻擊IP地址,并使用隨機的引用器和用戶代理來目標隨機url。
協(xié)議攻擊(Protocol Attacks)
攻擊目標:
協(xié)議攻擊(也稱為狀態(tài)耗盡攻擊)通過消耗web應(yīng)用服務(wù)器或防火墻和負載均衡器等中間資源的所有可用狀態(tài)表容量,導(dǎo)致服務(wù)中斷。協(xié)議攻擊利用協(xié)議棧的第3層和第4層的弱點使目標無法訪問。
協(xié)議攻擊的例子:
SYN Flood
同步洪水類似于供應(yīng)室的工作人員接收來自商店前面的請求。工作人員接收到請求,然后去獲取包,并等待確認,然后再將包帶到前面。然后,工作人員在沒有確認的情況下得到更多的包請求,直到他們無法攜帶更多的包,變得不堪重負,請求開始無人應(yīng)答。
這種攻擊利用TCP握手,通過發(fā)送大量具有欺騙源IP地址的TCP“初始連接請求”SYN包給目標。目標機器響應(yīng)每個連接請求,然后等待握手的最后一步,握手永遠不會發(fā)生,這會耗盡目標的資源。
容量耗盡攻擊(Volumetric Attacks)
攻擊目標:
這類攻擊試圖通過消耗目標和大型Internet之間的所有可用帶寬來造成擁塞。通過使用一種放大形式或另一種產(chǎn)生大量流量的方式(如僵尸網(wǎng)絡(luò)的請求)將大量數(shù)據(jù)發(fā)送到目標。
DNS Amplification
DNS擴增就像如果有人打電話給一家餐館,說“我要一份套餐,請給我回電話,告訴我我的全部訂單”,他們給出的回叫電話號碼就是目標顧客的號碼。只需很少的努力,就會產(chǎn)生長時間的響應(yīng)。
通過向具有欺騙IP地址(目標的實際IP地址)的開放DNS服務(wù)器發(fā)出請求,目標IP地址然后從服務(wù)器接收響應(yīng)。攻擊者構(gòu)造請求,使DNS服務(wù)器用大量數(shù)據(jù)響應(yīng)目標。因此,目標接收攻擊者初始查詢的放大。
怎么才能減輕DDoS攻擊?
減輕DDoS攻擊的關(guān)鍵問題是區(qū)分攻擊和正常通信量。例如,如果一個產(chǎn)品發(fā)布讓一個公司的網(wǎng)站擠滿了熱切的客戶,那么切斷所有的流量就是一個錯誤。如果該公司突然有一個流量激增的已知不良演員,努力減輕攻擊可能是必要的。難點在于區(qū)分真正的客戶和攻擊流量。
在現(xiàn)代互聯(lián)網(wǎng)中,DDoS流量有多種形式。流量可以在設(shè)計上有所不同,從無欺騙的單源攻擊到復(fù)雜的自適應(yīng)多矢量攻擊。多矢量DDoS攻擊使用多種攻擊路徑,以不同的方式覆蓋目標,可能分散在任何一條軌跡上的緩解工作。同時攻擊協(xié)議棧的多個層,例如DNS放大(目標層3/4)和HTTP洪水(目標層7)是多向量DDoS的一個例子。
減輕多矢量DDoS攻擊需要多種策略來對抗不同的軌跡。一般來說,攻擊越復(fù)雜,流量就越難以從正常的流量中分離出來——攻擊者的目標是盡可能地融入其中,使緩解的效率盡可能低。不加區(qū)別地減少或限制流量的緩解嘗試可能會將好的流量與壞的流量一起拋棄,攻擊也可能修改和適應(yīng)以規(guī)避對策。為了克服破壞的復(fù)雜嘗試,分層的解決方案將帶來最大的好處。
黑洞的路由
幾乎所有網(wǎng)絡(luò)管理員都可以使用的一種解決方案是創(chuàng)建一個黑洞路由,并將流量引入該路由。最簡單的形式是,當在沒有特定限制條件的情況下實現(xiàn)黑洞過濾時,合法的和惡意的網(wǎng)絡(luò)流量都被路由到空路由或黑洞并從網(wǎng)絡(luò)中刪除。如果一個互聯(lián)網(wǎng)財產(chǎn)正在經(jīng)歷DDoS攻擊,該財產(chǎn)的互聯(lián)網(wǎng)服務(wù)供應(yīng)商(ISP)可能發(fā)送所有的網(wǎng)站流量到一個黑洞作為防御。
速度限制
限制服務(wù)器在某個時間窗口內(nèi)接受的請求數(shù)量也是減輕拒絕服務(wù)攻擊的一種方法。雖然速率限制在減緩web抓取器竊取內(nèi)容和減輕強制登錄嘗試方面很有用,但它本身可能不足以有效地處理復(fù)雜的DDoS攻擊。然而,在有效的DDoS緩解策略中,速率限制是一個有用的組成部分。
Web應(yīng)用程序防火墻
Web應(yīng)用程序防火墻(WAF)是一種可以幫助減輕第7層DDoS攻擊的工具。通過在Internet和原始服務(wù)器之間放置WAF, WAF可以充當反向代理,保護目標服務(wù)器免受某些類型的惡意通信。通過基于用于識別DDoS工具的一系列規(guī)則過濾請求,第7層的攻擊可能會受到阻礙。有效WAF的一個關(guān)鍵價值是能夠快速實現(xiàn)自定義規(guī)則以響應(yīng)攻擊。
Anycast網(wǎng)絡(luò)擴散
這種緩解方法使用Anycast網(wǎng)絡(luò)將攻擊流量分散到分布式服務(wù)器網(wǎng)絡(luò)上,直到網(wǎng)絡(luò)吸收流量為止。就像將湍急的河流引導(dǎo)到單獨的較小的通道上一樣,這種方法將分布式攻擊流量的影響分散到可以管理的地方,分散了任何破壞能力。Anycast網(wǎng)絡(luò)減輕DDoS攻擊的可靠性取決于攻擊的大小以及網(wǎng)絡(luò)的大小和效率。