分片报文攻击防范

分片报文攻击防范解析

 DOS防攻击,分片报文攻击是通过向目标设备发送分片出错的报文,使得目标设备在处理分片错误的报文时崩溃、重启或消耗大量的CPU资源,给目标设备带来损失。分片报文攻击防范是指设备实时检测出分片报文并予以丢弃或者限速处理,实现对本设备的保护。

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

分片数量巨大攻击

IP报文中的偏移量是以8字节为单位的。正常情况下,IP报文的头部有20个字节,IP报文的最大载荷为65515。对这些数据进行分片,分片个数最大可以达到8189片,对于超过8189的分片报文,设备在重组这些分片报文时会消耗大量的CPU资源。

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

报文特征如下:1)、IP分片报文;2)、分片数目超过8189

失败动作:丢弃该报文所有分片包

巨大Offset攻击

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

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

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

报文特征如下:1)、IP报文;2)、Offset * 8 > 65528

识别动作:丢弃

重复分片攻击

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

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

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

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

报文特征如下:多次收取分片报文的Offset相同;

识别动作:Car限速、保留首片。

Tear Drop攻击

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

图1所示:

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

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

图1Tear Drop攻击分片示意图
 

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

报文特征如下:1)、IP分片报文;2)、数据包中第二片IP包的偏移量小于第一片结束的位移,而且算上第二片IP包的Data,也未超过第一片的尾部

识别动作:丢弃

Syndrop攻击

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

图2所示:

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

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

图2Syndrop攻击分片示意图
 

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

报文特征如下:1)、TCP SYN分片报文;2)、数据包中第二片IP包的偏移量小于第一片结束的位移,而且算上第二片IP包的Data,也未超过第一片的尾部

识别动作:丢弃

NewTear攻击

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

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

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

图3NewTear攻击分片示意图
 

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

报文特征如下:1)、UDP分片报文;2)、数据包中第二片IP包的偏移量小于第一片结束的位移,而且算上第二片IP包的Data,也未超过第一片的尾部

识别动作:丢弃

Bonk攻击

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

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

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

图4Bonk攻击分片示意图
 

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

报文特征如下:1)、UDP分片报文;2)、数据包中第二片IP包的偏移量小于第一片结束的位移

识别动作:丢弃

Nesta攻击

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

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

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

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

图5Nesta攻击分片示意图
 

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

报文特征如下:1)、UDP分片包;2)、见上述UDP描述

识别动作:丢弃

Rose攻击

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

图6所示:

如果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,即最后一片。

图6Rose攻击分片示意图
 

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

报文特征如下:1)、TCP或UDP分片包;2)、见上述TCP或UDP描述

识别动作:丢弃

Fawx攻击

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

图7Fawx攻击分片示意图
 

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

报文特征如下:1)、IGMP分片报文;2)、第一片9个字节,第二个分片offset=8,载荷长度为16字节,没有结束分片

识别动作:丢弃

Ping of Death攻击

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

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

报文特征如下:1)、数据报文长度超过65507字节的ICMP报文

识别动作:丢弃

Jolt攻击

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

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

报文特征如下:1)、一共173个分片,每个分片报文的IP载荷为380字节,共65760

识别动作:丢弃 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值