问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

什么是碎片攻击呢?谢谢

发布网友 发布时间:2022-05-06 12:49

我来回答

2个回答

热心网友 时间:2022-06-30 14:55

常见IP碎片攻击详解
本文简单介绍了IP分片原理,并结合Snort抓包结果详细分析常见IP碎片
攻击的原理和特征,最后对阻止IP碎片攻击给出一些建议。希望对加深理解IP协议和一
些DoS攻击手段有所帮助。
1. 为什么存在IP碎片
-=-=-=-=-=-=-=-=-=-=-=
链路层具有最大传输单元MTU这个特性,它*了数据帧的最大长度,不
同的网络类型都有一个上限值。以太网的MTU是1500,你可以用 netstat -i 命令查看
这个值。如果IP层有数据包要传,而且数据包的长度超过了MTU,那么IP层就要对数据
包进行分片(fragmentation)操作,使每一片的长度都小于或等于MTU。我们假设要传
输一个UDP数据包,以太网的MTU为1500字节,一般IP首部为20字节,UDP首部为8字节,
数据的净荷(payload)部分预留是1500-20-8=1472字节。如果数据部分大于1472字
节,就会出现分片现象。

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

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

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

|<-------------16-------------->|<--3-->|<---------13---------->|

Identification:发送端发送的IP数据包标识字段都是一个唯一值,该值
在分片时被复制到每个片中。
R:保留未用。
DF:Don‘t Fragment,“不分片”位,如果将这一比特置1 ,IP层将不对
数据报进行分片。
MF:More Fragment,“更多的片”,除了最后一片外,其他每个组成数
据报的片都要把该比特置1。
Fragment Offset:该片偏移原始数据包开始处的位置。偏移的字节数是
该值乘以8。

另外,当数据报被分片后,每个片的总长度值要改为该片的长度值。

每一IP分片都各自路由,到达目的主机后在IP层重组,请放心,首部中的
数据能够正确完成分片的重组。你不禁要问,既然分片可以被重组,那么所谓的碎片攻
击是如何产生的呢?

2. IP碎片攻击
-=-=-=-=-=-=-=-=-=-=-=
IP首部有两个字节表示整个IP数据包的长度,所以IP数据包最长只能为
0xFFFF,就是65535字节。如果有意发送总长度超过65535的IP碎片,一些老的系统内核
在处理的时候就会出现问题,导致崩溃或者拒绝服务。另外,如果分片之间偏移量经过
精心构造,一些系统就无法处理,导致死机。所以说,漏洞的起因是出在重组算法上。
下面我们逐个分析一些著名的碎片攻击程序,来了解如何人为制造IP碎片来攻击系统。

3. ping o‘ death
-=-=-=-=-=-=-=-=-=-=-=
ping o‘ death是利用ICMP协议的一种碎片攻击。攻击者发送一个长度超
过65535的Echo Request数据包,目标主机在重组分片的时候会造成事先分配的65535字
节缓冲区溢出,系统通常会崩溃或挂起。ping不就是发送ICMP Echo Request数据包的
吗?让我们尝试攻击一下吧!不管IP和ICMP首*度了,数据长度反正是多多益善,就
65535吧,发送一个包:

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

不走运,看来Linux自带的ping不允许我们做坏事。:(

65507是它计算好的:65535-20-8=65507。Win2K下的ping更抠门,数据只
允许65500大小。所以你必须找另外的程序来发包,但是目前新版本的操作系统已经搞
定这个缺陷了,所以你还是继续往下阅读本文吧。

顺便提一下,记得99年有“爱国主义黑客”(“红客”的前辈)发动全国
网民在某一时刻开始ping某美国站点,试图ping死远程服务器。这其实是一种ping
flood攻击,用大量的Echo Request包减慢主机的响应速度和阻塞目标网络,原理和
ping o‘ death是不一样的,这点要分清楚。

4. jolt2
-=-=-=-=-=-=-=-=-=-=-=
jolt2.c是在一个死循环中不停的发送一个ICMP/UDP的IP碎片,可以使
Windows系统的机器死锁。我测试了没打SP的Windows 2000,CPU利用率会立即上升到
100%,鼠标无法移动。

我们用Snort分别抓取采用ICMP和UDP协议发送的数据包。

发送的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 .........

发送的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

从上面的结果可以看出:
* 分片标志位MF=0,说明是最后一个分片。
* 偏移量为0x1FFE,计算重组后的长度为 (0x1FFE * 8) + 29 = 65549 >
65535,溢出。
* IP包的ID为1109,可以作为IDS检测的一个特征。
* ICMP包:
类型为8、代码为0,是Echo Request;
校验和为0x0000,程序没有计算校验,所以确切的说这个ICMP包是非法
的。
* UDP包:
目的端口由用户在命令参数中指定;
源端口是目的端口和1235进行OR的结果;
校验和为0x0000,和ICMP的一样,没有计算,非法的UDP。
净荷部分只有一个字符‘a‘。

jolt2.c应该可以伪造源IP地址,但是源程序中并没有把用户试图伪装的
IP地址赋值给src_addr,不知道作者是不是故意的。

jolt2的影响相当大,通过不停的发送这个偏移量很大的数据包,不仅死
锁未打补丁的Windows系统,同时也大大增加了网络流量。曾经有人利用jolt2模拟网络
流量,测试IDS在高负载流量下的攻击检测效率,就是利用这个特性。

5. teardrop
-=-=-=-=-=-=-=-=-=-=-=
teardrop也比较简单,默认发送两个UDP数据包,就能使某些Linux内核崩
溃。Snort抓取的结果如下:

第一个:
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包的第一个。
* 结构图:

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

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

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

第二个:
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,偏移字节数为 0x3 * 8 = 24,最后一个分片。
* 结构图:

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

如果修改源代码,第二片IP包的偏移量也可以为0x4,偏移字节数就是
0x4 * 8 = 32。

下面的结构图表示了接收端重组分片的过程,分别对应于偏移字节数为24
和32两种情况:

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

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

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

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

|<--4-->|

可以看出,第二片IP包的偏移量小于第一片结束的位移,而且算上第二片
IP包的Data,也未超过第一片的尾部,这就是重叠现象(overlap)。老的Linux内核
(1.x - 2.0.x)在处理这种重叠分片的时候存在问题,WinNT/95在接收到10至50个
teardrop分片时也会崩溃。你可以阅读teardrop.c的源代码来了解如何构造并发送这种
数据包。

6. 如何阻止IP碎片攻击
-=-=-=-=-=-=-=-=-=-=-=
* Windows系统请打上最新的Service Pack,目前的Linux内核已经不受影
响。
* 如果可能,在网络边界上禁止碎片包通过,或者用iptables*每秒通
过碎片包的数目。
* 如果防火墙有重组碎片的功能,请确保自身的算法没有问题,否则被
DoS就会影响整个网络。
* Win2K系统中,自定义IP安全策略,设置“碎片检查”。

热心网友 时间:2022-06-30 14:56

没有这一说
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
临沂比较有名的男装品牌 呼伦贝尔市悦动网络科技有限公司怎么样? 呼伦贝尔中汇实业有限公司怎么样? 呼伦贝尔油玉不绝电子商务有限公司怎么样? 如何避免wps卡顿? 属鼠的男人找对象是属什么,属鼠的人和什么属相合 96年鼠的姻缘在哪年 属相相合年份运势提升 2024属鼠找对象属什么最佳 黑客攻击网站能报案吗 黑客攻击报案有用吗 在CDR里打一行字,然后在修改文字,字体就会变大。 cdr设计完字体高度,但输出来变大了呢? CDR打开后字体变大是什么原因 再过两年抖音粉丝不到1万的人会被封号这是真的吗? 如何备份数据库到本地映射网络驱动器 为什么全国卷高考文综政治文化生活只有一个选择题 2009高考全国二卷文综答案,不要图片版WORD版要手打能用手机在知道看的两小时内要 高考全国卷文综选择题要拿多少分 高考全国卷文综如何分配时间?35个选择题。和政史地的大题,希望有经验的哥哥姐姐们指点一下。谢谢。 手机上的CAD快速看图,能不能看到CAD里的ole 象棋中的“将”和“帅”有什么区别? 大将和元帅的区别 中国古代将与帅的区别 象棋中的将和帅有什么区别 中国古代中元帅和将军的区别 关于名将,帅才,将才的区分 借20万每个月利息7厘3是多少钱利息,三年后还本金20万, 将和帅有什么区别? 古代军队中的“将”和“帅”两个职位有什么区别? 车贷利息7厘3,贷款9万,三年,月供多少钱? 为什么coreldraw打字时会突然变大。 arp碎片攻击针对的是 AI或者CDR怎么实现文字逐渐变大的效果? 如何使用访问控制列表防御IP碎片攻击 coreldraw文件打开时字体变大 F-Secure 杀毒软件跳出“可疑小型数据包碎片,可能出现碎片攻击”怎么解决? CorelDRAW2018字号变大、字体名改变 最近经常受到网络攻击 opentear碎片攻击 最频繁的时候11分钟75次 每天9到11点都发生。 我的电脑经常被限制网速,还受到碎片攻击,怎么回事啊? 怎么解决ARP攻击、DDoS攻击、IP分片攻击? 瞬间碎片攻击是什么? opentear碎片攻击 瞬时碎片攻击是什么意思? 网速好不稳定有时候还掉线 360网络防火墙拦截到OPentear碎片攻击 我下载了P2P终结者反P2P终结者 无用 哎. 明基mx532投影仪如何看3D Benq明基MX532投影仪好不好 明基MX532投影用什么幕布 明基MW523投影机怎么样 这两天想买投影机。3000左右价位的我看上了“明基MS513P”店家也是这样推荐的。新问一下这款性价比如何! 老师,我们谈一谈。作文。