王印璽,黃華雪
(四川大學(xué)網(wǎng)絡(luò)空間安全學(xué)院,成都610065)
分布式拒絕服務(wù)攻擊(DDoS)給網(wǎng)絡(luò)空間安全帶來(lái)巨大的威脅,如何對(duì)DDoS攻擊進(jìn)行有效的防御是網(wǎng)絡(luò)安全領(lǐng)域研究的熱點(diǎn)。從DDoS攻擊的不同時(shí)期進(jìn)行研究,總結(jié)DDoS攻擊在每個(gè)時(shí)期的攻擊特性和主要的防御方法,重點(diǎn)論述DDoS攻擊的發(fā)展趨勢(shì),對(duì)新一代DDoS攻擊和防御方法進(jìn)行分析與展望。
DDoS;DDoS防御;Botnet;網(wǎng)絡(luò)安全
分布式拒絕服務(wù)攻擊(Distributed Denial of Ser?vice)破壞了信息安全的可用性。攻擊者使用大量的流量消耗目標(biāo)服務(wù)器的網(wǎng)絡(luò)資源或服務(wù)資源,阻止合法用戶正常地訪問資源,給受害者帶來(lái)巨大的經(jīng)濟(jì)損失。DDoS攻擊能造成網(wǎng)絡(luò)設(shè)備和基礎(chǔ)設(shè)施的癱瘓,不僅嚴(yán)重影響個(gè)人生活和經(jīng)濟(jì)的發(fā)展,還嚴(yán)重威脅國(guó)家安全。
DDoS攻擊按照攻擊手段可以分為兩種類型,第一種類型利用系統(tǒng)或服務(wù)存在的漏洞發(fā)起拒絕服務(wù)攻擊[1]。如CVE-2019-0708漏洞,攻擊者只需要發(fā)送一個(gè)精心構(gòu)造的RDP數(shù)據(jù)包就能關(guān)閉一臺(tái)Windows Server。第二種類型需要使用大量的無(wú)用數(shù)據(jù)包快速地占據(jù)受害者的資源,使得受害者不再有能力為合法用戶提供服務(wù)。第一種類型的攻擊通過打補(bǔ)丁能有效地進(jìn)行防御,第二種類型的攻擊需要準(zhǔn)確地區(qū)分合法流量和DDoS流量,是學(xué)術(shù)界研究的重點(diǎn)。本文詳細(xì)討論的是第二種類型的攻擊。
如今,DDoS攻擊在因特網(wǎng)上及其常見且攻擊次數(shù)逐年增加。報(bào)告指出2020年上半年DDoS百G以上攻擊次數(shù)高達(dá)4000次,總攻擊次數(shù)與2019年同期相比增長(zhǎng)了45%[2]。針對(duì)DDoS攻擊異常頻繁且攻擊強(qiáng)度高,總結(jié)了三種原因:
(1)DDoS攻擊工具容易獲得
在早期,攻擊者需要手動(dòng)構(gòu)造特定的數(shù)據(jù)包,同時(shí)操控大量主機(jī)發(fā)動(dòng)DDoS攻擊。但隨著互聯(lián)網(wǎng)的發(fā)展,全自動(dòng)化攻擊工具常見且容易獲得。這大大降低了發(fā)動(dòng)攻擊的成本和門檻。這使得一位電腦菜鳥也能使用攻擊工具發(fā)起一次成功的DDoS攻擊。
(2)因金錢或利益的驅(qū)動(dòng)發(fā)動(dòng)DDoS攻擊
攻擊者以DDoS攻擊作為威脅,敲詐勒索受害者,達(dá)到非法牟利的目的。甚至建立專門的攻擊平臺(tái),出租DDoS攻擊流量進(jìn)行非法盈利。如Webstreeser,歐洲最大的DDoS攻擊出租平臺(tái),在2015到2018年間發(fā)動(dòng)的DDoS攻擊次數(shù)高達(dá)4千萬(wàn)次。
(3)DDoS攻擊結(jié)合新技術(shù)進(jìn)行演變
新技術(shù)的不斷催生,導(dǎo)致DDoS攻擊結(jié)合新技術(shù)演變出更多種類的攻擊。如DDoS結(jié)合IoT的攻擊,通過感染大量的物聯(lián)網(wǎng)設(shè)備發(fā)起流量高達(dá)1TB每秒的攻擊。以往的攻擊很難企及如此大的流量。
深入剖析DDoS攻擊的發(fā)展,對(duì)研究DDoS攻擊的防御至關(guān)重要。本文研究DDoS攻擊的演變進(jìn)程與防御方法,首先介紹DDoS攻擊的分類。其次,根據(jù)DDoS攻擊在不同時(shí)間段的特性,將其分為三個(gè)時(shí)期:DDoS早期、Botnet時(shí)期和應(yīng)用層時(shí)期,對(duì)每個(gè)時(shí)期的攻擊方法,防御手段進(jìn)行詳細(xì)探討。
根據(jù)攻擊的目的可以將DDoS攻擊分為兩類:網(wǎng)絡(luò)層攻擊和應(yīng)用層攻擊。網(wǎng)絡(luò)層攻擊意在消耗目標(biāo)的帶寬資源或是網(wǎng)絡(luò)設(shè)備的資源。這類攻擊包括:TCP SYNflood攻擊、UDPflood攻擊等。應(yīng)用層攻擊利用應(yīng)用層協(xié)議大量消耗服務(wù)器的資源。這類攻擊包括HTTP慢速攻擊和CC攻擊。
根據(jù)攻擊的手段可以將DDoS攻擊分為直接型和反射型。直接型攻擊要求攻擊者與目標(biāo)主機(jī)會(huì)有直接的交互。直接型攻擊通常會(huì)與網(wǎng)絡(luò)層攻擊聯(lián)合使用,使用大量的數(shù)據(jù)包淹沒受害者。反射型攻擊存在中間服務(wù)器,攻擊者通過將源IP地址偽造成目標(biāo)主機(jī),將大量的數(shù)據(jù)包發(fā)送至中間服務(wù)器,中間服務(wù)器收到請(qǐng)求后會(huì)返回大量的數(shù)據(jù)包至目標(biāo)主機(jī)。這類攻擊包括DNS反射攻擊、SSDP反射攻擊。因響應(yīng)數(shù)據(jù)包與請(qǐng)求數(shù)據(jù)包的比值遠(yuǎn)遠(yuǎn)大于1,這類攻擊又稱為DDoS放大攻擊。通過攻擊目的和攻擊手段這兩個(gè)維度,將DDoS攻擊細(xì)分為四種類型,如圖1所示。
圖1 DDoS分類圖
第一次檢測(cè)到的DDoS攻擊發(fā)生于1996年,攻擊者發(fā)送大量的TCPSYNB包淹沒目標(biāo)主機(jī),造成主機(jī)的癱瘓。在早期,網(wǎng)絡(luò)設(shè)備和協(xié)議的設(shè)計(jì)缺乏足夠的安全意識(shí),這使得攻擊者可以利用它們的缺陷輕松的發(fā)動(dòng)DDoS攻擊[3],此處總結(jié)了DDoS攻擊在早期的三種特性。
(1)網(wǎng)絡(luò)層的泛洪攻擊是主要的攻擊類型
攻擊者主要使用TCP泛洪攻擊和ICMP泛洪攻擊,這種攻擊簡(jiǎn)單且實(shí)用,能在短時(shí)間內(nèi)大量消耗目標(biāo)的網(wǎng)絡(luò)資源。網(wǎng)絡(luò)設(shè)備的帶寬在早期及其有限,同時(shí)缺乏有效地防御手段,使得網(wǎng)絡(luò)層的泛洪攻擊效果顯著,成為早期攻擊的主流。
(2)攻擊者手動(dòng)地感染主機(jī)
攻擊者為了成功地癱瘓目標(biāo)主機(jī),需要大量的網(wǎng)絡(luò)資源。而更多的僵尸主機(jī)意味著更多的IP地址,更多的流量,更大的帶寬。這使得存在安全缺陷的主機(jī)成了攻擊者的目標(biāo)。在早期,攻擊者通過手動(dòng)的方式去感染主機(jī),在利用感染主機(jī)發(fā)動(dòng)DDoS攻擊。這也導(dǎo)致僵尸主機(jī)的增長(zhǎng)比較平緩。
(3)攻擊者傾向于偽造IP地址
因早期網(wǎng)絡(luò)設(shè)施的缺陷,攻擊者可以輕易地偽造IP地址,間接地增加攻擊流量[4]。通過偽造源IP地址,受害者會(huì)誤認(rèn)為存在大量主機(jī)與其通信。偽造IP地址發(fā)動(dòng)攻擊的成本遠(yuǎn)遠(yuǎn)小于組建僵尸主機(jī),且技術(shù)成本要求較低,使得偽造IP地址發(fā)動(dòng)DDoS攻擊在早期及其活躍。
在早期,攻擊者利用偽造IP地址產(chǎn)生大量的惡意流量,因此研究更側(cè)重于對(duì)偽造IP地址的識(shí)別。識(shí)別方法包括Ingress/Egress過濾器[5]和攻擊回溯[6]。前者檢測(cè)IP地址的合法性,同時(shí)屏蔽偽造IP地址。后者通過偽造的IP地址去追溯攻擊者的真實(shí)地址。
(1)Ingress/Egress過濾器
Ingress過濾器確保所有進(jìn)入網(wǎng)絡(luò)內(nèi)部的數(shù)據(jù)包都來(lái)自受信任的域。Egress過濾器要求所有未經(jīng)授權(quán)的數(shù)據(jù)包無(wú)法發(fā)送到網(wǎng)絡(luò)外。該方法屬于源端防御,根據(jù)IP地址域?qū)卧霫P進(jìn)行識(shí)別。它的防御效果取決于在網(wǎng)絡(luò)中的部署范圍。但是,如果偽造IP的攻擊者在Ingress過濾器所信任的域內(nèi),那么該防御方法不再有效。
(2)攻擊回溯
攻擊回溯意在構(gòu)建整體的攻擊路徑,該方法分為路徑標(biāo)注和路徑推測(cè)兩種類型。路徑標(biāo)注會(huì)在數(shù)據(jù)包通過路由節(jié)點(diǎn)時(shí)插入唯一的標(biāo)識(shí),不同的路由具有不同的標(biāo)識(shí)符,根據(jù)標(biāo)識(shí)符構(gòu)建出整條路徑。該類典型代表為ICMP回溯方法,文獻(xiàn)[7]改進(jìn)了ICMP回溯方法,追加標(biāo)記路由下一跳的位置,使得回溯更加準(zhǔn)確。文獻(xiàn)[8]在ICMP數(shù)據(jù)包中增加額外的位表示路由的權(quán)值,使得構(gòu)建回溯路徑更加迅速。路徑推測(cè)通過監(jiān)控網(wǎng)絡(luò)流量的變化,從而推斷出數(shù)據(jù)包的來(lái)源。其中最著名的是基于哈希的攻擊回溯[9],該方法使用源路徑隔離引擎,對(duì)網(wǎng)絡(luò)流量進(jìn)行跟蹤來(lái)回溯數(shù)據(jù)包的來(lái)源。文獻(xiàn)[10]根據(jù)DDoS攻擊與正常流量熵的不同,迭代的搜尋存在攻擊流量的上游路由,直至回溯到攻擊源。
源端防御的廣泛部署使得偽造IP地址的方法不再適用,導(dǎo)致攻擊者傾向于感染有缺陷的主機(jī)并組建僵尸網(wǎng)絡(luò),來(lái)增加攻擊的強(qiáng)度。這使得DDoS早期開始向Botnet時(shí)期過渡。
僵尸網(wǎng)絡(luò)(Botnet)是指被惡意程序感染,收到攻擊者控制的主機(jī)。隨著互聯(lián)網(wǎng)的發(fā)展,主機(jī)迅速地增長(zhǎng),但是人們對(duì)網(wǎng)絡(luò)安全的意識(shí)相對(duì)較弱,給了攻擊者可乘之機(jī)。漏洞信息的公開和黑客工具的輕易獲得使得僵尸主機(jī)在網(wǎng)絡(luò)空間中大量激增。在該時(shí)期大部分攻擊流量由僵尸網(wǎng)絡(luò)產(chǎn)生,該時(shí)期的攻擊特性如下:
(1)攻擊流量迅速地增加
攻擊者通過感染大量主機(jī),組建僵尸網(wǎng)絡(luò),具備產(chǎn)生大量攻擊流量的能力。另一方面隨著硬件成本的降低,目標(biāo)主機(jī)具有更多的網(wǎng)絡(luò)資源和計(jì)算資源,使得需要更多的攻擊流量才能達(dá)到拒絕服務(wù)器的效果。DDoS攻擊的峰值流量如圖2所示。
圖2 DDoS攻擊峰值流量
(2)網(wǎng)絡(luò)層攻擊是主要攻擊方法
自動(dòng)化工具能輕松地生成網(wǎng)絡(luò)層攻擊,結(jié)合僵尸網(wǎng)絡(luò),攻擊者能生大量的網(wǎng)絡(luò)層流量,淹沒目標(biāo)。該攻擊成本簡(jiǎn)單且易發(fā)起,報(bào)告指出網(wǎng)絡(luò)層攻擊在2015年至2018年占比最大[11],其中SYN泛洪攻擊位列首榜,見圖3。
圖3 網(wǎng)絡(luò)層攻擊流量占比
在這個(gè)時(shí)期,攻擊者利用僵尸主機(jī)來(lái)增加攻擊流量,防御者需要對(duì)正常流量和攻擊流量進(jìn)行準(zhǔn)確地識(shí)別,進(jìn)而防御和緩解DDoS攻擊。通過提取攻擊流量的特征,建立檢測(cè)模型,對(duì)流量進(jìn)行準(zhǔn)確地識(shí)別,該方法稱為基于特征的檢測(cè)方法。
基于特征檢測(cè)的方法需要提取數(shù)據(jù)集的特征,建立檢測(cè)模型,利用測(cè)試樣本評(píng)估模型的好壞。在正常情況下,TCP流入與流出數(shù)據(jù)包的比例是穩(wěn)定,利用該特性,MULTOPS根據(jù)流入流出子網(wǎng)的數(shù)據(jù)包速率的差異來(lái)檢測(cè)DDoS攻擊[12],該方法能根據(jù)流量的變化實(shí)時(shí)調(diào)整檢測(cè)的顆粒度,但是對(duì)內(nèi)存空間消耗過大。根據(jù)發(fā)生DDoS攻擊時(shí),數(shù)據(jù)包頭信息的統(tǒng)計(jì)分布與正常狀態(tài)下存在差異,文獻(xiàn)[13]提出一種基于IP數(shù)據(jù)包熵(IPSE)的DDoS檢測(cè)方法,通過觀察數(shù)據(jù)包熵的時(shí)間序列來(lái)檢測(cè)攻擊。根據(jù)TCP流量與RTT在通信過程中具有很強(qiáng)的周期性,文獻(xiàn)[14]提出一種基于頻譜分析的方法對(duì)DDoS攻擊進(jìn)行識(shí)別,它利用RTT間隔中數(shù)據(jù)包到達(dá)次數(shù)作為信號(hào),估計(jì)信號(hào)的功率譜密度來(lái)檢測(cè)TCP泛洪攻擊。
在Botnet時(shí)期,攻擊者更注重于攻擊流量的大小,傾向于發(fā)動(dòng)網(wǎng)絡(luò)層攻擊來(lái)消耗目標(biāo)的帶寬資源。防御方法注重于提取攻擊的特征,對(duì)攻擊流量進(jìn)行識(shí)別。當(dāng)攻擊者更側(cè)重于對(duì)主機(jī)資源進(jìn)行消耗時(shí),DDoS開始向下一個(gè)時(shí)期過渡。
應(yīng)用層協(xié)議與網(wǎng)絡(luò)層協(xié)議相比更加繁多且復(fù)雜,這使得每一個(gè)應(yīng)用層協(xié)議都成了潛在的攻擊面。在應(yīng)用層時(shí)期,因防御方法的發(fā)展,攻擊者更側(cè)重與攻擊的質(zhì)量,通過精心構(gòu)造的應(yīng)用層DDoS攻擊,達(dá)到比網(wǎng)絡(luò)層攻擊更好的效果。應(yīng)用層時(shí)期的攻擊特性如下所示:
(1)攻擊者傾向于發(fā)動(dòng)應(yīng)用層攻擊
報(bào)告顯示了2017年到2019年間最頻繁的三種DDoS攻擊[15]。應(yīng)用層攻擊的占比在不斷地增長(zhǎng),其中SSDP反射攻擊和DNS反射攻擊分別在2018年和2019年達(dá)到第一,見圖4。但是網(wǎng)絡(luò)層的攻擊依然活躍,對(duì)于缺乏防御的主機(jī),網(wǎng)絡(luò)層攻擊帶來(lái)的效果仍然顯著。
圖4 DDoS攻擊類型占比
(2)攻擊趨于復(fù)雜化且多樣化
攻擊者不再滿足于單一類的攻擊,而是使用多種攻擊相結(jié)合的方法。這類混合攻擊破壞性更大,同時(shí)更加難以防御。
與網(wǎng)絡(luò)層DDoS攻擊相比,應(yīng)用層攻擊在網(wǎng)絡(luò)層的流量是完全正常的,同時(shí)不同應(yīng)用層協(xié)議差異很大,這使得利用特征提取的方法進(jìn)行檢測(cè)較為困難?;趹?yīng)用層協(xié)議的復(fù)雜性,研究者提出了基于測(cè)試的識(shí)別方法和基于行為的檢測(cè)。
(1)基于測(cè)試的識(shí)別
基于測(cè)試的識(shí)別方法核心是圖靈測(cè)試。其中,CAPTCHA和AYAH最為常用[16-17],它們根據(jù)識(shí)別圖像或回答某種問題來(lái)區(qū)分人和自動(dòng)化機(jī)器。同時(shí)阻止未通過測(cè)試的請(qǐng)求訪問服務(wù)。但該類方法會(huì)影響用戶對(duì)服務(wù)的正常訪問,需要在測(cè)試強(qiáng)度和用戶體驗(yàn)之間尋找平衡。Golle[18]通過一種無(wú)縫集成測(cè)試的方法,提高圖靈測(cè)試的強(qiáng)度,該測(cè)試要求用戶在線游玩游戲,在增加測(cè)試強(qiáng)度的同時(shí)保障用戶體驗(yàn)。文獻(xiàn)[19]提出一種基于圖靈測(cè)試的系統(tǒng),通過提取人類瀏覽Web頁(yè)面的隱式模式,分析當(dāng)前用戶的瀏覽模式是否正常。與CAPTCHA相比,該方法不需要直接進(jìn)行人工的交互。
(2)基于行為的檢測(cè)
基于行為的檢測(cè)需要首先建立基準(zhǔn)行為模型,通過分析用戶一段時(shí)間的行為,然后與基準(zhǔn)行為模型進(jìn)行對(duì)比,將偏離行為模型的用戶判別為非法用戶。文獻(xiàn)[20]根據(jù)每個(gè)連接的統(tǒng)計(jì)屬性,如請(qǐng)求率、訪問時(shí)間、點(diǎn)擊深度等,計(jì)算行為分?jǐn)?shù),將得分較低的連接判定為惡意連接。Xie等人提出一種基于隱式的半馬爾科夫模型,用于識(shí)別用戶瀏覽行為的異常。使用信息熵對(duì)HTTP請(qǐng)求進(jìn)行建模,將偏離行為模型的用戶識(shí)別為攻擊者[21]。文獻(xiàn)[22]對(duì)日志系統(tǒng)進(jìn)行挖掘,通過對(duì)用戶日志建立基準(zhǔn)模型,來(lái)識(shí)別惡意行為。該方法不僅可以檢測(cè)DDoS攻擊,還能檢測(cè)針對(duì)應(yīng)用層的其他類型的攻擊。
最近的報(bào)告顯示應(yīng)用層攻擊次數(shù)仍然占首位,如今依然處于應(yīng)用層時(shí)期。我們并不知道下一個(gè)階段會(huì)是怎樣的,具有哪些特性。但毋庸置疑的是,DDoS攻擊會(huì)結(jié)合新技術(shù)不斷地進(jìn)行演變。
本文按照時(shí)間順序,回顧了DDoS的發(fā)展與演變過程。根據(jù)DDoS攻擊者的傾向,將它們分為DDoS早期、Botnet時(shí)期和應(yīng)用層時(shí)期。同時(shí)總結(jié)了攻擊的特征和主要的防御方法。DDoS攻擊會(huì)隨著新技術(shù)的發(fā)展而不斷演變,后續(xù)對(duì)于SDN和云服務(wù)的DDoS防御方法將會(huì)是研究重點(diǎn)。