複製鏈接
請複製以下鏈接發送給好友

dos攻擊

鎖定
DoS是Denial of Service的簡稱,即拒絕服務,造成DoS的攻擊行為被稱為DoS攻擊,其目的是使計算機或網絡無法提供正常的服務。最常見的DoS攻擊有計算機網絡寬帶攻擊和連通性攻擊。 [1] 
DoS攻擊是指故意的攻擊網絡協議實現的缺陷或直接通過野蠻手段殘忍地耗盡被攻擊對象的資源,目的是讓目標計算機或網絡無法提供正常的服務或資源訪問,使目標系統服務系統停止響應甚至崩潰,而在此攻擊中並不包括侵入目標服務器或目標網絡設備。這些服務資源包括網絡帶寬,文件系統空間容量,開放的進程或者允許的連接。這種攻擊會導致資源的匱乏,無論計算機的處理速度多快、內存容量多大、網絡帶寬的速度多快都無法避免這種攻擊帶來的後果。 [1] 
中文名
dos攻擊
外文名
Denial of Service
含    義
拒絕服務
目    的
使計算機或網絡無法提供正常服務
例    子
計算機網絡帶寬攻擊和連通性攻擊

dos攻擊綜述

dos攻擊概念理解

DoS到底是什麼?接觸PC機較早的同志會直接想到微軟磁盤操作系統的DOS--DiskOperationSystem?不,此DoS非彼DOS也,DoS即DenialOfService,拒絕服務的縮寫。 [1] 
作個形象的比喻來理解DoS。街頭的餐館是為大眾提供餐飲服務,如果一羣地痞流氓要DoS餐館的話,手段會很多,比如霸佔着餐桌不結賬,堵住餐館的大門不讓路,騷擾餐館的服務員或廚子不能幹活,甚至更惡劣……相應的計算機和網絡系統則是為Internet用户提供互聯網資源的,如果有黑客要進行DoS攻擊的話,可以想象同樣有好多手段!今天最常見的DoS攻擊有對計算機網絡的帶寬攻擊和連通性攻擊。帶寬攻擊指以極大的通信量衝擊網絡,使得所有可用網絡資源都被消耗殆盡,最後導致合法的用户請求無法通過。連通性攻擊指用大量的連接請求衝擊計算機,使得所有可用的操作系統資源都被消耗殆盡,最終計算機無法再處理合法用户的請求。 [1] 
傳統上,攻擊者所面臨的主要問題是網絡帶寬,由於較小的網絡規模和較慢的網絡速度限制,攻擊者無法發出過多的請求。雖然類似“the ping of death”的攻擊類型只需要較少量的包就可以摧毀一個沒有打過補丁的UNIX系統,但大多數的DoS攻擊還是需要相當大的帶寬的,而以個人為單位的黑客們很難使用高帶寬的資源。為了克服這個缺點,DoS攻擊者開發了分佈式的攻擊。攻擊者簡單利用工具集合許多的網絡帶寬來同時對同一個目標發動大量的攻擊請求,這就是DDoS(Distributed Denial of Service)攻擊。 [1] 
無論是DoS攻擊還是DDoS攻擊,簡單的看,都只是一種破壞網絡服務的黑客方式,雖然具體的實現方式千變萬化,但都有一個共同點,就是其根本目的是使受害主機或網絡無法及時接收並處理外界請求,或無法及時迴應外界請求。其具體表現方式有以下幾種: [1] 
1,製造大流量無用數據,造成通往被攻擊主機網絡擁塞,使被攻擊主機無法正常和外界通信。 [1] 
2,利用被攻擊主機提供服務或傳輸協議上處理重複連接的缺陷,反覆高頻的發出攻擊性的重複服務請求,使被攻擊主機無法及時處理其它正常的請求。 [1] 
3,利用被攻擊主機所提供服務程序或傳輸協議的本身實現缺陷,反覆發送畸形的攻擊數據引發系統錯誤的分配大量系統資源,使主機處於掛起狀態甚至死機。 [1] 
使用殭屍電腦進行DOS攻擊
殭屍電腦(Zombie computer),簡稱“殭屍(zombie)”,有些人稱之為“肉雞”,接入互聯網的電腦被病毒感染後,受控於黑客,可以隨時按照黑客的指令展開拒絕服務(DoS)攻擊或發送垃圾信息。通常,一部被侵佔的電腦只是殭屍網絡裏面眾多中的一環,而且會被用來去運行一連串的或遠端控制的惡意程序。很多“殭屍電腦的擁有者”都沒有察覺到自己的系統已經被“殭屍化”,就彷彿是沒有自主意識的殭屍一般。 [1] 

dos攻擊攻擊流程

要理解dos攻擊,首先要理解TCP連接的三次握手過程(Three-wayhandshake)。在TCP/IP協議中,TCP協議提供可靠的連接服務,採用三次握手建立一個連接。 [1] 
第一次握手:建立連接時,客户端發送SYN包((SYN=i)到服務器,並進入SYN SEND狀態,等待服務器確認;
第二次握手:服務器收到SYN包,必須確認客户的SYN (ACK=i+1 ),同時自己也發送一個SYN包((SYN=j)}即SYN+ACK包,此時服務器進入SYN_RECV狀態; [1] 
第三次握手:客户端收到服務器的SYN+ACK包,向服務器發送確認包ACK(ACK=j+1),此包發送完畢,客户端和服務器進入ESTABLISHED狀態,完成三次握手,客户端與服務器開始傳送數據。 [1] 
在上述過程中,還有一些重要的概念: [1] 
半連接:收到SYN包而還未收到ACK包時的連接狀態稱為半連接,即尚未完全完成三次握手的TCP連接。
半連接隊列:在三次握手協議中,服務器維護一個半連接隊列,該隊列為每個客户端的SYN包(SYN=i )開設一個條目,該條目表明服務器已收到SYN包,並向客户發出確認,正在等待客户的確認包。這些條目所標識的連接在服務器處於SYN_ RECV狀態,當服務器收到客户的確認包時,刪除該條目,服務器進入ESTABLISHED狀態。
Backlog參數:表示半連接隊列的最大容納數目。 [1] 
SYN-ACK重傳次數:服務器發送完SYN-ACK包,如果未收到客户確認包,服務器進行首次重傳,等待一段時間仍未收到客户確認包,進行第二次重傳,如果重傳次數超過系統規定的最大重傳次數,系統將該連接信息、從半連接隊列中刪除。注意,每次重傳等待的時間不一定相同。 [1] 
半連接存活時間:是指半連接隊列的條目存活的最長時間,也即服務從收到SYN包到確認這個報文無效的最長時間,該時間值是所有重傳請求包的最長等待時間總和。有時也稱半連接存活時間為Timeout時間、SYN_RECV存活時間。 [1] 
上面三個參數對系統的TCP連接狀況有很大影響。 [1] 
SYN洪水攻擊屬於DoS攻擊的一種,它利用TCP協議缺陷,通過發送大量的半連接請求,耗費CPU和內存資源。SYN攻擊除了能影響主機外,還可以危害路由器、防火牆等網絡系統,事實上SYN攻擊並不管目標是什麼系統,只要這些系統打開TCP服務就可以實施。從圖4-3可看到,服務器接收到連接請求(SYN=i )將此信息加入未連接隊列,併發送請求包給客户端( SYN=j,ACK=i+1 ),此時進入SYN_RECV狀態。當服務器未收到客户端的確認包時,重發請求包,一直到超時,才將此條目從未連接隊列刪除。配合IP欺騙,SYN攻擊能達到很好的效果,通常,客户端在短時間內偽造大量不存在的IP地址,向服務器不斷地發送SYN包,服務器回覆確認包,並等待客户的確認,由於源地址是不存在的,服務器需要不斷的重發直至超時,這些偽造的SYN包將長時間佔用未連接隊列,正常的SYN 請求 [1] 
被丟棄,目標系統運行緩慢,嚴重者引起網絡堵塞甚至系統癱瘓。過程如下: [1] 
攻擊主機C(地址偽裝後為C')-----大量SYN包---->被攻擊主機 [1] 
C&apos;<-------SYN/ACK包----被攻擊主機 [1] 
由於C’地址不可達,被攻擊主機等待SYN包超時。攻擊主機通過發大量SYN包填滿未連接隊列,導致正常SYN包被拒絕服務。另外,SYN洪水攻擊還可以通過發大量ACK包進行DoS攻擊。

dos攻擊攻擊手段

dos攻擊快閃族 dos攻擊快閃族
拒絕服務攻擊是一種對網絡危害巨大的惡意攻擊。今天,DoS具有代表性的攻擊手段包括PingofDeath、TearDrop、UDPflood、SYNflood、LandAttack、IPSpoofingDoS等。看看它們又是怎麼實現的。 [1] 
死亡之ping (pingofdeath)DengKelen
ICMP(InternetControlMessageProtocol,Internet控制信息協議)在Internet上用於錯誤處理和傳遞控制信息。最普通的ping程序就是這個功能。而在TCP/IP的RFC文檔中對包的最大尺寸都有嚴格限制規定,許多操作系統TCP/IP協議棧都規定ICMP包大小為64KB,且在對包的標題頭進行讀取之後,要根據該標題頭裏包含的信息來為有效載荷生成緩衝區。"PingofDeath"就是故意產生畸形的測試Ping(PacketInternetGroper)包,聲稱自己的尺寸超過ICMP上限,也就是加載的尺寸超過64KB上限,使未採取保護措施的網絡系統出現內存分配錯誤,導致TCP/IP協議棧崩潰,最終接收方宕機 [1] 
淚滴
淚滴攻擊利用在TCP/IP協議棧實現中信任IP碎片中的包的標題頭所包含的信息來實現自己的攻擊。IP分段含有指示該分段所包含的是原包的哪一段的信息,某些TCP/IP協議棧(例如NT在servicepack4以前)在收到含有重疊偏移的偽造分段時將崩潰。 [1] 
(UDPflood)
UDPflood攻擊:如今在Internet上UDP(用户數據包協議)的應用比較廣泛,很多提供WWW和Mail等服務設備通常是使用Unix的服務器,它們默認打開一些被黑客惡意利用的UDP服務。如echo服務會顯示接收到的每一個數據包,而原本作為測試功能的chargen服務會在收到每一個數據包時隨機反饋一些字符。UDPflood假冒攻擊就是利用這兩個簡單的TCP/IP服務的漏洞進行惡意攻擊,通過偽造與某一主機的Chargen服務之間的一次的UDP連接,回覆地址指向開着Echo服務的一台主機,通過將Chargen和Echo服務互指,來回傳送毫無用處且佔滿帶寬的垃圾數據,在兩台主機之間生成足夠多的無用數據流,這一拒絕服務攻擊飛快地導致網絡可用帶寬耗盡。 [1] 
(SYNflood)
SYNflood攻擊:我們知道當用户進行一次標準的TCP(TransmissionControlProtocol)連接時,會有一個3次握手過程。首先是請求服務方發送一個SYN(SynchronizeSequenceNumber)消息,服務方收到SYN後,會向請求方回送一個SYN-ACK表示確認,當請求方收到SYN-ACK後,再次向服務方發送一個ACK消息,這樣一次TCP連接建立成功。“SYNFlooding”則專門針對TCP協議棧在兩台主機間初始化連接握手的過程進行DoS攻擊,其在實現過程中只進行前2個步驟:當服務方收到請求方的SYN-ACK確認消息後,請求方由於採用源地址欺騙等手段使得服務方收不到ACK迴應,於是服務方會在一定時間處於等待接收請求方ACK消息的狀態。而對於某台服務器來説,可用的TCP連接是有限的,因為他們只有有限的內存緩衝區用於創建連接,如果這一緩衝區充滿了虛假連接的初始信息,該服務器就會對接下來的連接停止響應,直至緩衝區裏的連接企圖超時。如果惡意攻擊方快速連續地發送此類連接請求,該服務器可用的TCP連接隊列將很快被阻塞,系統可用資源急劇減少,網絡可用帶寬迅速縮小,長此下去,除了少數幸運用户的請求可以插在大量虛假請求間得到應答外,服務器將無法向用户提供正常的合法服務。 [1] 
Land(LandAttack)攻擊
dos攻擊 dos攻擊
Land攻擊中,黑客利用一個特別打造的SYN包--它的原地址和目標地址都被設置成某一個服務器地址進行攻擊。此舉將導致接受服務器向它自己的地址發送SYN-ACK消息,結果這個地址又發回ACK消息並創建一個空連接,每一個這樣的連接都將保留直到超時,在Land攻擊下,許多UNIX將崩潰,NT變得極其緩慢(大約持續五分鐘)。 [1] 
IP欺騙
這種攻擊利用TCP協議棧的RST位來實現,使用IP欺騙,迫使服務器把合法用户的連接復位,影響合法用户的連接。假設有一個合法用户(100.100.100.100)已經同服務器建了正常的連接,攻擊者構造攻擊的TCP數據,偽裝自己的IP為100.100.100.100,並向服務器發送一個帶有RST位的TCP數據段服務器接收到這樣的數據後,認為從100.100.100.100發送的連接有錯誤,就會清空緩衝區中已建立好的連接。這時,合法用户100.100.100.100再發送合法數據,服務器就已經沒有這樣的連接了,該用户就被拒絕服務而只能重新開始建立新的連接。 [1] 

dos攻擊攻擊方法

具體DoS攻擊方法很多,但大多都可以分為以下幾類: [1] 
利用軟件實現的缺陷
軟件主流程圖 軟件主流程圖
OOB攻擊(常用工具winnuke),teardrop攻擊(常用工具teardrop.cboink.cbonk.c),land攻擊,IGMP碎片包攻擊,jolt攻擊,Cisco2600路由器IOSversion12.0(10)遠程拒絕服務攻擊等等,這些攻擊都是利用了被攻擊軟件的實現上的缺陷完成DoS攻擊的。通常這些攻擊工具向被攻擊系統發送特定類型的一個或多個報文,這些攻擊通常都是致命的,一般都是一擊致死,而且很多攻擊是可以偽造源地址的,所以即使通過IDS或者別的sniffer軟件記錄到攻擊報文也不能找到誰發動的攻擊,而且此類型的攻擊多是特定類型的幾個報文,非常短暫的少量的報文,如果偽造源IP地址的話,使追查工作幾乎是不可能。 [1] 
那麼如何造成這些攻擊的?通常是軟件開發過程中對某種特定類型的報文、或請求沒有處理,導致軟件遇到這種類型的報文運行出現異常,導致軟件崩潰甚至系統崩潰。下面結合幾個具體實例解釋一下這種攻擊的成因。 [1] 
1997年5月7號有人發佈了一個winnuke.c。首先建立一條到Win95/NT主機的TCP連接,然後發送TCP緊急數據,導致對端系統崩潰。139/TCP是Win95/NT系統最常見的偵聽端口,所以winnuke.c使用了該端口。之所以稱呼這種攻擊為OOB攻擊,因為MSG_OOB標誌,實際應該是TCP緊急數據攻擊。 [1] 
原始teardrop.c只構造了兩種碎片包,每次同時發送這兩種UDP碎片包。如果指定發送次數,將完全重複先前所發送出去的兩種碎片包。它可以偽造源ip並跨越路由器進行遠程攻擊,影響的系統包括Linux/WinNT/Win95。使用的方法是: [1] 
teardrop源ip目的ip[-s源端口][-d目的端口][-n次數]
比較新的一個DoS攻擊是Windows的SMB實現中的DoS攻擊,2002年8月發佈,只要允許匿名連接的windows系統就可以進行遠程攻擊,強烈建議Windows用户打相應的補丁。它的方法就是先和目標系統建立一個連接,然後發送一個特定的請求,目標系統就會蘭屏。發佈的測試工具SMBdie.exe是圖形界面工具,輸入目標地址NETBIOS名稱即可。 [1] 
從上面的討論可以看出,這種攻擊行為威力很大,而且難於偵察。但真實情況下它的危害僅現於漏洞發佈後的不長的時間段內,相關廠商會很快發佈補丁修補這種漏洞。所以上面提到的幾種較老的攻擊在現實的環境中,通常是無效的。不過最新的攻擊方法還是讓我們不寒而慄,我們可以做的就是關注安全漏洞的發佈,及時打上新的補丁。如果你想偷懶的話,購買專業安全服務公司的相關服務應該是個更好的選擇。 [1] 
利用協議的漏洞
如果説上面那種漏洞危害的時間不是很長,那麼這種攻擊的生存能力卻非常強。為了能夠在網絡上進行互通、互聯,所有的軟件實現都必須遵循既有的協議,而如果這種協議存在漏洞的話,所有遵循此協議的軟件都會受到影響。 [1] 
最經典的攻擊是synflood攻擊,它利用TCP/IP協議的漏洞完成攻擊。通常一次TCP連接的建立包括3個步驟,客户端發送SYN包給服務器端,服務器分配一定的資源給這裏連接並返回SYN/ACK包,並等待連接建立的最後的ACK包,最後客户端發送ACK報文,這樣兩者之間的連接建立起來,並可以通過連接傳送數據了。而攻擊的過程就是瘋狂發送SYN報文,而不返回ACK報文,服務器佔用過多資源,而導致系統資源佔用過多,沒有能力響應別的操作,或者不能響應正常的網絡請求。 [1] 
這個攻擊是經典的以小搏大的攻擊,自己使用少量資源佔用對方大量資源。一台P4的Linux系統大約能發到30-40M的64字節的synflood報文,而一台普通的服務器20M的流量就基本沒有任何響應了(包括鼠標、鍵盤)。而且synflood不僅可以遠程進行,而且可以偽造源IP地址,給追查造成很大困難,要查找必須所有骨幹網絡運營商,一級一級路由器的向上查找。 [1] 
TCP/IP協議結構圖 TCP/IP協議結構圖
對於偽造源IP的synflood攻擊,除非攻擊者和被攻擊的系統之間所有的路由器的管理者都配合查找,否則很難追查。當前一些防火牆產品聲稱有抗DoS的能力,但通常他們能力有限,包括國外的硬件防火牆大多100M防火牆的抗synflood的能力只有20-30Mbps(64字節syn包),這裏涉及到它們對小報文的轉發能力,再大的流量甚至能把防火牆打死機。有些安全廠商認識到DoS攻擊的危害,開始研發專用的抗拒絕服務產品。 [1] 
由於TCP/IP協議相信報文的源地址,另一種攻擊方式是反射拒絕服務攻擊,另外可以利用還有廣播地址,和組播協議輔助反射拒絕服務攻擊效果更好。不過大多數路由器都禁止廣播地址組播協議的地址。 [1] 
另一類攻擊方式是使用大量符合協議的正常服務請求,由於每個請求耗費很大系統資源,導致正常服務請求不能成功。如HTTP協議是無狀態協議,攻擊者構造大量搜索請求,這些請求耗費大量服務器資源,導致DoS。這種方式攻擊比較好處理,由於是正常請求,暴露了正常的源IP地址,禁止這些IP就可以了。 [1] 
進行資源比拼
這種攻擊方式屬於無賴打法,我憑藉着手中的資源豐富,發送大量的垃圾數據侵佔完你的資源,導致DoS。比如,ICMPflood,mstreamflood,Connectionflood。為了獲得比目標系統更多資源,通常攻擊者會發動DDoS(DistributedDos分佈式拒絕服務)攻擊者控制多個攻擊傀儡發動攻擊,這樣才能產生預期的效果。前兩類攻擊是可以偽造IP地址的,追查也是非常困難,第3種攻擊由於需要建立連接,可能會暴露攻擊傀儡的IP地址,通過防火牆禁止這些IP就可以了。對於難於追查,禁止的攻擊行為,我們只能期望專用的抗拒絕服務產品了。 [1] 

dos攻擊攻擊程序

smurf、trinoo、tfn、tfn2k以及stacheldraht是比較常見的DoS攻擊程序,本文將對它們的原理以及抵禦措施進行論述,以幫助管理員有效地抵禦DoS風暴攻擊,維護站點安全。 [1] 
“smurf攻擊”,如何抵禦
黑客 黑客
Smurf是一種簡單但有效的DDoS攻擊技術,它利用了ICMP(Internet控制信息協議)。ICMP在Internet上用於錯誤處理和傳遞控制信息。它的功能之一是與主機聯繫,通過發送一個“迴音請求”(echorequest)信息包看看主機是否“活着”。最普通的ping程序就使用了這個功能。Smurf是用一個偷來的帳號安裝到一個計算機上的,然後用一個偽造的源地址連續ping一個或多個計算機網絡,這就導致所有計算機所響應的那個計算機並不是實際發送這個信息包的那個計算機。這個偽造的源地址,實際上就是攻擊的目標,它將被極大數量的響應信息量所淹沒。對這個偽造信息包做出響應的計算機網絡就成為攻擊的不知情的同謀 [1] 
下面是SmurfDDoS攻擊的基本特性以及建議採用的抵禦策略: [1] 
1、Smurf的攻擊平台:smurf為了能工作,必須要找到攻擊平台,這個平台就是:其路由器上啓動了IP廣播功能。這個功能允許smurf發送一個偽造的ping信息包,然後將它傳播到整個計算機網絡中。 [1] 
2、為防止系統成為smurf攻擊的平台,要將所有路由器上IP的廣播功能都禁止。一般來講,IP廣播功能並不需要。 [1] 
3、攻擊者也有可能從LAN內部發動一個smurf攻擊,在這種情況下,禁止路由器上的IP廣播功能就沒有用了。為了避免這樣一個攻擊,許多操作系統都提供了相應設置,防止計算機對IP廣播請求做出響應。 [1] 
4、如果攻擊者要成功地利用你成為攻擊平台,你的路由器必須要允許信息包以不是從你的內網中產生的源地址離開網絡。配置路由器,讓它將不是由你的內網中生成的信息包過濾出去,這是有可能做到的。這就是所謂的網絡出口過濾器功能。 [1] 
5、ISP則應使用網絡入口過濾器,以丟掉那些不是來自一個已知範圍內IP地址的信息包 [1] 
6、挫敗一個smurf攻擊的最簡單方法對邊界路由器的迴音應答(echoreply)信息包進行過濾,然後丟棄它們,這樣就能阻止“命中”Web服務器和內網。對於那些使用Cisco路由器的人,另一個選擇是CAR(CommittedAccessRate,承諾訪問速率)。 [1] 
丟棄所有的迴音應答信息包能使網絡避免被淹沒,但是它不能防止來自上游供應者通道的交通堵塞。如果你成為了攻擊的目標,就要請求ISP對迴音應答信息包進行過濾並丟棄。如果不想完全禁止迴音應答,那麼可以有選擇地丟棄那些指向你的公用Web服務器的迴音應答信息包。CAR技術由Cisco開發,它能夠規定出各種信息包類型使用的帶寬的最大值。例如,使用CAR,我們就可以精確地規定迴音應答信息包所使用的帶寬的最大值。 [1] 
“trinoo”,如何抵禦
牽引流量技術在DOS攻擊中應用 牽引流量技術在DOS攻擊中應用
trinoo是複雜的DDoS攻擊程序,它使用“master”程序對實際實施攻擊的任何數量的“代理”程序實現自動控制。攻擊者連接到安裝了master程序的計算機,啓動master程序,然後根據一個IP地址的列表,由master程序負責啓動所有的代理程序。接着,代理程序用UDP信息包衝擊網絡,從而攻擊目標。在攻擊之前,侵入者為了安裝軟件,已經控制了裝有master程序的計算機和所有裝有代理程序的計算機。 [1] 
下面是trinooDDoS攻擊的基本特性以及建議採用的抵禦策略:
1、在master程序與代理程序的所有通訊中,trinoo都使用了UDP協議。入侵檢測軟件能夠尋找使用UDP協議的數據流(類型17)。 [1] 
2、Trinoomaster程序的監聽端口是27655,攻擊者一般藉助telnet通過TCP連接到master程序所在計算機。入侵檢測軟件能夠搜索到使用TCP(類型6)並連接到端口27655的數據流 [1] 
3、所有從master程序到代理程序的通訊都包含字符串“l44”,並且被引導到代理的UDP端口27444。入侵檢測軟件檢查到UDP端口27444的連接,如果有包含字符串l44的信息包被髮送過去,那麼接受這個信息包的計算機可能就是DDoS代理。 [1] 
4、Master和代理之間通訊受到口令的保護,但是口令不是以加密格式發送的,因此它可以被“嗅探”到並被檢測出來。使用這個口令以及來自DaveDittrich的trinot腳本,要準確地驗證出trinoo代理的存在是很可能的。
一旦一個代理被準確地識別出來,trinoo網絡就可以安裝如下步驟被拆除: [1] 
·在代理daemon上使用"strings"命令,將master的IP地址暴露出來。
·與所有作為trinoomaster的機器管理者聯繫,通知它們這一事件。
·在master計算機上,識別含有代理IP地址列表的文件(默認名“...”),得到這些計算機的IP地址列表。
·向代理發送一個偽造“trinoo”命令來禁止代理。通過crontab文件(在UNIX系統中)的一個條目,代理可以有規律地重新啓動,因此,代理計算機需要一遍一遍地被關閉,直到代理系統的管理者修復了crontab文件為止。
·檢查master程序的活動TCP連接,這能顯示攻擊者與trinoomaster程序之間存在的實時連接。
·如果網絡正在遭受trinoo攻擊,那麼系統就會被UDP信息包所淹沒。Trinoo從同一源地址向目標主機上的任意端口發送信息包。探測trinoo就是要找到多個UDP信息包,它們使用同一來源IP地址、同一目的IP地址、同一源端口,但是不同的目的端口。 [1] 
·在美國FBI網站上有一個檢測和根除trinoo的自動程序。
“TribalFloodNetwork”和“TFN2K”,如何抵禦
TribeFloodNetwork與trinoo一樣,使用一個master程序與位於多個網絡上的攻擊代理進行通訊。TFN可以並行發動數不勝數的DoS攻擊,類型多種多樣,而且還可建立帶有偽裝源IP地址的信息包。可以由TFN發動的攻擊包括:UDP衝擊、TCPSYN衝擊、ICMP迴音請求衝擊以及ICMP廣播。 [1] 
以下是TFNDDoS攻擊的基本特性以及建議的抵禦策略:
1、發動TFN時,攻擊者要訪問master程序並向它發送一個或多個目標IP地址,然後Master程序繼續與所有代理程序通訊,指示它們發動攻擊。 [1] 
TFNMaster程序與代理程序之間的通訊使用ICMP迴音應答信息包,實際要執行的指示以二進制形式包含在16位ID域中。ICMP(Internet控制信息協議)使信息包協議過濾成為可能。通過配置路由器或入侵檢測系統,不允許所有的ICMP迴音或迴音應答信息包進入網絡,就可以達到挫敗TFN代理的目的。但是這樣會影響所有使用這些功能的Internet程序,比如ping。
TFNMaster程序讀取一個IP地址列表,其中包含代理程序的位置。這個列表可能使用如“Blowfish”的加密程序進行了加密。如果沒有加密的話,就可以從這個列表方便地識別出代理信息。
2、用於發現系統上TFN代理程序的程序是td,發現系統上master程序的程序是tfn。TFN代理並不查看ICMP迴音應答信息包來自哪裏,因此使用偽裝ICMP信息包沖刷掉這些過程是可能的。
TFN2K是TFN的一個更高級的版本,它“修復”了TFN的某些缺點:
1、在TFN2K下,Master與代理之間的通訊可以使用許多協議,例如TCP、UDP或ICMP,這使得協議過濾不可能實現。 [1] 
2、TFN2K能夠發送破壞信息包,從而導致系統癱瘓或不穩定。
3、TFN2K偽造IP源地址,讓信息包看起來好像是從LAN上的一個臨近機器來的,這樣就可以挫敗出口過濾和入口過濾。
4、由於TFN2K是被識破的,因此還沒有一項研究能夠發現它的明顯弱點。
在人們能夠對TFN2K進行更完全的分析之前,最好的抵禦方法是:
·加固系統和網絡,以防系統被當做DDoS主機。
·在邊界路由器上設置出口過濾,這樣做的原因是或許不是所有的TFN2K源地址都用內部網絡地址進行偽裝。
·請求上游供應商配置入口過濾。
“stacheldraht”,如何防範
Stacheldraht也是基於TFN和trinoo一樣的客户機/服務器模式,其中Master程序與潛在的成千個代理程序進行通訊。在發動攻擊時,侵入者與master程序進行連接。Stacheldraht增加了以下新功能:攻擊者與master程序之間的通訊是加密的,以及使用rcp(remotecopy,遠程複製)技術對代理程序進行更新。
Stacheldraht同TFN一樣,可以並行發動數不勝數的DoS攻擊,類型多種多樣,而且還可建立帶有偽裝源IP地址的信息包。Stacheldraht所發動的攻擊包括UDP衝擊、TCPSYN衝擊、ICMP迴音應答衝擊以及ICMP播放。
以下是StacheldrahtDDoS攻擊的基本特徵以及建議採取的防禦措施:
1、在發動Stacheldraht攻擊時,攻擊者訪問master程序,向它發送一個或多個攻擊目標的IP地址。Master程序再繼續與所有代理程序進行通訊,指示它們發動攻擊。
Stacheldrahtmaster程序與代理程序之間的通訊主要是由ICMP迴音和迴音應答信息包來完成的。配置路由器或入侵檢測系統,不允許一切ICMP迴音和迴音應答信息包進入網絡,這樣可以挫敗Stacheldraht代理。但是這樣會影響所有要使用這些功能的Internet程序,例如ping。
2、代理程序要讀取一個包含有效master程序的IP地址列表。這個地址列表使用了Blowfish加密程序進行加密。代理會試圖與列表上所有的master程序進行聯繫。如果聯繫成功,代理程序就會進行一個測試,以確定它被安裝到的系統是否會允許它改變"偽造"信息包的源地址。通過配置入侵檢測系統或使用嗅探器來搜尋它們的簽名信息,可以探測出這兩個行為。
代理會向每個master發送一個ICMP迴音應答信息包,其中有一個ID域包含值666,一個數據域包含字符串“skillz”。如果master收到了這個信息包,它會以一個包含值667的ID域和一個包含字符串“ficken”的數據域來應答。代理和master通過交換這些信息包來實現週期性的基本接觸。通過對這些信息包的監控,可以探測出Stacheldraht。
一旦代理找到了一個有效master程序,它會向master發送一個ICMP信息包,其中有一個偽造的源地址,這是在執行一個偽造測試。這個假地址是“3.3.3.3”。如果master收到了這個偽造地址,在它的應答中,用ICMP信息包數據域中的“spoofworks”字符串來確認偽造的源地址是奏效的。通過監控這些值,也可以將Stacheldraht檢測出來。
3、Stacheldraht代理並不檢查ICMP迴音應答信息包來自哪裏,因此就有可能偽造ICMP信息包將其排除。
4、Stacheldraht代理程序與TFN和trinoo一樣,都可以用一個C程序來探測

dos攻擊防範

dos攻擊 dos攻擊
DoS攻擊幾乎是從互聯網絡的誕生以來,就伴隨着互聯網絡的發展而一直存在也不斷髮展和升級。值得一提的是,要找DoS的工具一點不難,黑客羣居的網絡社區都有共享黑客軟件的傳統,並會在一起交流攻擊的心得經驗,你可以很輕鬆的從Internet上獲得這些工具,像以上提到的這些DoS攻擊軟件都是可以從網上隨意找到的公開軟件。所以任何一個上網者都可能構成網絡安全的潛在威脅。DoS攻擊給飛速發展的互聯網絡安全帶來重大的威脅。
要避免系統免受DoS攻擊,從前兩點來看,網絡管理員要積極謹慎地維護系統,確保無安全隱患和漏洞;而針對第三點的惡意攻擊方式則需要安裝防火牆等安全設備過濾DoS攻擊,同時強烈建議網絡管理員應當定期查看安全設備的日誌,及時發現對系統的安全威脅行為。
Internet支持工具就是其中的主要解決方案之一,包括SuperStack3Firewall、WebCache以及ServerLoadBalancer。不但作為安全網關設備的3ComSuperStack3防火牆在缺省預配置下可探測和防止“拒絕服務”(DoS)以及“分佈式拒絕服務”(DDoS)等黑客侵襲,強有力的保護您的網絡,使您免遭未經授權訪問和其他來自Internet的外部威脅和侵襲;而且3ComSuperStack3ServerLoadBalancer在為多服務器提供硬件線速的4-7層負載均衡的同時,還能保護所有服務器免受“拒絕服務”(DoS)攻擊;同樣3ComSuperStack3WebCache在為企業提供高效的本地緩存的同時,也能保證自身免受“拒絕服務”(DoS)攻擊。
常見攻擊與防範

dos攻擊SYN Flood攻擊

原理:
問題就出在TCP連接的三次握手中,假設一個用户向服務器發送了SYN報文後突然死機或掉線,那麼服務器在發出SYN+ACK應答報文後是無法收到客户端的ACK報文的(第三次握手無法完成),這 種情況下服務器端一般會重試(再次發送SYN+ACK給客户端)並等待一段時間後丟棄這個未完成的連接,這段時間的長度我們稱為SYN Timeout,一般來説這個時間是分鐘的數量級(大約為30秒 -2分鐘);一個用户出現異常導致服務器的一個線程等待1分鐘並不是什麼很大的問題,但如果有一個惡意的攻擊者大量模擬這種情況,服務器端將為了維護一個非常大的半連接列表而消耗非常 多的資源----數以萬計的半連接,即使是簡單的保存並遍歷也會消耗非常多的CPU時間和內存,何況還要不斷對這個列表中的IP進行SYN+ACK的重試。實際上如果服務器的TCP/IP棧不夠強大,最 後的結果往往是堆棧溢出崩潰---即使服務器端的系統足夠強大,服務器端也將忙於處理攻擊者偽造的TCP連接請求而無暇理睬客户的正常請求(畢竟客户端的正常請求比率非常之小),此時從 正常客户的角度看來,服務器失去響應,這種情況我們稱作:服務器端受到了SYN Flood攻擊(SYN洪水攻擊)。
防範:
第一種是縮短SYN Timeout時間
第二種方法是設置SYN Cookie,就是給每一個請求連接的IP地址分配一個Cookie,如果短時間內連續收到某個IP的重複SYN報文,就認定是受到了攻擊,以後從這個IP地址來的包會被一概丟棄。
>netstat -n -p tcp >result.txt

dos攻擊Smurf攻擊:

原理:
發送偽裝的ICMP數據包,目的地址設為某個網絡的廣播地址,源地址設為要攻擊的目的主機,使所有收到此ICMP數據包的主機都將對目的主機發出一個迴應,使被攻擊主機在某一段時間內收到 成千上萬的數據包
防範:
在cisco路由器上配置如下可以防止將包傳遞到廣播地址上:
Router(config-if)# no ip directed-broadcast

dos攻擊Ping of Death

原理:
"ping of death"攻擊就是我們常説的"死亡Ping"
這種攻擊通過發送大於65536字節的ICMP包使操作系統崩潰;通常不可能發送大於65536個字節的ICMP包,但可以把報文分割成片段,然後在目標主機上重組;最終會導致被攻擊目標緩衝區溢 出,引起拒絕服務攻擊。有些時候導致telne和http服務停止,有些時候路由器重啓。

dos攻擊淚滴攻擊

原理:
對於一些大的IP數據包,往往需要對其進行拆分傳送,這是為了迎合鏈路層的MTU(最大傳輸單元)的要求。比如,一個6 000字節的IP包,在MTU為2 000的鏈路上傳輸的時候,就需要分成3個IP 包。在IP報頭中有一個偏移字段和一個拆分標誌(MF)。如果MF標誌設置為1,則表示這個IP包是一個大IP包的片段,其中偏移字段指出了這個片段在整個IP包中的位置。例如,對一個6 000字 節的IP包進行拆分(MTU為2 000),則3個片段中偏移字段的值依次為0,2 000,4 000。這樣接收端在全部接收完IP數據包後,就可以根據這些信息重新組裝這幾個分次接收的拆分IP包。在這 裏就有一個安全漏洞可以利用了,就是如果黑客們在截取IP數據包後,把偏移字段設置成不正確的值,這樣接收端在收到這些分拆的數據包後,就不能按數據包中的偏移字段值正確組合這些拆 分的數據包,但接收端會不斷嘗試,這樣就可能致使目標計算機操作系統因資源耗盡而崩潰。

dos攻擊DRDOS

原理:
攻擊時,攻擊者巧妙的利用了反彈服務器羣來將洪水數據包反彈給目標主機 反彈服務是指某些服務器在收到一個請求數據報後就會產生一個迴應數據報。所有的 Web 服務器、DNS 服務器及路 由器都是反彈服務器,他們會對 SYN 報文或其他 TCP 報文迴應 SYNACKs 或 RST 報文, 以及對一些 IP 報文迴應 ICMP 數據報超時或目的地不可達消息的數據 報。任何用於普通目的 TCP 連 接許可的網絡服務器都可以用做數據包反射服務器
配置路由器、防火牆和入侵檢測系統來抵禦常見DDoS攻擊
Smurf
·確定你是否成為了攻擊平台:對不是來自於你的內部網絡的信息包進行監控;監控大容量的迴音請求和迴音應答信息包。
·避免被當做一個攻擊平台:在所有路由器上禁止IP廣播功能;將不是來自於內部網絡的信息包過濾掉。
·減輕攻擊的危害:在邊界路由器對迴音應答信息包進行過濾,並丟棄;對於Cisco路由器,使用CAR來規定迴音應答信息包可以使用的帶寬最大值。
trinoo
dos攻擊 dos攻擊
·確定你是否成為攻擊平台:在master程序和代理程序之間的通訊都是使用UDP協議,因此對使用UDP協議(類別17)進行過濾;攻擊者用TCP端口27655與master程序連接,因此對使用TCP(類別6)端口27655連接的流進行過濾;master與代理之間的通訊必須要包含字符串“l44”,並被引導到代理的UDP端口27444,因此對與UDP端口27444連接且包含字符串l44的數據流進行過濾。
·避免被用作攻擊平台:將不是來自於你的內部網絡的信息包過濾掉。
·減輕攻擊的危害:從理論上説,可以對有相同源IP地址的、相同目的IP地址的、相同源端口的、不通目的端口的UDP信息包序列進行過濾,並丟棄它們。
TFN
·確定你是否成為攻擊平台:對不是來自於內部網絡的信息包進行監控。
·避免被用作攻擊平台:不允許一切到你的網絡上的ICMP迴音和迴音應答信息包,當然這會影響所有要使用這些功能的Internet程序;將不是來源於內部網絡的信息包過濾掉。
Stacheldraht
·確定你是否成為攻擊平台:對ID域中包含值666、數據域中包含字符串“skillz”或ID域中包含值667、數據域中包含字符串“ficken”的ICMP迴音應答信息包進行過濾;對源地址為“3.3.3.3”的ICMP信息包和ICMP信息包數據域中包含字符串“spoofworks”的數據流進行過濾。
·手工防護
一般而言手工方式防護DDOS主要通過兩種形式:
系統優化――主要通過優化被攻擊系統的核心參數,提高系統本身對DDoS攻擊的響應能力。但是這種做法只能針對小規模的DDOS進行防護。
網絡追查――遭受DDoS攻擊的系統的管理人員一般第一反應是詢問上一級網絡運營商,這有可能是ISP、IDC等,目的就是為了弄清楚攻擊源頭。

dos攻擊退讓策略

為了抵抗DDOS攻擊,DengKelen客户可能會通過購買硬件的方式來提高系統抗DDOS的能力。但是這種退讓策略的效果並不好,一方面由於這種方式的性價比過低,另一方面,黑客提高供給流量之後,這種方法往往失效,所以不能從根本意義上防護DDoS攻擊。

dos攻擊防火牆

防火牆幾乎是最常用的安全產品,但是防火牆設計原理中並沒有考慮針對DDOS攻擊的防護,在某些情況下,防火牆甚至成為DDOS攻擊的目標而導致整個網絡的拒絕服務。
首先是防火牆缺乏DDOS攻擊檢測的能力。通常,防火牆作為三層包轉發設備部署在網絡中,一方面在保護內部網絡的同時,它也為內部需要提供外部Internet服務的設備提供了通路,如果DDOS攻擊採用了這些服務器允許的合法協議對內部系統進行攻擊,防火牆對此就無能為力,無法精確的從背景流量中區分出攻擊流量。雖然有些防火牆內置了某些模塊能夠對攻擊進行檢測,但是這些檢測機制一般都是基於特徵規則,DDOS攻擊者只要對攻擊數據包稍加變化,防火牆就無法應對,對DDOS攻擊的檢測必須依賴於行為模式的算法。
第二個原因就是傳統防火牆計算能力的限制,傳統的防火牆是以高強度的檢查為代價,檢查的強度越高,計算的代價越大。而DDOS攻擊中的海量流量會造成防火牆性能急劇下降,不能有效地完成包轉發的任務。最好防火牆的部署位置也影響了其防護DDOS攻擊的能力。傳統防火牆一般都是部署在網絡入口位置,雖然某種意義上保護了網絡內部的所有資源,但是其往往也成為DDOS攻擊的目標,攻擊者一旦發起DDOS攻擊,往往造成網絡性能的整體下降,導致用户正常請求被拒絕。
參考資料
  • 1.    張昆蒼等.操作系統原理 DOS 篇(第2版):清華大學出版社,2000 年9月