SYN Flood(同步)溢出
類型:拒絕服務(wù)攻擊
控制臺名:SYN(同步)溢出
技術(shù)描述:一個TCP的會話是通過以下方式來建立的,源主機首先向目標(biāo)主機發(fā)送一個SYN(同步)數(shù)據(jù)包,如果目標(biāo)主機在一特定的端口(PORT)等待連接時,它會返回對應(yīng)于同步數(shù)據(jù)包的響應(yīng)數(shù)據(jù)包(SYN/ACK),源主機接收后再返回確認(rèn)的響應(yīng)數(shù)據(jù)包(ACK),這樣會話連接建立。當(dāng)目標(biāo)主機向源主機返回響應(yīng)數(shù)據(jù)包(SYN/ACK)時,目標(biāo)主機會分配一定的內(nèi)存以存儲當(dāng)前建立的會話連接的狀態(tài)信息。這部分內(nèi)存會一直占用著以等待接收源主機發(fā)送來的更多信息,除非最終的響應(yīng)數(shù)據(jù)包(ACK)到達(dá)或連接超時。當(dāng)向一臺主機傳送大量的SYN(同步)數(shù)據(jù)包時,目標(biāo)主機必定會使用很多的內(nèi)存專門用來處理打開的連接,而其它的合法連接就無法與這臺主機建立了。如果主機檢測到有大量的無相應(yīng)響應(yīng)的SYN(同步)數(shù)據(jù)包存在,它會采取如下糾錯方式:主機首先向目標(biāo)主機發(fā)送一重置(RST)數(shù)據(jù)包以初始化SYN(同步)數(shù)據(jù)包,隨后目標(biāo)主機就可以釋放原本用來接收響應(yīng)數(shù)據(jù)包的內(nèi)存,騰出內(nèi)存空間以接收其它合法的連接。
嚴(yán)重性:大多數(shù)系統(tǒng)會對激活的TCP連接有一預(yù)定義的限制設(shè)定,一旦TCP連接達(dá)到這一限制設(shè)定值,再有其它的連接就會被忽略。SYN(同步)溢出攻擊方式就是企圖使主機連接大批空閑的連接,而其它的連接無法連接上。
誤判斷:一些網(wǎng)絡(luò)應(yīng)用程序(例如PointCast更新或者是向一個非常“繁忙”的網(wǎng)頁發(fā)出HTTP請求)應(yīng)用時會觸發(fā)這種機制,他們會在很短的時間內(nèi)與主機建立大量的TCP會話。管理員可以在引擎控制窗口里調(diào)整SYN(同步)溢出的定義參數(shù)。
受影響系統(tǒng):任何對激活的TCP連接有限制的網(wǎng)絡(luò)設(shè)備。
采取措施:快速地重啟受影響的機器以釋放一些連接,并必須等到空的連接超時。實時監(jiān)控可以關(guān)閉未激活的連接。配置實時監(jiān)控里有關(guān)SYN(同步)溢出的Kill選項。實時監(jiān)控會關(guān)閉可能造成機器SYN(同步)溢出的連接企圖。
補救措施:更新操作系統(tǒng)的版本或者應(yīng)用相應(yīng)的補丁程序。現(xiàn)在許多操作系統(tǒng)具備通過試探的方法來關(guān)閉閑置的連接, 并將SYN(同步)溢出的連接請求阻擋在合法的連接之外。另外也可以通過增加連接緩存缺省值以達(dá)到目的。