TCP连接耗尽攻击与防御

TCP是面向连接的协议,其通信双方必须保持连接状态,并且通过确认、重传、滑动窗口等机制,保证数据传输的可靠性和稳定性。攻击者利用 TCP 的上述特点,利用TCP连接消耗被攻击目标的系统资源。

连接耗尽攻击是指攻击者通过僵尸网络,向服务器发起大量的 TCP 连接,耗尽服务器的 TCP 连接资源。连接耗尽一般有以下几种攻击类型:

  • 完成三次握手后,不发送任何报文,一直维持这些 TCP 连接。

  • 完成三次握手后,立刻发送 FIN 或 RST 报文,释放本端连接,同时快速发起新的连接。

  • 连接过程中呈现给服务器端很小的 TCP windows size,导致服务器 TCP 协议栈资源耗尽。

  • 发送大量 TCP 重传请求,以很小的流量即可导致被攻击网络上行链路拥塞。

针对此攻击会耗尽服务器的 TCP 连接资源的特点, Anti-DDoS 设备对目的 IP 地址的新建连接速率和并发连接数分布进行统计,当新建连接速率或并发连接数大于阈值时,则触发对源 IP 地址的相应检查:

  • 源 IP 地址新建连接速率检查:启动源 IP 地址新建连接速率检查后,如果某个源P 地址在检查周期内发起的 TCP 新建连接数大于阈值,则将该源 IP 地址判定为攻击源。

  • 源 IP 地址并发连接数检查:启动源 IP 地址并发连接数检查后,如果某个源 IP 地址的 TCP 并发连接数大于阈值,则将该源 IP 地址判定为攻击源。

  • 慢速连接速率检查:启动慢速连接速率检查后,统计同一源 IP 地址对同一目的 IP址的连接次数,在各统计时间间隔内,如果连续多次连接数相同,则判定为TCP 慢速连接攻击。

  • 异常会话检查:如果在检查周期内,某个源 IP 地址发起的 TCP 异常会话的连接数大于阈值时,则将该源 IP 地址判定为攻击源。判定 TCP 异常会话依据如下:

  1. 空连接检查:如果在检查周期内,在某条 TCP 连接上通过的报文数小于阈值,则判定该连接为异常连接。

  2. 重传会话检查:当某条 TCP 连接上重传报文数量大于阈值时,则判定该连接为异常连接。

  3. 慢启动连接检查:当某条 TCP 连接上通过的报文窗口小于阈值时,则判定该连接为异常连接。

当检查发现异常时,将异常源 IP 地址加入黑名单,切断其 TCP 流量。

TCP异常报文攻击与防御

TCP报文标志位包括URG、 ACK、 PSH、 RST、 SYN、 FIN六位,其代表不同的含义,标志位的值置为1,表示该标志位起作用。

  • URG:置1时表示紧急指针有效。

  • ACK:置1时表示确认序号有效。

  • PSH:置1时表示接收方收到数据段后应该尽快送到应用程序。

  • RST:置1时表示重新建立连接。

  • SYN:置1时表示发起一个连接。

  • FIN:置1时表示发送方完成发送任务,释放连接。

这6个标志位在TCP交互过程中各司其职,标志位置必须严格遵循TCP规范。如果不遵循规范随意将标志位置0或置1,这类报文称为TCP异常报文。接收方处理这些异常报文时会消耗系统资源,甚至可能会导致系统崩溃。攻击者也可以利用TCP异常报文来发起DDoS攻击,向被攻击目标发送大量构造的TCP异常报文,导致被攻击目标系统资源耗尽、网络拥塞,无法正常提供服务。

下图给出了 Anti-DDoS 系统判定 TCP 异常报文的原则,通过这些检查项,AntiDDoS系统可以全面准确地防御TCP异常报文攻击。

TCP连接耗尽攻击异常报文攻击与防御相关推荐

  1. TCP原理篇之连接耗尽攻击异常报文攻击

    在前面的两篇贴子中,我们逐一介绍了利用TCP各种报文进行的Flood类攻击,以及华为Anti-DDoS解决方案的应对措施.由于TCP协议的重要性,攻击者们绞尽脑汁寻找协议可利用的弱点,针对TCP的攻击 ...

  2. Linux数据链路tcp失败,TCP连接中的异常断开情况处理

    1.TCP连接中可能出现的异常断开情况 假设存在这样一种情况:在两个不同的主机Machine1.Machine2系统上分别运行两个应用程序Application1.Application2,在Appl ...

  3. TCP连接中的异常情况

    TCP 保活机制( keepalive)可以在双方没有数据交互的情况,通过探测报文,来确定对方的 TCP 连接是否存活. 无数据交互的情况下的异常[主机崩溃|进程崩溃]: 1在没有开启 TCP kee ...

  4. 针对DDoS攻击异常流量攻击统计

    基本目标 时发现异常的流量攻击事件,并且自动上报清洗平台,完成流量清洗 攻击检测 Syn flood 基于检测对象,对pps做汇聚统计,当超过阈值时触发告警,告警内容包括:攻击类型.起始时间.流量大小 ...

  5. java tcp client 断开_HttpClient出现TCP连接异常关闭发送RST包

    问题现象 在与第三方系统通过http交互数据的过程中,抓包发现每次TCP连接都是异常关闭,报文如下: 可以看到,由我方发起3次握手建立连接,然后发送http请求,对方响应数据,我方ACK后直接发RST ...

  6. DDoS攻击、CC攻击

    DDoS 1.简介 DDoS即"分布式拒绝服务",简而言之,凡是能导致合法用户不能够访问正常网络服务的行为都算是拒绝服务攻击.也就是说拒绝服务攻击的目的就是要阻止合法用户对正常网络 ...

  7. TCP协议-TCP连接管理

    一.TCP概述 TCP协议是 TCP/IP 协议族中一个非常重要的协议.它是一种面向连接.提供可靠服务.面向字节流的传输层通信协议. TCP(Transmission Control Protocol ...

  8. 拒绝服务攻击/分布式拒绝服务攻击

    拒绝服务(Denial of Service,简称DoS) 是一种简单的破坏性攻击.通常是利用传输协议下的某个弱点.系统存在的漏洞.或服务器的漏洞.对目标系统发起大规模的进攻.用超出目标处理能力的海量 ...

  9. 【计算机网络】传输层 : TCP 连接管理 ( TCP 连接建立 | 三次握手 | TCP 连接释放 | 四次挥手 )

    文章目录 一.TCP 连接管理 二.TCP 连接建立 三.TCP 连接建立 相关报文段 字段 四.SYN 洪泛攻击 五.TCP 连接释放 一.TCP 连接管理 TCP 传输数据过程 : 建立连接 -& ...

最新文章

  1. PHP 预编译加速: eAccelerator的安装和性能比较
  2. python培训比较好的机构-python哪家的培训比较好?
  3. crc可以检出奇数个错误_计算机网络最新章节_陈虹著_掌阅小说网
  4. 【高并发】ThreadLocal、InheritableThreadLocal
  5. macbook里软件打不开说是没有权限
  6. TJUSCSST第三次作业
  7. windows快速全局检索文件工具-Listary
  8. 如何构建创新文化——技术视角
  9. 路由器怎么用自己的笔记本电脑进行配置
  10. 数据结构之Python实现二分法查找dichotomy
  11. windows 8 Surface 会成功吗?
  12. 记一次淘宝开放平台开通电商软件服务商ISV
  13. matlab图像的恢复
  14. 基于opencv的人脸检测
  15. 小马哥-----高仿米4拆机 刷机主板多图展示 主板为x77 型号k6 6582芯片 14年底版本
  16. 软件无线电技术简介及特点应用
  17. 函数连续,函数可微,函数可导,偏导数存在,偏导数连续之间的关系
  18. 而多乐在线书签导入html文件,,简单介绍HTML5中的文件导入
  19. Java JDK中几个经典的版本
  20. PC与三菱PLC 485BD模块 无协议通讯模式

热门文章

  1. 【MOOC-生物信息学-生物数据库】
  2. 电商卖家如何有效提升转化率?
  3. Spring自定义参数解析器
  4. JavaScript权威指南7(四) 第十一章 JavaScript 标准库
  5. 用 .pth 文件附加 Python 模块搜索路径
  6. 成立两只产业基金,微盟如何布局SaaS生态?
  7. 结构化设计向导与IP核生成工具——IP核生成时.xaw与.xco的区别
  8. 集大计算机与科学的研究生,明天,我是研究生丨感谢集大,我遇见了更好的自己...
  9. centos7下搭建lnmp环境包含yum源直接安装和源码编译安装,以及php5.3和php7.6版本
  10. PWN入门(9)NX enabled,PIE enabled与返回LibC库