Web安全之DoS与DDoS攻击原理与防御详解
字数 1443 2025-11-15 18:17:24

Web安全之DoS与DDoS攻击原理与防御详解

一、攻击描述

DoS(Denial of Service,拒绝服务攻击) 指攻击者通过耗尽目标系统的资源(如带宽、CPU、内存等),使其无法正常响应合法用户的请求。DDoS(Distributed DoS,分布式拒绝服务攻击) 是DoS的升级形式,通过控制大量“僵尸主机”(如被入侵的服务器或物联网设备)同时发起攻击,形成更大规模的流量冲击,且更难追踪源头。

二、攻击分类与原理

1. 带宽消耗型攻击

  • 原理:通过向目标发送大量无效或高流量数据包,占用网络带宽,导致正常请求被阻塞。
  • 典型手段
    • UDP Flood:利用无连接的UDP协议发送伪造源IP的大包,目标需消耗资源处理并回复。
    • ICMP Flood:发送大量ICMP请求(如Ping包),消耗目标网络资源。

2. 资源耗尽型攻击

  • 原理:针对协议漏洞或系统设计缺陷,耗尽目标的计算资源(如CPU、内存、连接数)。
  • 典型手段
    • TCP SYN Flood:利用TCP三次握手漏洞,发送大量伪造源IP的SYN包,目标维护半连接队列直至超时,占满连接资源。
    • HTTP Flood:模拟正常HTTP请求(如GET/POST),高频访问动态页面或API,消耗服务器处理能力。
    • Slowloris攻击:通过缓慢发送不完整的HTTP请求头,保持连接占用,使服务器并发连接数达到上限。

3. 应用层攻击(Layer 7 DDoS)

  • 特点:模拟合法用户行为,难以被传统防火墙识别。
  • 案例:针对登录接口频繁提交密码、频繁查询数据库的页面请求。

三、攻击步骤(以DDoS为例)

  1. 渗透控制:攻击者通过漏洞利用、恶意软件感染大量主机,组建“僵尸网络”。
  2. 命令下发:通过C&C(Command & Control)服务器向僵尸主机发送攻击指令。
  3. 协同攻击:僵尸主机同时向目标IP或域名发起流量冲击。
  4. 隐匿追踪:伪造源IP或使用反射放大攻击(如NTP/DNS反射)隐藏真实源头。

四、防御策略

1. 流量清洗与分流

  • 原理:通过高防IP或云清洗中心,将流量引导至清洗节点,过滤恶意流量后转发合法流量至源站。
  • 技术
    • 特征识别:基于IP信誉库、行为分析识别异常流量。
    • 速率限制:对单一IP的请求频率设阈值。

2. 协议优化与资源管理

  • SYN Cookie:应对SYN Flood,服务端不维护半连接队列,而是通过加密Cookie验证客户端。
  • 连接数限制:对每个IP的并发连接数设限,防止资源独占。

3. 应用层防护

  • WAF(Web应用防火墙):检测HTTP Flood、Slowloris等攻击,拦截恶意请求。
  • 人机验证:对可疑流量触发验证码(如CAPTCHA),区分真人用户与机器人。

4. 分布式架构与弹性扩展

  • CDN加速:分散流量至边缘节点,避免单点瓶颈。
  • 自动扩缩容:云服务根据流量自动调整资源,提升抗压能力。

五、面试常见问题

  1. 如何区分DDoS与常规流量高峰?

    • 答:DDoS流量通常来源分散、协议异常(如短时间大量SYN包),而正常高峰流量具有业务相关性(如促销活动)。
  2. 反射放大攻击的原理?

    • 答:攻击者伪造目标IP向公开服务(如DNS/NTP)发送小请求,利用协议特性使回复包远大于请求包(放大效应),洪水般冲击目标。

通过以上分层讲解,可系统掌握DoS/DDoS的攻击逻辑与防护体系,实际面试中需结合具体场景分析防御方案的优缺点。

Web安全之DoS与DDoS攻击原理与防御详解 一、攻击描述 DoS(Denial of Service,拒绝服务攻击) 指攻击者通过耗尽目标系统的资源(如带宽、CPU、内存等),使其无法正常响应合法用户的请求。 DDoS(Distributed DoS,分布式拒绝服务攻击) 是DoS的升级形式,通过控制大量“僵尸主机”(如被入侵的服务器或物联网设备)同时发起攻击,形成更大规模的流量冲击,且更难追踪源头。 二、攻击分类与原理 1. 带宽消耗型攻击 原理 :通过向目标发送大量无效或高流量数据包,占用网络带宽,导致正常请求被阻塞。 典型手段 : UDP Flood :利用无连接的UDP协议发送伪造源IP的大包,目标需消耗资源处理并回复。 ICMP Flood :发送大量ICMP请求(如Ping包),消耗目标网络资源。 2. 资源耗尽型攻击 原理 :针对协议漏洞或系统设计缺陷,耗尽目标的计算资源(如CPU、内存、连接数)。 典型手段 : TCP SYN Flood :利用TCP三次握手漏洞,发送大量伪造源IP的SYN包,目标维护半连接队列直至超时,占满连接资源。 HTTP Flood :模拟正常HTTP请求(如GET/POST),高频访问动态页面或API,消耗服务器处理能力。 Slowloris攻击 :通过缓慢发送不完整的HTTP请求头,保持连接占用,使服务器并发连接数达到上限。 3. 应用层攻击(Layer 7 DDoS) 特点 :模拟合法用户行为,难以被传统防火墙识别。 案例 :针对登录接口频繁提交密码、频繁查询数据库的页面请求。 三、攻击步骤(以DDoS为例) 渗透控制 :攻击者通过漏洞利用、恶意软件感染大量主机,组建“僵尸网络”。 命令下发 :通过C&C(Command & Control)服务器向僵尸主机发送攻击指令。 协同攻击 :僵尸主机同时向目标IP或域名发起流量冲击。 隐匿追踪 :伪造源IP或使用反射放大攻击(如NTP/DNS反射)隐藏真实源头。 四、防御策略 1. 流量清洗与分流 原理 :通过高防IP或云清洗中心,将流量引导至清洗节点,过滤恶意流量后转发合法流量至源站。 技术 : 特征识别 :基于IP信誉库、行为分析识别异常流量。 速率限制 :对单一IP的请求频率设阈值。 2. 协议优化与资源管理 SYN Cookie :应对SYN Flood,服务端不维护半连接队列,而是通过加密Cookie验证客户端。 连接数限制 :对每个IP的并发连接数设限,防止资源独占。 3. 应用层防护 WAF(Web应用防火墙) :检测HTTP Flood、Slowloris等攻击,拦截恶意请求。 人机验证 :对可疑流量触发验证码(如CAPTCHA),区分真人用户与机器人。 4. 分布式架构与弹性扩展 CDN加速 :分散流量至边缘节点,避免单点瓶颈。 自动扩缩容 :云服务根据流量自动调整资源,提升抗压能力。 五、面试常见问题 如何区分DDoS与常规流量高峰? 答:DDoS流量通常来源分散、协议异常(如短时间大量SYN包),而正常高峰流量具有业务相关性(如促销活动)。 反射放大攻击的原理? 答:攻击者伪造目标IP向公开服务(如DNS/NTP)发送小请求,利用协议特性使回复包远大于请求包(放大效应),洪水般冲击目标。 通过以上分层讲解,可系统掌握DoS/DDoS的攻击逻辑与防护体系,实际面试中需结合具体场景分析防御方案的优缺点。