<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>

您好,歡迎來電子發燒友網! ,新用戶?[免費注冊]

您的位置:電子發燒友網>電子百科>網絡>安防及入侵檢測>

dos攻擊有多少種_DoS攻擊種類

2018年01月17日 15:45 網絡整理 作者: 用戶評論(0

DoS到底是什么?接觸PC機較早的同志會直接想到微軟磁盤操作系統的DOS--DiskOperationSystem?不,此DoS非彼DOS也,DoS即DenialOfService,拒絕服務的縮寫。

作個形象的比喻來理解DoS。街頭的餐館是為大眾提供餐飲服務,如果一群地痞流氓要DoS餐館的話,手段會很多,比如霸占著餐桌不結賬,堵住餐館的大門不讓路,騷擾餐館的服務員或廚子不能干活,甚至更惡劣……相應的計算機和網絡系統則是為Internet用戶提供互聯網資源的,如果有黑客要進行DoS攻擊的話,可以想象同樣有好多手段!今天最常見的DoS攻擊有對計算機網絡的帶寬攻擊和連通性攻擊。帶寬攻擊指以極大的通信量沖擊網絡,使得所有可用網絡資源都被消耗殆盡,最后導致合法的用戶請求無法通過。連通性攻擊指用大量的連接請求沖擊計算機,使得所有可用的操作系統資源都被消耗殆盡,最終計算機無法再處理合法用戶的請求。

傳統上,攻擊者所面臨的主要問題是網絡帶寬,由于較小的網絡規模和較慢的網絡速度的限制,攻擊者無法發出過多的請求。雖然類似“the ping of death”的攻擊類型只需要較少量的包就可以摧毀一個沒有打過補丁的UNIX系統,但大多數的DoS攻擊還是需要相當大的帶寬的,而以個人為單位的黑客們很難使用高帶寬的資源。為了克服這個缺點,DoS攻擊者開發了分布式的攻擊。攻擊者簡單利用工具集合許多的網絡帶寬來同時對同一個目標發動大量的攻擊請求,這就是DDoS(Distributed Denial of Service)攻擊。

無論是DoS攻擊還是DDoS攻擊,簡單的看,都只是一種破壞網絡服務的黑客方式,雖然具體的實現方式千變萬化,但都有一個共同點,就是其根本目的是使受害主機或網絡無法及時接收并處理外界請求,或無法及時回應外界請求。其具體表現方式有以下幾種:

1,制造大流量無用數據,造成通往被攻擊主機的網絡擁塞,使被攻擊主機無法正常和外界通信。

2,利用被攻擊主機提供服務或傳輸協議上處理重復連接的缺陷,反復高頻的發出攻擊性的重復服務請求,使被攻擊主機無法及時處理其它正常的請求。

3,利用被攻擊主機所提供服務程序或傳輸協議的本身實現缺陷,反復發送畸形的攻擊數據引發系統錯誤的分配大量系統資源,使主機處于掛起狀態甚至死機。

使用僵尸電腦進行DOS攻擊

僵尸電腦(Zombie computer),簡稱“僵尸(zombie)”,有些人稱之為“肉雞”,接入互聯網的電腦被病毒感染后,受控于黑客,可以隨時按照黑客的指令展開拒絕服務(DoS)攻擊或發送垃圾信息。通常,一部被侵占的電腦只是僵尸網絡里面眾多中的一環,而且會被用來去運行一連串的或遠端控制的惡意程序。很多“僵尸電腦的擁有者”都沒有察覺到自己的系統已經被“僵尸化”,就仿佛是沒有自主意識的僵尸一般。

攻擊流程

要理解dos攻擊,首先要理解TCP連接的三次握手過程(Three-wayhandshake)。在TCP/IP協議中,TCP協議提供可靠的連接服務,采用三次握手建立一個連接。

第一次握手:建立連接時,客戶端發送SYN包((SYN=i)到服務器,并進入SYN SEND狀態,等待服務器確認;

第二次握手:服務器收到SYN包,必須確認客戶的SYN (ACK=i+1 ),同時自己也發送一個SYN包((SYN=j)}即SYN+ACK包,此時服務器進入SYN_RECV狀態;

第三次握手:客戶端收到服務器的SYN+ACK包,向服務器發送確認包ACK(ACK=j+1),此包發送完畢,客戶端和服務器進入ESTABLISHED狀態,完成三次握手,客戶端與服務器開始傳送數據。

在上述過程中,還有一些重要的概念:

半連接:收到SYN包而還未收到ACK包時的連接狀態稱為半連接,即尚未完全完成三次握手的TCP連接。

半連接隊列:在三次握手協議中,服務器維護一個半連接隊列,該隊列為每個客戶端的SYN包(SYN=i )開設一個條目,該條目表明服務器已收到SYN包,并向客戶發出確認,正在等待客戶的確認包。這些條目所標識的連接在服務器處于SYN_ RECV狀態,當服務器收到客戶的確認包時,刪除該條目,服務器進入ESTABLISHED狀態。

Backlog參數:表示半連接隊列的最大容納數目。

SYN-ACK重傳次數:服務器發送完SYN-ACK包,如果未收到客戶確認包,服務器進行首次重傳,等待一段時間仍未收到客戶確認包,進行第二次重傳,如果重傳次數超過系統規定的最大重傳次數,系統將該連接信息、從半連接隊列中刪除。注意,每次重傳等待的時間不一定相同。

半連接存活時間:是指半連接隊列的條目存活的最長時間,也即服務從收到SYN包到確認這個報文無效的最長時間,該時間值是所有重傳請求包的最長等待時間總和。有時也稱半連接存活時間為Timeout時間、SYN_RECV存活時間。

上面三個參數對系統的TCP連接狀況有很大影響。

SYN洪水攻擊屬于DoS攻擊的一種,它利用TCP協議缺陷,通過發送大量的半連接請求,耗費CPU和內存資源。SYN攻擊除了能影響主機外,還可以危害路由器、防火墻等網絡系統,事實上SYN攻擊并不管目標是什么系統,只要這些系統打開TCP服務就可以實施。從圖4-3可看到,服務器接收到連接請求(SYN=i )將此信息加入未連接隊列,并發送請求包給客戶端( SYN=j,ACK=i+1 ),此時進入SYN_RECV狀態。當服務器未收到客戶端的確認包時,重發請求包,一直到超時,才將此條目從未連接隊列刪除。配合IP欺騙,SYN攻擊能達到很好的效果,通常,客戶端在短時間內偽造大量不存在的IP地址,向服務器不斷地發送SYN包,服務器回復確認包,并等待客戶的確認,由于源地址是不存在的,服務器需要不斷的重發直至超時,這些偽造的SYN包將長時間占用未連接隊列,正常的SYN 請求

被丟棄,目標系統運行緩慢,嚴重者引起網絡堵塞甚至系統癱瘓。過程如下:

攻擊主機C(地址偽裝后為C')-----大量SYN包----》被攻擊主機

C'《-------SYN/ACK包----被攻擊主機

由于C’地址不可達,被攻擊主機等待SYN包超時。攻擊主機通過發大量SYN包填滿未連接隊列,導致正常SYN包被拒絕服務。另外,SYN洪水攻擊還可以通過發大量ACK包進行DoS攻擊。

攻擊手段

拒絕服務攻擊是一種對網絡危害巨大的惡意攻擊。今天,DoS具有代表性的攻擊手段包括PingofDeath、TearDrop、UDPflood、SYNflood、LandAttack、IPSpoofingDoS等??纯此鼈冇质窃趺磳崿F的。

dos攻擊有多少種_DoS攻擊種類

dos攻擊快閃族

死亡之ping (pingofdeath)DengKelen

ICMP(InternetControlMessageProtocol,Internet控制信息協議)在Internet上用于錯誤處理和傳遞控制信息。最普通的ping程序就是這個功能。而在TCP/IP的RFC文檔中對包的最大尺寸都有嚴格限制規定,許多操作系統的TCP/IP協議棧都規定ICMP包大小為64KB,且在對包的標題頭進行讀取之后,要根據該標題頭里包含的信息來為有效載荷生成緩沖區?!癙ingofDeath”就是故意產生畸形的測試Ping(PacketInternetGroper)包,聲稱自己的尺寸超過ICMP上限,也就是加載的尺寸超過64KB上限,使未采取保護措施的網絡系統出現內存分配錯誤,導致TCP/IP協議棧崩潰,最終接收方宕機。

淚滴

淚滴攻擊利用在TCP/IP協議棧實現中信任IP碎片中的包的標題頭所包含的信息來實現自己的攻擊。IP分段含有指示該分段所包含的是原包的哪一段的信息,某些TCP/IP協議棧(例如NT在servicepack4以前)在收到含有重疊偏移的偽造分段時將崩潰。

UDP泛洪

(UDPflood)

UDPflood攻擊:如今在Internet上UDP(用戶數據包協議)的應用比較廣泛,很多提供WWW和Mail等服務設備通常是使用Unix的服務器,它們默認打開一些被黑客惡意利用的UDP服務。如echo服務會顯示接收到的每一個數據包,而原本作為測試功能的chargen服務會在收到每一個數據包時隨機反饋一些字符。UDPflood假冒攻擊就是利用這兩個簡單的TCP/IP服務的漏洞進行惡意攻擊,通過偽造與某一主機的Chargen服務之間的一次的UDP連接,回復地址指向開著Echo服務的一臺主機,通過將Chargen和Echo服務互指,來回傳送毫無用處且占滿帶寬的垃圾數據,在兩臺主機之間生成足夠多的無用數據流,這一拒絕服務攻擊飛快地導致網絡可用帶寬耗盡。

SYN泛洪

(SYNflood)

SYNflood攻擊:我們知道當用戶進行一次標準的TCP(TransmissionControlProtocol)連接時,會有一個3次握手過程。首先是請求服務方發送一個SYN(SynchronizeSequenceNumber)消息,服務方收到SYN后,會向請求方回送一個SYN-ACK表示確認,當請求方收到SYN-ACK后,再次向服務方發送一個ACK消息,這樣一次TCP連接建立成功?!癝YNFlooding”則專門針對TCP協議棧在兩臺主機間初始化連接握手的過程進行DoS攻擊,其在實現過程中只進行前2個步驟:當服務方收到請求方的SYN-ACK確認消息后,請求方由于采用源地址欺騙等手段使得服務方收不到ACK回應,于是服務方會在一定時間處于等待接收請求方ACK消息的狀態。而對于某臺服務器來說,可用的TCP連接是有限的,因為他們只有有限的內存緩沖區用于創建連接,如果這一緩沖區充滿了虛假連接的初始信息,該服務器就會對接下來的連接停止響應,直至緩沖區里的連接企圖超時。如果惡意攻擊方快速連續地發送此類連接請求,該服務器可用的TCP連接隊列將很快被阻塞,系統可用資源急劇減少,網絡可用帶寬迅速縮小,長此下去,除了少數幸運用戶的請求可以插在大量虛假請求間得到應答外,服務器將無法向用戶提供正常的合法服務。

Land(LandAttack)攻擊

在Land攻擊中,黑客利用一個特別打造的SYN包--它的原地址和目標地址都被設置成某一個服務器地址進行攻擊。此舉將導致接受服務器向它自己的地址發送SYN-ACK消息,結果這個地址又發回ACK消息并創建一個空連接,每一個這樣的連接都將保留直到超時,在Land攻擊下,許多UNIX將崩潰,NT變得極其緩慢(大約持續五分鐘)。

IP欺騙

dos攻擊

這種攻擊利用TCP協議棧的RST位來實現,使用IP欺騙,迫使服務器把合法用戶的連接復位,影響合法用戶的連接。假設有一個合法用戶(100.100.100.100)已經同服務器建了正常的連接,攻擊者構造攻擊的TCP數據,偽裝自己的IP為100.100.100.100,并向服務器發送一個帶有RST位的TCP數據段。服務器接收到這樣的數據后,認為從100.100.100.100發送的連接有錯誤,就會清空緩沖區中已建立好的連接。這時,合法用戶100.100.100.100再發送合法數據,服務器就已經沒有這樣的連接了,該用戶就被拒絕服務而只能重新開始建立新的連接。

攻擊方法

具體DoS攻擊方法很多,但大多都可以分為以下幾類:

利用軟件實現的缺陷

OOB攻擊(常用工具winnuke),teardrop攻擊(常用工具teardrop.cboink.cbonk.c),land攻擊,IGMP碎片包攻擊,jolt攻擊,Cisco2600路由器IOSversion12.0(10)遠程拒絕服務攻擊等等,這些攻擊都是利用了被攻擊軟件的實現上的缺陷完成DoS攻擊的。通常這些攻擊工具向被攻擊系統發送特定類型的一個或多個報文,這些攻擊通常都是致命的,一般都是一擊致死,而且很多攻擊是可以偽造源地址的,所以即使通過IDS或者別的sniffer軟件記錄到攻擊報文也不能找到誰發動的攻擊,而且此類型的攻擊多是特定類型的幾個報文,非常短暫的少量的報文,如果偽造源IP地址的話,使追查工作幾乎是不可能。

dos攻擊有多少種_DoS攻擊種類

軟件主流程圖

那么如何造成這些攻擊的?通常是軟件開發過程中對某種特定類型的報文、或請求沒有處理,導致軟件遇到這種類型的報文運行出現異常,導致軟件崩潰甚至系統崩潰。下面結合幾個具體實例解釋一下這種攻擊的成因。

1997年5月7號有人發布了一個winnuke.c。首先建立一條到Win95/NT主機的TCP連接,然后發送TCP緊急數據,導致對端系統崩潰。139/TCP是Win95/NT系統最常見的偵聽端口,所以winnuke.c使用了該端口。之所以稱呼這種攻擊為OOB攻擊,因為MSG_OOB標志,實際應該是TCP緊急數據攻擊。

原始teardrop.c只構造了兩種碎片包,每次同時發送這兩種UDP碎片包。如果指定發送次數,將完全重復先前所發送出去的兩種碎片包。它可以偽造源ip并跨越路由器進行遠程攻擊,影響的系統包括Linux/WinNT/Win95。使用的方法是:

teardrop源ip目的ip[-s源端口][-d目的端口][-n次數]

比較新的一個DoS攻擊是Windows的SMB實現中的DoS攻擊,2002年8月發布,只要允許匿名連接的windows系統就可以進行遠程攻擊,強烈建議Windows用戶打相應的補丁。它的方法就是先和目標系統建立一個連接,然后發送一個特定的請求,目標系統就會蘭屏。發布的測試工具SMBdie.exe是圖形界面工具,輸入目標地址NETBIOS名稱即可。

從上面的討論可以看出,這種攻擊行為威力很大,而且難于偵察。但真實情況下它的危害僅現于漏洞發布后的不長的時間段內,相關廠商會很快發布補丁修補這種漏洞。所以上面提到的幾種較老的攻擊在現實的環境中,通常是無效的。不過最新的攻擊方法還是讓我們不寒而栗,我們可以做的就是關注安全漏洞的發布,及時打上新的補丁。如果你想偷懶的話,購買專業安全服務公司的相關服務應該是個更好的選擇。

利用協議的漏洞

如果說上面那種漏洞危害的時間不是很長,那么這種攻擊的生存能力卻非常強。為了能夠在網絡上進行互通、互聯,所有的軟件實現都必須遵循既有的協議,而如果這種協議存在漏洞的話,所有遵循此協議的軟件都會受到影響。

最經典的攻擊是synflood攻擊,它利用TCP/IP協議的漏洞完成攻擊。通常一次TCP連接的建立包括3個步驟,客戶端發送SYN包給服務器端,服務器分配一定的資源給這里連接并返回SYN/ACK包,并等待連接建立的最后的ACK包,最后客戶端發送ACK報文,這樣兩者之間的連接建立起來,并可以通過連接傳送數據了。而攻擊的過程就是瘋狂發送SYN報文,而不返回ACK報文,服務器占用過多資源,而導致系統資源占用過多,沒有能力響應別的操作,或者不能響應正常的網絡請求。

這個攻擊是經典的以小搏大的攻擊,自己使用少量資源占用對方大量資源。一臺P4的Linux系統大約能發到30-40M的64字節的synflood報文,而一臺普通的服務器20M的流量就基本沒有任何響應了(包括鼠標、鍵盤)。而且synflood不僅可以遠程進行,而且可以偽造源IP地址,給追查造成很大困難,要查找必須所有骨干網絡運營商,一級一級路由器的向上查找。

dos攻擊有多少種_DoS攻擊種類

TCP/IP協議結構圖

對于偽造源IP的synflood攻擊,除非攻擊者和被攻擊的系統之間所有的路由器的管理者都配合查找,否則很難追查。當前一些防火墻產品聲稱有抗DoS的能力,但通常他們能力有限,包括國外的硬件防火墻大多100M防火墻的抗synflood的能力只有20-30Mbps(64字節syn包),這里涉及到它們對小報文的轉發能力,再大的流量甚至能把防火墻打死機。有些安全廠商認識到DoS攻擊的危害,開始研發專用的抗拒絕服務產品。

由于TCP/IP協議相信報文的源地址,另一種攻擊方式是反射拒絕服務攻擊,另外可以利用還有廣播地址,和組播協議輔助反射拒絕服務攻擊效果更好。不過大多數路由器都禁止廣播地址和組播協議的地址。

另一類攻擊方式是使用大量符合協議的正常服務請求,由于每個請求耗費很大系統資源,導致正常服務請求不能成功。如HTTP協議是無狀態協議,攻擊者構造大量搜索請求,這些請求耗費大量服務器資源,導致DoS。這種方式攻擊比較好處理,由于是正常請求,暴露了正常的源IP地址,禁止這些IP就可以了。

進行資源比拼

這種攻擊方式屬于無賴打法,我憑借著手中的資源豐富,發送大量的垃圾數據侵占完你的資源,導致DoS。比如,ICMPflood,mstreamflood,Connectionflood。為了獲得比目標系統更多資源,通常攻擊者會發動DDoS(DistributedDos分布式拒絕服務)攻擊者控制多個攻擊傀儡發動攻擊,這樣才能產生預期的效果。前兩類攻擊是可以偽造IP地址的,追查也是非常困難,第3種攻擊由于需要建立連接,可能會暴露攻擊傀儡的IP地址,通過防火墻禁止這些IP就可以了。對于難于追查,禁止的攻擊行為,我們只能期望專用的抗拒絕服務產品了。

DoS攻擊種類

DoS攻擊有許多種類,主要有Land攻擊、死亡之ping、淚滴、Smurf攻擊及SYN洪水等。

據統計,在所有黑客攻擊事件中,syn洪水攻擊是最常見又最容易被利用的一種DoS攻擊手法。

1.攻擊原理

要理解SYN洪水攻擊,首先要理解TCP連接的三次握手過程(Three-wayhandshake)。在TCP/IP協議中,TCP協議提供可靠的連接服務,采用三次握手建立一個連接。第一次握手:建立連接時,客戶端發送SYN包((SYN=i)到服務器,并進入SYN SEND狀態,等待服務器確認;

第二次握手:服務器收到SYN包,必須確認客戶的SYN (ACK=i+1 ),同}Jj’自己也發送一個SYN包((SYN j)}即SYN+ACK包,此時服務器進入SYN_RECV狀態;

第三次握手:客戶端收到服務器的SYN十ACK包,向服務器發送確認包ACK(ACK=j+1),此包發送完畢,客戶端和服務器進入ESTABLISHED狀態,完成三次握手,客戶端與服務器開始傳送數據。

在上述過程中,還有一些重要的概念:

半連接:收到SYN包而還未收到ACK包時的連接狀態稱為半連接,即尚未完全完成三次握手的TCP連接。

半連接隊列:在三次握手協議中,服務器維護一個半連接隊列,該隊列為每個客戶端的SYN包(SYN=i )開設一個條目,該條目表明服務器已收到SYN包,并向客戶發出確認,正在等待客戶的確認包。這些條目所標識的連接在服務器處于SYN_ RECV狀態,當服務器收到客戶的確認包時,刪除該條目,服務器進入ESTABLISHED狀態。

Backlog參數:表示半連接隊列的最大容納數目。

SYN-ACK重傳次數:服務器發送完SYN-ACK包,如果未收到客戶確認包,服務器進行首次重傳,等待一段時間仍未收到客戶確認包,進行第二次重傳,如果重傳次數超過系統規定的最大重傳次數,系統將該連接信息、從半連接隊列中刪除。注意,每次重傳等待的時間不一定相同。

半連接存活時間:是指半連接隊列的條目存活的最長時間,也即服務從收到SYN包到確認這個報文無效的最長時間,該時間值是所有重傳請求包的最長等待時間總和。有時也稱半連接存活時間為Timeout時間、SYN_RECV存活時間。

上面三個參數對系統的TCP連接狀況有很大影響。

SYN洪水攻擊屬于DoS攻擊的一種,它利用TCP協議缺陷,通過發送大量的半連接請求,耗費CPU和內存資源。SYN攻擊除了能影響主機外,還可以危害路由器、防火墻等網絡系統,事實上SYN攻擊并不管目標是什么系統,只要這些系統打開TCP服務就可以實施。從圖4-3可看到,服務器接收到連接請求(SYN=i )將此信息加入未連接隊列,并發送請求包給客戶( SYN=j,ACK=i+1 ),此時進入SYN_RECV狀態。當服務器未收到客戶端的確認包時,重發請求包,一直到超時,才將此條目從未連接隊列刪除。配合IP欺騙,SYN攻擊能達到很好的效果,通常,客戶端在短時間內偽造大量不存在的IP地址,向服務器不斷地發送SYN包,服務器回復確認包,并等待客戶的確認,由于源地址是不存在的,服務器需要不斷的重發直至超時,這些偽造的SYN包將長時間占用未連接隊列,正常的SYN 請求

被丟棄,目標系統運行緩慢,嚴重者引起網絡堵塞甚至系統癱瘓。過程如下:

攻擊主機C(地址偽裝后為C‘)-----大量SYN包----》彼攻擊主機

C’《-------SYN/ACK包----被攻擊主機

由于C’地址不可達,被攻擊主機等待SYN包超時。攻擊主機通過發人量SYN包填滿未連接隊列,導致正常SYN包被拒絕服務。另外,SYN洪水攻擊還可以通過發大量ACK包進行DoS攻擊。

2.傳統算法

抵御SYN洪水攻擊較常用的方法為網關防火墻法、中繼防火墻法和SYNcookies。為便于敘述,將系統拓撲圖簡化為圖4-4。圖中,按網絡在防火墻內側還是外側將其分為內網、外網(內網是受防火墻保護的)。其次,設置防火墻的SYN重傳計時器。超時值必須足夠小,避免backlog隊列被填滿;同時又要足夠大保證用戶的正常通訊。

(1) 網關防火墻法

網關防火墻抵御攻擊的基本思想是:對于內網服務器所發的SYN/ACK包,防火墻立即發送ACK包響應。當內網服務器接到ACK包后,從backlog隊列中移出此半連接,連接轉為開連接,TCP連接建成。由于服務器處理開連接的能力比處理半連接大得多,這種方法能有效減輕對內網服務器的SYN攻擊,能有效地讓backlog隊列處于未滿狀態,同時在重傳一個未完成的連接之前可以等待更長時間。

以下為算法完整描述:

第一步,防火墻截獲外網客戶端發向內網服務器SYN數據包,允許其通過,抵達內網服務器。同時在連接跟蹤表中記錄此事件。

第二步,防火墻截獲服務器發向客戶端的SYN/ACK響應包,用連接跟蹤表中記錄的相應SYN包匹配它。

第三步,防火墻讓截獲的SYN/ACK繼續進行(發向客戶端)。同時,向內網服務器發送ACK包。這樣,對服務器來說,TCP連接三次握手已經完成。系統在backlog隊列中刪掉此半連接。

第四步,看此TCP連接是否有效,相應產生兩種解決方法。如果客戶端的連接嘗試是有效的,那么防火墻將接到來自客戶端的ACK包,然后防火墻將它轉發到服務器。服務器會忽略這個冗余的ACK包,這在TCP協議中是允許的。

如果客戶端的IP地址并不存在,那么防火墻將收不到來自客戶端的ACK包,重轉計時器將超時。這時,防火墻重傳此連接。

(2) 中繼防火墻法

中繼防火墻抵御攻擊的思想是:防火墻在向內網服務器發SYN包之前,首先完成與外網的三次握手連接,從而消除SYN洪水攻擊的成立條件。

以下為算法完整描述:

第一步,防火墻截獲外網客戶端發向內網服務器SYN數據包。

第二步,防火墻并不直接向內網發SYN數據包,而是代替內網服務器向外網發SYNIACK數據包。

第三步,只有接到外網的ACK包,防火墻向內網發SYN包。

第四步,服務器應答SYN/ACK包。

第五步,防火墻應答ACK包。

(3) 分析

首先分析算法的性能,可以看出:為了提高效率,上述算法使用了狀態檢測等機制(可通過本系統的基本模塊層得以實現)

對于非SYN包(CSYN/ACK及ACK包),如果在連線跟蹤信息表未查找到相應項,則還要匹配規則庫,而匹配規則庫需比較諸多項(如IP地址、端口號等),花費較大,這會降低防火墻的流量。另外,在中繼防火墻算法中,由于使用了SYN包代理,增加了防火墻的負荷,也會降低防火墻的流量。

其次,當攻擊主機發ACK包,而不是SYN包,算法將出現安全漏洞。一般地,TCP連接從SYN包開始,一旦 SYN包匹配規則庫,此連接將被加到連接跟蹤表中,并且系統給其60s延時。之后,當接到ACK包時,此連接延時突然加大到3600s。如果,TCP連接從ACK包開始,同時此連接未在連接跟蹤表中注冊,ACK包會匹配規則庫。如匹配成功,此連接將被加到連接跟蹤表中,同時其延時被設置為3600s。即使系統無響應,此連接也不會終止。如果攻擊者發大量的ACK包,就會使半連接隊列填滿,導致無法建立其它TCP連接。此類攻擊來自于內網。因為,來自于外網的ACK包攻擊,服務器會很快發RST包終止此連接(SOs》。而對于內網的外發包,其限制規則的嚴格性要小的多。一旦攻擊者在某時間段內從內網發大量ACK包,并且速度高于防火墻處理速度,很容易造成系統癱瘓。

(4) SYN cookies

Linux支持SYN cookies,它通過修改TCP協議的序列號生成方法來加強抵御SYN洪水攻擊能力。在TCP協議中,當收到客戶端的SYN請求時,服務器需要回復SYN-SACK包給客戶端,客戶端也要發送確認包給服務器。通常,服務器的初始序列號由服務器按照一定的規律計算得到或采用隨機數,但在SYN cookies中,服務器的初始序列號是通過對客戶端IP地址、客戶端端口、服務器IP地址和服務器端口以及其他一些安全數值等要素進行hash運算,加密得到的,稱之為cookie。當服務器遭受SYN攻擊使得backlog隊列滿時,服務器并不拒絕新的SYN請求,而是回復cookie(回復包的SYN序列號)給客戶端,如果收到客戶端的ACK包,服務器將客戶端的ACK序列號減去1得到。cookie比較值,并將上述要素進行一次hash運算,看看是否等于此cookie。如果相等,直接完成三次握手(注意:此時并不用查看此連接是否屬于backlog隊列)。

(5)land攻擊

land 攻擊是一種使用相同的源和目的主機和端口發送數據包到某臺機器的攻擊。結果通常使存在漏洞的機器崩潰。

在Land攻擊中,一個特別打造的SYN包中的原地址和目標地址都被設置成某一個服務器地址,這時將導致接受服務器向它自己的地址發送SYN一ACK消息,結果這個地址又發回ACK消息并創建一個空連接,每一個這樣的連接都將保留直到超時掉。對Land攻擊反應不同,許多UNIX實現將崩潰,而 Windows NT 會變的極其緩慢(大約持續五分鐘)。

(6)死亡之Ping

(ping of death)

對目標IP不停地Ping探測從而致使目標主機網絡癱瘓。常見工具有蝸牛炸彈、AhBomb等。

由于在早期的階段,路由器對包的最大尺寸都有限制,許多操作系統對TCP/IP棧的實現在ICMP包上都是規定64KB,并且在對包的標題頭進行讀取之后,要根據該標題頭里包含的信息來為有效載荷生成緩沖區,當產生畸形的,聲稱自己的尺寸超過ICMP上限的包也就是加載的尺寸超過64K上限時,就會出現內存分配錯誤,導致TCP/IP堆棧崩潰,致使接受方死機。

防御:現在所有的標準TCP/IP實現都已實現對付超大尺寸的包,并且大多數防火墻能夠自動過濾這些攻擊,包括:從windows 98之后的windows NT(service pack 3之后),Solaris、和Mac OS都具有抵抗一般ping of death攻擊的能力。此外,對防火墻進行配置,阻斷ICMP以及任何未知協議,都講防止此類攻擊。

ping -t(無限ping) -l(長度) 65500 ip 死亡之ping(發送大于64K的文件并一直ping就成了死亡之ping)

(7)淚滴

teardrop)

淚滴攻擊利用那些在TCP/IP堆棧實現中信任IP碎片中的包的標題頭所包含的信息來實現自己的攻擊。IP分段含有指示該分段所包含的是原包的哪一段的信息,某些TCP/IP(包括servicepack 4以前的NT)在收到含有重疊偏移的偽造分段時將崩潰。

防御:服務器應用最新的服務包,或者在設置防火墻時對分段進行重組,而不是轉發它們

(8)Smurf攻擊

Smurf攻擊是以最初發動這種攻擊的程序名“Smurf”來命名的。這種攻擊方法結合使用了IP欺騙和ICMP回復方法使大量網絡傳輸充斥目標系統,引起目標系統拒絕為正常系統進行服務。Smurf攻擊通過使用將回復地址設置成受害網絡的廣播地址的ICMP應答請求(ping)數據包,來淹沒受害主機,最終導致該網絡的所有主機都對此ICMP應答請求做出答復,導致網絡阻塞。更加復雜的Smurf將源地址改為第三方的受害者,最終導致第三方崩潰。

非常好我支持^.^

(1) 100%

不好我反對

(0) 0%

( 發表人:龔婷 )

      發表評論

      用戶評論
      評價:好評中評差評

      發表評論,獲取積分! 請遵守相關規定!

      ?
      亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
      <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
      <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
      <acronym id="s8ci2"></acronym>
      <acronym id="s8ci2"><center id="s8ci2"></center></acronym>