詳解拒絕服務攻擊的成因和實現(xiàn)
DoS即Denial Of Service,拒絕服務的縮寫。DoS是指故意攻擊網(wǎng)絡協(xié)議實現(xiàn)的缺陷,或直接通過野蠻手段耗盡被攻擊對象的資源,目的是讓目標計算機或網(wǎng)絡無法提供正常的服務或資源訪問,使目標系統(tǒng)服務系統(tǒng)停止響應甚至崩潰,而在此攻擊中并不包括侵入目標服務器或目標網(wǎng)絡設備。
這些服務資源包括網(wǎng)絡帶寬、文件系統(tǒng)空間容量、開放的進程或者允許的連接。這種攻擊會導致資源匱乏,無論計算機的處理速度多快、內(nèi)存容量多大、網(wǎng)絡帶寬的速度多快都無法避免這種攻擊帶來的后果。
事實上,任何事物都有一個極限,所以總能找到一個方法使請求的值大于該極限值,因此就會故意導致所提供的服務資源匱乏,導致服務資源無法滿足需求的情況。所以,千萬不要認為擁有了足夠?qū)挼膸捄妥銐蚩斓姆掌骶陀辛艘粋€不怕拒絕服務攻擊的高性能網(wǎng)站,拒絕服務攻擊會使所有的資源都變得非常渺小。
其實,有個形象的比喻可以深入理解DoS。街頭的餐館是為大眾提供餐飲服務,如果一群地痞流氓要對餐館進行拒絕服務攻擊的話,手段會很多,比如霸占著餐桌不結賬,堵住餐館的大門不讓路,騷擾餐館的服務員或廚子不能干活,甚至更惡劣……;相應地,計算機和網(wǎng)絡系統(tǒng)是為互聯(lián)網(wǎng)用戶提供互聯(lián)網(wǎng)資源的,如果有黑客要進行拒絕服務攻擊的話,則同樣有好多手段!
今天最常見的拒絕服務攻擊包括對計算機網(wǎng)絡的帶寬攻擊和連通性攻擊。
帶寬攻擊是指以極大的通信量沖擊網(wǎng)絡,使得所有可用網(wǎng)絡資源都被消耗殆盡,最后導致合法的用戶請求無法通過。連通性攻擊是指用大量的連接請求沖擊計算機,使得所有可用的操作系統(tǒng)資源都被消耗殆盡,最終計算機無法再處理合法用戶的請求。
拒絕服務攻擊是一種對網(wǎng)絡危害巨大的惡意攻擊。今天,DoS具有代表性的攻擊手段包括Ping of Death、TearDrop、UDPflood、SYNflood、LandAttack、IP Spoofing DoS等。下面看看它們又是怎么實現(xiàn)的:
(1)PING死亡攻擊:ICMP(Internet Control Message Protocol,互聯(lián)網(wǎng)控制信息協(xié)議)在互聯(lián)網(wǎng)上用于錯誤處理和傳遞控制信息。它的功能之一是與主機聯(lián)系,通過發(fā)送一個“回音請求”(echo request)信息包看看主機是否“活著”。最普通的ping程序就是這個功能。而在TCP/IP的RFC文檔中對包的最大尺寸都有嚴格限制規(guī)定,許多操作系統(tǒng)的TCP/IP協(xié)議棧都規(guī)定ICMP包大小為64KB,且在對包的標題頭進行讀取之后,要根據(jù)該標題頭所包含的信息來為有效載荷生成緩沖區(qū)。
而在TCP/IP的RFC文檔中對包的最大尺寸都有嚴格限制規(guī)定,許多操作系統(tǒng)的TCP/IP協(xié)議棧都規(guī)定ICMP包大小為64KB,且在對包的標題頭進行讀取之后,要根據(jù)該標題頭所包含的信息來為有效載荷生成緩沖區(qū)。
“Ping of Death”就是故意產(chǎn)生畸形的測試Ping(Packet Internet Groper)包,聲稱自己的尺寸超過ICMP上限,也就是加載的尺寸超過64KB上限,使未采取保護措施的網(wǎng)絡系統(tǒng)出現(xiàn)內(nèi)存分配錯誤,導致TCP/IP協(xié)議棧崩潰,最終使接收方宕機。
(2)淚滴(Teardrop)攻擊:淚滴攻擊利用那些在TCP/IP協(xié)議棧實現(xiàn)時信任IP碎片中包的標題所包含的信息來實現(xiàn)攻擊。IP分段含有指示該分段所包含的原信息,某些TCP /IP協(xié)議棧在收到含有重疊偏移的偽造分段時將崩潰。
(3)UDP洪水(UDPflood):如今在Internet上UDP(用戶數(shù)據(jù)包協(xié)議)的應用比較廣泛,很多提供WWW和Mail等服務的設備通常使用UNIX服務器,它們默認打開一些被黑客惡意利用的UDP服務。如echo服務會顯示接收到的每一個數(shù)據(jù)包,而原本作為測試功能的chargen服務會在收到每一個數(shù)據(jù)包時隨機反饋一些字符。UDPflood假冒攻擊就利用這兩個簡單的TCP/IP服務的漏洞進行惡意攻擊,通過偽造與某一主機的Chargen服務之間的一次UDP連接,回復地指向開著Echo服務的一臺主機,通過將Chargen和Echo服務互連,來回傳送毫無用處和占滿帶寬的垃圾數(shù)據(jù),在兩臺主機之間生成足夠多的無用數(shù)據(jù)流,這一拒絕服務攻擊飛快地導致網(wǎng)絡可用帶寬耗盡。
(4)SYN洪水(SYNflood):當用戶進行一次標準的TCP(Transmission Control Protocol)連接時,會有一個3次握手過程。首先是請求服務方發(fā)送一個SYN(Synchronize Sequence Number)消息,服務方收到SYN后,會向請求方回送一個SYN-ACK表示確認,當請求方收到SYN-ACK后,再次向服務方發(fā)送一個ACK消息,這樣便建成了一次TCP連接。
“SYNFlood”則專門針對TCP協(xié)議棧在兩臺主機間初始化連接握手的過程進行DoS攻擊,其在實現(xiàn)過程中只進行前兩個步驟:當服務方收到請求方的SYN-ACK確認消息后,請求方由于采用源地址欺騙等手段使得服務方收不到ACK回應,于是服務方會在一定時間處于等待接收請求方ACK消息的狀態(tài)。而對于某臺服務器來說,可用的TCP連接是有限的,因為只有有限的內(nèi)存緩沖區(qū)用于創(chuàng)建連接,如果這一緩沖區(qū)充滿了虛假連接的初始信息,該服務器就會對接下來的連接停止響應,直至緩沖區(qū)里的連接企圖超時。
如果惡意攻擊方快速連續(xù)地發(fā)送此類連接請求,該服務器可用的TCP連接隊列將很快被阻塞,系統(tǒng)可用資源急劇減少,網(wǎng)絡可用帶寬迅速縮小,長此下去,除了少數(shù)幸運用戶的請求可以插在大量虛假請求中間得到應答外,服務器將無法向用戶提供正常的合法服務。
(5)Land(LandAttack)攻擊:在Land攻擊中,黑客利用一個特別打造的SYN包 ——它的源地址和目標地址都被設置成某一個服務器地址進行攻擊。此舉將導致接受服務器向它自己的地址發(fā)送SYN-ACK消息,結果這個地址又發(fā)回ACK消息并創(chuàng)建一個空連接,每一個這樣的連接都將保留直到超時,在Land攻擊下,許多UNIX將崩潰,NT變得極其緩慢。
(6)IP欺騙DoS攻擊:這種攻擊利用TCP協(xié)議棧的RST位來實現(xiàn),使用IP欺騙,迫使服務器把合法用戶的連接復位,影響合法用戶的連接。假設現(xiàn)在有一個合法用戶(100.100.100.100)已經(jīng)同服務器建立了正常的連接,攻擊者構造攻擊的TCP數(shù)據(jù),偽裝自己的IP為100.100.100.100,并向服務器發(fā)送一個帶有RST位的TCP數(shù)據(jù)段;而服務器接收到這樣的數(shù)據(jù)后,認為從100.100.100.100發(fā)送的連接有錯誤,就會清空緩沖區(qū)中已建立好的連接。這時,合法用戶100.100.100.100再發(fā)送合法數(shù)據(jù),服務器就已經(jīng)沒有這樣的連接,該用戶就被拒絕服務而只能重新開始建立新的連接了。
自從互聯(lián)網(wǎng)絡誕生以來,DoS攻擊就伴隨著互聯(lián)網(wǎng)絡的發(fā)展而一直存在,也不斷發(fā)展和升級。值得一提的是,要找DoS的工具一點不難,黑客群居的網(wǎng)絡社區(qū)都有共享黑客軟件的傳統(tǒng),并會在一起交流攻擊的心得經(jīng)驗,可以很輕松地從互聯(lián)網(wǎng)上獲得這些工具,像以上提到的這些DoS攻擊軟件都是可從網(wǎng)上隨意找到的公開軟件。
所以任何一個上網(wǎng)者都可能構成網(wǎng)絡安全的潛在威脅。DoS攻擊給飛速發(fā)展的互聯(lián)網(wǎng)絡安全帶來重大的威脅。然而從某種程度上可以說,DoS攻擊永遠不會消失而且從技術上目前還沒有根本的解決辦法。
面對兇多吉少的DoS險灘,該如何應對隨時出現(xiàn)的黑客攻擊呢?首先分析一下DoS攻擊的如下一些原因:
(1)軟件弱點是包含在操作系統(tǒng)或應用程序中與安全相關的系統(tǒng)缺陷,這些缺陷大多是由于錯誤的程序編制、粗心的源代碼審核、無心的副效應或一些不適當?shù)慕壎ㄋ斐傻?。由于使用的軟件幾乎完全依賴于開發(fā)商,所以對于由軟件引起的漏洞只能依靠打補丁,安裝Hotfixes和Servicepacks來彌補。當某個應用程序被發(fā)現(xiàn)有漏洞存在時,開發(fā)商會立即給出一個更新的版本來修正這個漏洞。而由開發(fā)協(xié)議固有的缺陷導致的DoS攻擊,則可以通過簡單的補丁來加以彌補。
(2)錯誤配置也會成為系統(tǒng)的安全隱患。這些錯誤配置通常發(fā)生在硬件裝置、系統(tǒng)或者應用程序中,大多是由于一些沒經(jīng)驗的、無責任員工或者錯誤的理論所導致的。如果對網(wǎng)絡中的路由器、防火墻、交換機以及其他網(wǎng)絡連接設備都進行正確的配置,則會減小這些錯誤發(fā)生的可能性,因此這種漏洞應當請教專業(yè)的技術人員來修正這些問題。
(3)重復請求導致過載的拒絕服務攻擊。當對資源的重復請求大大超過資源的支付能力時就會造成拒絕服務攻擊(例如,對已經(jīng)滿載的Web服務器進行過多的請求使其過載)。
要避免系統(tǒng)免受DoS攻擊,從前兩點來看,網(wǎng)絡管理員要積極謹慎地維護系統(tǒng),確保無安全隱患和漏洞;而針對第三點的惡意攻擊方式則需要安裝UTM等安全設備過濾DoS攻擊,同時強烈建議網(wǎng)絡管理員應當定期查看安全設備的日志,以便及時發(fā)現(xiàn)對系統(tǒng)的安全威脅行為。
UTM設備一般配置在網(wǎng)關的位置,比較容易遭受DoS攻擊。UTM設備通過調(diào)用內(nèi)部的防DOS模塊,大大提高了抵御DoS攻擊的能力,有力地保障了網(wǎng)絡的正常運行。
UTM的訪問控制作為設備最基本的技術,除了將其對用戶的訪問控制功能發(fā)揮到極致外,還會不停地融合各種新技術,起到一個穩(wěn)定的平臺作用。
UTM安全網(wǎng)關正在不斷提高其算法的計算能力,大大縮短用戶通過UTM檢測所耗費的時間,提高訪問控制功能的可用性;同時,它還可積極調(diào)用IPS、防病毒等各種功能和訪問控制原有的安全策略功能,全方位地對通過UTM的信息進行掃描,將訪問控制的安全性能全面提升。因此,UTM作為一種優(yōu)秀的邊界安全設備,在安全領域的主導地位正在逐步顯現(xiàn)。
【編輯推薦】