计算机网络基础知识_第1页
计算机网络基础知识_第2页
计算机网络基础知识_第3页
计算机网络基础知识_第4页
计算机网络基础知识_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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

2、般IP首部为20字节,UDP首部为8字节,数据的净 荷(payload)部分预留是1500-20-8=1472字节。如果数据部分大于1472字节,就会出现 分片现象。IP首部包含了分片和重组所需的信息:+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|Identification|R|DF|MF| Fragment Offset |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|Identification:发送端发送的IP数据包标识字段都是一个唯一值,该值在分片时被复制到每个

3、片中。R:保留未用。DF: Dont Fragment, “不分片”位,如果将这一比特置1,IP层将不对数据报进行分片。 MF: More Fragment,更多的片”,除了最后一片外,其他每个组成数据报的片都要把比 特置1。Fragment Offset:该片偏移原始数据包开始处的位置。偏移的字节数是该值乘以8。另外,当数据报被分片后,每个片的总长度值要改为该片的长度值。每一 IP分片都各自路由,到达目的主机后在IP层重组,请放心,首部中的数据能够正确完 成分片的重组。你不禁要问,既然分片可以被重组,那么所谓的碎片攻击是如何产生的呢?IP碎片攻击IP首部有两个字节表示整个IP数据包的长度,所

4、以IP数据包最长只能为0 xFFFF,就是65535 字节。如果有意发送总长度超过65535的IP碎片,一些老的系统内核在处理的时候就会出 现问题,导致崩溃或者拒绝服务。另外,如果分片之间偏移量经过精心构造,一些系统就无 法处理,导致死机。所以说,漏洞的起因是出在重组算法上。下面我们逐个分析一些著名的 碎片攻击程序,来了解如何人为制造IP碎片来攻击系统。ping o deathping o death是利用ICMP协议的一种碎片攻击。攻击者发送一个长度超过65535的Echo Request数据包,目标主机在重组分片的时候会造成事先分配的65535字节缓冲区溢出,系 统通常会崩溃或挂起。pin

5、g不就是发送ICMP Echo Request数据包的吗?让我们尝试攻击 一下吧!不管IP和ICMP首部长度了,数据长度反正是多多益善,就65535吧,发送一个包:# ping -c 1 -s 65535 192.168.0.1Error: packet size 65535 is too large. Maximum is 65507不走运,看来Linux自带的ping不允许我们做坏事。65507是它计算好的:65535-20-8=65507。Win2K下的ping更抠门,数据只允许65500大小。 所以你必须找另外的程序来发包,但是目前新版本的操作系统已经搞定这个缺陷了,所以你 还是继续往

6、下阅读本文吧。顺便提一下,记得99年有“爱国主义黑客”(“红客”的前辈)发动全国网民在某一时刻 开始ping某美国站点,试图ping死远程服务器。这其实是一种ping flood攻击,用大量 的Echo Request包减慢主机的响应速度和阻塞目标网络,原理和ping o death是不一样 的,这点要分清楚。jolt2jolt2.c是在一个死循环中不停的发送一个ICMP/UDP的IP碎片,可以使Windows系统的机 器死锁。我测试了没打SP的Windows 2000,CPU利用率会立即上升到100%,鼠标无法移动。我们用网络分析产品分别抓取采用ICMP和UDP协议发送的数据包。发送的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发送的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从上面的结果可以看出:*分片标志位MF=0,说明是最后一个分片。*偏移量为0 x1FFE,计算重组后的长度为(0 x1FFE * 8) + 29 = 65549 65535,溢出。* IP包的ID为1109,可以作为IDS检测的一个特征。ICMP 包:类型为8、代码为0,是Echo Request;校验和为0 x0000,程序没有计算校验,所以确切的说这个ICMP包是非法的。UDP 包:目的端口由用户在命令参数中指定;源端口是目的端口和1235进行OR的结果;校验和为0 x0000,和ICMP的一样,没有计算,非法的UDP。净荷部分只有一个字符

9、a。jolt2.c应该可以伪造源IP地址,但是源程序中并没有把用户试图伪装的IP地址赋值给src_a ddr,不知道作者是不是故意的。jolt2的影响相当大,通过不停的发送这个偏移量很大的数据包,不仅死锁未打补丁的Windows系统,同时也大大增加了网络流量。曾经有人利用jolt2模拟网络流量,测试IDS在高负载流量下的攻击检测效率,就是利用这个特性。teardropteardrop也比较简单,默认发送两个UDP数据包,就能使某些Linux内核崩溃。网络分析产品抓取的结果如下:第一个: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包的第一个。*结构图:|+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-|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,偏移字节数为0 x3 * 8 = 24,最后一个分片。*结构图:| |+-+-+-+-+-+-+-+-+-+-+-+-+|IP| Data |+-+-+-+-+-+-+-+-+-+-+-+-+如果修改源代码,第二片IP包的偏移量也可以为0 x4,偏移字节数就是0 x4 * 8 = 32。下面的结构图表示了接收端重组分片的过程,分别对应于偏移字节数为24和32两种情况: |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-|IP| UDP|Data|+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-|+-+-+-+-+| Data |+-+-+-+-+|+-+-+-+-+| Data |+-+-+

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论