常见应用层 DDoS 攻击
本文分享自天翼云开发者社区《常见应用层DDoS攻击》,作者:罗****文
DDoS(分布式拒绝服务)应用层攻击是一种针对网络应用层的攻击方式。应用层是网络协议栈中最高级别的层次,负责处理用户与网络应用之间的交互。
在应用层攻击中,攻击者通过发送大量的恶意请求或者利用应用层协议的漏洞,使目标应用服务器无法正常处理合法用户的请求,从而导致服务不可用或者严重延迟。这种攻击方式通常会对服务器的处理能力、带宽和资源造成巨大压力,从而耗尽服务器的资源,导致正常用户无法访问目标应用。
应用层攻击可以采用多种方式进行,包括但不限于以下几种:
CC 攻击
CC(Challenge Collapsar,挑战黑洞),黑洞是早期的一款 DDoS 防御产品,为了绕过黑洞的检测,攻击者而发起的一种攻击。
黑客利用代理服务器或者控制的肉鸡,向目标 web 网页发送大量的请求(尤其是需要频繁查询数据库的请求),致使 CPU 处理不过来这么多的请求,长期处于 100%的状态,从而无法处理正常请求。又因从代理服务器或者肉鸡发起的请求具有正常的协议栈行为,混淆在合法请求之中,无法被传统的 DDoS 防御产品分辨。
Slowloris 慢速攻击
攻击者利用 HTTP 协议的特性,发送大量的半连接到服务器,使服务器的连接资源被耗尽,导致无法接受新的连接请求。慢速攻击主要分为以下三种类型:
Slow headers:Web 应用在处理 HTTP 请求之前都要先接收完所有的 HTTP 头部,攻击者发起一个 HTTP 请求,一直不停的发送 HTTP 头部,消耗服务器的连接和内存资源。
Slow body:攻击者发送一个 HTTP POST 请求,该请求的 Content-Length 头部值很大,但攻击客户端每次只发送很少量的数据,使该连接一直保持存活,消耗服务器的连接和内存资源。
Slow read:客户端发送完整的请求给服务器端,然后一直保持这个连接,以很低的速度读取 Response,比如通过发送 Zero Window 到服务器,让服务器误以为客户端很忙,以消耗服务器的连接和内存资源。
DNS 攻击
DNS(域名系统)攻击是指攻击者利用 DNS 协议的漏洞或者恶意操作,对域名系统进行攻击的行为。DNS 攻击可以导致域名解析错误、DNS 服务器故障、服务不可用或者用户被重定向到恶意网站等问题。以下是几种常见的 DNS 攻击类型:
DNS 劫持:攻击者通过篡改 DNS 响应数据,将合法用户的域名解析请求重定向到恶意的 IP 地址,从而使用户访问到恶意网站或者受到钓鱼等攻击。
DNS 缓存投毒:攻击者通过发送伪造的 DNS 响应数据,将恶意的域名与 IP 地址映射关系存储到 DNS 缓存服务器中,使正常用户的域名解析请求被重定向到恶意的 IP 地址。
DNS 放大攻击:攻击者利用开放的 DNS 服务器进行攻击,发送小型的 DNS 请求到开放的 DNS 服务器,但在响应中返回大量的数据,从而使目标服务器的带宽被耗尽。
DNS 隧道:攻击者利用 DNS 协议的特性,将非法的数据或者命令通过 DNS 请求和响应的数据字段进行传输,从而绕过网络安全设备的检测和防御。
DNS 拒绝服务(DNS DoS):攻击者通过发送大量的恶意 DNS 请求,使目标 DNS 服务器的处理能力被耗尽,导致合法用户无法正常解析域名。
SSL/TLS 攻击
SSL/TLS(安全套接层/传输层安全)类型的 DDoS(分布式拒绝服务)攻击通常是通过利用 SSL/TLS 协议的特性和资源消耗来对目标服务器进行攻击。以下是几种常见的 SSL/TLS 类型的 DDoS 攻击:
SSL/TLS 握手攻击:攻击者发送大量的 SSL/TLS 握手请求到目标服务器,消耗服务器的计算资源和网络带宽。这种攻击通常利用了 SSL/TLS 握手过程中的资源密集型计算,如公钥加密和数字签名验证,导致服务器无法处理正常的客户端请求。
SSL/TLS 重协商攻击:攻击者利用 SSL/TLS 协议中的重协商特性来进行攻击。攻击者在握手过程中发送大量的重协商请求,导致服务器频繁地重新计算和验证握手参数,从而消耗服务器资源,降低服务器的性能和可用性。
SSL/TLS 加密攻击:攻击者利用 SSL/TLS 协议中的加密和解密过程的资源消耗来进行攻击。攻击者发送大量的加密请求,要求服务器进行加密和解密操作,从而消耗服务器的计算资源和带宽。
SSL/TLS 会话重放攻击:攻击者截获合法的 SSL/TLS 会话数据,并将其重放到目标服务器上。目标服务器会进行解密和处理这些重放的会话数据,从而消耗服务器的资源。这种攻击通常需要攻击者能够截获和重放 SSL/TLS 会话数据。
SSL/TLS 协议版本混淆攻击:攻击者发送大量的 SSL/TLS 握手请求,并在请求中使用不同的 SSL/TLS 协议版本。目标服务器需要处理这些不同协议版本的请求,从而消耗服务器的计算资源和带宽。
评论