計(jì)算機(jī)網(wǎng)絡(luò)基礎(chǔ)知識_第1頁
計(jì)算機(jī)網(wǎng)絡(luò)基礎(chǔ)知識_第2頁
計(jì)算機(jī)網(wǎng)絡(luò)基礎(chǔ)知識_第3頁
計(jì)算機(jī)網(wǎng)絡(luò)基礎(chǔ)知識_第4頁
計(jì)算機(jī)網(wǎng)絡(luò)基礎(chǔ)知識_第5頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、ip分片原理簡單介紹了 IP分片原理,并結(jié)合網(wǎng)絡(luò)分析產(chǎn)品抓包結(jié)果詳細(xì)分析常見IP碎片攻擊的原理和 特征,最后對阻止IP碎片攻擊給出一些建議。希望對加深理解IP協(xié)議和一些DoS攻擊手 段有所幫助。為什么存在IP碎片鏈路層具有最大傳輸單元MTU這個特性,它限制了數(shù)據(jù)幀的最大長度,不同的網(wǎng)絡(luò)類型都有 一個上限值。以太網(wǎng)的MTU是1500,你可以用netstat-i命令查看這個值。如果IP層有 數(shù)據(jù)包要傳,而且數(shù)據(jù)包的長度超過了 MTU,那么IP層就要對數(shù)據(jù)包進(jìn)行分片(fragmentation)操作,使每一片的長度都小于或等于MTU。我們假設(shè)要傳輸一個UDP數(shù) 據(jù)包,以太網(wǎng)的MTU為1500字節(jié),一

2、般IP首部為20字節(jié),UDP首部為8字節(jié),數(shù)據(jù)的凈 荷(payload)部分預(yù)留是1500-20-8=1472字節(jié)。如果數(shù)據(jù)部分大于1472字節(jié),就會出現(xiàn) 分片現(xiàn)象。IP首部包含了分片和重組所需的信息:+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|Identification|R|DF|MF| Fragment Offset |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|Identification:發(fā)送端發(fā)送的IP數(shù)據(jù)包標(biāo)識字段都是一個唯一值,該值在分片時(shí)被復(fù)制到每個

3、片中。R:保留未用。DF: Dont Fragment, “不分片”位,如果將這一比特置1,IP層將不對數(shù)據(jù)報(bào)進(jìn)行分片。 MF: More Fragment,更多的片”,除了最后一片外,其他每個組成數(shù)據(jù)報(bào)的片都要把比 特置1。Fragment Offset:該片偏移原始數(shù)據(jù)包開始處的位置。偏移的字節(jié)數(shù)是該值乘以8。另外,當(dāng)數(shù)據(jù)報(bào)被分片后,每個片的總長度值要改為該片的長度值。每一 IP分片都各自路由,到達(dá)目的主機(jī)后在IP層重組,請放心,首部中的數(shù)據(jù)能夠正確完 成分片的重組。你不禁要問,既然分片可以被重組,那么所謂的碎片攻擊是如何產(chǎn)生的呢?IP碎片攻擊IP首部有兩個字節(jié)表示整個IP數(shù)據(jù)包的長度,所

4、以IP數(shù)據(jù)包最長只能為0 xFFFF,就是65535 字節(jié)。如果有意發(fā)送總長度超過65535的IP碎片,一些老的系統(tǒng)內(nèi)核在處理的時(shí)候就會出 現(xiàn)問題,導(dǎo)致崩潰或者拒絕服務(wù)。另外,如果分片之間偏移量經(jīng)過精心構(gòu)造,一些系統(tǒng)就無 法處理,導(dǎo)致死機(jī)。所以說,漏洞的起因是出在重組算法上。下面我們逐個分析一些著名的 碎片攻擊程序,來了解如何人為制造IP碎片來攻擊系統(tǒng)。ping o deathping o death是利用ICMP協(xié)議的一種碎片攻擊。攻擊者發(fā)送一個長度超過65535的Echo Request數(shù)據(jù)包,目標(biāo)主機(jī)在重組分片的時(shí)候會造成事先分配的65535字節(jié)緩沖區(qū)溢出,系 統(tǒng)通常會崩潰或掛起。pin

5、g不就是發(fā)送ICMP Echo Request數(shù)據(jù)包的嗎?讓我們嘗試攻擊 一下吧!不管IP和ICMP首部長度了,數(shù)據(jù)長度反正是多多益善,就65535吧,發(fā)送一個包:# ping -c 1 -s 65535 192.168.0.1Error: packet size 65535 is too large. Maximum is 65507不走運(yùn),看來Linux自帶的ping不允許我們做壞事。65507是它計(jì)算好的:65535-20-8=65507。Win2K下的ping更摳門,數(shù)據(jù)只允許65500大小。 所以你必須找另外的程序來發(fā)包,但是目前新版本的操作系統(tǒng)已經(jīng)搞定這個缺陷了,所以你 還是繼續(xù)往

6、下閱讀本文吧。順便提一下,記得99年有“愛國主義黑客”(“紅客”的前輩)發(fā)動全國網(wǎng)民在某一時(shí)刻 開始ping某美國站點(diǎn),試圖ping死遠(yuǎn)程服務(wù)器。這其實(shí)是一種ping flood攻擊,用大量 的Echo Request包減慢主機(jī)的響應(yīng)速度和阻塞目標(biāo)網(wǎng)絡(luò),原理和ping o death是不一樣 的,這點(diǎn)要分清楚。jolt2jolt2.c是在一個死循環(huán)中不停的發(fā)送一個ICMP/UDP的IP碎片,可以使Windows系統(tǒng)的機(jī) 器死鎖。我測試了沒打SP的Windows 2000,CPU利用率會立即上升到100%,鼠標(biāo)無法移動。我們用網(wǎng)絡(luò)分析產(chǎn)品分別抓取采用ICMP和UDP協(xié)議發(fā)送的數(shù)據(jù)包。發(fā)送的ICM

7、P包:01/07-15:33:26.974096 192.168.0.9 - 192.168.0.1ICMP TTL:255 TOS:0 x0 ID:1109 IpLen:20 DgmLen:29Frag Offset: 0 x1FFE Frag Size: 0 x908 00 00 00 00 00 00 00 00發(fā)送的UDP包:01/10-14:21:00.298282 192.168.0.9 - 192.168.0.1UDP TTL:255 TOS:0 x0 ID:1109 IpLen:20 DgmLen:29Frag Offset: 0 x1FFE Frag Size: 0 x904

8、 D3 04 D2 00 09 00 00 61a從上面的結(jié)果可以看出:*分片標(biāo)志位MF=0,說明是最后一個分片。*偏移量為0 x1FFE,計(jì)算重組后的長度為(0 x1FFE * 8) + 29 = 65549 65535,溢出。* IP包的ID為1109,可以作為IDS檢測的一個特征。ICMP 包:類型為8、代碼為0,是Echo Request;校驗(yàn)和為0 x0000,程序沒有計(jì)算校驗(yàn),所以確切的說這個ICMP包是非法的。UDP 包:目的端口由用戶在命令參數(shù)中指定;源端口是目的端口和1235進(jìn)行OR的結(jié)果;校驗(yàn)和為0 x0000,和ICMP的一樣,沒有計(jì)算,非法的UDP。凈荷部分只有一個字符

9、a。jolt2.c應(yīng)該可以偽造源IP地址,但是源程序中并沒有把用戶試圖偽裝的IP地址賦值給src_a ddr,不知道作者是不是故意的。jolt2的影響相當(dāng)大,通過不停的發(fā)送這個偏移量很大的數(shù)據(jù)包,不僅死鎖未打補(bǔ)丁的Windows系統(tǒng),同時(shí)也大大增加了網(wǎng)絡(luò)流量。曾經(jīng)有人利用jolt2模擬網(wǎng)絡(luò)流量,測試IDS在高負(fù)載流量下的攻擊檢測效率,就是利用這個特性。teardropteardrop也比較簡單,默認(rèn)發(fā)送兩個UDP數(shù)據(jù)包,就能使某些Linux內(nèi)核崩潰。網(wǎng)絡(luò)分析產(chǎn)品抓取的結(jié)果如下:第一個:01/08-11:42:21.985853 192.168.0.9 - 192.168.0.1UDP TTL:

10、64 TOS:0 x0 ID:242 IpLen:20 DgmLen:56 MFFrag Offset: 0 x0 Frag Size: 0 x24A0 A8 86 C7 00 24 00 00 00 00 00 00 00 00 00 00 $00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00* MF=1,偏移量=0,分片IP包的第一個。*結(jié)構(gòu)圖:|+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-|IP| UDP| Data|+第二個:01/08-11:

11、42:21.985853 192.168.0.9 - 192.168.0.1UDP TTL:64 TOS:0 x0 ID:242 IpLen:20 DgmLen:24Frag Offset: 0 x3 Frag Size: 0 x4A0 A8 86 C7.* MF=0,偏移量=0 x3,偏移字節(jié)數(shù)為0 x3 * 8 = 24,最后一個分片。*結(jié)構(gòu)圖:| |+-+-+-+-+-+-+-+-+-+-+-+-+|IP| Data |+-+-+-+-+-+-+-+-+-+-+-+-+如果修改源代碼,第二片IP包的偏移量也可以為0 x4,偏移字節(jié)數(shù)就是0 x4 * 8 = 32。下面的結(jié)構(gòu)圖表示了接收端重組分片的過程,分別對應(yīng)于偏移字節(jié)數(shù)為24和32兩種情況: |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-|IP| UDP|Data|+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-|+-+-+-+-+| Data |+-+-+-+-+|+-+-+-+-+| Data |+-+-+

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論