崔敏
(東營(yíng)職業(yè)學(xué)院教師教育學(xué)院,山東 東營(yíng) 257091)
拒絕服務(wù)攻擊是一種以遭受攻擊的資源目標(biāo)不能繼續(xù)提供服務(wù)的攻擊形式,它通常都是針對(duì)某個(gè)特定的系統(tǒng)或網(wǎng)絡(luò)而故意實(shí)施的惡意攻擊行為。下面討論幾種常見(jiàn)拒絕服務(wù)攻擊的方式。
(1)緩沖區(qū)溢出,最常見(jiàn)的DoS攻擊方式。攻擊者向某個(gè)應(yīng)用程序發(fā)送去超出其緩沖區(qū)最大容量的數(shù)據(jù),當(dāng)數(shù)據(jù)量超出緩沖區(qū)的長(zhǎng)度時(shí),多出來(lái)的數(shù)據(jù)就會(huì)溢出堆棧,這經(jīng)常會(huì)引起應(yīng)用程序或整個(gè)系統(tǒng)的崩潰。
(2)SYN Flood攻擊,最為流行的一種DoS攻擊方式。它利用TCP三次握手協(xié)議的缺陷,向目標(biāo)主機(jī)發(fā)送大量的偽造源地址的SYN連接請(qǐng)求,消耗目標(biāo)主機(jī)的資源,從而不能為正常訪問(wèn)的用戶提供服務(wù)。
(3)“淚滴”(Teardrop),也稱為分片攻擊,是利用TCP/IP的缺陷進(jìn)行DoS攻擊的典型。
侵入攻擊是最經(jīng)常遭受到的攻擊方式,它會(huì)使攻擊者竊取到你系統(tǒng)的訪問(wèn)權(quán)并盜用你的計(jì)算機(jī)資源。竊取某個(gè)系統(tǒng)訪問(wèn)權(quán)限的辦法多種多樣。“社交陷阱”是最有效的辦法之一,它針對(duì)的是安全防護(hù)體系里最薄弱的因素——人。攻擊者可以偽裝一名幫助臺(tái)的工作人員,讓某個(gè)用戶去修改自己的口令字;也可以偽裝成一名復(fù)印機(jī)維修人員直接進(jìn)入某個(gè)辦公大樓。總之,想要竊取某個(gè)公司的系統(tǒng)訪問(wèn)權(quán),“社交陷阱”是非常有效的。
信息盜竊攻擊是指攻擊者從目標(biāo)系統(tǒng)里偷走數(shù)據(jù)的情形。此類攻擊有時(shí)并不需要攻擊者擁有目標(biāo)系統(tǒng)的訪問(wèn)權(quán)限。它最常用的工具是網(wǎng)絡(luò)嗅探器(network sniffer)。攻擊者可以利用一個(gè)嗅探器監(jiān)視網(wǎng)絡(luò)上的通信情況,最常見(jiàn)的情況是等待用戶名/口令字組合的出現(xiàn)。使用嗅探器的做法一般被稱為“被動(dòng)型攻擊”,這是因?yàn)樵谑褂眯崽狡鞯臅r(shí)候并不要求攻擊者采取任何行動(dòng)。
在黑客常見(jiàn)的攻擊手段中,拒絕服務(wù)(DoS)攻擊是最常見(jiàn)的。在DoS攻擊中,SYN Flood(洪水攻擊)具有典型特征。使用防火墻是防御SYN Flood攻擊的最有效的方法之一。我們可以通過(guò)包過(guò)濾型和應(yīng)用代理型等防火墻技術(shù)防御 SYN Flood攻擊。
應(yīng)用代理防火墻的防御原理是在客戶端與服務(wù)器建立TCP連接的三次手,因?yàn)樗挥诳蛻舳伺c服務(wù)器端(通常分別位于外、內(nèi)部網(wǎng)絡(luò))中間,所以充當(dāng)代理角色。這樣客戶端要與服務(wù)器端建立一個(gè)TCP連接,就必須先與防火墻進(jìn)行三次TCP握手,當(dāng)客戶端和防火墻的三次握手成功之后,再由防火墻與服務(wù)器端進(jìn)行TCP三次握手,完成后即可成功建立一個(gè)TCP連接。
所有的報(bào)文都通過(guò)防火墻轉(zhuǎn)發(fā),而且如果客戶端未同防火墻建立起TCP連接就無(wú)法同服務(wù)器端建立連接,所以這種防火墻起到一種隔離保護(hù)作用,安全性較高。當(dāng)外界對(duì)內(nèi)部網(wǎng)絡(luò)中的服務(wù)器端進(jìn)行SYN Flood攻擊時(shí),實(shí)際上遭受攻擊的不是服務(wù)器而是防火墻。而防火墻自身是具有抗攻擊能力的,可以通過(guò)規(guī)則設(shè)置,拒絕外界客戶端不斷發(fā)送的報(bào)文。
防御SYN Flood攻擊的防火墻設(shè)置除了可直接采用以上不同類的防火墻防御SYN Flood攻擊外,還可采用特殊的防火墻設(shè)置達(dá)到防御目的。針對(duì)SYN Flood攻擊,防火墻通常有三種防護(hù)方式:SYN網(wǎng)關(guān)、被動(dòng)式SYN網(wǎng)關(guān)和SYN中繼。
(1)SYN網(wǎng)關(guān)。此方式中,防火墻在收到客戶端的SYN包時(shí),直接轉(zhuǎn)發(fā)給服務(wù)器,防火墻在收到服務(wù)器的SYN+ACK包后,一方面將SYN+ACK包轉(zhuǎn)發(fā)給客戶端,另一方面以客戶端的名義給服務(wù)器回送一個(gè)ACK包,完成一個(gè)完整的TCP三次握手,讓服務(wù)器端由半連接狀態(tài)進(jìn)入連接狀態(tài)。當(dāng)客戶端真正的ACK包到達(dá)時(shí),如果ACK包里有數(shù)據(jù)則轉(zhuǎn)發(fā)給服務(wù)器,否則丟棄該包。由于服務(wù)器承受連接狀態(tài)的能力要比半連接狀態(tài)高得多,所以這種方法能有效地減輕對(duì)服務(wù)器的攻擊。
(2)被動(dòng)式SYN網(wǎng)關(guān)。在這種方式中,設(shè)置防火墻的SYN請(qǐng)求超時(shí)參數(shù),讓它遠(yuǎn)小于服務(wù)器的超時(shí)期限。防火墻負(fù)責(zé)轉(zhuǎn)發(fā)客戶端發(fā)往服務(wù)器的SYN包,以及服務(wù)器發(fā)往客戶端的SYN+ACK包和客戶端發(fā)往服務(wù)器的ACK包。這樣,如果客戶端在防火墻計(jì)時(shí)器到期時(shí)還沒(méi)發(fā)送ACK包,防火墻即往服務(wù)器發(fā)送RST包,以使服務(wù)器從隊(duì)列中刪去該半連接。由于防火墻的超時(shí)參數(shù)遠(yuǎn)小于服務(wù)器的超時(shí)期限,因此這樣也能有效的防御SYN Flood攻擊。
(3)SYN中繼。在這種方式中,防火墻在收到客戶端的SYN包后,并不向服務(wù)器轉(zhuǎn)發(fā)信息而是記錄該狀態(tài)信息,然后主動(dòng)給客戶端回送SYN+ACK包。如果收到客戶端的ACK包,表明是正常訪問(wèn),由防火墻向服務(wù)器發(fā)送SYN包并完成在三次握手。這樣由防火墻作為代理來(lái)實(shí)現(xiàn)客戶端和服務(wù)器端的連接,可以完全阻止不可用連接發(fā)往服務(wù)器。
綜上可知,解決網(wǎng)絡(luò)安全問(wèn)題的重要手段就是防火墻技術(shù)。本文針對(duì)常見(jiàn)網(wǎng)絡(luò)攻擊類型及防火墻防范措施做了一些有益的探索工作,但還是遠(yuǎn)遠(yuǎn)不夠的,亟待進(jìn)一步研究防火墻技術(shù)在網(wǎng)絡(luò)安全中的應(yīng)用,這對(duì)于指導(dǎo)防火墻產(chǎn)品的研制和推廣有著十分顯著的實(shí)踐意義。