|
1. 簡介
DDoS是英文Distributed Denial of Service的縮寫,即“分布式拒絕服務(wù)”。凡是能導(dǎo)致合法用戶不能夠正常訪問網(wǎng)絡(luò)服務(wù)的行為都是DoS攻擊,或拒絕服務(wù)攻擊。在各種DoS攻擊中,DDoS攻擊策略側(cè)重于通過很多“僵尸主機(jī)”(被攻擊者入侵過或可間接利用的主機(jī))向受害主機(jī)發(fā)送大量看似合法的網(wǎng)絡(luò)包,從而造成網(wǎng)絡(luò)阻塞或服務(wù)器資源耗盡而導(dǎo)致拒絕服務(wù)。DDoS攻擊一旦被實(shí)施,攻擊網(wǎng)絡(luò)包就會(huì)猶如洪水般涌向受害主機(jī),從而把合法用戶的網(wǎng)絡(luò)包淹沒,導(dǎo)致合法用戶無法正常訪問服務(wù)器資源,因此,拒絕服務(wù)攻擊又被稱之為“洪水式攻擊”,常見的DDoS攻擊手段有SYN Flood、ACK Flood、UDP Flood、ICMP Flood、TCP Flood、Connections Flood、Script Flood、Proxy Flood等。由于網(wǎng)絡(luò)的分布式和開放式特性,使得DDos攻擊很難防范。 目前DDoS攻擊的發(fā)展主要有4個(gè)趨勢(shì):(1)廣分布的高強(qiáng)度攻擊;(2)偽造源IP地址;(3)數(shù)據(jù)包結(jié)構(gòu)位的隨機(jī)性;(4)使用多種協(xié)議及多種形式。這4個(gè)趨勢(shì)使得DDoS攻擊的檢測(cè)和防御變得更加困難。 2. DDoS的檢測(cè) DDoS的表現(xiàn)形式主要有兩種,一種為流量攻擊,主要是針對(duì)網(wǎng)絡(luò)帶寬的攻擊,即大量攻擊包導(dǎo)致網(wǎng)絡(luò)帶寬被耗盡,正常的網(wǎng)絡(luò)包無法到達(dá)主機(jī);另一種為資源耗盡攻擊,主要是針對(duì)服務(wù)器主機(jī)的攻擊,即通過大量攻擊包導(dǎo)致主機(jī)的內(nèi)存、CPU或某個(gè)緩沖區(qū)耗盡而無法提供正常的服務(wù)。 在遭受流量攻擊,同一交換機(jī)上的主機(jī)都會(huì)受到影響。這時(shí)Ping同一個(gè)交換機(jī)上的主機(jī)會(huì)超時(shí)。理論上,如果攻擊者能夠發(fā)動(dòng)超過主機(jī)帶寬的傀儡機(jī)(群)發(fā)動(dòng)流量攻擊,并使用合法的方式與主機(jī)進(jìn)行通信,主機(jī)一定難以幸免。流量攻擊通常是從傀儡機(jī)發(fā)送大量無用的數(shù)據(jù)包將主機(jī)帶寬或者主機(jī)所在的交換機(jī)(路由器)帶寬耗盡。如果主機(jī)所在網(wǎng)絡(luò)的帶寬較小,比如10M,則無論怎樣都無法應(yīng)對(duì)流量攻擊。要對(duì)付流量攻擊,至少要有100M或更高的網(wǎng)絡(luò)帶寬。 假如主機(jī)的服務(wù)非常緩慢或無法訪問,而Ping還可以Ping通,則很可能遭受了資源耗盡攻擊。還有一種屬于資源耗盡攻擊的現(xiàn)象是,Ping受害主機(jī)Ping超時(shí),而Ping與受害主機(jī)在同一交換機(jī)上的主機(jī)則正常,造成這種原因是受害主機(jī)遭受攻擊后CPU利用率達(dá)到100%無法回應(yīng)Ping命令,其實(shí)帶寬還是有的,否則就Ping不通接在同一交換機(jī)上的主機(jī)了。很多情況下,資源耗盡型攻擊和流量攻擊是同時(shí)進(jìn)行的,比如SYN flood。通常資源耗盡型攻擊比流量攻擊流量耗盡型攻擊需要的傀儡機(jī)要少,因此更容易攻擊成功。 當(dāng)前資源耗攻擊主要有三種類型: 1、無連接攻擊: 這種攻擊方法主要利用IP、TCP、ICMP等協(xié)議的漏洞,在無連接情況下或者連接建立過程中完成攻擊。主要是通過向受害主機(jī)發(fā)送大量偽造源IP和源端口的SYN、ACK、UDP、 ICMP包等,導(dǎo)致主機(jī)的緩存資源被耗盡或忙于發(fā)送回應(yīng)包而造成拒絕服務(wù),由于源都是偽造的,故追蹤起來比較困難。對(duì)于SYN Flood攻擊,在服務(wù)器上用Netstat -na命令會(huì)觀察到存在大量的SYN_RECEIVED狀態(tài)。 2、TCP全連接攻擊: 當(dāng)主機(jī)突然收到比平時(shí)多得多的“合法”連接請(qǐng)求時(shí),基本可以判定是這種類型。由于攻擊采用的方式幾乎無法與真正的合法流量區(qū)分,使得這種攻擊很難自動(dòng)防御。但是這種攻擊會(huì)暴露傀儡機(jī)的IP地址,從而相對(duì)容易跟蹤。然而DDoS攻擊的追蹤不僅是要找到傀儡機(jī),還要找到隱藏在傀儡機(jī)背后的黑客主機(jī)。好的DDoS攻擊工具可以偽造黑客主機(jī)的IP地址,使得對(duì)黑客主機(jī)的追蹤要比對(duì)傀儡機(jī)的追蹤困難的多。TCP全連接攻擊的另一個(gè)缺點(diǎn)是需要控制大量的傀儡機(jī)來模擬合法的連接。 3、Script腳本攻擊: 這種攻擊是TCP全連接攻擊的升級(jí)版,但是需要的傀儡機(jī)數(shù)量相對(duì)少一些。主要是針對(duì)存在于ASP、JSP、PHP、CGI等的腳本程序,并調(diào)用MSSQLServer、MySQLServer、Oracle等數(shù)據(jù)庫的網(wǎng)站系統(tǒng)而設(shè)計(jì)的,對(duì)靜態(tài)網(wǎng)頁的服務(wù)器攻擊效果不大。其特征是和服務(wù)器建立正常的TCP連接,并不斷的向腳本程序提交查詢、列表等大量耗費(fèi)數(shù)據(jù)庫資源的調(diào)用。一般來說,提交一個(gè)GET或POST指令對(duì)客戶端的耗費(fèi)和帶寬的占用是幾乎可以忽略的,而服務(wù)器為處理此請(qǐng)求卻可能要從上萬條記錄中去查出某個(gè)記錄,這種處理過程對(duì)資源的耗費(fèi)是很大的。攻擊之后常見的現(xiàn)象ASP程序失效、PHP連接數(shù)據(jù)庫失敗、數(shù)據(jù)庫主程序占用CPU偏高。 籠統(tǒng)的講,抵御無連接攻擊主要是分析IP包,而對(duì)于有連接的攻擊則需要分析包的內(nèi)容。 來源:(http://blog.sina.com.cn/s/blog_634fb9090100fw8e.html) - 告訴你檢測(cè)DDOS攻擊加追蹤與緩解技術(shù)_DDOS網(wǎng)站攻擊業(yè)務(wù)_新浪博客3. DDoS的追蹤 DDoS的追蹤主要有兩個(gè)目的:1是通過追蹤攻擊源獲取攻擊包的特征從而對(duì)流量進(jìn)行過濾或者聯(lián)系ISP尋求幫助;2是找到攻擊源并搜集攻擊證據(jù),從而有可能通過法律手段對(duì)攻擊者進(jìn)行懲罰。無論能否最終找到攻擊源,DDoS攻擊的追蹤技術(shù)對(duì)于DDoS的防御都是十分重要的。目前主要的DDoS追蹤技術(shù)有Packet Marking、ICMP追蹤、Logging以及Controlled Flooding。這些跟蹤技術(shù)一般都需要路由器的支持,實(shí)際中也需要ISP的協(xié)助。 Packet Marking是一大類方法,其基本思想是路由器在IP包中的Identification域加入額外信息以幫助確定包的來源或路徑。由于IP包的Identification域在因特網(wǎng)中被使用到的比率只有0.25%,因此在大多數(shù)包中添加路由信息是十分可行。當(dāng)然如果對(duì)每個(gè)包都做處理沒有必要,因此大多數(shù)Packet Marking方法都是以一個(gè)較低的概率在IP包中加入標(biāo)記信息。Packet Marking方法需要解決的主要問題是:由于IP包的Identification域只有16比特,因此加入的信息量很受限制,如果要追蹤源地址或者路徑就要精心構(gòu)造加入的信息,這涉及到路由器如何更新已有的標(biāo)記信息,如何降低標(biāo)記信息被偽造的可能,如何應(yīng)對(duì)網(wǎng)絡(luò)中存在不支持Packet Marking的路由器的情況。比如,采用用異或和移位來實(shí)現(xiàn)標(biāo)記信息的更新。 Controlled Flooding是Burch和 Cheswick提出的方法。這種方法實(shí)際上就是制造flood攻擊,通過觀察路由器的狀態(tài)來判斷攻擊路徑。首先應(yīng)該有一張上游的路徑圖,當(dāng)受到攻擊的時(shí)候,可以從受害主機(jī)的上級(jí)路由器開始依照路徑圖對(duì)上游的路由器進(jìn)行受控的flood,因?yàn)檫@些數(shù)據(jù)包同攻擊者發(fā)起的數(shù)據(jù)包共享了路由器,因此增加了路由器丟包的可能性。通過這種沿路徑圖不斷向上進(jìn)行,就能夠接近攻擊發(fā)起的源頭。Controlled Flooding最大的缺點(diǎn)就是這種辦法本身就是一種DOS攻擊,會(huì)對(duì)一些信任路徑也進(jìn)行DOS。而且,Controlled Flooding要求有一個(gè)幾乎覆蓋整個(gè)網(wǎng)絡(luò)的拓?fù)鋱D。Burch和 Cheswick也指出,這種辦法很難用于DDOS攻擊的追蹤。這種方法也只能對(duì)正在進(jìn)行攻擊有效。 ICMP追蹤主要依靠路由器自身產(chǎn)生的ICMP跟蹤消息。每個(gè)路由器都以很低的概率(比如:1/20000),將數(shù)據(jù)包的內(nèi)容復(fù)制到一個(gè)ICMP消息包中,并且包含了到臨近源地址的路由器信息。當(dāng)DDoS攻擊開始的時(shí)候,受害主機(jī)就可以利用這些ICMP消息來重新構(gòu)造攻擊者的路徑。這種方法的缺點(diǎn)是ICMP可能被從普通流量中過濾掉,并且,ICMP追蹤消息依賴于路由器的相關(guān)功能,但是,可能一些路由器就沒有這樣的功能。同時(shí)ICMP Tracking必須考慮攻擊者可能發(fā)送的偽造ICMP Traceback消息。 Logging通過在主路由器上記錄數(shù)據(jù)包,然后通過數(shù)據(jù)采集技術(shù)來決定這些數(shù)據(jù)包的穿越路徑。雖然這種辦法可以用于對(duì)攻擊后的數(shù)據(jù)進(jìn)行追蹤,但也有很明顯的缺點(diǎn),如要求記錄和處理大量的信息。 需要指出,如果攻擊者對(duì)攻擊程序設(shè)計(jì)得足夠精細(xì),則要想找到真正的攻擊者幾乎是不可能的。比如攻擊者可以使用兩層甚至更多層傀儡機(jī)實(shí)施攻擊,而對(duì)靠近攻擊者的傀儡機(jī)做徹底的日志清理,使得跟蹤技術(shù)無法找到攻擊者。另外對(duì)于反射式攻擊,由于攻擊包是合法的,想要追蹤到傀儡機(jī)本身就已經(jīng)非常困難了。 4. DDoS的緩解 一個(gè)好的DDoS防御系統(tǒng)應(yīng)該能做到快速的DDoS攻擊檢測(cè)和緩解,對(duì)攻擊流量的處理不影響或少影響合法用戶的流量,對(duì)網(wǎng)絡(luò)配置的要求要低。目前還沒有哪個(gè)系統(tǒng)能夠很100%地達(dá)到以上目標(biāo),不過確實(shí)存在一些有效措施來緩解DDoS攻擊。 主要的DDoS緩解方法包括以下幾個(gè)方面: 1、Filter。對(duì)于特征明顯的DDoS攻擊包,在路由器或者防火墻就可以搞定。當(dāng)然,如果跟蹤技術(shù)能夠確定攻擊包的來源則可以設(shè)置路由器或防火墻過濾掉所有來自攻擊源的包,在攻擊源被偽造的情況下,是通過識(shí)別攻擊包的一些特征來實(shí)現(xiàn)的。然而有些攻擊包并不容易識(shí)別出來。 2、隨機(jī)丟包。如果不能非常有把握地識(shí)別攻擊包,但是能對(duì)攻擊包的做概率性的判斷,則可以用隨機(jī)丟包的方法來過濾一大部分的攻擊流量,然而使用這種方法就必須考慮如何能夠使合法用戶的流量被盡可能好的保留??梢约由弦恍┫拗茥l件,如果判定一個(gè)包“一定是”合法的,則不對(duì)它做丟包。 3、SYN Cookie等特定防御辦法。針對(duì)一些固定的攻擊手段來防御和過濾。這類方法主要是減少主機(jī)對(duì)一些可能的攻擊的容忍能力。比如為了減輕SYN Flood攻擊占用TCP半連接隊(duì)列,在SYN Cookie的執(zhí)行過程中,當(dāng)服務(wù)器接收到一個(gè)SYN包的時(shí)候,返回一個(gè)SYN-ACK包,這個(gè)數(shù)據(jù)包的ACK序列號(hào)是經(jīng)過加密的,也就是說,它由源地址,端口源次序,目標(biāo)地址,目標(biāo)端口和一個(gè)加密種子計(jì)算得出。然后SYN釋放所有的狀態(tài)。如果一個(gè)ACK包從客戶端返回,服務(wù)器將重新計(jì)算它來判斷它是不是上個(gè)SYN-ACK的返回包。如果這樣,服務(wù)器就可以直接進(jìn)入TCP連接狀態(tài)并打開連接。這樣,服務(wù)器就可以避免守侯半開放連接了。 4、被動(dòng)消極忽略。一般正常連接失敗會(huì)重新嘗試,但是攻擊者一般不會(huì)重新。所以可以臨時(shí)拋棄第一次連接請(qǐng)求而接受第二次或者第三次連接請(qǐng)求。 5、統(tǒng)計(jì)分析。即通過統(tǒng)計(jì)分析來得到攻擊包的指紋,然后根據(jù)指紋來拋棄攻擊包。思路很簡單,關(guān)鍵是要保證合法的流量被誤檢和非法流量被漏檢的概率足夠低。這也是很多研究者研究的主要課題,目的就是識(shí)別攻擊包。識(shí)別攻擊報(bào)所需要的信息可能包括:流量速率大小、包大小和端口的分布、包到達(dá)時(shí)間的分布、并發(fā)流量數(shù)、高級(jí)協(xié)議特征、出入的速率、流量分類(源IP 源端口、目的端口、協(xié)議類型、連接量)、高層層協(xié)議分析:比如針對(duì)http的攻擊。所有模式識(shí)別中的分類方法以及優(yōu)化方法,比如人工神經(jīng)網(wǎng)絡(luò)等等都可以應(yīng)用于統(tǒng)計(jì)和分析。不過,這種方法的實(shí)施難度較大,一個(gè)魯棒的,自動(dòng)更新識(shí)別函數(shù)的統(tǒng)計(jì)分析系統(tǒng)構(gòu)造起來相當(dāng)不容易。 5. 總結(jié) DDoS攻擊,這一對(duì)互聯(lián)網(wǎng)危害極大的攻擊,正在變得越來越頻繁,越來越難以防范。本文介紹典型的DDoS檢測(cè)、跟蹤和緩解辦法。目前尚無一種方法能夠徹底根除DDoS隱患,大多數(shù)實(shí)際運(yùn)作的系統(tǒng)都是多種防范和應(yīng)對(duì)手段的集合體。一個(gè)實(shí)際的DDoS防御體系通常需要受保護(hù)主機(jī)與相鄰網(wǎng)絡(luò)以及ISP的有效溝通與合作。作者任沛然 來源:(http://blog.sina.com.cn/s/blog_634fb9090100fw8e.html) - 告訴你檢測(cè)DDOS攻擊加追蹤與緩解技術(shù)_DDOS網(wǎng)站攻擊業(yè)務(wù)_新浪博客 |
|
|