隨著網(wǎng)絡時代的到來,網(wǎng)絡安全變得越來越重要。在互聯(lián)網(wǎng)安全領域,DDoS(Distributed denial of Service,分布式拒絕服務)攻擊技術以其隱蔽性和高效性成為網(wǎng)絡攻擊者最常用的攻擊方式,嚴重威脅著互聯(lián)網(wǎng)的安全。
一、DDoS攻擊的工作原理
1.1分布式拒絕服務的定義
DDos的前身DoS (DenialofService)攻擊,意為拒絕服務攻擊。這種攻擊使網(wǎng)站服務器充斥大量需要回復的信息,消耗網(wǎng)絡帶寬或系統(tǒng)資源,導致網(wǎng)絡或系統(tǒng)過載,停止提供正常的網(wǎng)絡服務。而DDoS分布式拒絕服務則主要利用互聯(lián)網(wǎng)上現(xiàn)有機器和系統(tǒng)的漏洞,捕獲大量聯(lián)網(wǎng)主機,使其成為攻擊者的代理。當受控機器的數(shù)量達到一定程度時,攻擊者發(fā)送命令操縱這些攻擊平面,對目標主機或網(wǎng)絡發(fā)起DoS攻擊,消耗大量的網(wǎng)絡帶寬和系統(tǒng)資源,導致網(wǎng)絡或系統(tǒng)癱瘓或停止提供正常的網(wǎng)絡服務。由于DDos的分布式特性,它具有遠比Dos更強大的攻擊能力和破壞性。
1.2 DDOS攻擊原理
一個相對完整的DDos攻擊系統(tǒng)分為四個部分,分別是攻擊者(也稱主人)、控制傀儡(處理者)、攻擊傀儡(惡魔,也稱代理)和受害者(受害者)。第二和第三部分分別用于控制和實際發(fā)動攻擊。第二部分,控制機只發(fā)布命令,不參與實際攻擊。第三部分,DDoS的實際攻擊包是從攻擊傀儡機發(fā)出的。攻擊者對第二部分和第三部分中的計算機擁有控制權(quán)或部分控制權(quán),并將相應的DDoS程序上傳到這些平臺。這些程序像正常程序一樣運行,并等待攻擊者的指令。通常,它會使用各種手段來隱藏自己。在平時,這些傀儡機并沒有什么異常,但是一旦攻擊者連接到它們進行控制并發(fā)出指令,攻擊的傀儡機就變成了攻擊者發(fā)動攻擊。
DDoS攻擊原理及防護研究
采用這種結(jié)構(gòu)的一個重要目的是隔離網(wǎng)絡連接,保護攻擊者在攻擊過程中不被監(jiān)控系統(tǒng)跟蹤。同時可以更好的協(xié)調(diào)攻擊,因為攻擊執(zhí)行者太多,同時一個系統(tǒng)發(fā)出命令會造成控制系統(tǒng)的網(wǎng)絡擁塞,影響攻擊的突然性和協(xié)調(diào)性。而且流量的突然增加很容易暴露攻擊者的位置和意圖。整個過程可以分為:
1)掃描大量主機,尋找可以入侵主機的目標;
2)具有安全漏洞和增益控制的主機;
3)在入侵主機中安裝攻擊程序;
4)用入侵的主機繼續(xù)掃描入侵。
當受控攻擊代理的數(shù)量達到攻擊者滿意時,攻擊者可以通過攻擊主控機器隨時發(fā)出攻擊指令。因為攻擊主控制器的位置非常靈活,發(fā)出命令的時間很短,所以定位起來非常隱蔽。攻擊命令一旦傳到攻擊控制機,主控機就可以關機或離開網(wǎng)絡以避免跟蹤,攻擊控制機會將命令下發(fā)到各個攻擊代理機。收到攻擊命令后,攻擊代理開始向目標主機發(fā)送大量服務請求包。這些數(shù)據(jù)包經(jīng)過偽裝,使得攻擊者無法識別其來源,這些數(shù)據(jù)包請求的服務往往會消耗大量的系統(tǒng)資源,如CP或網(wǎng)絡帶寬。如果數(shù)百甚至數(shù)千個攻擊代理同時攻擊一個目標,目標主機的網(wǎng)絡和系統(tǒng)資源就會被耗盡,服務也會停止。有時,它甚至會導致系統(tǒng)崩潰。
此外,這會阻塞目標網(wǎng)絡的防火墻和路由器等網(wǎng)絡設備,進一步加劇網(wǎng)絡擁塞。因此,目標主機根本無法為用戶提供任何服務。攻擊者使用的協(xié)議是一些非常常見的協(xié)議和服務。這樣,系統(tǒng)管理員很難區(qū)分惡意請求和主動連接請求,從而無法有效地分離攻擊包。
二、DDoS攻擊識別
DDoS(分布式拒絕服務)攻擊(Distributed Denial of Service,分布式拒絕服務)攻擊,其主要目的是使指定目標在沒有通知的情況下提供正常服務,甚至從互聯(lián)網(wǎng)上消失,是目前最強大、最難的攻擊手段之一。
2.1 DDoS表現(xiàn)
DDoS主要有兩種形式,一種是流量攻擊,主要針對網(wǎng)絡帶寬,即大量的攻擊包導致網(wǎng)絡帶寬被阻塞,合法的網(wǎng)絡包因為被虛假的攻擊包充斥而無法到達主機;另一種是資源耗盡攻擊,主要是針對服務器主機的政治攻擊,即大量攻擊包導致主機內(nèi)存耗盡或CPU核心和應用程序被占用,導致無法提供網(wǎng)絡服務。
2.2攻擊識別
流量攻擊識別主要包括以下兩種方法:
1) Ping測試:如果發(fā)現(xiàn)Ping超時或丟包嚴重,可能會被攻擊;如果發(fā)現(xiàn)同一臺交換機上的服務器無法訪問,基本可以確定為流量攻擊。測試的前提是受害主機與服務器之間的ICMP協(xié)議沒有被路由器、防火墻等設備屏蔽;
2) Te.NET測試:其明顯特點是遠程終端連接服務器失敗,容易判斷相對流量攻擊和資源耗盡攻擊。如果網(wǎng)站訪問突然非常慢或者無法訪問,但是可以pinged通,很可能是被攻擊了。如果用Netstat-na命令在服務器上觀察到大量的SYN_RECEIVED、TIME_WAIT、FIN_ WAIT_1等狀態(tài),但是很少有EASTBLISHED的情況,可以判斷為資源耗盡攻擊,表現(xiàn)為受害主機無法Ping通或者丟包嚴重,但是Ping通同一臺交換機上的服務器是正常的。原因是系統(tǒng)內(nèi)核或應用CPU利用率達到100%無法響應ping命令,但是因為還有帶寬,可以Ping通同一臺交換機上的主機。
第三,DDoS攻擊模式
DDoS攻擊有很多,種類也很多。就他們的攻擊手段而言,最流行的DDoS攻擊有三種。
3.1 SYN/ACK泛洪攻擊
這種攻擊方式是一種經(jīng)典有效的DDoS攻擊方式,可以殺死各種系統(tǒng)網(wǎng)絡服務。它主要是向受害主機發(fā)送大量偽造源P和源端口的SYN或ACK包,導致主機緩存資源耗盡或忙于發(fā)送響應包,造成拒絕服務。很難追蹤,因為源頭都被破壞了。缺點是實現(xiàn)起來比較困難,需要高帶寬僵尸主機的支持。少量此類攻擊會導致主機服務器無法訪問,但可以Pinged通。在服務器上使用Netstat-na命令時,會觀察到大量的SYN接收狀態(tài),大量這樣的攻擊會導致ping失敗,TCP/IP棧失敗,系統(tǒng)會死機,也就是對鍵盤鼠標沒有反應。大多數(shù)普通防火墻都無法抵御這種攻擊。
攻擊過程如圖2所示。正常的TCP連接是三次握手。系統(tǒng)B向系統(tǒng)A發(fā)送SYN/ACK包后,停止在SYN RECV狀態(tài),等待系統(tǒng)A返回ACK包。此時,系統(tǒng)B已經(jīng)分配了用于準備建立連接的資源。如果攻擊者系統(tǒng)A使用假的源IP,系統(tǒng)B將一直處于“半連接”等待狀態(tài),直到超時,連接將從連接隊列中被清除;由于定時器的設置和滿連接隊列,系統(tǒng)A只要持續(xù)高速向系統(tǒng)B發(fā)送偽造源IP的連接請求,就可以在短時間內(nèi)成功攻擊系統(tǒng)B,而系統(tǒng)B則無法再響應其他正常的連接請求。
DDoS攻擊原理及防護研究
圖2 SYN泛洪攻擊過程
3.2 TCP全連接攻擊
這種攻擊旨在繞過傳統(tǒng)防火墻的檢查。一般來說,大多數(shù)常規(guī)防火墻都具有過濾諸如TearDrop和Land之類的DOS攻擊的能力,但是它們會放過正常的TCP連接。鮮為人知的是,很多網(wǎng)絡服務程序(如IIS、Apache等Web服務器)可以接受的TCP連接數(shù)是有限的。一旦出現(xiàn)大量TCP連接,即使正常,也會導致網(wǎng)站訪問非常緩慢甚至無法訪問。TCP全連接攻擊是指許多僵尸主機不斷地與受害服務器建立大量的TCP連接,直到服務器的內(nèi)存等資源耗盡而被拖跨,從而導致拒絕服務。這種攻擊的特點是繞過一般防火墻的保護,達到攻擊目的。缺點是需要找到很多僵尸主機,而且由于僵尸主機的IP是暴露的,這樣的DDOs攻擊者很容易追蹤到。
3.3 TCP刷腳本攻擊
這種攻擊主要針對存在ASP、JSP、php、CGI等腳本并調(diào)用MSSQL Server、My SQL Server、Oracle等數(shù)據(jù)庫的網(wǎng)站系統(tǒng)。它的特點是與服務器建立正常的TCP連接,不斷向腳本提交查詢、列表等消耗數(shù)據(jù)庫資源的調(diào)用。典型的攻擊方式是小而廣。一般來說,向客戶端提交GET或POST指令的成本和帶寬幾乎可以忽略不計,但服務器可能要從數(shù)萬條記錄中找出一條記錄才能處理這個請求。這個過程消耗大量資源,普通數(shù)據(jù)庫服務器很少支持上百條查詢指令同時執(zhí)行,這對客戶端來說很容易。因此,攻擊者只需要通過代理向主機服務器提交大量查詢指令,只需要幾分鐘就可以消耗服務器資源,造成拒絕服務。常見的現(xiàn)象有網(wǎng)站慢如蝸牛,ASP程序失敗,PHP連接數(shù)據(jù)庫失敗,數(shù)據(jù)庫主程序占用CPU高。這種攻擊的特點是可以完全繞過常見的防火墻保護,很容易找到一些Poxy代理來實施攻擊。缺點是對付靜態(tài)頁面的網(wǎng)站效果會大打折扣,有些代理會暴露DDOS攻擊者的IP地址。
第四,DDoS防護策略
DDoS防護是一個系統(tǒng)工程。依靠某個系統(tǒng)或產(chǎn)品來預防DDoS是不現(xiàn)實的。可以肯定的是,目前完全消除DDoS是不可能的,但是通過采取適當?shù)拇胧﹣淼钟蟛糠諨DoS攻擊是可能的。由于攻擊和防御都是有成本的,如果通過采取適當?shù)拇胧﹣碓鰪姷钟鵇DoS的能力,就意味著增加了攻擊者的攻擊成本,那么大多數(shù)攻擊者就不會繼續(xù),放棄,這就相當于成功抵御了DDoS攻擊。
4.1采用高性能網(wǎng)絡設備。
要抵御DDoS攻擊,首先要保證網(wǎng)絡設備不能成為瓶頸。所以在選擇路由器、交換機、硬件防火墻等設備時,盡量選擇知名度高、口碑好的產(chǎn)品。如果與網(wǎng)絡提供商有特殊關系或協(xié)議,那就更好了。當大量攻擊發(fā)生時,要求他們限制網(wǎng)絡連接處的流量來對抗某種DDoS攻擊是非常有效的。
4.2盡量避免使用NAT
無論是路由器還是硬件防護墻設備都要盡量避免使用NAT,除非必須使用NAT,因為采用這種技術會大大降低網(wǎng)絡通信能力。原因很簡單,因為NAT需要來回轉(zhuǎn)換地址,轉(zhuǎn)換過程中需要計算網(wǎng)絡包的校驗和,浪費了大量的CPU時間。
4.3足夠的網(wǎng)絡帶寬保證
網(wǎng)絡帶寬直接決定了抵御攻擊的能力。如果只有10M帶寬,無論采取什么措施,都難以對抗目前的SYNFlood攻擊。目前至少要選擇100M的共享帶寬,1000M的帶寬會更好。但是需要注意的是,主機上的網(wǎng)卡是1000M并不代表它的網(wǎng)絡帶寬是千兆的。如果連接的是100M的交換機,它的實際帶寬不會超過100M,而且即使連接了100M的帶寬,也不代表它有100兆的帶寬,因為網(wǎng)絡服務商很可能在交換機上把實際帶寬限制在10M。
4.4升級主機服務器硬件
在保證網(wǎng)絡帶寬的前提下,盡量提高硬件配置。要有效對抗每秒100,000個SYN攻擊包,服務器的配置至少應該是P4 2.4G/DDR512M/SCSI-HD。CPU和內(nèi)存起著關鍵作用。內(nèi)存一定要選擇DDR高速內(nèi)存,盡量選擇SCSI硬盤。否則將保證硬件的高性能和穩(wěn)定性,或者付出高性能的代價。
4.5把網(wǎng)站做成靜態(tài)頁面。
大量事實證明,把網(wǎng)站做得盡可能的靜態(tài)頁面,不僅可以大大提高抵御攻擊的能力,也會給黑客帶來很多麻煩。到目前為止,還沒有出現(xiàn)html的溢出。新浪、搜狐、網(wǎng)易等門戶網(wǎng)站主要是靜態(tài)頁面。
另外,在需要調(diào)用數(shù)據(jù)庫的腳本中最好拒絕代理訪問,因為經(jīng)驗表明,80%的代理訪問我們的網(wǎng)站都是惡意的。
動詞 (verb的縮寫)摘要
DDoS攻擊在不斷發(fā)展,變得越來越強大、越來越隱秘、越來越有針對性、越來越復雜,已經(jīng)成為互聯(lián)網(wǎng)安全的主要威脅。同時,隨著系統(tǒng)的升級,新的系統(tǒng)漏洞不斷出現(xiàn),DDoS攻擊技能的提升也加大了保護DDoS的難度。有效應對這種攻擊是一個系統(tǒng)工程,不僅需要技術人員探索防護手段,還需要網(wǎng)絡用戶具備防范網(wǎng)絡攻擊的基本意識和手段。只能用技術手段。
無憂云推出DDOS高防護IP解決方案
無憂云推出DDOS高保護IP,100T超大保護帶寬,1800G超大流量保護,價格低至1000元/月。為您提供超級DDOS攻擊防御保障。DDoS防IP服務是面向游戲、金融、電商、網(wǎng)站等用戶的付費增值服務。,遭受高流量DDoS攻擊,服務不可用。用戶可以配置高防IP(無需備案),將攻擊流量引流到高防IP,保證源站的穩(wěn)定可靠。