文档章节

CC攻击的变异品种 慢速攻击

小猪猪的风
 小猪猪的风
发布于 2015/09/08 18:59
字数 2235
阅读 280
收藏 13

DDoS攻击凭借其严重的后果以及简单的操作,一直都是攻防中重要的攻击方式。随着DDoS攻击的演变,信息安全的防御也在同步升级。发展到今天,DDoS攻击已经多种多样。本文简要分析了CC攻击中的慢速攻击以及防护策略。

CC攻击的本名叫做HTTP-FLOOD,是一种专门针对于Web的应用层FLOOD攻击,攻击者操纵网络上的肉鸡,对目标Web服务器进行海量http request攻击,直到服务器带宽被打满,造成了拒绝服务。

由于伪造的http请求和客户正常请求没有区别,对于没有流量清洗设备的用户来说,这无疑就是噩梦。而我们今天谈的这种攻击方式,就是CC攻击的一个变异品种——慢速攻击。

什么是慢速攻击

一说起慢速攻击,就要谈谈它的成名历史了。HTTP Post慢速DoS攻击第一次在技术社区被正式披露是2012年的OWASP大会上,由Wong Onn Chee 和 Tom Brennan共同演示了使用这一技术攻击的威力。

这个攻击的基本原理如下:对任何一个开放了HTTP访问的服务器HTTP服务器,先建立了一个连接,指定一个比较大的content-length,然后以非常低的速度发包,比如1-10s发一个字节,然后维持住这个连接不断开。如果客户端持续建立这样的连接,那么服务器上可用的连接将一点一点被占满,从而导致拒绝服务。

和CC攻击一样,只要Web服务器开放了Web服务,那么它就可以是一个靶子,HTTP协议在接收到request之前是不对请求内容作校验的,所以即使你的Web应用没有可用的form表单,这个攻击一样有效。

在客户端以单线程方式建立较大数量的无用连接,并保持持续发包的代价非常的低廉。实际试验中一台普通PC可以建立的连接在3000个以上。这对一台普通的Web server,将是致命的打击。更不用说结合肉鸡群做分布式DoS了。

鉴于此攻击简单的利用程度、拒绝服务的后果、带有逃逸特性的攻击方式,这类攻击一炮而红,成为众多攻击者的研究和利用对象。

慢速攻击的分类

发展到今天,慢速攻击也多种多样,其种类可分为以下几种:

Slow headers:Web应用在处理HTTP请求之前都要先接收完所有的HTTP头部,因为HTTP头部中包含了一些Web应用可能用到的重要的信息。攻击者利用这点,发起一个HTTP请求,一直不停的发送HTTP头部,消耗服务器的连接和内存资源。抓包数据可见,攻击客户端与服务器建立TCP连接后,每30秒才向服务器发送一个HTTP头部,而Web服务器再没接收到2个连续的\r\n时,会认为客户端没有发送完头部,而持续的等等客户端发送数据。

\

\

 

    Slow body:攻击者发送一个HTTP POST请求,该请求的Content-Length头部值很大,使得Web服务器或代理认为客户端要发送很大的数据。服务器会保持连接准备接收数据,但攻击客户端每次只发送很少量的数据,使该连接一直保持存活,消耗服务器的连接和内存资源。抓包数据可见,攻击客户端与服务器建立TCP连接后,发送了完整的HTTP头部,POST方法带有较大的Content-Length,然后每10s发送一次随机的参数。服务器因为没有接收到相应Content-Length的body,而持续的等待客户端发送数据。

\

\

    Slow read:客户端与服务器建立连接并发送了一个HTTP请求,客户端发送完整的请求给服务器端,然后一直保持这个连接,以很低的速度读取Response,比如很长一段时间客户端不读取任何数据,通过发送Zero Window到服务器,让服务器误以为客户端很忙,直到连接快超时前才读取一个字节,以消耗服务器的连接和内存资源。抓包数据可见,客户端把数据发给服务器后,服务器发送响应时,收到了客户端的ZeroWindow提示(表示自己没有缓冲区用于接收数据),服务器不得不持续的向客户端发出ZeroWindowProbe包,询问客户端是否可以接收数据。

\

\

使用较多的慢速攻击工具有:Slowhttptest和Slowloris。

哪些服务器易被慢速攻击

慢速攻击主要利用的是thread-based架构的服务器的特性,这种服务器会为每个新连接打开一个线程,它会等待接收完整个HTTP头部才会释放连接。比如Apache会有一个超时时间来等待这种不完全连接(默认是300s),但是一旦接收到客户端发来的数据,这个超时时间会被重置。正是因为这样,攻击者可以很容易保持住一个连接,因为攻击者只需要在即将超时之前发送一个字符,便可以延长超时时间。而客户端只需要很少的资源,便可以打开多个连接,进而占用服务器很多的资源。

经验证,Apache、httpd采用thread-based架构,很容易遭受慢速攻击。而另外一种event-based架构的服务器,比如nginx和lighttpd则不容易遭受慢速攻击。

如何防护慢速攻击

Apache服务器现在使用较多的有三种简单防护方式。

mod_reqtimeout :Apache2.2.15后,该模块已经被默认包含,用户可配置从一个客户端接收HTTP头部和HTTPbody的超时时间和最小速率。如果一个客户端不能在配置时间内发送万头部或body数据,服务器会返回一个408REQUEST TIME OUT错误。配置文件如下:

< IfModule mod_reqtimeout.c >

RequestReadTimeout header=20-40,MinRate=500 body=20,MinRate=500

< /IfModule >

mod_qos:Apache的一个服务质量控制模块,用户可配置各种不同粒度的HTTP请求阈值,配置文件如下:

< IfModule mod_qos.c >

/# handle connections from up to 100000 different IPs

QS_ClientEntries 100000

/# allow only 50 connections per IP

QS_SrvMaxConnPerIP 50

/# limit maximum number of active TCP connections limited to 256

MaxClients 256

/# disables keep-alive when 180 (70%) TCP connections are occupied

QS_SrvMaxConnClose 180

/# minimum request/response speed (deny slow clients blocking the server, keeping connections open without requesting anything

QS_SrvMinDataRate 150 1200

< /IfModule >

mod_security:一个开源的WAF模块,有专门针对慢速攻击防护的规则,配置如下:

SecRule RESPONSE_STATUS “@streq 408″ “phase:5,t:none,nolog,pass, setvar:ip.slow_dos_counter=+1, expirevar:ip.slow_dos_counter=60, id:’1234123456′”

SecRule IP:SLOW_DOS_COUNTER “@gt 5″ “phase:1,t:none,log,drop,

msg:’Client Connection Dropped due to high number of slow DoS alerts’, id:’1234123457′”

传统的流量清洗设备针对CC攻击,主要通过阈值的方式来进行防护,某一个客户在一定的周期内,请求访问量过大,超过了阈值,清洗设备通过返回验证码或者JS代码的方式。这种防护方式的依据是,攻击者们使用肉鸡上的DDoS工具模拟大量http request,这种工具一般不会解析服务端返回数据,更不会解析JS之类的代码。因此当清洗设备截获到HTTP请求时,返回一段特殊JavaScript代码,正常用户的浏览器会处理并正常跳转不影响使用,而攻击程序会攻击到空处。

而对于慢速攻击来说,通过返回验证码或者JS代码的方式依然能达到部分效果。但是根据慢速攻击的特征,可以辅助以下几种防护方式:

1、周期内统计报文数量。一个TCP连接,HTTP请求的报文中,报文过多或者报文过少都是有问题的,如果一个周期内报文数量非常少,那么它就可能是慢速攻击;如果一个周期内报文数量非常多,那么它就可能是一个CC攻击。

2、限制HTTP请求头的最大许可时间。超过最大许可时间,如果数据还没有传输完成,那么它就有可能是一个慢速攻击。


本文转载自:http://www.2cto.com/Article/201508/437931.html

小猪猪的风
粉丝 14
博文 360
码字总数 60296
作品 0
厦门
私信 提问
墨者安全分享:CC攻击的变异品种--慢速攻击

对网络安全有过一定了解的人肯定都听过DDOS攻击和CC攻击,DDOS主要针对IP攻击,CC攻击主要是用来攻击网页的,两者都是通过控制大量僵尸网络肉鸡流量对目标发起攻击的,对于没有高防服务的企业...

墨者安全
2018/11/08
0
0
【云天防DDOS】如何解决网络防CC攻击/DDOS攻击

云天网络高速你:如何解决网络防CC攻击/DDOS攻击 ,如何解决网络防CC攻击/DDOS攻击,防CC攻击,防DDOS攻击,首选云天网络防流量攻击安全管家。官方网站:http://www.ytfirewall.com 云天DDOS防...

水晶枫叶
2011/11/18
318
1
全球银行网站成黑客主攻目标 阿里云提供安全防御应急方案

近日,阿里云监控发现,匿名者(Anonymous)组织成员正在发起针对全球中央银行网站的攻击行动,截止目前,国内有超过2家以上的重要网站被攻击,攻击特征主要为DDoS攻击和CC攻击。 此次事件中...

云安全专家
2018/12/15
0
0
DDOS攻击介绍

从昨晚的18:50分开始,每隔30分钟左右进行10G流量的ddos攻击,实在没招,只能使用阿里云的高防IP来防御。 主要的攻击是: 趁此机会,全面了解DDos攻击: (以下是总结内容来源: http://www...

robin_key
2017/05/31
0
0
阿里云DDOS高防 - 访问与攻击日志实时分析(一)

背景 DDOS攻击趋势 互联网界的安全一直都不断的面临着挑战,以ddos攻击为代表的网络威胁直接对网络安全产生严重的影响。 Ddos攻击正在朝着大规模、移动化、全球化的方向发展. 据近年来的调查...

成喆
2018/05/31
0
0

没有更多内容

加载失败,请刷新页面

加载更多

CSS--列表

一、列表标识项 list-style-type none:去掉标识项 disc:默认实心圆 circle:空心圆 squire:矩形 二、列表项图片 list-style-img: 取值:url(路径) 三、列表项位置 list-style-position:...

wytao1995
今天
6
0
linux 命令-文本比较comm、diff、patch

本文原创首发于公众号:编程三分钟 今天学了三个文本比较的命令分享给大家。 comm comm 命令比较相同的文本 $ cat charabc$ cat chardiffadc 比如,我有两个文件char和chardiff如上,...

编程三分钟
今天
7
0
QML教程

https://blog.csdn.net/qq_40194498/article/category/7580030 https://blog.csdn.net/LaineGates/article/details/50887765...

shzwork
今天
5
0
HA Cluster之5

对于使用heartbeat v2版的CRM配置的集群信息都是保存在一个名为cib.xml的配置文件中,存放在/var/lib/heartbeat/crm/下。CIB:Cluster Information Base,由于xml文件配置不是那么方便,所以...

lhdzw
今天
6
0
玩转Redis-Redis基础数据结构及核心命令

  《玩转Redis》系列文章主要讲述Redis的基础及中高级应用,文章基于Redis5.0.4+。本文主要讲述Redis的数据结构String,《玩转Redis-Redis基础数据结构及核心命令》相关操作命令为方便对比...

zxiaofan666
今天
11
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部