|
TCP SYN flooding是最常用的DoS攻擊方式。
TCP連接初始化過程稱為三次握手(three-way handshake):A連接發(fā)起端發(fā)送標(biāo)志有SYN位的TCP數(shù)據(jù)包到目的端,用于協(xié)商參數(shù),初始化連接;B目的端使用SYN/ACK來表明自己的連接參數(shù)并確認(rèn)發(fā)起端的連接參數(shù);C發(fā)起端收到SYN/ACK后,使用ACK確認(rèn)目的端連接參數(shù)。這樣三次TCP包交換,發(fā)起端和接收端之前建立一條TCP連接。當(dāng)目的端TCP/IP收到一個(gè)TCP SYN后,就位將要建立的連接預(yù)留資源并等待發(fā)起端確定連接參數(shù),這對(duì)建立穩(wěn)定高效的TCP連接是必要的。但是如果向目的主機(jī)發(fā)送大量的TCP SYN,而不回應(yīng)TCP ACK,使大量連接處于半開狀態(tài)(half-open),導(dǎo)致預(yù)留資源長(zhǎng)時(shí)間不能釋放(直到超時(shí)),最終致使目的端資源耗盡。

而UDP flooding利用了UDP傳輸?shù)臒o狀態(tài)性,通過發(fā)送大量擁有偽裝IP地址的UDP數(shù)據(jù)包,填滿網(wǎng)絡(luò)設(shè)備(主要是路由器或防火墻)的連接狀態(tài)表,造成服務(wù)被拒絕。
Crikey CRC flooding是新出現(xiàn)的一種DoS攻擊方式,目標(biāo)主要是防火墻等紀(jì)錄連接狀態(tài)的網(wǎng)絡(luò)安全設(shè)備。為了加速數(shù)據(jù)包通過防火墻,防火墻通常不會(huì)使用Checksum對(duì)數(shù)據(jù)包進(jìn)行效驗(yàn),只是把連接添加到連接狀態(tài)表中;Crikey CRC flooding在TCP和UDP頭部加入錯(cuò)誤的Checksum值。當(dāng)這些數(shù)據(jù)包到達(dá)目的主機(jī)時(shí),因?yàn)镃hecksum錯(cuò)誤會(huì)被拒絕。這樣,實(shí)際上沒有建立起來的連接被紀(jì)錄到了連接狀態(tài)表中,如果防火墻大量接受到這樣的數(shù)據(jù)包,最終會(huì)導(dǎo)致連接狀態(tài)表被填滿,新的連接請(qǐng)求被拒絕。
防范方法
首先在防火墻上限制TCP SYN的突發(fā)上限,因?yàn)榉阑饓Σ荒茏R(shí)別正常的SYN和惡意的SYN,一般把TCP SYN的突發(fā)量調(diào)整到內(nèi)部主機(jī)可以承受的連接量,當(dāng)超過這個(gè)預(yù)設(shè)的突發(fā)量的時(shí)候就自動(dòng)清理或者阻止,這個(gè)功能目前很多寬帶路由都支持,如海蜘蛛路由,只不過每款路由設(shè)置項(xiàng)的名稱可能不一樣,原理和效果一樣。一些高端防火墻具有TCP SYN網(wǎng)關(guān)和TCP SYN中繼等特殊功能,也可以抵抗TCP SYN flooding,他們都是通過干涉建立過程來實(shí)現(xiàn)。具有TCP SYN網(wǎng)關(guān)功能的防火墻在收到TCP SYN后,轉(zhuǎn)發(fā)給內(nèi)部主機(jī)并記錄該連接,當(dāng)收到主機(jī)的TCP SYN/ACK后,以客戶機(jī)的名義發(fā)送TCP ACK給主機(jī),幫助三次握手,把連接由半開狀態(tài)變成全開狀態(tài)(后者比前者占用的資源少)。而具有TCP SYN中繼功能的防火墻在收到TCP SYN后不轉(zhuǎn)發(fā)給內(nèi)部主機(jī),而是代替內(nèi)部主機(jī)回應(yīng)TCP SYN/ACK,如果收到TCP ACK則表示連接非惡意,否則及時(shí)釋放半連接所占用資源。
![請(qǐng)?zhí)砑用枋?src="/Files/BeyondPic/2009-4/28/1240798555909.jpg"]()
UDP SYN限制和TCP SYN限制差不多,一般也是設(shè)置UDP SYN的突發(fā)連接量,但UDP連接在防火墻上控制相對(duì)效果要稍差點(diǎn),我們可以通過一些客戶端軟件來實(shí)現(xiàn)限制單機(jī)UDP并發(fā)連接數(shù)限制,最新發(fā)布的海蜘蛛的海盾2.4版就提供了這個(gè)功能,效果也還不錯(cuò)。
Crikey CRC flooding主要目標(biāo)是網(wǎng)絡(luò)安全設(shè)備,需要為防火墻打上安全補(bǔ)丁,使數(shù)據(jù)包通過時(shí)用checksum進(jìn)行校驗(yàn),對(duì)于checksum錯(cuò)誤的TCP和UDP數(shù)據(jù)包丟棄;減小連接狀態(tài)條目老化時(shí)間,是不活動(dòng)的連接數(shù)目要及時(shí)清除,防止填滿連接狀態(tài)表。
|
|
【收藏】【打印】【進(jìn)入論壇】 |
|
|
|
|
|
|
|