国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費(fèi)電子書(shū)等14項(xiàng)超值服

開(kāi)通VIP
網(wǎng)站 IP分片攻擊

網(wǎng)站 IP分片攻擊

默認(rèn)分類(lèi) 2009-07-24 15:42:51 閱讀103 評(píng)論0   字號(hào): 訂閱

最近有客戶(hù)遇到IP 分片攻擊,占用大量帶寬,導(dǎo)致服務(wù)器拒絕服務(wù)!

看來(lái)ip分片攻擊還是比較厲害的!小弟不懂!后來(lái)查了查資料!

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

IP首部包含了分片和重組所需的信息:


+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Identification |R|DF|MF| Fragment Offset
|

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

|<-------------16-------------->,網(wǎng)站;|<--3-->|<---------13---------->|

Identification:發(fā)送端發(fā)送的IP數(shù)據(jù)包標(biāo)識(shí)字段都是一個(gè)唯一值,該值
在分片時(shí)被復(fù)制到每個(gè)片中。
R:保留未用。
DF:Don‘t Fragment,“不分片”位,如果將這一比特置1 ,IP層將不對(duì)
數(shù)據(jù)報(bào)進(jìn)行分片。
MF:More Fragment,“更多的片”,除了最后一片外,其他每個(gè)組成數(shù)
據(jù)報(bào)的片都要把該比特置1。
Fragment Offset:該片偏移原始數(shù)據(jù)包開(kāi)始處的位置。偏移的字節(jié)數(shù)是
該值乘以8。

另外,當(dāng)數(shù)據(jù)報(bào)被分片后,每個(gè)片的總長(zhǎng)度值要改為該片的長(zhǎng)度值。

每一IP分片都各自路由,到達(dá)目的主機(jī)后在IP層重組,請(qǐng)放心,首部中的
數(shù)據(jù)能夠正確完成分片的重組。你不禁要問(wèn),既然分片可以被重組,那么所謂的碎片攻
擊是如何產(chǎn)生的呢?


2. IP碎片攻擊
-=-=-=-=-=-=-=-=-=-=-=
IP首部有兩個(gè)字節(jié)表示整個(gè)IP數(shù)據(jù)包的長(zhǎng)度,所以IP數(shù)據(jù)包最長(zhǎng)只能為
0xFFFF,就是65535字節(jié)。如果有意發(fā)送總長(zhǎng)度超過(guò)65535的IP碎片,一些老的系統(tǒng)內(nèi)核
在處理的時(shí)候就會(huì)出現(xiàn)問(wèn)題,導(dǎo)致崩潰或者拒絕服務(wù)。另外,如果分片之間偏移量經(jīng)過(guò)
精心構(gòu)造,一些系統(tǒng)就無(wú)法處理,導(dǎo)致死機(jī)。所以說(shuō),漏洞的起因是出在重組算法上。
下面我們逐個(gè)分析一些著名的碎片攻擊程序,來(lái)了解如何人為制造IP碎片來(lái)攻擊系統(tǒng)。


3. ping o‘ death
-=-=-=-=-=-=-=-=-=-=-=
ping o‘ death是利用ICMP協(xié)議的一種碎片攻擊。攻擊者發(fā)送一個(gè)長(zhǎng)度超
過(guò)65535的Echo Request數(shù)據(jù)包,目標(biāo)主機(jī)在重組分片的時(shí)候會(huì)造成事先分配的65535字
節(jié)緩沖區(qū)溢出,系統(tǒng)通常會(huì)崩潰或掛起。ping不就是發(fā)送ICMP Echo Request數(shù)據(jù)包的
嗎?讓我們嘗試攻擊一下吧!不管IP和ICMP首部長(zhǎng)度了,數(shù)據(jù)長(zhǎng)度反正是多多益善,就
65535吧,發(fā)送一個(gè)包:

# ping -c 1 -s 65535 192.168.0.1
Error: packet size 65535 is too large. Maximum is 65507

不走運(yùn),看來(lái)Linux自帶的ping不允許我們做壞事。:(

65507是它計(jì)算好的:65535-20-8=65507。Win2K下的ping更摳門(mén),數(shù)據(jù)只
允許65500大小。所以你必須找另外的程序來(lái)發(fā)包,但是目前新版本的操作系統(tǒng)已經(jīng)搞
定這個(gè)缺陷了,所以你還是繼續(xù)往下閱讀本文吧。

順便提一下,記得99年有“愛(ài)國(guó)主義黑客”(“紅客”的前輩)發(fā)動(dòng)全國(guó)
網(wǎng)民在某一時(shí)刻開(kāi)始ping某美國(guó)站點(diǎn),試圖ping死遠(yuǎn)程服務(wù)器。這其實(shí)是一種ping
flood攻擊,用大量的Echo Request包減慢主機(jī)的響應(yīng)速度和阻塞目標(biāo)網(wǎng)絡(luò),原理和
ping o‘ death是不一樣的,這點(diǎn)要分清楚。


4. jolt2
-=-=-=-=-=-=-=-=-=-=-=
jolt2.c是在一個(gè)死循環(huán)中不停的發(fā)送一個(gè)ICMP/UDP的IP碎片,可以使
Windows系統(tǒng)的機(jī)器死鎖。我測(cè)試了沒(méi)打SP的Windows 2000,CPU利用率會(huì)立即上升到
100%,鼠標(biāo)無(wú)法移動(dòng)。

我們用Snort分別抓取采用ICMP和UDP協(xié)議發(fā)送的數(shù)據(jù)包。

發(fā)送的ICMP包:
01/07-15:33:26.974096 192.168.0.9 -> 192.168.0.1
ICMP TTL:255 TOS:0x0 ID:1109 IpLen:20 DgmLen:29
Frag Offset: 0x1FFE Frag Size: 0x9
08 00 00 00 00 00 00 00 00 .........

發(fā)送的UDP包:
01/10-14:21:00.298282 192.168.0.9 -> 192.168.0.1
UDP TTL:255 TOS:0x0 ID:1109 IpLen:20 DgmLen:29
Frag Offset: 0x1FFE Frag Size: 0x9
04 D3 04 D2 00 09 00 00 61 ........a

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

jolt2.c應(yīng)該可以偽造源IP地址,但是源程序中并沒(méi)有把用戶(hù)試圖偽裝的
IP地址賦值給src_addr,不知道作者是不是故意的。

jolt2的影響相當(dāng)大,通過(guò)不停的發(fā)送這個(gè)偏移量很大的數(shù)據(jù)包,不僅死
鎖未打補(bǔ)丁的Windows系統(tǒng),同時(shí)也大大增加了網(wǎng)絡(luò)流量。曾經(jīng)有人利用jolt2模擬網(wǎng)絡(luò)
流量,測(cè)試IDS在高負(fù)載流量下的攻擊檢測(cè)效率,就是利用這個(gè)特性。


5. teardrop
-=-=-=-=-=-=-=-=-=-=-=
teardrop也比較簡(jiǎn)單,默認(rèn)發(fā)送兩個(gè)UDP數(shù)據(jù)包,就能使某些Linux內(nèi)核崩
潰。Snort抓取的結(jié)果如下:

第一個(gè):
01/08-11:42:21.985853 192.168.0.9 -> 192.168.0.1
UDP TTL:64 TOS:0x0 ID:242 IpLen:20 DgmLen:56 MF
Frag Offset: 0x0 Frag Size: 0x24
A0 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包的第一個(gè)。
* 結(jié)構(gòu)圖:


|<-------20-------->|<------8------>|<---------------28---------------->|

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| IP | UDP | Data
|

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+


第二個(gè):
01/08-11:42:21.985853 192.168.0.9 -> 192.168.0.1
UDP TTL:64 TOS:0x0 ID:242 IpLen:20 DgmLen:24
Frag Offset: 0x3 Frag Size: 0x4
A0 A8 86 C7 ....

* MF=0,偏移量=0x3,偏移字節(jié)數(shù)為 0x3 * 8 = 24,最后一個(gè)分片。
* 結(jié)構(gòu)圖:

|<-------20-------->|<--4-->|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| IP | Data |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

如果修改源代碼,第二片IP包的偏移量也可以為0x4,偏移字節(jié)數(shù)就是
0x4 * 8 = 32。

下面的結(jié)構(gòu)圖表示了接收端重組分片的過(guò)程,分別對(duì)應(yīng)于偏移字節(jié)數(shù)為24
和32兩種情況:


|<-------20-------->|<------8------>|<---------------28---------------->|

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| IP | UDP | Data
|

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
| +-+-+-+-+
|<------------- 24 ------------->| Data |
| +-+-+-+-+
|<--4-->|

|
|
+-+-+-+-+
|<-------------------
32 ------------------>| Data |
|
+-+-+-+-+

|<--4-->|

可以看出,第二片IP包的偏移量小于第一片結(jié)束的位移,而且算上第二片
IP包的Data,也未超過(guò)第一片的尾部,這就是重疊現(xiàn)象(overlap)。老的Linux內(nèi)核
(1.x - 2.0.x)在處理這種重疊分片的時(shí)候存在問(wèn)題,WinNT/95在接收到10至50個(gè)
teardrop分片時(shí)也會(huì)崩潰。你可以閱讀teardrop.c的源代碼來(lái)了解如何構(gòu)造并發(fā)送這種
數(shù)據(jù)包。


6. 如何阻止IP碎片攻擊
-=-=-=-=-=-=-=-=-=-=-=
* Windows系統(tǒng)請(qǐng)打上最新的Service Pack,目前的Linux內(nèi)核已經(jīng)不受影
響。
* 如果可能,在網(wǎng)絡(luò)邊界上禁止碎片包通過(guò),或者用iptables限制每秒通
過(guò)碎片包的數(shù)目。
* 如果防火墻有重組碎片的功能,請(qǐng)確保自身的算法沒(méi)有問(wèn)題,否則被
DoS就會(huì)影響整個(gè)網(wǎng)絡(luò)。
* Win2K系統(tǒng)中,自定義IP安全策略,設(shè)置“碎片檢查”。

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶(hù)發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
IP協(xié)議分片抓包實(shí)驗(yàn)!
漏洞掃描原理及程序
常見(jiàn)的DDOS攻擊類(lèi)型總結(jié)
端口掃描技術(shù)
高級(jí)ip掃描技術(shù)及原理介紹
TCP/IP詳解學(xué)習(xí)筆記 這位仁兄寫(xiě)得太好了
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服