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

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

分片数量巨大攻击

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

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

巨大Offset攻击

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

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

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

重复分片攻击

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

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

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

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

Tear Drop攻击

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

如图8-1所示:

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

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

图8-1 Tear Drop攻击分片示意图

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

Syndrop攻击

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

如图8-2所示:

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

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

图8-2 Syndrop攻击分片示意图

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

NewTear攻击

NewTear攻击是分片错误的攻击。如图8-3所示,protocol使用UDP。第一片IP载荷28字节(包含UDP头部,UDP检验和为0);

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

图8-3 NewTear攻击分片示意图

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

Bonk攻击

Bonk攻击是分片错误的攻击。如图8-4所示,protocol使用UDP。第一片IP载荷为36字节(包含UDP头部,UDP检验和为0);

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

图8-4 Bonk攻击分片示意图

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

Nesta攻击

Nesta攻击是分片错误的攻击。如图8-5所示:第一片IP载荷为18,protocol为UDP,检验和为0;

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

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

图8-5 Nesta攻击分片示意图

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

Rose攻击

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

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

图8-6 Rose攻击分片示意图

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

Fawx攻击

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

图8-7 Fawx攻击分片示意图

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

Ping of Death攻击

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

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

Jolt攻击

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

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

分片报文的最后一片_分片报文攻击防范 - CloudEngine 12800, 12800E V200R005C10 配置指南-安全 - 华为...相关推荐

  1. 一个报文的路由器之旅_一个报文的路由器之旅

    ---------------------------------------------------------------------------------------------------- ...

  2. 分片报文的最后一片_IP分片(碎片)重组简单概念

    链路层具有最大传输单元MTU这个特性,它限制了数据帧的最大长度,不同的网络类型都有一个上限值.以太网的MTU是1500,可以用 netstat -i 命令查看这个值.如果IP层有数据包要传,而且数据包 ...

  3. python分片上传_分片上传_分片上传_上传文件_Python_SDK 示例_对象存储 OSS - 阿里云...

    OSS提供的分片上传(Multipart Upload)功能,将要上传的较大文件(Object)分成多个数据块(Part)来分别上传,上传完成后再调用CompleteMultipartUpload接口 ...

  4. IP分片和TCP分段解析--之IP分片

    本文目录 什么是IP分片 为什么会产生IP分片 为什么要避免IP分片 如何避免IP分片 什么是IP分片 IP协议栈将TCP/UDP传输层要求它发送的,但长度大于发送端口MTU的一个数据包,分割成多个I ...

  5. plupload分片上传php,plupload 大文件分片上传与PHP分片合并探索

    最近老大分给我了做一个电影cms系统,其中涉及到一个功能,使用七牛云的文件上传功能.七牛javascript skd,使用起来很方便,屏蔽了许多的技术细节.如果只满足与调用sdk,那么可能工作中也就没 ...

  6. jquery 分片上传php,php 大文件分片上传

    前端部分 上传 //上传控件 uploadBig('upload','zip,rar,7z,tar',{ id: '', type: 'upload_file', } ,(res)=>{ //t ...

  7. MySQL分片 --转自Peter Zaitsev对MySQL分片的建议

    本文作者Peter Zaitsev是知名数据库专家,2006年联合创立了Percona.负责维护网站"MySQL性能".同时,他也是<高性能MySQL>一书的联合作者. ...

  8. 集群节点数和分片数关系_Elasticsearch最佳实践之分片使用优化

    一.遇到的问题 与大多数分布式系统一样,Elasticsearch按照一定的Hash规则把用户数据切分成多个分片,然后打散到不同机器进行存储,从而实现大规模数据的分布式存储. cluster.png ...

  9. mysql 分区 mycat 分片_Mysql系列六:(Mycat分片路由原理、Mycat常用分片规则及对应源码介绍)...

    一.Mycat分片路由原理 我们先来看下面的一个SQL在Mycat里面是如何执行的: select * from travelrecord where id in(5000001, 10000001) ...

  10. 2021-05-12 MongoDB面试题 应该启动一个集群分片(sharded)还是一个非集群分片的 MongoDB 环境

    我应该启动一个集群分片(sharded)还是一个非集群分片的 MongoDB 环境? 为开发便捷起见,我们建议以非集群分片(unsharded)方式开始一个 MongoDB 环境,除非一台服务器不足以 ...

最新文章

  1. 解决ubuntu ufw开启时,kvm虚拟机网络全部无法访问
  2. yum 仓库 本地和在线
  3. mysql mariadb并存_MariaDB与MySQL并存
  4. java继承方法规则或规律
  5. maven的java工程取mysql数据库数据
  6. pycharm pyqt5 pyrrc_编程基础 | Pycharm安装、配置、快捷键
  7. Luogu P2309 loidc,卖卖萌
  8. inetd -- internet超级服务器
  9. python处理包_Python 包
  10. APUE 头文件apue.h 解决方法
  11. XCTF练习题---MISC---simple_transfer
  12. Set和Map数据结构。
  13. USB 3.0 对无线鼠标的干扰问题
  14. 洛阳九县八取名字_洛阳市地图(洛阳市九县六区地图)
  15. Android长截图与长图分享
  16. 字号与磅值的对应关系
  17. IPRAN 网络结构图
  18. 模拟web访问有登录且有验证码的登录后抓取数据
  19. 西电计算机初试复试占比,西安电子科技大学考研初试、考研复试成绩占比
  20. 这10个小技巧,让你的Python数据分析加速50%!

热门文章

  1. 磁盘类型 GetDriveType
  2. 关于listener
  3. Xen虚拟机加入Puppet环境如何解决时间同步问题
  4. 如何计算两向量的夹角
  5. 华为桌面云中怎么安装mysql8_安装MySQL8.0.18步骤以及可视化工具的连接问题。
  6. python中print的本质_Python之路---函数进阶??
  7. Layui默认表单校验规则
  8. YAF 接口 2016-10-27
  9. 前后端-SpringBoot-JPA的简单写法(配合前端vue)
  10. java3d/j3d源码位置