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