DPtech入侵防御系統(tǒng)DDoS防范技術(shù)白皮書
1、概述
1.1 背景
從上世紀(jì)90年代到現(xiàn)在,DoS/DDoS 技術(shù)主要經(jīng)歷大約階段:
1) 技術(shù)發(fā)展時期。
90年代,Internet 開始普及,很多新的DoS 技術(shù)涌現(xiàn)。90年代末發(fā)明和研究過許多新的技術(shù),其中大多數(shù)技術(shù)至今仍然有效,且應(yīng)用頻度相當(dāng)高,如 Ping of death, Smurf, SYN flooding, 等等。
2) 從實驗室向產(chǎn)業(yè)化轉(zhuǎn)換
2000年前后,DDoS 出現(xiàn),Yahoo, Amazon等多個著名網(wǎng)站受到攻擊并癱瘓,還有 Codered, SQL slammer 等蠕蟲造成的事件。
3) “商業(yè)時代”
最近一兩年,寬帶的發(fā)展使得接入帶寬增加,個人電腦性能大幅提高,使DDoS 攻擊越來越頻繁,可以說隨處可見,而且也出現(xiàn)了更專業(yè)的、用于出租的‘DDoS 攻擊經(jīng)濟’??梢哉fDDoS 攻擊的威脅已經(jīng)無處不在。
DDoS(分布式拒絕服務(wù)攻擊)是產(chǎn)生大規(guī)模破壞的武器。不像訪問攻擊穿透安全周邊來竊取信息,DDoS攻擊通過偽造的流量淹沒服務(wù)器、網(wǎng)絡(luò)鏈路和網(wǎng)絡(luò)設(shè)備(路由器,防火墻等)癱瘓來使得網(wǎng)絡(luò)系統(tǒng)癱瘓。
1.2 DDoS攻擊原理
由于DDoS攻擊往往采取合法的數(shù)據(jù)請求技術(shù),再加上傀儡機器,造成DDoS攻擊成為目前最難防御的網(wǎng)絡(luò)攻擊之一。據(jù)美國最新的安全損失調(diào)查報告,DDoS攻擊所造成的經(jīng)濟損失已經(jīng)躍居第一。
DDoS攻擊的一個致命趨勢是使用復(fù)雜的欺騙技術(shù)和基本協(xié)議,如HTTP,Email等協(xié)議,而不是采用可被阻斷的非基本協(xié)議或高端口協(xié)議,非常難識別和防御,通常采用的包過濾或限制速率的措施只是通過停止服務(wù)來簡單停止攻擊任務(wù),但同時合法用戶的請求也被拒絕,造成業(yè)務(wù)的中斷或服務(wù)質(zhì)量的下降;DDoS事件的突發(fā)性,往往在很短的時間內(nèi),大量的DDoS攻擊數(shù)據(jù)就可使網(wǎng)絡(luò)資源和服務(wù)資源消耗殆盡。
DDoS攻擊主要是利用了Internet協(xié)議和Internet基本優(yōu)點——無偏差地從任何的源頭傳送數(shù)據(jù)包到任意目的地。DDoS攻擊分為兩種:要么大數(shù)據(jù),大流量來壓垮網(wǎng)絡(luò)設(shè)備和服務(wù)器,要么有意制造大量無法完成的不完全請求來快速耗盡服務(wù)器資源。
1.3 DoS/DDoS攻擊分類
·邏輯攻擊
邏輯攻擊采取的方法是利用攻擊對象上已有的軟件漏洞,向其發(fā)送少量的畸形數(shù)據(jù)包,導(dǎo)致攻擊對象的服務(wù)性能大幅降低和整個系統(tǒng)發(fā)生崩潰。
· 泛洪攻擊
泛洪攻擊則是利用大量的無效或惡意數(shù)據(jù)數(shù)據(jù)包導(dǎo)致攻擊對象的資源(例如CPU、內(nèi)存、緩存、磁盤空間和帶寬)不堪重負(fù),從而降低服務(wù)性能或者導(dǎo)致服務(wù)中斷。
1.4 DoS與DDoS攻擊的區(qū)別
顧名思義,DoS與DDoS最直接的區(qū)別就是單對一攻擊還是多對一攻擊。而隨著現(xiàn)在服務(wù)器性能的發(fā)展,想要單對一發(fā)起泛洪攻擊已經(jīng)不太可能了,所以現(xiàn)在有效的DoS攻擊主要采用邏輯攻擊的方式,而DDoS攻擊則由攻擊者驅(qū)動僵尸網(wǎng)絡(luò),以多攻少,耗盡服務(wù)器資源。
1.5 傀儡機和僵尸網(wǎng)絡(luò)
傀儡機是被黑客通過木馬或其他惡意程序獲取控制權(quán)的終端用戶PC、服務(wù)器或者其他網(wǎng)絡(luò)設(shè)備。而由攻擊者操縱的一系列傀儡機組成的網(wǎng)絡(luò)形象地稱為僵尸網(wǎng)絡(luò)。示意圖如下所示:
1.6 常見的DoS/DDoS攻擊
·ping of death
許多操作系統(tǒng)的TCP/IP協(xié)議棧規(guī)定ICMP報文大小為64KB,并為此分配緩沖區(qū)。Ping of death故意產(chǎn)生崎形報文,聲稱自己的大小超過64KB,使得協(xié)議棧出現(xiàn)內(nèi)存分配錯誤,導(dǎo)致蕩機。
·teardrop
某些TCP/IP協(xié)議棧(NT在SP4以前)在收到含有重疊的IP分片報文時會崩潰。Teardrop利用該特性發(fā)送偽造的重疊IP分片報文,導(dǎo)致某些系統(tǒng)蕩機。
·UDP flood
提供WWW和Mail等服務(wù)的Unix的服務(wù)器默認(rèn)打開一些被黑客惡意利用的UDP服務(wù)。如echo服務(wù)會顯示接收到的每一個數(shù)據(jù)包,而原本作為測試功能的chargen服務(wù)會在收到每一個數(shù)據(jù)包時隨機反饋一些字符。Udp flood假冒攻擊偽造與某一主機的chargen服務(wù)之間的一次udp連接,回復(fù)地址指向開著echo服務(wù)的一臺主機,使得兩臺主機來回傳送毫無用處且占滿帶寬的垃圾數(shù)據(jù),導(dǎo)致帶寬耗盡。
·SYN flood
SYN Flood針對TCP協(xié)議棧在兩臺主機間初始化連接的過程進行DoS攻擊。攻擊者發(fā)送帶偽造源地址的SYN報文,服務(wù)方發(fā)送SYN-ACK確認(rèn)消息后收不到ACK回應(yīng),于是服務(wù)方會在一定時間處于等待請求方ACK消息的狀態(tài)。對于某臺服務(wù)器來說,可用的TCP連接是有限的。如果惡意攻擊方快速連續(xù)地發(fā)送此類連接請求,該服務(wù)器可用的TCP連接隊列將很快被阻塞,系統(tǒng)可用資源急劇減少,網(wǎng)絡(luò)可用帶寬迅速縮小,長此下去,除了少數(shù)幸運用戶的請求可以插在大量虛假請求間得到應(yīng)答外,服務(wù)器將無法向用戶提供正常的合法服務(wù)。
·smurf
攻擊者以被害者的地址作為源地址發(fā)送ICMP回顯請求廣播報文。網(wǎng)絡(luò)中的一些系統(tǒng)會向被害者發(fā)送ICMP回顯應(yīng)答報文,導(dǎo)致被害者被大量響應(yīng)信息淹沒。這種使用網(wǎng)絡(luò)發(fā)送一個包而引發(fā)大量回應(yīng)的方式也被叫做smurf“放大”。
·stacheldrahtl
Stacheldraht基于客戶機/服務(wù)器模式,其中Master程序與潛在的成千個代理程序進行通訊。在發(fā)動攻擊時,攻擊者與master程序進行連接。增加了新的功能:攻擊者與master程序之間的通訊是加密的,對命令來源做假。以此逃避一些路由器用URPF(RFC2267)進行過濾,若檢查出有過濾現(xiàn)象,它將只做假IP地址最后8位,從而讓用戶無法了解到底是哪幾個網(wǎng)段的哪臺機器被攻擊;同時使用rcp 技術(shù)對代理程序進行自動更新。同TFN一樣, Stacheldraht可以并行發(fā)動數(shù)不勝數(shù)的DoS攻擊,類型多種多樣,而且還可建立帶有偽裝源IP地址的信息包。Stacheldraht所發(fā)動的攻擊包括UDP flood、TCP SYN flood、ICMP 回音應(yīng)答flood等。
2、DPtech IPS對DoS/DDoS的防御技術(shù)
2.1傳統(tǒng)防御方案的缺點
傳統(tǒng)的DDoS防御方案主要有以下不足:
1) 配置復(fù)雜,自動化不強。傳統(tǒng)DDoS防御往往要求用戶針對某種流量配置相應(yīng)的閾值,如果對網(wǎng)絡(luò)中的流量不清楚的話,用戶很難做出正確的配置。
2) 防御能力比較單一。傳統(tǒng)DDoS防御主要針對SYN Flood等單一攻擊類型進行防御,能力比較單一?,F(xiàn)在DDoS攻擊的趨勢是多層次和全方位的,在一次攻擊攻擊過程中,會產(chǎn)生針對網(wǎng)絡(luò)層的SYN、UDP和ICMP Flood,針對連接的TCP connectioin Flood,和針對應(yīng)用層協(xié)議的HTTP GET、PUT Flood。
3) 無法區(qū)分異常流量。傳統(tǒng)DDoS防御對于檢測到的流量異常后,無法做進一步的區(qū)分,而只是簡單的將所有異常流量全部丟棄,導(dǎo)致合法用戶的請求也得不到響應(yīng)。
4) 無法應(yīng)對未知的攻擊。傳統(tǒng)DDoS防御主要針對已知DDoS攻擊,而隨著DDoS攻擊工具源代碼在網(wǎng)上散播,攻擊者可以很容易改變DDoS攻擊的報文類型,形成DDoS攻擊的變體。
2.2DPtech IPS防御DDoS的方法
·http-redirection
根據(jù)四元組(源IP、目的IP、目的端口和協(xié)議)查詢http重定向表,如果匹配并且表項狀態(tài)為完成重定向(該狀態(tài)的重定向表項老化則客戶端為zombie),增加可信IP,將報文傳送給服務(wù)端,是針對HTTP請求的anti-spoof動作。
http-redirection的處理主要包括兩個部分:cookie和redirect。cookie驗證客戶端IP地址的合法性(防spoof),redirect驗證客戶端是否能夠正確理解應(yīng)用層協(xié)議(防zombie)
·dns-proxy
是針對TCP DNS請求的anti-spoof動作。dns-proxy的處理主要包括兩個部分:cookie和proxy。cookie驗證客戶端IP地址的合法性(防spoof)。
·server-reset
server-reset是IPS以server身份主動發(fā)起reset,server-reset防護動作在系統(tǒng)中暫不使用,此功能點是為了保證防護動作的完整性。
server-reset包含TCP cookie處理,用來驗證客戶端IP地址的合法性(防spoof)。
·client-resetl
client-reset是針對基于TCP并且除HTTP、DNS外的其他應(yīng)用協(xié)議的anti-spoof動作(SMPT、POP3、IMAP、HTTPS、TELNET、FTP協(xié)議使用client- reset處理,其他協(xié)議未通過驗證),由服務(wù)端在回應(yīng)SYN/ACK報文時設(shè)置錯誤的序列號,客戶端將主動復(fù)位當(dāng)前連接并且進行連接重試。
client-reset包含兩個部分:cookie和redirect。cookie驗證客戶端IP地址的合法性(防spoof),redirect驗證客戶端是否能夠正確理解應(yīng)用層協(xié)議(防zombie)。
· tcp-strong
需要調(diào)用本功能進行服務(wù)端SYN/ACK報文處理。防護動作tcp-strong對每一個TCP請求進行代理,需要完成設(shè)備和客戶端、設(shè)備和服務(wù)端的三次握手。在處理服務(wù)端三次握手時需要處理SYN/ACK報文。
·ttl-check
ttl-check是針對除TCP、DNS UDP協(xié)議外的其他協(xié)議的anti-spoof動作。防護基于的原理是攻擊者可以篡改報文的任何內(nèi)容,但無法篡改報文傳輸?shù)腡TL跳數(shù)。
根據(jù)TTL跳數(shù)對IP源地址進行認(rèn)證基于如下前提:
·大多數(shù)系統(tǒng)的報文初始TTL值為30、32、60、64、128和255;?
·大多數(shù)報文在網(wǎng)上傳輸?shù)木嚯x不會超過30跳;?
在學(xué)習(xí)階段,或者從后續(xù)通過其他防護動作認(rèn)證的報文中,我們可以獲取一張IP和TTL跳數(shù)的對應(yīng)關(guān)系表,作為我們檢測的依據(jù)。如果當(dāng)前報文不符合對應(yīng)關(guān)系表,則認(rèn)為當(dāng)前報文為偽造報文;否則認(rèn)為當(dāng)前報文合法。
由于ttl-check防護基于的事實具有一定的不可靠性:用戶可以修改報文的起始TTL值,報文在網(wǎng)絡(luò)中傳輸?shù)木嚯x可能超過30,所以ttl-check防護具有一定的誤差。
·特征檢查
查殺有特征的DoS攻擊和有特征的DDoS攻擊工具發(fā)出的報文。目前可以檢測的工具有:tfn、tfn2k、shaft、trinoo、trinity、agobot、mstream、stacheldraht、fraggle、ip-sweep。
3、典型組網(wǎng)應(yīng)用
DPtech IPS采用透明部署,不用改變用戶網(wǎng)絡(luò)部署。如下圖所示,灰色部分為原有網(wǎng)絡(luò),IPS如同網(wǎng)線一樣,透明部署,不影響原有網(wǎng)絡(luò)。保護內(nèi)網(wǎng)服務(wù)器和終端用戶的安全。
DPtech IPS典型組網(wǎng)圖