據調查,目前我國境內日均有365起總流量超過1G的較大規(guī)模DDOS攻擊事件。受攻擊方惡意將流量轉嫁給無辜者的情況屢見不鮮,我國已有多家省級政府網站遭受過流量轉嫁攻擊。維基解密網站也曾因為遭受DDOS攻擊而癱瘓,被迫關閉了10余天。
DDOS是目前企事業(yè)單位遭遇較多的一種網絡攻擊,DDOS目的很簡單,就是使計算機或網絡無法提供正常的服務。DDOS攻擊最早可追溯到1996年最初,在中國2002年開始頻繁出現(xiàn),2003年已經初具規(guī)模。目前的DDOS攻擊主要有7種方式。
DDOS攻擊的七種武器
長生劍——SYN Flood攻擊 SYN Flood攻擊是當前網絡上最為常見的DDos攻擊,也是最為經典的拒絕服務攻擊,它利用了TCP協(xié)議實現(xiàn)上的一個缺陷,通過向網絡服務所在端口發(fā)送大量的偽造源地址的半連接請求,造成目標服務器中的半連接隊列被占滿,耗費CPU和內存資源,使服務器超負荷,從而阻止其他合法用戶進行訪問。
這種攻擊早在1996年就被發(fā)現(xiàn),但至今仍然顯示出強大的生命力,可謂“長生不老”。很多操作系統(tǒng),甚至防火墻、路由器都無法有效地防御這種攻擊,而且由于它可以方便地偽造源地址,追查起來非常困難。
多情環(huán)—— TCP全連接攻擊 這種攻擊是為了繞過常規(guī)防火墻的檢查而設計的,一般情況下,常規(guī)防火墻大多具備syn cookies或者syn proxy能力,能夠有效應對偽造的IP攻擊,但對于正常的TCP連接是放過的。但殊不知很多網絡服務程序能接受的TCP連接數是有限的,一旦有大量的 TCP連接,即便是正常的,也會導致網站訪問非常緩慢甚至無法訪問,正所謂“多情總被無情傷”。TCP全連接攻擊就是通過許多僵尸主機不斷地與受害服務器建立大量的TCP連接,直到服務器的內存等資源被耗盡而被拖跨,從而造成拒絕服務,這種攻擊的特點是可繞過一般防火墻的防護而達到攻擊目的。
孔雀翎——TCP混亂數據包攻擊 TCP混亂數據包攻擊與Syn Flood攻擊類似,發(fā)送偽造源IP的TCP數據包,只不過TCP頭的TCP Flags 部分是混亂的,可能是syn,ack,syn+ack,syn+rst等等,會造成一些防護設備處理錯誤鎖死,消耗服務器CPU內存的同時還會堵塞帶寬。就好像七種武器中的孔雀翎,總是在迷惑對手的時候施展最后的致命一擊。
碧玉刀—— UDP Flood攻擊 UDP Flood是日漸猖獗的流量型DOS攻擊,原理也很簡單。常見的情況是利用大量UDP小包沖擊DNS服務器或Radius認證服務器、流媒體視頻服務器。 100k PPS的UDP Flood經常將線路上的骨干設備例如防火墻打癱,造成整個網段的癱瘓。就好像看似輕盈小巧的碧玉刀,實則威力不容小覷。由于UDP協(xié)議是一種無連接的服務,在UDP FLOOD攻擊中,攻擊者可發(fā)送大量偽造源IP地址的小UDP包。但是,由于UDP協(xié)議是無連接性的,所以只要開了一個UDP的端口提供相關服務的話,那么就可針對相關的服務進行攻擊。
拳頭—— DNS Flood攻擊 UDP DNS Query Flood攻擊實質上是UDP Flood的一種,但是由于DNS服務器的不可替代的關鍵作用,一旦服務器癱瘓,影響一般都很大。UDP DNS Query Flood攻擊采用的方法是向被攻擊的服務器發(fā)送大量的域名解析請求,通常請求解析的域名是隨機生成或者是網絡世界上根本不存在的域名,被攻擊的DNS 服務器在接收到域名解析請求的時候首先會在服務器上查找是否有對應的緩存,如果查找不到并且該域名無法直接由服務器解析的時候,DNS 服務器會向其上層DNS服務器遞歸查詢域名信息。根據微軟的統(tǒng)計數據,一臺DNS服務器所能承受的動態(tài)域名查詢的上限是每秒鐘9000個請求。而我們知道,在一臺PC機上可以輕易地構造出每秒鐘幾萬個域名解析請求,足以使一臺硬件配置極高的DNS服務器癱瘓,由此可見DNS 服務器的脆弱性。DNS解析作為DDOS攻擊之根本,就好像拳頭一樣,隨時隨地可以出手。
離別鉤—— CC攻擊 CC攻擊(Challenge Collapsar)是DDOS攻擊的一種,是利用不斷對網站發(fā)送連接請求致使形成拒絕服務的攻擊。相比其它的DDOS攻擊,CC攻擊是應用層的,主要針對網站。CC主要是用來攻擊頁面的,CC就是模擬多個用戶(少線程就是多少用戶)不停地進行訪問那些需要大量數據操作(就是需要大量CPU時間)的頁面,造成服務器資源的浪費,CPU長時間處于100%,永遠都有處理不完的連接直至就網絡擁塞,正常的訪問被中止。
這種攻擊主要是針對存在ASP、JSP、PHP、CGI等腳本程序,并調用MSSQL Server、MySQLServer、Oracle等數據庫的網站系統(tǒng)而設計的,特征是和服務器建立正常的TCP連接,并不斷的向腳本程序提交查詢、列表等大量耗費數據庫資源的調用,典型的以小博大的攻擊方法。這種攻擊的特點是可以完全繞過普通的防火墻防護,輕松找一些Proxy代理就可實施攻擊,缺點是對付只有靜態(tài)頁面的網站效果會大打折扣,并且有些Proxy會暴露攻擊者的IP地址。就好像離別鉤名為離別,實為相聚一樣,CC攻擊的真實意圖又有誰能理解呢。
霸王槍——針對游戲服務器的攻擊 因為游戲服務器非常多,這里介紹最早也是影響最大的傳奇游戲,傳奇游戲分為登陸注冊端口7000,人物選擇端口7100,以及游戲運行端口7200,7300,7400等,因為游戲自己的協(xié)議設計的非常復雜,所以攻擊的種類也花樣百出,大概有幾十種之多,而且還在不斷的發(fā)現(xiàn)新的攻擊種類,最普遍是假人攻擊,假人攻擊是通過肉雞模擬游戲客戶端進行自動注冊、登陸、建立人物、進入游戲活動從數據協(xié)議層面模擬正常的游戲玩家,很難從游戲數據包來分析出哪些是攻擊?哪些是正常玩家。針對游戲服務器的攻擊十分霸氣,就像霸王槍蛟龍出水,難以抵擋。
抵御DDOS攻擊之六脈神劍
以上DDOS攻擊的七種武器都有各自的特點和殺傷力,但也并非無法防范。說起抵御DDOS攻擊的招數,就不得不提起六脈神劍絕技,以無形化有形,瓦解著DDOS的一次次攻擊。
少商劍—— Syn Flood防御技術 syn cookie/syn proxy類防護技術:這種技術對所有的syn包均主動回應,探測發(fā)起syn包的源IP地址是否真實存在,如果該IP地址真實存在,則該IP會回應防護設備的探測包,從而建立TCP連接。大多數的國內外抗DDOS產品均采用此類技術。
Safereset技術:此技術對所有的syn包均主動回應,探測包特意構造錯誤的字段,真實存在的IP地址會發(fā)送rst包給防護設備,然后發(fā)起第2次連接,從而建立TCP連接。部分國外產品采用了這樣的防護算法。
syn重傳技術:該技術利用了TCP/IP協(xié)議的重傳特性,來自某個源IP的第一個syn包到達時被直接丟棄并記錄狀態(tài),在該源IP的第2個syn包到達時進行驗證,然后放行。
Syn Flood防御技術就好像少商劍一樣,異常剛猛,頗有石破天驚,風雨大至之勢,是御敵最常用到的招式。
商陽劍—— UDP Flood防御技術 UDP協(xié)議與TCP 協(xié)議不同,是無連接狀態(tài)的協(xié)議,并且UDP應用協(xié)議五花八門,差異極大,因此針對UDP Flood的防護非常困難。一般最簡單的方法就是不對外開放UDP服務。
如果必須開放UDP服務,則可以根據該服務業(yè)務UDP最大包長設置UDP最大包大小以過濾異常流量。還有一種辦法就是建立UDP連接規(guī)則,要求所有去往該端口的UDP包,必須首先與TCP端口建立TCP連接,然后才能使用UDP通訊。
難以駕馭是UDP Flood防御技術的特點,同樣也是商陽劍的特點,雖難以捉摸,不過一旦純熟,效果極佳。
少澤劍—— DNS Flood防御技術 在UDP Flood的基礎上對 UDP DNS Query Flood 攻擊進行防護,根據域名 IP 自學習結果主動回應,減輕服務器負載(使用 DNS Cache)。
對突然發(fā)起大量頻度較低的域名解析請求的源 IP 地址進行帶寬限制,在攻擊發(fā)生時降低很少發(fā)起域名解析請求的源IP地址的優(yōu)先級,限制每個源 IP 地址每秒的域名解析請求次數。好似少澤劍忽來忽去,變化精微一般,DNS Flood防御技術也在變化中不斷調整,以求防御的最佳效果。
少沖劍—— CC防御技術 對是否HTTP Get的判斷,要統(tǒng)計到達每個服務器的每秒鐘的GET請求數,如果遠遠超過正常值,就要對HTTP協(xié)議解碼,找出HTTP Get及其參數(例如URL等)。然后判斷某個GET 請求是來自代理服務器還是惡意請求,并回應一個帶Key的響應要求,請求發(fā)起端作出相應的回饋。如果發(fā)起端不響應則說明是利用工具發(fā)起的請求,這樣HTTP Get請求就無法到達服務器,達到防護的效果。頗有少沖劍輕靈迅速,以巧取勝之意。
關沖劍——限制連接數 目前市場上的安全產品,包括防火墻、入侵防御、DDOS防御等產品主要采用限制服務器主機連接數手段防御DDOS攻擊,如關沖劍一般,看似拙滯古樸,實則為招數之基本。使用安全產品限制受保護主機的連接數,即每秒訪問數量,可以確保受保護主機在網絡層處理上不超過負荷(不含CC攻擊),雖然用戶訪問時斷時續(xù),但可以保證受保護主機始終有能力處理數據報文。而使用安全產品限制客戶端發(fā)起的連接數,可以有效降低傀儡機的攻擊效果,即發(fā)起同樣規(guī)模的攻擊則需要更多的傀儡機。
中沖劍——攻擊防御溯本追源技術 針對CC攻擊防御的溯本追源技術是通過對服務器訪問流量的實時監(jiān)測,可以發(fā)現(xiàn)其在一定范圍內波動,此時設置服務器低壓閥值,當服務器訪問流量高于低壓閥值時開始記錄并跟蹤訪問源。此外還要設置一個服務器高壓閥值,此高壓閥值代表服務器能夠承受的最大負荷,當監(jiān)測到服務器訪問流量達到或超過高壓閥值時,說明有DOS或者DDOS攻擊事件發(fā)生,需要實時阻斷攻擊流量,此時系統(tǒng)將逐一查找受攻擊服務器的攻擊源列表,檢查每個攻擊源的訪問流量,將突發(fā)大流量的源IP地址判斷為正在進行DOS攻擊的攻擊源,將這些攻擊源流量及其連接進行實時阻斷。中沖劍大開大闔,氣勢雄邁, 溯本追源技術也是在承受攻擊之中,尋找著破綻,一招御敵,氣勢十足。
七種武器各自為戰(zhàn),六脈神劍集于一身,當七種武器遇到六脈神劍,孰勝孰敗已見分曉。