前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >安全测试丨慢速攻击的三种形式和防护思路

安全测试丨慢速攻击的三种形式和防护思路

原创
作者头像
德迅云安全--陈琦琦
发布2024-05-14 22:17:06
2030
发布2024-05-14 22:17:06

什么是HTTP慢速连接攻击?

HTTP慢速攻击(Slowloris Attack)是一种利用HTTP协议特性进行的攻击方式。攻击者通过发送大量的半开连接请求到目标服务器,每个连接请求只发送少量的数据,并长时间保持连接不断开。

这样,攻击者可以逐渐占满服务器的连接资源,导致服务器无法处理正常的请求,从而造成拒绝服务(DoS)或分布式拒绝服务(DDoS)的效果。

由于这种攻击方式发送的请求都是合法的,因此很难被传统的防火墙或入侵检测系统所识别。同时,慢速攻击还可以与其他攻击方式相结合,形成更为复杂的攻击链,进一步提高攻击的成功率和隐蔽性。

HTTP慢速攻击的特点

  1. 隐蔽性高:慢速攻击利用的是HTTP协议的合法特性,因此很难被传统的安全设备所识别。
  2. 占用资源少:每个慢速连接只发送少量的数据,因此攻击者可以使用较少的资源发起大量的攻击。
  3. 攻击效果显著:通过占用服务器的连接资源,慢速攻击可以迅速导致服务器性能下降,甚至崩溃。

HTTP慢速连接攻击原理

HTTP慢速连接攻击是CC攻击的变种,对任何一个允许HTTP访问的服务器,攻击者先在客户端上向该服务器建立一个content-length比较大的连接,然后通过该连接以非常低的速度(例如,1秒~10秒发一个字节)向服务器发包,并维持该连接不断开。

由于HTTP请求底层使用TCP网络连接进行会话,因此如果中间件对会话超时时间设置不合理,并且HTTP在发送请求的时候采用了这种慢速连接发HTTP请求,并维持该连接不断开,就会导致占用一个HTTP连接会话。

如果攻击者在客户端上不断建立这样的连接,服务器上可用的连接和服务器正常资源将慢慢被占满,从而导致服务器拒绝用户正常的访问请求,也就产生了拒绝服务攻击的效果。

HTTP慢速连接攻击种类

HTTP慢速连接攻击主要分为三种:Slow read攻击、Slow headers攻击、Slow body攻击。

  1. Slow read

攻击攻击者建立连接后发送完整的请求给服务器端,然后一直保持这个连接,以很低的速度读取Response或者让服务器误以为客户端很忙,如很长一段时间客户端不读取任何数据,通过发送Zero Window到服务器,直到连接快超时前才读取一个字节,这样方式以消耗服务器的连接和内存资源。

Slowloris Read攻击原理图:

  1. Slow headers

攻击Web应用在处理HTTP请求之前都要先接受完所有的HTTP头部,Web 服务器在没接收到2个连续的\r\n时,会认为客户端没有发送完头部,而持续的等客户端发送数据。

攻击者就是利用了这点,对服务器发起一个HTTP请求,一直不停的发送HTTP头部,但是HTTP头字段不发送结束符,之后发送其他字段,而服务器在处理之前需要先接收完所有的HTTP头部,导致连接一直被占用,这样就消耗了服务器的连接和内存资源。

Slowloris Header攻击原理图:

  1. Slow body

攻击攻击者发送一个HTTP POST请求,并将总报文长度设置为一个很大数值,表示要发送大量数据,服务器就会保持连接准备接收数据。

但是在随后的数据发送中,每次却只发送很小的报文(比如10-100s发一个字节),这样导致服务器端一直等待攻击者发送数据,以此消耗服务器的资源。

Slowloris Body攻击原理图:

HTTP慢速攻击的防护思路

关于慢速攻击原理,有个比喻非常的形象,可以把被攻击的WEB服务器看作一个咖啡厅,通常用餐的步骤是:点单、付款、用餐,而攻击者就像是这个咖啡厅竞争对手,他雇佣了许多看似正常的客人进来用餐,结果就会发生了许多不正常的情况。

Slowloris Header攻击就像那种点餐犹豫不决的人,不停的说又一直说不清自己要点什么菜,Slowloris Body攻击就好比顾客结账,但却是从口袋一个一个摸硬币出来付款,Slowloris Read攻击就像吃完饭不离开一直霸占座位的客人,导致新的顾客无法进来就餐。

上面三种类型的顾客,其实共性就一个字:慢!如果咖啡厅想正常营业,就只能通过阻止这些捣乱的顾客,清理这些点餐慢、付款慢的顾客,限定用餐时长。

回到慢速攻击的真实场景,上面说到餐厅需要限制用餐时长,那我们就需要限制HTTP请求和响应时长,关于防护策略可以从安全设备层面和中间件层面考虑。

中间件层面

设置WEB服务器的HTTP头部传输时间限制,比如Apache2.2.15版本之后,通过mod_reqtimeout模块配置HTTP头部超时时间,如果在超时时间内没有完成传输,将断开连接,对于NGINX可以在配置文件中设置client_body_timeout和client_header_timeout超时时间来防护慢速攻击,其他中间件同样有类似的防护参数,其防护的思想基本相同,在此就不再赘述。

安全设备层面

德迅云安全的安全加速SCDN,对慢速攻击可以进行有效防护,有专门的防护策略

功能介绍:

Web攻击防护:(OWASP TOP 10威胁防护、智能语义解析引擎、AI检测和行为分析)

应用层DDoS防护:(CC、HTTP Flood攻击防御、慢连接攻击防御)

慢链接攻击防护说明

对Slow Headers攻击,通过检测请求头超时时间、最大包数量阈值进行防护。 对Slow Post攻击,通过检测请求小包数量阈值进行防护。

合规性保障:(自定义防护规则、网页防篡改、访问日志审计、数据防泄漏)

数据防泄漏说明

对response报文进行处理,对响应内容和响应进行识别和过滤,根据需要设置数据防泄漏规则,保护网站数据安全。

HTTP流量管理:(支持HTTP流量管理、请求头管理)

支持HTTP流量管理

·

可以设置源IP或者特点接口访问速率,对超过速率的访问进行排队处理,减缓服务器压力。

安全可视化:(四大安全分析报表、全量日志处理、实时数据统计)

实时数据统计说明

提供基于均值和峰值带宽统计信息,提供攻击带宽和正常占比,随时关注业务状况。提供多种组件,了解业务监控和核心指标变化情况。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 什么是HTTP慢速连接攻击?
  • HTTP慢速攻击的特点
  • HTTP慢速连接攻击原理
  • HTTP慢速连接攻击种类
  • HTTP慢速攻击的防护思路
    • 中间件层面
      • 安全设备层面
        • Web攻击防护:(OWASP TOP 10威胁防护、智能语义解析引擎、AI检测和行为分析)
        • 应用层DDoS防护:(CC、HTTP Flood攻击防御、慢连接攻击防御)
        • 合规性保障:(自定义防护规则、网页防篡改、访问日志审计、数据防泄漏)
        • HTTP流量管理:(支持HTTP流量管理、请求头管理)
        • 安全可视化:(四大安全分析报表、全量日志处理、实时数据统计)
    相关产品与服务
    消息队列 TDMQ
    消息队列 TDMQ (Tencent Distributed Message Queue)是腾讯基于 Apache Pulsar 自研的一个云原生消息中间件系列,其中包含兼容Pulsar、RabbitMQ、RocketMQ 等协议的消息队列子产品,得益于其底层计算与存储分离的架构,TDMQ 具备良好的弹性伸缩以及故障恢复能力。
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档