分片报文的最后一片_【网络干货】网络安全之分片报文攻击防范技术详解

分片报文攻击是通过向目标设备发送分片出错的报文,使得目标设备在处理分片错误的报文时崩溃、重启或消耗大量的 CPU 资源,给目标设备带来损失。

分片报文攻击防范是指设备实时检测出分片报文并予以丢弃或者限速处理,实现对本设备的保护。

分片报文攻击主要分为以下几类:

1、分片数量巨大攻击

IP 报文中的偏移量是以 8 字节为单位的。正常情况下, IP 报文的头部有 20 个字节, IP 报文的最大载荷为 65515。

对这些数据进行分片,分片个数最大可以达到 8189 片,对于超过 8189 的分片报文,设备在重组这些分片报文时会消耗大量的 CPU 资源。

启用分片报文攻击防范后,针对分片数量巨大攻击,如果同一报文的分片数目超过 8189 个,则设备认为是恶意报文,丢弃该报文的所有分片。

2、巨大 Offset 攻击

攻击者向目标设备发送一个 Offset 值超大的分片报文,从而导致目标设备分配巨大的内存空间来存放所有分片报文,消耗大量资源。

Offset 字段的最大取值为 65528,但是在正常情况下, Offset 值不会超过 8190(如果 offset=8189*8, IP 头部长度为 20,最后一片报文最多只有 3 个字节 IP 载荷,所以正常 Offset 的最大值是 8189),所以如果 Offset 值超过 8190,则这种报文即为恶意攻击报文,设备直接丢弃。

启用分片报文攻击防范后,设备在收到分片报文时判断 Offset*8 是否大于 65528,如果大于就当作恶意分片报文直接丢弃。

3、重复分片攻击

重复分片攻击就是把同样的分片报文多次向目标主机发送,存在两种情况:

 多次发送的分片完全相同,这样会造成目标主机的 CPU 和内存使用不正常;

 多次发送的分片报文不相同,但 Offset 相同,目标主机就会处于无法处理的状态:哪一个分片应该保留,哪一个分片应该丢弃,还是都丢弃。这样就会造成目标主机的 CPU 和内存使用不正常。

启用分片报文攻击防范后,对于重复分片类报文的攻击,设备实现对分片报文进行 CAR(Committed Access Rate)限速,保留首片,丢弃其余所有相同的重复分片,保证不对 CPU 造成攻击。

4、Tear Drop 攻击

Tear Drop 攻击是最著名的 IP 分片攻击,原理是 IP 分片错误,第二片包含在第一片之中。即数据包中第二片 IP包的偏移量小于第一片结束的位移,而且算上第二片 IP 包的 Data,也未超过第一片的尾部。

如图所示:

 第一个分片 IP 载荷为 36 字节,总长度为 56 字节, protocol 为 UDP, UDP 检验和为 0(没有检验);

 第二片 IP 载荷为 4 字节,总长度为 24 字节, protocol 为 UDP, Offset=24(错误,正确应该为 36)。

Tear Drop 攻击分片示意图

Tear Drop 攻击会导致系统崩溃或重启。启用分片报文攻击防范后,对于 Tear Drop 攻击,设备会直接丢弃所有分片报文。

5、Syndrop 攻击

Syndrop 攻击原理和 Tear Drop 原理一致,区别在于 Syndrop 攻击使用了 TCP 协议, Flag 为 SYN,而且带有载荷。

如图所示:

 第一片 IP 载荷为 28 字节, IP 头部 20 字节;

 第二片 IP 载荷为 4 字节, IP 头部 20 字节, Offset=24(错误,正确应该是 28)。

Syndrop 攻击分片示意图

Syndrop 攻击会导致系统崩溃或重启。启用分片报文攻击防范后,对于 Syndrop 攻击,设备会直接丢弃所有分片报文。

6、NewTear 攻击

NewTear 攻击是分片错误的攻击。如图所示, protocol 使用 UDP。

 第一片 IP 载荷 28 字节(包含 UDP 头部, UDP 检验和为 0);

 第二片 IP 载荷 4 字节, 0ffset=24(错误,正确应该是 28)。

NewTear 攻击分片示意图

NewTear 攻击会导致系统崩溃或重启。启用分片报文攻击防范后,对于 NewTear 攻击,设备会直接丢弃所有分片报文。

7、Bonk 攻击

Bonk 攻击是分片错误的攻击。如图所示, protocol 使用 UDP。

 第一片 IP 载荷为 36 字节(包含 UDP 头部, UDP 检验和为 0);

 第二片 IP 载荷为 4 字节, offset=32(错误,正确应该是 36)。

Bonk 攻击分片示意图

Bonk 攻击会导致系统崩溃或重启。启用分片报文攻击防范后,对于 Bonk 攻击,设备会直接丢弃所有分片报文。

8、Nesta 攻击

Nesta 攻击是分片错误的攻击。如图所示:

 第一片 IP 载荷为 18, protocol 为 UDP,检验和为 0;

 第二片 offset 为 48, IP 载荷为 116 字节;

 第三片 offset 为 0, more frag 为 1,也就是还有分片, 40 字节的 IP option,都是 EOL, IP 载荷为 224 字节。

Nesta 攻击分片示意图

Nesta 攻击会导致系统崩溃或重启。启用分片报文攻击防范后,对于 Nesta 攻击,设备会直接丢弃所有分片报文。

9、Rose 攻击

IP protocol 可以是 UDP 或 TCP,可以选择。

如果 IP protocol 是 TCP:

 第一片 IP 载荷为 48 字节(包含 TCP 头部), IP 头部 20 字节;

 第二片 IP 报文的载荷为 32 字节,但是 offset=65408, more frag=0,即最后一片。

如果 IP protocol 是 UDP:

 第一片载荷长度 40 字节(包含 UDP 头部, UDP 校验和为 0), IP 头部 20 字节;

 第二片 IP 报文的载荷为 32 字节,但是 offset=65408, more frag=0,即最后一片。

Rose 攻击分片示意图

Rose 攻击会导致系统崩溃或重启。启用分片报文攻击防范后,对于 Rose 攻击,设备会直接丢弃所有分片报文。

10、Fawx 攻击

Fawx 攻击是一种分片错误的 IGMP 报文。

如图 , Fawx 攻击的特征是:发送 IGMP 报文分片,一共两片,第一片 9 个字节,第二个分片 offset=8,载荷长度为 16 字节,没有结束分片。

Fawx 攻击分片示意图

Fawx 攻击会导致系统崩溃或重启。启用分片报文攻击防范后,对于 Fawx 攻击,设备会直接丢弃所有分片报文。

11、Ping of Death 攻击

Ping of Death 攻击原理是攻击者发送一些尺寸较大(数据部分长度超过 65507 字节)的 ICMP 报文对设备进行攻击。设备在收到这样一个尺寸较大的 ICMP 报文后,如果处理不当,会造成协议栈崩溃。

启用分片报文攻击防范后,设备在收到这种攻击报文后,直接丢弃该报文。

12、Jolt 攻击

Jolt 攻击是攻击者发送总长度大于 65535 字节的报文对设备进行攻击。Jolt 攻击报文一共 173 个分片,每个分片报文的 IP 载荷为 380 字节,因此总长度为:173*380+20=65760,远远超过 65535。设备在收到这样的报文时,如果处理不当,会造成设备崩溃、死机或重启。

启用分片报文攻击防范后,设备在收到 Jolt 攻击报文后,直接丢弃该报文。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值