摘? ?要:由于多向量攻擊的發(fā)展,網(wǎng)絡(luò)層攻擊變得越來越復(fù)雜,攻擊者將高Gbps(Gigabits per second)和高Mpps(Million packet per second)攻擊結(jié)合在一起,基于網(wǎng)絡(luò)的容量攻擊會耗盡服務(wù)器資源并消耗可用帶寬,最終的結(jié)果是拒絕向合法用戶提供服務(wù)。針對這種情況,論文對網(wǎng)絡(luò)層攻擊的模型深入分析,提出了網(wǎng)絡(luò)層發(fā)生的DoS(Denial of Service)攻擊防御模型,通過構(gòu)建并彈性獲得吸收攻擊所需的帶寬容量和過濾攻擊流量的網(wǎng)絡(luò)架構(gòu)和安全策略,僅將正確流量進入網(wǎng)絡(luò),減少數(shù)據(jù)中心受到DDoS(Distributed Denial of Service)攻擊的可能性,提高數(shù)據(jù)中心對網(wǎng)絡(luò)層DDoS攻擊的防御能力,改善網(wǎng)絡(luò)環(huán)境,顯著提升網(wǎng)絡(luò)系統(tǒng)的安全性能。
關(guān)鍵詞:DDoS攻擊;網(wǎng)絡(luò)層;安全策略;攻擊防御
中圖分類號: TP393? ? ? ? ? 文獻標識碼:A
1 引言
隨著網(wǎng)絡(luò)的日益普及,專門針對不同網(wǎng)絡(luò)系統(tǒng)攻擊的數(shù)量、類型、大小和成本也相應(yīng)增加。波耐蒙研究所(Ponemon Institute)進行的一項全球調(diào)查的結(jié)果表明,分類中排第一的是拒絕服務(wù)(DoS)和分布式拒絕服務(wù)(DDoS)攻擊,占每年所有網(wǎng)絡(luò)犯罪的55%以上,是影響最大的網(wǎng)絡(luò)犯罪。世界知名企業(yè)Akamai(阿卡邁)預(yù)測2020年平均DDoS攻擊將產(chǎn)生1.5Tbps的網(wǎng)絡(luò)流量。如果數(shù)據(jù)中心已成為DDoS攻擊的目標,則有25%的機會在3個月內(nèi)再次受到攻擊,并且有36%的可能性在一年內(nèi)會再次成為攻擊目標。
2? DoS/DDoS攻擊
在DoS攻擊中,攻擊者可以使用Internet連接來利用軟件漏洞或向服務(wù)器發(fā)送多個虛假請求,最終導(dǎo)致該站點不可用并阻止其響應(yīng)合法用戶的請求,發(fā)起DDoS攻擊的第一步是招募一系列機器人,一旦節(jié)點計算機變成機器人,它連接到攻擊者的控制電路,并開始接受來自控制服務(wù)器的指令,來自指揮控制服務(wù)器的指令包括使用選定的攻擊方法從機器人惡意軟件向特定目標發(fā)起攻擊的指令[1]。一群被控制的主機被稱為僵尸網(wǎng)絡(luò),它通常由數(shù)千個被控制的主機組成。每當(dāng)僵尸網(wǎng)絡(luò)所有者想要發(fā)起攻擊時,都會向僵尸網(wǎng)絡(luò)的控制服務(wù)器發(fā)送消息。僵尸網(wǎng)絡(luò)中任何受影響的機器都將服從命令,發(fā)起一場協(xié)調(diào)、適時的分布式攻擊,即分布式拒絕服務(wù)攻擊[2]??梢允褂酶鞣N按需付費的DDoS服務(wù)來創(chuàng)建自己的僵尸網(wǎng)絡(luò),使用此類服務(wù)的任何人都可以發(fā)起強大的DDoS攻擊。
2.1? 最早記錄
第一次公開記錄的DDoS攻擊發(fā)生在1996年9月,攻擊對象是紐約市歷史最悠久的互聯(lián)網(wǎng)服務(wù)提供商Panix。SYN泛濫被用來耗盡可用的網(wǎng)絡(luò)連接,并阻止合法用戶連接到Panix服務(wù)器。一個全球互聯(lián)網(wǎng)專家小組花了大約36個小時的工作,最終才奪回了Panix域名的控制權(quán)。2005年,“panix.com”域名在美國的一個長假周末再次被劫持。第二個重要的里程碑是電子干擾劇場(EDT)對DDoS的使用。這時黑客使用的是內(nèi)部開發(fā)工具,讓組織外部的任何人都可以加入。開發(fā)的工具包(FloodNet)可以將用戶的流量引導(dǎo)到EDT預(yù)先確定的目標,希望加入“sit-in”的人只需從下拉菜單中選擇他們的目標點擊攻擊,等待FloodNet自動轟炸攻擊服務(wù)器。
2.2? 國內(nèi)影響最嚴重的DDoS攻擊
2013年,中國部分互聯(lián)網(wǎng)遭遇了有史以來最大的拒絕服務(wù)攻擊。據(jù)中國互聯(lián)網(wǎng)絡(luò)信息中心(CNNIC)稱[17],襲擊始于周日凌晨2點,隨后在凌晨4點發(fā)生了更嚴重的襲擊。此次攻擊的目標是注冊中心,主要是域名為“.cn”的網(wǎng)站。
2.3? 流量最大的一次DDoS攻擊
最近一次是在2016年1月,“新世界黑客組織”(New World Hacking group)聲稱對英國廣播公司(BBC)的全球網(wǎng)站和唐納德·特朗普(Donald Trump)的網(wǎng)站被攻陷事件負責(zé)。該組織針對所有BBC網(wǎng)站,包括其iPlayer點播服務(wù)進行了DDoS攻擊,并在新年前夕把所攻擊的網(wǎng)站關(guān)閉至少3個小時。這次攻擊被稱為DoS攻擊史上流量最大的一次,攻擊速度超過600 Gbps。
DDoS攻擊的業(yè)務(wù)影響是巨大的,通過消耗網(wǎng)絡(luò)帶寬在Internet上造成嚴重破壞,使可用的計算資源(如磁盤、內(nèi)存、空間或處理器時間)不堪重負,破壞配置信息或重置設(shè)備信息,使企業(yè)名譽受損,還可能造成嚴重的法律后果。
3? 網(wǎng)絡(luò)層DDoS攻擊模型
應(yīng)用層和網(wǎng)絡(luò)層是DDoS攻擊的主要目標。對于網(wǎng)絡(luò)層攻擊是通過協(xié)議發(fā)送惡意數(shù)據(jù)包,以消耗目標的可用連接和可用帶寬;對于應(yīng)用層攻擊是消耗Web服務(wù)器用來處理請求的計算資源(主要是CPU和內(nèi)存)。網(wǎng)絡(luò)層攻擊是經(jīng)常遇到的攻擊,歸因于許多主要站點上的中斷服務(wù),SYN泛洪、ACK泛洪或基于UDP的放大攻擊都屬于網(wǎng)絡(luò)層攻擊。網(wǎng)絡(luò)層攻擊通常以Gbps(千兆位每秒)為單位,以衡量每秒可消耗的帶寬量,由于它們對數(shù)據(jù)中心進行“攻擊”,它們也被稱為容量攻擊[3]。
網(wǎng)絡(luò)層基本攻擊是簡單泛洪或放大攻擊。泛洪利用特定的協(xié)議(如TCP、ICMP或UDP)向目標發(fā)送大量請求并使網(wǎng)絡(luò)過載。SYN Flood是一個最常見的網(wǎng)絡(luò)層DDoS攻擊。在其結(jié)構(gòu)上,攻擊系統(tǒng)向主機發(fā)送帶有欺騙源IP地址的TCP SYN請求,雖然請求看起來合法,但偽造的地址是一個不存在的客戶端[4],因此最終ACK消息永遠不會發(fā)送到受害主機,如圖1所示。
3.1? SYN Flood DDoS
攻擊利用了TCP連接中的一個弱點(“三向握手協(xié)議”),SYN Flood攻擊最顯著特點就是發(fā)送大量變源或變源端口的報文到目標主機,耗盡被攻擊主機的資源,如圖2所示。
SYN Flood攻擊是通過偽造一個源地址的SYN報文發(fā)送給被攻擊的主機,服務(wù)器會將SYN-ACK消息發(fā)送到偽造的IP地址,而該IP地址不會將ACK發(fā)送回去,攻擊的結(jié)果是受害站點上的連接處于半打開狀態(tài)。綁定服務(wù)器的資源,這樣服務(wù)器就不能建立新的合法連接,從而導(dǎo)致拒絕服務(wù)[5]。此時,服務(wù)器將無法連接到任何客戶端(無論合法與否)。連接將是半開放的,并且會消耗服務(wù)器資源。這就是為什么SYN Flood攻擊有時也被稱為“半開”攻擊的原因。
3.2? DNS Flood攻擊
DNS是域名和IP地址之間對應(yīng)關(guān)系構(gòu)成的數(shù)據(jù)庫,使用私有網(wǎng)絡(luò)協(xié)議進行通信,并按層次結(jié)構(gòu)進行組織。在DDoS攻擊的DNS泛洪類型中,攻擊者將一個或多個DNS服務(wù)器作為目標,并通過大量的流量來使服務(wù)器過載,阻止服務(wù)器提供合法的DNS解析。DNS服務(wù)器依靠UDP和TCP協(xié)議進行名稱解析。
為了使用DNS泛濫攻擊DNS服務(wù)器,攻擊者運行一個腳本,通常來自多個服務(wù)器,這些腳本從偽造的IP地址發(fā)送畸形數(shù)據(jù)包,由于這些攻擊不需要有效的響應(yīng),所以攻擊者可以發(fā)送既不精確也不正確格式化的數(shù)據(jù)包[6]。攻擊者可以偽裝所有的數(shù)據(jù)包信息,包括源IP,并使攻擊看起來來自多個源,如圖3所示。
3.3? DNS放大攻擊
DNS放大攻擊(DNS Amplification Attack)是使用欺騙的目標IP發(fā)送一個小查詢,使目標機成為更大DNS響應(yīng)的接收者,目標是通過不斷耗盡帶寬容量來達到網(wǎng)絡(luò)飽和。利用DNS服務(wù)器中的漏洞將最初很小的查詢轉(zhuǎn)換為更大的有效負載,這反過來又會導(dǎo)致受害者的服務(wù)器宕機[7]。攻擊過程中的反射是通過從DNS解析器引發(fā)對欺騙的IP地址的響應(yīng)來實現(xiàn)的。在攻擊期間,攻擊者向一個開放的DNS解析器發(fā)送一個偽造的IP地址的DNS查詢,促使其用DNS響應(yīng)回復(fù)該地址。由于大量偽造的查詢被發(fā)送出去,DNS解析器同步響應(yīng),受害者的網(wǎng)絡(luò)不堪重負,如圖4所示。
如果反射被放大攻擊就更危險了,使用EDNS0 DNS協(xié)議擴展發(fā)送DNS請求時,用DNSSEC的加密特性來增大消息大小,關(guān)于DNS區(qū)域的所有已知信息通過單個請求中返回。通過這種方式,可以將大約60字節(jié)的DNS請求消息推送到目標服務(wù)器,從而將超過4,000字節(jié)的響應(yīng)消息引出,產(chǎn)生70:1的放大系數(shù)。DNS放大攻擊通常會通過僵尸網(wǎng)絡(luò)中繼DNS請求,從而增大了目標服務(wù)器的通信量,使跟蹤攻擊者變得更加困難。
3.4? Ping Flood攻擊
Ping Flood是使用ICMP Echo Request,通過使用其Flood特性可以盡快發(fā)送ICMP數(shù)據(jù)包無需等待答復(fù)。大多數(shù)Ping實現(xiàn)都要求用戶具有特權(quán)才能指定Flood選項。如果攻擊者的帶寬比受害者大,則攻擊最成功。攻擊者希望受害者以ICMP Echo Reply數(shù)據(jù)包作為響應(yīng),從而消耗傳出帶寬和傳入帶寬。如果目標系統(tǒng)足夠慢,則有可能消耗足夠多的CPU周期以使用戶注意到明顯的減速[8]。通過ICMP請求降低目標的其他方法包括使用自定義工具或代碼,例如Hping和Scapy,這會使網(wǎng)絡(luò)的傳入和傳出通道都受到壓力,消耗大量帶寬并導(dǎo)致拒絕服務(wù)。
3.5? Ping of Death攻擊
在Ping of Death攻擊中,攻擊者是使用Ping命令發(fā)送錯誤或超大的報文。Ping命令通常用于測試網(wǎng)絡(luò)資源的可用性,通過將小數(shù)據(jù)包發(fā)送到網(wǎng)絡(luò)資源來測試網(wǎng)絡(luò)。Ping of Death可利用此優(yōu)勢,并發(fā)送超出TCP/IP允許的最大限制(即65,536字節(jié))的數(shù)據(jù)包。像其他大格式數(shù)據(jù)包一樣,在傳輸之前,死亡的Ping會分成8個八位字節(jié)的分組,重組數(shù)據(jù)包時發(fā)生緩沖區(qū)溢出,從而導(dǎo)致系統(tǒng)崩潰,有時可以注入惡意代碼,當(dāng)執(zhí)行碎片化時,每個IP碎片需要攜帶分組所包含的原始IP包的相應(yīng)部分信息[9]。此信息保留在IP報頭的“片段偏移”字段中。該字段長13位,允許最大偏移量65,528〔(213-1)8〕。這意味著具有最大偏移量的IP片段的數(shù)據(jù)不應(yīng)大于7個字節(jié),否則它將超過最大數(shù)據(jù)包長度的限制。
惡意用戶可以發(fā)送具有最大偏移量的IP片段,并且該數(shù)據(jù)片段的數(shù)據(jù)量多于8個字節(jié)(與物理層允許的大小一樣大)。當(dāng)接收端組裝所有IP片段時,它將以大于65,535字節(jié)的IP數(shù)據(jù)包結(jié)束。這可能會使接收端為數(shù)據(jù)包分配的內(nèi)存緩沖區(qū)溢出,并可能導(dǎo)致各種問題,包括拒絕服務(wù)。Ping of Death攻擊特別有效,因為攻擊者的身份很容易被欺騙[10]。此外,Ping of Death攻擊者除了其IP地址外,不需要正在攻擊的計算機的詳細知識。
3.6? Smurf攻擊
藍精靈(Smurf)攻擊是通過利用IP協(xié)議和ICMP協(xié)議的漏洞來實現(xiàn)目標。攻擊者將發(fā)送大量IP數(shù)據(jù)包,數(shù)據(jù)包用的是偽造的源地址。該惡意軟件會創(chuàng)建一個附加到虛假IP地址的網(wǎng)絡(luò)數(shù)據(jù)包,數(shù)據(jù)包內(nèi)部是ICMP Ping消息,請求接收包的網(wǎng)絡(luò)節(jié)點發(fā)回一個應(yīng)答。然后,這些答復(fù)或“回聲”再次發(fā)送回網(wǎng)絡(luò)IP地址,從而建立無限循環(huán)。藍精靈攻擊將一次Ping放大255次,并依賴配置不完善的網(wǎng)絡(luò)設(shè)備,這些設(shè)備允許通過網(wǎng)絡(luò)的廣播地址(而不是單播地址)將數(shù)據(jù)包發(fā)送到特定網(wǎng)絡(luò)上的所有計算機。與IP廣播(將惡意數(shù)據(jù)包發(fā)送到網(wǎng)絡(luò)中的每個IP地址)結(jié)合使用時,Smurf攻擊會迅速導(dǎo)致完全拒絕服務(wù)。Smurf Trojan可能會從未經(jīng)驗證的網(wǎng)站或通過受感染的電子郵件鏈接意外下載,通常該程序?qū)⒃谟嬎銠C上保持休眠狀態(tài),直到被遠程用戶激活為止。如果Smurf DDoS攻擊成功,它可能會使公司服務(wù)器癱瘓數(shù)小時或數(shù)天。
3.7? Nuke攻擊
Nuke攻擊通過修改后的Ping實用程序?qū)p壞的和碎片化的ICMP數(shù)據(jù)包發(fā)送到目標,反復(fù)發(fā)送損壞的數(shù)據(jù)包以減慢受影響的計算機的速度,直到其完全停止。有了足夠的容量,攻擊就可以成功。最終使目標機器離線,或者導(dǎo)致Windows崩潰或藍屏死機。Nuke攻擊最著名的例子是1997年的WinNuke,該漏洞利用了Windows 95中的漏洞。多年之后,出現(xiàn)了一個新版本的WinNuke,影響了Windows NT、2000和XP,但很快就被Microsoft修補。Nuke是一種老式的DDoS攻擊,幾乎沒有任何現(xiàn)代操作系統(tǒng)容易受到這種攻擊。
3.8? Teardrop攻擊
淚滴(Teardrop)攻擊是通過針對TCP/IP碎片重組代碼進行的拒絕服務(wù)攻擊。這種攻擊導(dǎo)致碎片數(shù)據(jù)包在主機收據(jù)上相互重疊,然后主機嘗試在此過程中重建它們,但永遠不可能被重建。最終的結(jié)果是數(shù)據(jù)包重疊并迅速使受害者的服務(wù)器不堪重負,從而導(dǎo)致服務(wù)器失效[11]。這通常發(fā)生在較舊的操作系統(tǒng)上和某些版本的Linux。IP報頭中的如果一個片段包的偏移量和大小與下一個片段包的偏移量和大小不同,則這些數(shù)據(jù)包會重疊。發(fā)生這種情況時,容易受到淚滴攻擊的服務(wù)器將無法重組數(shù)據(jù)包,從而導(dǎo)致服務(wù)被拒絕。
3.9? Sophisticated low-bandwith攻擊
復(fù)雜的低帶寬(Sophisticated low-bandwidth)DDoS攻擊針對受害者系統(tǒng)設(shè)計中的薄弱環(huán)節(jié),即攻擊者向系統(tǒng)發(fā)送由復(fù)雜請求組成的流量,從而減少了流量,提高了效率。低帶寬DDoS攻擊成本低、流量少,隱蔽性好,難檢測。
此類攻擊是通過請求很少請求的頁面(強制服務(wù)器在磁盤中搜索)來攻擊HTTP服務(wù)器。類似的攻擊可以在搜索引擎或數(shù)據(jù)庫服務(wù)器上執(zhí)行,方法是發(fā)送困難的查詢,迫使它們花費大量的CPU時間或磁盤訪問時間。
4? 發(fā)起DDoS攻擊的工具
僵尸網(wǎng)絡(luò)是被感染了惡意軟件的設(shè)備或計算機的集合,這些設(shè)備或計算機相互通信,并由僵尸主機集中控制。僵尸主機使用一個命令和控制服務(wù)器來指揮這些機器,一個受感染機器接受指令的中心位置。有些僵尸網(wǎng)絡(luò)由數(shù)十萬甚至數(shù)百萬臺計算機組成,僵尸程序并不總是意味著軟件質(zhì)量很差,它們經(jīng)常被用于協(xié)調(diào)DDoS攻擊[12]。僵尸網(wǎng)絡(luò)可以用于許多不同的目的,因為它們允許許多不同的計算機協(xié)同行動。
4.1? 低軌道離子大炮
低軌道離子大炮(Low Orbit Ion Cannon)是在2004年4chan網(wǎng)站上的黑客們開發(fā)的一種簡單而有效的攻擊工具。2012年,“Anonymous”通過LOIC,在一次Megaupload行動中,在一個下午的時間里,攻擊了美國UMG公司的網(wǎng)站,以及美國司法部、美國版權(quán)局、FBI、MPAA、華納兄弟和HADOPI的網(wǎng)站。LOIC使DoS攻擊變得快速和簡單。該軟件為潛在的攻擊者提供了直觀的圖形用戶界面。黑客可以使用此接口輸入URL,選擇攻擊方法(TCP、UDP、HTTP),然后提交請求。下載該工具并使用它打開到目標服務(wù)器的多個連接并發(fā)送連續(xù)的消息序列需要大約60秒。高軌道離子大炮(High Orbit Ion Cannon)是對LOIC的升級。
4.2? Brobot
Brobot是俄語腳本工具箱的名稱,該工具箱曾在2012-2013年的“阿巴比爾行動”中用于定位美國銀行。Brobot工具的DDoS攻擊規(guī)??梢院艽螅珹kamai曾經(jīng)在幾周內(nèi)觀察到多達20家銀行遭到攻擊。Brobot是進行“阿巴比爾行動”攻擊的首選僵尸網(wǎng)絡(luò),目前仍然存在,并繼續(xù)對該行業(yè)構(gòu)成重大風(fēng)險[13]。該僵尸網(wǎng)絡(luò)背后的小組開發(fā)了與高帶寬網(wǎng)站和Web托管數(shù)據(jù)中心鏈接的計算機上易受攻擊的軟件擴展。然后,它通過將幾乎不可見的嵌入式代碼插入擴展的HTML中來危害和控制這些計算機。一旦成功,高帶寬僵尸網(wǎng)絡(luò)計算機可以使用高達190Gbps的DDoS攻擊來轟炸目標。
5? DDoS攻擊演變趨勢
網(wǎng)絡(luò)層攻擊也隨著多向量攻擊的發(fā)展而變得越來越復(fù)雜,并且攻擊者將高Gbps和高Mpps攻擊矢量結(jié)合在一起。攻擊者在探索不常見的攻擊方法,并通過上傳腳本的方式來發(fā)起多數(shù)以千兆POST泛洪攻擊。在網(wǎng)絡(luò)層攻擊的情況下,這種趨勢轉(zhuǎn)化為對高Mpps攻擊的使用增加。研究表明:
(1)最長的網(wǎng)絡(luò)層攻擊持續(xù)了48.5小時;
(2)最大網(wǎng)絡(luò)層攻擊峰值達到每秒200千兆字節(jié)以上;
(3)網(wǎng)絡(luò)層攻擊最高攻擊率每秒120+百萬個數(shù)據(jù)包。
近幾年,攻擊目標最大的國家是韓國,占攻擊的29.5%;東歐國家,例如俄羅斯(占10.8%)和烏克蘭(占10.1%)。攻擊目標最多的國家是美國,占攻擊的50.3%,英國(占9.2%)和日本(占6.7%)。緊隨其后的是愛爾蘭、加拿大、德國、法國、荷蘭和澳大利亞。由Google Ideas與Arbor Networks合作建立的著名DDoS攻擊統(tǒng)計的開放網(wǎng)站Digital Attack Map(https://www.digitalattackmap.com),對DDoS攻擊在全球范圍內(nèi)的實時數(shù)據(jù)進行可視化,如圖5所示。該網(wǎng)站顯示匿名攻擊流量數(shù)據(jù),以使用戶能夠探究歷史趨勢并查找在任何一天發(fā)生的中斷的報告。通過網(wǎng)站可以選擇一個國家/地區(qū)來查看去往或來自該國家/地區(qū)的DDoS活動,也可以按類別,持續(xù)時間或源/目標端口查看攻擊。
互聯(lián)網(wǎng)信息圖狀態(tài)顯示了DDoS攻擊是如何頻繁發(fā)生的,基于UDP碎片的矢量攻擊占21%,DNS攻擊占13%,SYN攻擊占10%。目標行業(yè)依次為零售、游戲、軟件和技術(shù)公司、金融服務(wù)、媒體和娛樂行業(yè)、互聯(lián)網(wǎng)和電話公司。
6? 網(wǎng)絡(luò)層攻擊防護
基于網(wǎng)絡(luò)的容量攻擊會耗盡服務(wù)器資源并消耗可用帶寬,最終的結(jié)果是拒絕向合法用戶提供服務(wù)。在網(wǎng)絡(luò)層進行防御時,首先要考慮的是確保有足夠的網(wǎng)絡(luò)帶寬來處理大量的流量。如果不能自已購買足夠的容量,可考慮通過云服務(wù)彈性獲得吸收攻擊所需的額外帶寬[14]。其他的防御措施包括過濾攻擊流量,允許合法的流量,并放棄非法的流量,如過量的TCP SYN數(shù)據(jù)包,泛洪的ICMP包或UDP包沒有應(yīng)用程序有效負載,如圖6所示。
6.1? 通過智能CDN技術(shù)實現(xiàn)對攻擊的緩解防御策略
為了防御網(wǎng)絡(luò)層發(fā)生的DDoS攻擊,需要一個能夠吸收大量流量并過濾所有流量的網(wǎng)絡(luò)體系結(jié)構(gòu),以便僅將Web流量進入網(wǎng)絡(luò)。每個企業(yè)都是不同的,需要不同的方法[15]。網(wǎng)絡(luò)層DDoS攻擊通常稱為3/4層攻擊(也稱為體積攻擊)如圖7所示,因為攻擊會影響OSI模型的較低層(網(wǎng)絡(luò)和傳輸)。攻擊類型的一些示例包括SYN泛洪(欺騙性IP,非標準TCP標志)、UDP泛洪、IPSec泛洪(IKE / ISAMP關(guān)聯(lián)嘗試)、IP/ICMP分段、NTP/DNS/SSDP反射、SMURF、DNS這些攻擊通常旨在使服務(wù)器不堪重負,最終導(dǎo)致拒絕合法流量的服務(wù)并破壞網(wǎng)絡(luò)的運行。防御需要提供適當(dāng)?shù)木徑饽芰?,可以通過與不同的服務(wù)提供商合作,提供強大的CDN,CDN可以利用位于全球不同位置的服務(wù)器提供緩解較大的DDoS攻擊的能力[8]。通過將智能的DDoS緩解工具與監(jiān)視和支持設(shè)備相結(jié)合,可以在客戶意識到攻擊存在之前消除這些威脅。基于網(wǎng)絡(luò)的攻擊(例如Slowloris,ICMP或TCP和UDP泛洪)以及應(yīng)用程序?qū)庸簦ɡ鏕ET Flood)一般利用強大的智能CDN技術(shù)后都沒有機會攻擊綜合安全基礎(chǔ)架構(gòu),如圖7所示。
6.2? 本地硬件防御策略
數(shù)據(jù)中心可以選擇依靠硬件或數(shù)據(jù)中心內(nèi)部安裝的防火墻來安裝和實施本地設(shè)備。這不僅需要大量的前期費用,且具有一定的生命周期,還需要專業(yè)人員的正確實施才能起到相應(yīng)的降低風(fēng)險要求。當(dāng)以串聯(lián)方式使用時,保護功能始終處于啟用狀態(tài),并在攻擊開始時一直在使用。但是在內(nèi)網(wǎng),硬件僅在DDoS攻擊進入數(shù)據(jù)中心后才嘗試阻止它,攻擊還會破壞數(shù)據(jù)中心基礎(chǔ)設(shè)施,例如路由器、網(wǎng)絡(luò)防火墻和負載平衡器。如果將現(xiàn)場設(shè)備與額外的云服務(wù)相結(jié)合,這就是所謂的混合緩解,理想情況下,混合解決方案意味著本地設(shè)備和云服務(wù)是完全集成和自動化的。
目前較成熟的DDoS防御系統(tǒng)主要通過閾值限制、驗證識別、規(guī)則匹配、端口保護、旁路清洗等防御手段把無序攻擊流量清洗到有序的網(wǎng)絡(luò)流量,保障服務(wù)器與網(wǎng)絡(luò)正常使用,一般采用透明模式和旁路模式接入,根據(jù)不同的需求,主要有單機串聯(lián)部署、雙機熱備部署、串聯(lián)集群部署和旁路部署。
(1)通用單機串聯(lián)部署
DDoS防御系統(tǒng)接入機房核心交換機前端防護,核心交換機下所有主機進入防護區(qū),連接方式:將ISP分配的光纖接入到系統(tǒng)設(shè)備的出口,將系統(tǒng)的設(shè)備出口接到下層核心交換機,被保護主機可置于核心交換機下,如圖8所示。
(2)雙機熱備部署
為了保證網(wǎng)絡(luò)的高可用性與高可靠性,DDoS防御系統(tǒng)采用雙機熱備功能,即在同一個網(wǎng)絡(luò)節(jié)點使用兩個配置相同的抗拒絕服務(wù)設(shè)備。雙機熱備模式采用了兩種工作模式。
主-主模式:工作模式即讓兩臺DDoS防御系統(tǒng)同時工作,當(dāng)任意服務(wù)器發(fā)生故障,如接口及連線故障、意外宕機、關(guān)鍵進程失敗、性能下降、CPU和內(nèi)存負載過大等情況,另外一臺能夠平滑的接替該系統(tǒng)的工作,并保持連接,實現(xiàn)負載均衡。
主-從模式:正常情況下主DDoS防御系統(tǒng)處于工作狀態(tài),另一個處于備份狀態(tài),稱為從系統(tǒng)。當(dāng)主系統(tǒng)發(fā)生意外宕機、網(wǎng)絡(luò)鏈路發(fā)生故障、硬件故障等情況時,從系統(tǒng)自動進行切換工作狀態(tài),從系統(tǒng)代替主系統(tǒng)正常工作,從而保證了網(wǎng)絡(luò)的正常使用。切換過程不需要人為操作或其他系統(tǒng)的參與,如圖9所示。
(3)集群部署
系統(tǒng)集群型是依靠多臺DDoS防御系統(tǒng)實現(xiàn)防護帶寬及防護能力的增加功能,支持多臺DDoS系統(tǒng)形成集群,抵御大規(guī)模的攻擊流量。首先在交換機的相應(yīng)端口設(shè)置端口聚合,或者直接設(shè)置路由器完成端口聚合,分別接入DDoS防御系統(tǒng),每個系統(tǒng)接入一路數(shù)據(jù)(入口和出口),如圖10所示。
(4)旁路部署
旁路系統(tǒng)由DDoS防御系統(tǒng)和流量分析器組成。DDoS防御系統(tǒng)對攻擊流量、一次、潛在攻擊流量進行徹底檢測,去除攻擊流量,轉(zhuǎn)發(fā)過濾后的純凈流量。而流量分析器則對網(wǎng)絡(luò)流量進行分析,將與受保護IP有關(guān)的異常流量信息通知抗拒絕服務(wù)系統(tǒng)。旁路牽引模式就根據(jù)凈化后回注流量的不同分為回流模式和注入模式。在進行旁路部署時,為了增加檢測的高效性,提高對攻擊流量的防御,抗拒絕服務(wù)系統(tǒng)除了單臺部署外,也支持集群模式部署,同時也可以在回流與注入模式下的集群部署,如圖11所示。
(5)旁路注入部署
旁路注入部署是DDoS防御系統(tǒng)處理流量之后,將純凈流量直接注入下層設(shè)備。采用此種模式,是根據(jù)下層設(shè)備的不同,有兩種不同配置:若下層設(shè)備為交換機,則抗拒絕服務(wù)系統(tǒng)將自動解析目標主機的MAC地址,并將純凈流量直接發(fā)送至該主機。若下層設(shè)備為路由器,則需要在DDoS防御系統(tǒng)上設(shè)置下層路由器的地址(下一跳地址),若是集群則每臺設(shè)備都要獨立設(shè)置,如圖12所示。
6.3? 通用防御策略
(1)首包丟棄:有些攻擊是不斷變換源IP地址或者源端口號發(fā)送攻擊報文,攻擊報文都不相同,而且攻擊量很大,如果使用源認證方式防御,將每個攻擊報文反彈,那么反彈量會非常大,容易造成鏈路阻塞。首包丟棄就是為了防御大流量攻擊,與源認證方式結(jié)合可有效防御變換源IP或源端口號的攻擊。正常情況下,對于TCP、DNS、ICMP報文都具有重傳功能,如果在交互過程中報文被丟棄,則都會重傳。首包丟棄正式利用了報文的重傳機制,將收到的第一個報文丟棄,以判定后續(xù)是否有重傳報文。判定報文是否屬于重傳報文是基于三元組及時間間隔來判斷的。三元組包含源IP地址、源端口和協(xié)議;時間間隔可以自定義配置。支持首包丟棄的報文包括SYN、TCP、UDP、DNS、ICMP、HTTP協(xié)議[16]。UDP協(xié)議雖然不具備重發(fā)機制,當(dāng)有應(yīng)用層協(xié)議來協(xié)助實現(xiàn)重發(fā)時,也可以配置首包丟棄功能。
(2)過濾器:通過配置過濾器,對匹配特征的報文執(zhí)行相應(yīng)的操作。過濾器就是在Anti-DDoS上自定義報文的源IP、目的IP、協(xié)議、TTL等特征,將這些特征組合在一起作為過濾條件。后續(xù)對到達Anti-DDoS的報文進行匹配,如果特征匹配,則表示命中過濾器,則對匹配的報文執(zhí)行相應(yīng)操作,從而實現(xiàn)精細化過濾的目的。
(3)黑名單和白名單:異常流量清洗方案支持將一些不可信任的源IP地址加入黑名單,對此源發(fā)出的報文禁止通過;將信任的源IP地址加入到白名單,對此源發(fā)出的報文允許通過。
(4)阻斷和限流:通過服務(wù)學(xué)習(xí)或經(jīng)驗發(fā)現(xiàn)網(wǎng)絡(luò)中根本沒有某種服務(wù)或某種服務(wù)流量很小,則可以分別采用阻斷和限流方法來防御攻擊。阻斷和限流防御對正常業(yè)務(wù)可能會有一定影響,一般在所有防御均失效或了解業(yè)務(wù)流量確認阻斷和限流對正常業(yè)務(wù)無影響的情況下使用。
7? 結(jié)束語
現(xiàn)在DDoS也出現(xiàn)了很大的創(chuàng)新,新的工具使任何人只要有互聯(lián)網(wǎng)連接就可以發(fā)起DDoS攻擊,具體取決于對互聯(lián)網(wǎng)的依賴程度及其的安全級別標準。DDoS攻擊很難確定時間和位置,僵尸網(wǎng)絡(luò)成了發(fā)起攻擊的平臺,而這些僵尸網(wǎng)絡(luò)的命令和控制基礎(chǔ)結(jié)構(gòu)旨在保護其所有者,使拒絕服務(wù)攻擊的工具正變得越來越容易。DDoS攻擊無法完全避免,也無法用一種方法對付它們,如果沒有相應(yīng)的防護策略,攻擊幾乎都能成功。DDoS攻擊是當(dāng)今要防御的最復(fù)雜的攻擊之一,整個過程中以多種方式展開且攻擊變得越來越復(fù)雜。
參考文獻
[1] 景泓斐,張琨,蔡冰,余龍華.基于BP神經(jīng)網(wǎng)絡(luò)的應(yīng)用層DDoS檢測方法[J].計算機工程與應(yīng)用,2019,55(20):73-79.
[2] 趙隴,王志勃,章萬靜.基于DDoS安全區(qū)的偽造IP檢測技術(shù)研究[J].計算機技術(shù)與發(fā)展,2019,29(09):106-109.
[3] Muhammad Aamir, Syed Mustafa Ali Zaidi. DDoS attack detection with feature engineering and machine learning: the framework and performance evaluation[J]. International Journal of Information Security, 2019, 18 (6):761-785
[4] Hafiz Husnain Raza Sherazi,Razi Iqbal,F(xiàn)arooq Ahmad,Zuhaib Ashfaq Khan,Muhammad Hasanain Chaudary. DDoS attack detection A key enabler for sustainable communication in internet of vehicles[J]. Sustainable Computing Informatics and Systems,2019,23(1):13-20.
[5] Rup Kumar Deka,Dhruba Kumar Bhattacharyya,Jugal Kumar Kalita. Active learning to detect DDoS attack using ranked features[J]. Computer Communications,2019,145(1):203-222.
[6] 王曉瑞,莊雷,胡穎,王國卿,馬丁,景晨凱. SDN環(huán)境下基于BP神經(jīng)網(wǎng)絡(luò)的DDoS攻擊檢測方法[J].計算機應(yīng)用研究, 2018,35(3):911-915.
[7] 李昆侖,董寧,關(guān)立偉,郭昌隆.一種改進Kohonen網(wǎng)絡(luò)的DoS攻擊檢測算法[J].小型微型計算機系統(tǒng), 2017,38(03):450-454.
[8] 楊林海.基于CDN的網(wǎng)站訪問加速技術(shù)研究[J].江西科學(xué), 2020,02:245-251+286
[9] 呂志遠,陳靚,馮梅,全成斌,趙有健.擬態(tài)防御理論在企業(yè)內(nèi)網(wǎng)安全防護中的應(yīng)用[J].小型微型計算機系統(tǒng), 2019,40(01):69-76.
[10] Kentaro Aburada,Yuki Arikawa,Shotaro Usuzaki, Hisaaki Yamaba,Tetsuro Katayama,Mirang Park,Naonobu Okazaki.Use of access characteristics to distinguish legitimate user traffic from DDoS attack traffic[J].Artificial Life and Robotics,2019,24(3):318-323.
[11] Mauro Conti,Chhagan Lal,Reza Mohammadi, Umashankar Rawat. Lightweight solutions to counter DDoS attacks in software defined networking[J]. Wireless Networks, 2019, 25 (5):2751-2768
[12] 喻志彬,馬程,李思其,王淼.基于Web應(yīng)用層的DDoS攻擊模型研究[J].信息網(wǎng)絡(luò)安全,2019,05(05):84-90.
[13] 王媛媛,吳春江,劉啟和,譚浩,周世杰.惡意域名檢測研究與應(yīng)用綜述[J].計算機應(yīng)用與軟件,2019,36(09):310-316.
[14] Jhum Swain,Binod Kumar Pattanayak,Bibudhendu Pati. A new approach for DDoS attacks to discriminate the attack level and provide security for DDoS nodes in MANET[J]. International Journal of Communication Networks and Information Security,2017,9(3): 450-456.
[15] 陳興蜀,滑強,王毅桐,葛龍,朱毅.云環(huán)境下SDN網(wǎng)絡(luò)低速率DDoS攻擊的研究[J].通信學(xué)報,2019,40(06):210-222.
[16] 徐雅斌,賈珊珊.軟件定義網(wǎng)絡(luò)的安全態(tài)勢感知研究[J].小型微型計算機系統(tǒng),2019,40(08):1682-1688.
[17] http://www.cnnic.cn/gywm/xwzx/xwzxtzgg/201308/t20130825_41322.htm.
作者簡介:
楊林海(1982-),男,白族,云南鶴慶人,北京理工大學(xué),碩士,云南國土資源職業(yè)學(xué)院,副教授/高級工程師;主要研究方向和關(guān)注領(lǐng)域:網(wǎng)絡(luò)安全技術(shù)。