DDoS攻擊作為當(dāng)前一種最常見的網(wǎng)絡(luò)攻擊方式,其危害在于黑客短時間的控制大量網(wǎng)絡(luò)節(jié)點資源如:IDC服務(wù)器、個人PC、手機、智能設(shè)備、打印機、攝像頭等,對目標發(fā)送大量“合法”的請求,從而導(dǎo)致服務(wù)器輕則網(wǎng)絡(luò)擁堵,重則讓服務(wù)器宕機陷入癱瘓,還會造成數(shù)據(jù)庫數(shù)據(jù)丟失或遭竊,給企業(yè)帶來極大的損失。
那么,企業(yè)如何判斷服務(wù)器是否遭受到了DDoS流量攻擊呢?
1、網(wǎng)站訪問突然間變得非常緩慢或無法訪問,服務(wù)器上存在著大量等待的“TCP半連接”狀態(tài)。
2、服務(wù)器突然收到大量請求,CPU被大量占用,導(dǎo)致服務(wù)器無法正常訪問。
3、服務(wù)器充斥著大量無用的數(shù)據(jù)包,帶寬資源被占滿,導(dǎo)致正常流量數(shù)據(jù)請求很難被服務(wù)器進行處理。
4、通過Ping命令來測試,若發(fā)現(xiàn)Ping超時或丟包嚴重(假定平時是正常的),排除是網(wǎng)絡(luò)故障因素的話,則很有可能是遭受到了流量攻擊;若此時發(fā)現(xiàn),和你的主機接在同一交換機上的服務(wù)器訪問不了,基本上可以確定是遭受流量攻擊。
DDOS的主要攻擊方式
1. 大流量沖擊型
大流量攻擊一方面使得基礎(chǔ)網(wǎng)絡(luò)的出口擁塞、帶寬被占滿,正常的永遠流量無法得到帶寬保證,另一方面基礎(chǔ)網(wǎng)絡(luò)的安全設(shè)備、服務(wù)器主機等設(shè)備也因為過量的負載導(dǎo)致CPU繁忙甚至掛死,整個網(wǎng)絡(luò)可能癱瘓并無法繼續(xù)對外提供服務(wù),主要的攻擊形式如下所述。
1) 以SYN Flood為代表的有狀態(tài)協(xié)議報文攻擊
SYN Flood攻擊是目前使用最為廣泛的攻擊方式,它充分利用了TCP協(xié)議三次握手機制的特點,偽造大量的源IP和端口的SYN報文,每個IP在向服務(wù)器端發(fā)送第一個SYN報文后,不再繼續(xù)發(fā)送響應(yīng)報文,導(dǎo)致服務(wù)器端在發(fā)送SYN+ACK的響應(yīng)報文后,因為遲遲收不到響應(yīng)報文而長時間的保持TCP連接,最終導(dǎo)致服務(wù)器因為存在大量的不正完整連接而資源耗盡而造成拒絕服務(wù),通過對僵尸網(wǎng)絡(luò)大量“肉雞”主機的控制很容易形成大規(guī)模的SYN Flood攻擊。
除了傳統(tǒng)的SYN報文攻擊之外,攻擊者還可以在這個基礎(chǔ)上進行變形形成新的類似攻擊,例如使用ACK報文進行Flood攻擊、構(gòu)造超長字節(jié)數(shù)目的攻擊報文、修改TCP頭的TCP標志位使得協(xié)議狀態(tài)機混亂的攻擊、 短時間內(nèi)大量建立完整TCP連接使得應(yīng)用程序的TCP并發(fā)連接數(shù)達到極限值從而造成拒絕服務(wù),統(tǒng)計表明這是目前使用比較多的攻擊方式
2) 以UDP/ICMP Flood為代表的無狀態(tài)協(xié)議報文攻擊
和TCP連接不同,UDP協(xié)議是無連接狀態(tài)不可靠的通道傳輸協(xié)議,本身不提供協(xié)調(diào)的手
消息反饋等機制,其通信的可靠性需要依靠其承載的應(yīng)用程序來進行保證;赨DP協(xié)議的DDOS比較簡單易行。黑客只需要偽造大量IP地址和小字節(jié)的UDP報文,針對特定的應(yīng)用服務(wù)器及其端口號,大量發(fā)包沖擊諸如DNS域名解析服務(wù)器、Radius認證服務(wù)器、部分網(wǎng)絡(luò)游戲服務(wù)器、及流媒體視頻服務(wù)器等。這些攻擊報文將導(dǎo)致目標服務(wù)器始終處在繁忙狀態(tài),從而影響正常UDP消息的處理。其他諸如ICMP Flood攻擊,其原理也和UDP比較類似,在此不再詳細描述。
2. 應(yīng)用層資源消耗型
應(yīng)用層攻擊并非依靠超大規(guī)模的流量取勝,其主要是通過模擬用戶發(fā)送請求,對特定的應(yīng)用或服務(wù)的資源進行消耗占用,利用較小的流量攻擊就可以耗盡應(yīng)用層資源并拒絕提供服務(wù),這其中以HTTP GET和DNS Query 為典型代表。
1) HTTP GET攻擊
作為CC攻擊的一種主要表現(xiàn)形式,HTTP GET的攻擊看上去目前比較流行,占有比較多的攻擊比例。攻擊者可能通過單主機構(gòu)造多個IP地址,并和服務(wù)器建立正常的TCP連接,之后不斷的向目標服務(wù)器特定頁面發(fā)起HTTP GET請求,實現(xiàn)諸如數(shù)據(jù)庫的注冊、查詢、刷新等操作以消耗服務(wù)器資源,當(dāng)發(fā)送的頻率足夠高的時候?qū)?dǎo)致服務(wù)器側(cè)忙于響應(yīng)這些請求導(dǎo)致CPU資源不足,從而使得其他的正常請求得不到處理?紤]到現(xiàn)階段服務(wù)器的處理性能也在不斷提升,為了保證攻擊效果,攻擊者也可能通過代理服務(wù)器或者僵尸網(wǎng)絡(luò)控制更多的僵尸主機參與到攻擊中來,大量的僵尸主機不斷的向服務(wù)器特定頁面發(fā)送HTTP GET請求將導(dǎo)致服務(wù)器拒絕服務(wù),而且因為這些僵尸主機都是真實存在的IP地址,因此看上去隱蔽性更強,
2) DNS查詢的泛洪攻擊
DNS服務(wù)作為互聯(lián)網(wǎng)的基礎(chǔ)性業(yè)務(wù),對于互聯(lián)網(wǎng)的重要性不言而喻。黑客通過利用僵尸網(wǎng)絡(luò)(或模擬大量IP地址)基于真實DNS協(xié)議發(fā)起大量DNS Query域名查詢請求,導(dǎo)致DNS服務(wù)器資源被大量消耗,網(wǎng)絡(luò)帶寬被占用耗盡,使得無法傳送正常DNS查詢請求;或者發(fā)送大量非法域名查詢報文引起DNS服務(wù)器持續(xù)進行迭代查詢,從而達到用小流量實現(xiàn)攻擊的效果。
由于DNS服務(wù)器在網(wǎng)絡(luò)中的特殊位置,小規(guī)模的DNS拒絕服務(wù)攻擊很可能也演變成大流量的沖擊事件。比較典型的案例是5.19安全事件,暴風(fēng)影音的DNS服務(wù)器被攻擊并拒絕服務(wù),千萬數(shù)量級的暴風(fēng)影音用戶變成了“肉雞”,其客戶端開始頻繁發(fā)送DNS域名解析請求,繼而形成了DNS Flood攻擊沖擊到運營商網(wǎng)絡(luò),并使得到運營商本身的DNS系統(tǒng)癱瘓,最終導(dǎo)致南方多個省市的互聯(lián)網(wǎng)服務(wù)中斷。
DDOS攻擊的主要防護方式
考慮到DDOS攻擊的多樣性,現(xiàn)階段沒有辦法完全杜絕這種攻擊行為的發(fā)生,但是我們可以做到減少被DDOS攻擊,在遭受DDOS攻擊之后快速恢復(fù)業(yè)務(wù)。接下來將從四個方面進行詳細說明。
1. 網(wǎng)絡(luò)安全管理員通過合理的配置實現(xiàn)攻擊預(yù)防
在運維管理過程中,網(wǎng)絡(luò)安全管理員除了調(diào)整WEB服務(wù)器負載,做好業(yè)務(wù)之間的冗余備份和負載均衡外,還可以關(guān)注以下幾個方面的配置調(diào)整,以減少被攻擊的風(fēng)險。
ž 確保所有服務(wù)器采用最新系統(tǒng),并打上安全補丁,避免服務(wù)器本身的安全漏洞被黑客控制和利用。同時關(guān)閉不需要使用的服務(wù)和端口,禁止使用網(wǎng)絡(luò)訪問程序如Telnet、FTP、Rlogin等,必要的話使用類似SSH等加密訪問程序,避免這些端口被攻擊者利用。
ž 深度了解自身的網(wǎng)絡(luò)配置和結(jié)構(gòu),加強對所轄訪問內(nèi)所有主機的安全檢查,必要的話部署端點準入機制來保證接入的安全。針對不同的客戶端和服務(wù)器進行精確的權(quán)限控制,隔絕任何可能存在的非法訪問。
ž 正確設(shè)置網(wǎng)絡(luò)的信任邊界,避免任何可能的非信任域發(fā)起的訪問請求,針對類似文件共享等行為進行嚴格的權(quán)限控制。
ž 建設(shè)完整的安全日志跟蹤系統(tǒng),在網(wǎng)絡(luò)的邊緣出口運行端口映射程序或端口掃描程序,實時監(jiān)控網(wǎng)絡(luò)中可能存在的惡意端口掃描等行為,同時對網(wǎng)絡(luò)設(shè)備、主機/服務(wù)器系統(tǒng)的日志進行收集分析,及時發(fā)現(xiàn)可能存在異常的日志行為并進行排查。
2. 利用防火墻等設(shè)備實現(xiàn)DDOS攻擊檢測
目前的狀態(tài)檢測防火墻等安全設(shè)備都具備一定的安全攻擊檢測能力,一般其情況下基于對協(xié)議報文的狀態(tài)跟蹤,可以準確發(fā)現(xiàn)一些畸形TCP協(xié)議報文的攻擊。除此之外,現(xiàn)階段的典型攻擊檢測方式還有以下幾種。
使能TCP Proxy連接代理技術(shù)。諸如防火墻產(chǎn)品可以利用TCP Proxy代理功能,實現(xiàn)對攻擊報文的準確識別。在接受到客戶端發(fā)起的TCP請求時,防火墻產(chǎn)品本身將充當(dāng)代理,率先和客戶端保持會話建立的過程。如果完整的三次握手報文沒有收到,防火墻將丟棄該會話連接請求,同時也不會和后端服務(wù)器建立會話連接,只有三次握手成功的連接請求,才會傳遞到后端的服務(wù)器并完成會話的建立。通過這種代理技術(shù)可以準確的識別基于TCP連接狀態(tài)的攻擊報文,如針對SYN Flood攻擊,TCP半連接狀態(tài)攻擊等。
智能會話管理技術(shù)。針對上面提到的TCP連接并發(fā)的攻擊,因為其本身有完整的TCP 三次握手,因此常規(guī)的TCP 代理技術(shù)并不能有效檢測。為了避免這種情況,防火墻產(chǎn)品可以在TCP代理的基礎(chǔ)上進一步改進,在TCP連接建立后,防火墻會主動檢測該TCP連接的流量大小,如果設(shè)備存在大量的沒有流量的空連接,則設(shè)備會主動將該TCP連接進行老化,避免這些空連接占用耗盡服務(wù)器的會話資源。
HTTP兩次重定向技術(shù)。針對上述提到的HTTP Get攻擊類型,由于其屬于正常的訪問請求,因此在防護過程中,一方面可以通過實時監(jiān)控單位時間內(nèi)同一個IP地址發(fā)起的HTTP Get請求的數(shù)目來初步判斷是否存在可能的攻擊,如果超出一定的閥值將終止該IP地址的訪問請求以保護服務(wù)器;另一方面,也可以使用HTTP Get兩次重定向技術(shù)來檢測這種攻擊。在接受到HTTP Get請求之前,安全設(shè)備會與客戶端瀏覽器進行虛擬連接,待瀏覽器發(fā)送HTTP Get報文請求后,將所要GET的URL進行重定向發(fā)向該瀏覽器,等待瀏覽器發(fā)起對該重定向鏈接的訪問。如果瀏覽器再次發(fā)起該請求,則將該客戶端加入到信任的IP列表,并再次重定向到瀏覽器所要請求的正確URL,后續(xù)可以根據(jù)該IP地址黑白名單信譽列表轉(zhuǎn)發(fā)。
除了上述方法之外,設(shè)備還有一些其他的方法來判斷DDOS攻擊,比如針對UDP Flood報文攻擊,采取報文新建會話檢查原則,將首包丟棄并等待客戶重傳,在這種情況下攻擊報文將被過濾掉。針對其他的一些攻擊方式如ICMP Flood,也可以使用智能流量檢測技術(shù),主動進行消息的發(fā)送速率,超過閥值的報文將被認為是無效報文做丟棄處理并記錄日志,當(dāng)速率低于設(shè)定的閾值下限后重新恢復(fù)報文的轉(zhuǎn)發(fā),這些方式配合流量自學(xué)習(xí)模型可以很好的識別攻擊。
3. 基于流量模型自學(xué)習(xí)的攻擊檢測方法
對于部分缺乏狀態(tài)的協(xié)議報文攻擊,此時攻擊報文屬于正常報文,這種情況下,很難通過通用的檢測技術(shù)對單個報文判斷是否是攻擊報文,此時流量自學(xué)習(xí)模型可以較好的解決這個問題。
在這個流量模型學(xué)習(xí)的過程中,用戶可以自定義學(xué)習(xí)周期,周期越長越能夠準確反映用戶的流量分布。通過一段時間的學(xué)習(xí),系統(tǒng)將準確獲取該用戶在一段時間內(nèi)的流量分布,形成包含L4-L7層信息的流量模型。其參數(shù)包括但不限于:周期內(nèi)的帶寬占用情況、L4層協(xié)議端口的流量分布統(tǒng)計、TOPN的IP地址流量統(tǒng)計、應(yīng)用層協(xié)議的種類及帶寬分布、TCP報文帶寬速率、會話連接數(shù)目及每秒新建速率參數(shù)、ICMP/UDP報文的速率、ICMP/UDP的請求速率、HTTP協(xié)議的帶寬大小、每秒請求數(shù)、最大連接數(shù)、客戶端IP地址的分布范圍等。通過獲取周期內(nèi)的流量模型,結(jié)合用戶的流量規(guī)劃參數(shù),最終形成符合用戶流量實際的比對基線,并作為后續(xù)判斷網(wǎng)絡(luò)中是否存在異常流量的標準。流量基線確立后,系統(tǒng)可以實時監(jiān)控網(wǎng)絡(luò)的流量并與基線進行比對,一旦超出基線標準一定的比例將被定義為異常流量,此時系統(tǒng)將生成動態(tài)過濾規(guī)則對網(wǎng)絡(luò)流量進行過濾和驗證,如驗證源IP地址的合法性、對異常的流量進行丟棄,從而實現(xiàn)對DDOS攻擊的防御。
4. 基于云計算服務(wù)實現(xiàn)DDOS攻擊防護
在實際的DDOS攻擊防護過程中,面對萬兆以上超大規(guī)模的攻擊流量,攻擊對象的出口帶寬可能被完全擁塞,此時企業(yè)內(nèi)部的DDOS檢測和防護措施已經(jīng)無法解決問題,租用運營商的云計算DDOS服務(wù)成為現(xiàn)實的選擇。為了提供超大規(guī)模的云計算DDOS攻擊防護能力,需要從以下3個步驟進行考慮:
首先,需要構(gòu)建一個超高性能的DDOS攻擊檢測平臺,實現(xiàn)對用戶業(yè)務(wù)流量進行分析監(jiān)控。在這個過程中,需要考慮通過流量鏡像、RSPAN、NetStream等多種技術(shù),將需要分析攻擊的用戶流量引導(dǎo)到DDOS攻擊檢測平臺,再綜合利用檢測平臺的各種技術(shù)最終實現(xiàn)對用戶流量的攻擊檢測。其次,當(dāng)攻擊檢測平臺探測到疑似異常攻擊流量后,將借助云計算DDOS服務(wù)管理中心,通過類似BGP路由發(fā)布等方式,將用戶的疑似攻擊流量自動牽引到服務(wù)商的流量清洗中心進行惡意流量清除。最后,攻擊清除后的合法流量將通過策略路由、MPLS VPN、雙鏈路等多種方式回注到原有網(wǎng)絡(luò),并上報清洗日志到業(yè)務(wù)管理中心生成各種攻擊報告,以便提供給云計算DDOS服務(wù)的租戶審計。綜合上述過程,可以看到超高的攻擊檢測性能和城域網(wǎng)內(nèi)部就地清除攻擊報文的能力,是云計算服務(wù)商的優(yōu)勢所在。
當(dāng)然,在運營商搭建高性能攻擊檢測平臺的過程中,除了上述提到的一些攻擊檢測方式
外,云計算服務(wù)商還可以充分利用云安全檢測機制來識別攻擊。比較典型的有基于IP信譽和 惡意URL地址庫的識別機制。對于惡意的IP地址和和Wwebsite URL鏈接訪問流量直接攔截丟棄,最大限度提升防護效率。
DDoS攻擊技術(shù)含量小但危害巨大,且因為是網(wǎng)絡(luò)協(xié)議漏洞的問題,使其無法完全避免,只能提前做好預(yù)防。而高防IP/高防CDN無疑是企業(yè)抗DDoS攻擊的有效手段。面對如今各大行業(yè)存在的網(wǎng)絡(luò)安全隱患,以游戲盾的高防CDN為例,防御吧為用戶提供專業(yè)抗DDoS攻擊,核心層均采用雙設(shè)備組網(wǎng)架構(gòu),為網(wǎng)絡(luò)系統(tǒng)提供高等級的安全保障,網(wǎng)絡(luò)穩(wěn)定性高達99.99%。
防御吧自研最新一代的游戲盾,搭配全新毫秒級指紋識別過濾技術(shù),能夠智能調(diào)度并毫秒級過濾清洗異常的攻擊行為,保證用戶業(yè)務(wù)正常穩(wěn)定運行。同時定期針對服務(wù)器進行檢測,對存在的一些可能性的安全隱患及時清理,避免給攻擊者有可乘之機。還會在骨干節(jié)點上配置相應(yīng)的防火墻,可以極大地提高服務(wù)器的安全性,降低網(wǎng)絡(luò)惡意攻擊帶來的風(fēng)險與損失。