一、什么是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到服务器,直到连接快超时前才读取一个字节,这样方式以消耗服务器的连接和内存资源。
2.Slow headers攻击
Web应用在处理HTTP请求之前都要先接受完所有的HTTP头部,Web 服务器在没接收到2个连续的\r\n时,会认为客户端没有发送完头部,而持续的等客户端发送数据。
攻击者就是利用了这点,对服务器发起一个HTTP请求,一直不停的发送HTTP头部,但是HTTP头字段不发送结束符,之后发送其他字段,而服务器在处理之前需要先接收完所有的HTTP头部,导致连接一直被占用,这样就消耗了服务器的连接和内存资源;
3.Slow body攻击
攻击者发送一个HTTP POST请求,并将总报文长度设置为一个很大数值,表示要发送大量数据,服务器就会保持连接准备接收数据。
但是在随后的数据发送中,每次却只发送很小的报文(比如10-100s发一个字节),这样导致服务器端一直等待攻击者发送数据,以此消耗服务器的资源。
五、HTTP慢速攻击的防御措施
上述我们了解到了关于HTTP慢连接攻击的三种攻击方式,我们可以举个简单的例子再加强理解,比如一个餐馆,通常用餐的步骤是:点菜、用餐、付款。
HTTP慢连接攻击,攻击者就像是看这个餐馆不顺眼的人,他雇佣了许多看似正常的客人进来用餐,但是做出一些不是正常用户会出的事情,结果就会发生了许多不正常的情况。
六、针对HTTP慢速攻击,我们可以采取以下防御措施
1.限制连接数
在服务器端设置最大连接数限制,防止攻击者通过大量半开连接占满服务器资源。
2.设定超时时间
对web服务器的HTTP头部传输的最大许可时间进行限制,为每个连接设置合理的超时时间,当连接在一定时间内没有活动时,自动关闭该连接。
3.针对HTTP慢速攻击的特点,对每秒钟HTTP并发连接数进行检查,若发现如POST报文的报文头都没有结束标识等异常,断开此IP地址与HTTP服务器的连接。
4.使用安全设备
部署专业的网络安全设备,像德迅云安全的安全加速SCDN,可以进行慢连接攻击防御,对如Slow Headers攻击,可以通过检测请求头超时时间、最大包数量阈值进行有效防护,提高服务器的安全防护能力。
一:德迅云安全高防服务器
德迅云安全在浙江部署的T3级别数据中心,具备完善的机房设施,自建光纤网络,核心骨干网络有效保证高品质的网络环境和丰富的带宽资源,同时接入统一的系统管理平台,资源调配更轻松,使系统安全、可靠、稳定、高效运行。
海量DDoS清洗:大防护带宽,平均延迟小于50ms,从容应对大流量攻击。
全方位防护:全面支持SYN Flood、ACK Flood、ICMP Flood、UDP Flood、NTP Flood、DNS Flood、HTTP Flood、CC攻击等常见攻击类型的防护。
全业务支持:支持TCP、UDP、HTTP/HTTPS等协议,满足游戏、APP、网站、金融等各种类型的业务需求。
指纹式防御算法:防御游戏空连接、慢连接、恶意踢人攻击,采用IP信誉库、IP+Co-okie、IP+Key防御CC攻击,全球僵尸网络库攻击溯源
第二款:安全加速SCDN
安全加速(Secure Content Delivery Network,SCDN)是德迅云安全推出的集分布式DDoS防护、CC防护、WAF防护、BOT行为分析为一体的安全加速解决方案。已使用内容分发网络(CDN)或全站加速网络(ECDN)的用户,可为加速域名一键开启安全防护相关配置,全方位保障业务内容分发。
OWASP TOP 10威胁防护:有效防御 SQL注入、XSS攻击、命令/代码执行、文件包含、木马上传、路径穿越、恶意扫描等OWASP TOP 10攻击。专业的攻防团队7*24小时跟进0day漏洞,分析漏洞原理,并制定安全防护策略,及时进行防护。
AI检测和行为分析:通过对德迅云积累海量日志进行学习和训练输出多种Web安全防护模型,对用户多请求的多元因子进行智能分析,有效提高检出率,降低误报率;通过信息孤岛、行为检测分析,识别恶意攻击源,保护网站安全。
智能语义解析引擎:提供智能语义解析功能,在漏洞防御的基础上,增强SQL注入和XXS攻击检测能力。
应用层DDoS防护:CC、HTTP Flood攻击防御
人机校验:当请求与网站正常访问基线不一致时,启动人机校验(如JS验证、META验证等)方式进行验证,拦截攻击。
慢连接攻击防御:对Slow Headers攻击,通过检测请求头超时时间、最大包数量阈值进行防护。 对Slow Post攻击,通过检测请求小包数量阈值进行防护。
网页防篡改:采用强制静态缓存锁定和更新机制,对网站特定页面进行保护,即使源站相关网页被篡改,依然能够返回给用户缓存页面。
数据防泄漏:对response报文进行处理,对响应内容和响应进行识别和过滤,根据需要设置数据防泄漏规则,保护网站数据安全。