一、DDoS攻击:分布式的"流量洪水"攻击
DDoS全称Distributed Denial of Service(分布式拒绝服务攻击),核心逻辑是攻击者通过控制成百上千台被感染的设备(即"肉鸡",可包括计算机、IoT设备等)组成僵尸网络,向目标服务器发起海量恶意请求或数据包,耗尽服务器的带宽、计算资源或连接数,最终导致服务器无法响应正常用户请求,实现"拒绝服务"的目的。
简单来说,DDoS就像无数辆车同时涌入一条公路,直接堵死交通,让正常车辆无法通行,属于"暴力强攻"式攻击,攻击特征通常表现为流量异常飙升。根据攻击目标和技术手段的不同,DDoS攻击主要分为三大类,覆盖不同网络层面,依赖不同协议:
(一)流量型攻击(Volume-Based Attacks):耗尽带宽的"洪水"
这类攻击的核心目标是直接耗尽目标网络的带宽,通过发送海量无效流量,形成"流量风暴",让目标服务器与互联网的连接被彻底堵死。其攻击层面主要是OSI模型的第三层(网络层),部分涉及第四层(传输层),依赖的核心协议为UDP、ICMP等无连接协议,无需建立正常连接即可发起攻击。
常见类型包括:
-
UDP Flood:向目标端口发送大量随机源地址的UDP数据包,触发目标设备反复查询路由表,既消耗带宽,也占用CPU资源,是最基础、最常见的流量型攻击之一。
-
ICMP Flood:伪造源IP向目标发送海量Ping请求(ICMP echo指令),也就是常说的"Ping of Death"攻击,通过海量响应数据包堵塞带宽。
-
DNS放大攻击:利用DNS服务器的递归查询功能,将较小的请求放大成数十倍甚至上百倍的响应流量(放大倍数可达50-100倍),以极小的成本产生海量流量,攻击威力极强。
(二)协议型攻击(Protocol Attacks):利用协议漏洞的"资源消耗战"
这类攻击不追求海量流量,而是利用网络协议本身的缺陷或漏洞,消耗目标服务器的连接资源或会话状态,攻击层面主要是OSI模型的第三层(网络层)和第四层(传输层),依赖TCP、SSL、NTP等协议,通过操控协议交互过程实现攻击目的。
常见类型包括:
-
SYN Flood:利用TCP三次握手的漏洞,伪造源IP发送大量TCP SYN包(连接请求包),目标服务器收到请求后会回复SYN-ACK包,并等待客户端的ACK包完成握手,但攻击者从不发送ACK包,导致服务器的半开连接队列被占满,无法接收正常连接请求。
-
SSL握手攻击:在HTTPS连接中,反复发起SSL握手请求,而不完成后续交互,SSL加密解密需要消耗服务器大量CPU算力,最终导致服务器算力耗尽。
-
NTP放大攻击:利用NTP服务器的monlist功能,将单个请求放大成数万个响应包,曾导致某交易所遭遇1.3Tbps的流量攻击。
(三)应用层攻击(Application-Layer Attacks):针对应用的"精准骚扰"
这类攻击针对OSI模型第七层(应用层)的应用程序发起,攻击目标是应用本身的处理能力,而非带宽或协议资源,依赖HTTP、HTTPS等应用层协议,通过模拟正常用户请求消耗应用资源。需要注意的是,CC攻击本质上属于这类攻击的一种,但因特征鲜明、危害突出,常被单独提及。
常见类型包括:
-
HTTP Flood:模拟正常用户,向Web服务器发送大量HTTP GET/POST请求(如反复刷新页面、提交表单),占用应用层线程池,耗尽服务器CPU和内存资源。
-
DNS Query Flood:向DNS服务器发送大量不存在的域名查询请求,消耗其缓存和解析资源,导致DNS服务瘫痪。
-
CC攻击:单独拆解说明,详见下文。
二、CC攻击:伪装正常请求的"精准偷袭"
CC攻击全称Challenge Collapsar(挑战黑洞),最初是黑客为了挑战防火墙厂商的"黑洞防护技术"而研发的攻击方式,如今已成为最常见的应用层攻击之一。与DDoS的"暴力强攻"不同,CC攻击走"伪装偷袭"路线,核心逻辑是通过模拟真实用户的合法请求,以高频次、低单IP流量的方式,持续占用服务器应用层资源(CPU、内存、数据库连接等),最终导致应用无法响应正常用户请求。
简单来说,CC攻击就像一群人假装顾客,反复排队、反复点餐却不消费,霸占餐厅所有服务窗口,让真正的顾客无法就餐------它不堵"公路"(带宽),只占"商铺"(应用功能),攻击流量通常只有几Mbps到几十Mbps,隐蔽性极强,传统防火墙难以通过数据包特征识别。
(一)CC攻击的核心特征
-
攻击层面:仅针对OSI模型第七层(应用层),聚焦Web应用、API接口、数据库等具体应用场景,不影响网络层和传输层的正常运行。
-
依赖协议:主要依赖HTTP、HTTPS协议,请求本身完全合法(包含完整的请求头、User-Agent等信息),与正常用户访问几乎无差别,难以被识别。
-
攻击源:无需海量肉鸡,少量IP(或代理IP池)即可发起,单IP请求频率极高,但单IP流量看似正常,不易被限流规则拦截。
-
攻击目标:精准针对应用的高资源消耗场景,如电商商品查询、网站搜索、登录接口、数据库查询等,这些场景需要服务器进行大量计算或数据库操作,容易被高频请求耗尽资源。
(二)CC攻击的常见类型
-
HTTP Flood(CC基础类型):分为GET Flood和POST Flood,前者针对静态页面(如首页),发送大量GET请求消耗带宽和内存;后者针对动态页面(如登录、表单提交),发送大量POST请求消耗CPU和数据库资源,攻击威力更强。
-
Session Flood:利用Web应用的会话机制,频繁发送会话创建请求,生成大量无效Session,耗尽服务器的Session存储资源,导致合法用户无法创建新会话。
-
数据库查询洪水攻击:构造大量复杂的SQL查询语句(如无索引查询、多表关联查询),通过API接口发送给服务器,耗尽数据库的CPU和磁盘IO资源,导致数据库瘫痪,进而影响整个应用。
-
代理IP CC攻击:利用大量代理IP或动态IP,模拟不同地区用户的访问行为,每个IP请求频率较低,躲避IP限流和防火墙拦截,隐蔽性极强。
三、DDoS与CC攻击的核心区别(含层面、协议对比)
DDoS与CC攻击的最终目的都是让目标服务瘫痪,但两者在攻击逻辑、层面、协议、特征上差异显著,核心区别可总结为"暴力强攻"与"精准偷袭"的区别,具体对比如下,结合攻击层面和协议进一步明确:
(一)核心区别总览
| 对比维度 | DDoS攻击 | CC攻击 |
|---|---|---|
| 攻击层面 | 主要针对OSI模型3层(网络层)、4层(传输层),部分涉及7层(应用层) | 仅针对OSI模型7层(应用层) |
| 依赖协议 | 3/4层:UDP、ICMP、TCP、SSL、NTP等;7层:HTTP、HTTPS等 | 仅依赖HTTP、HTTPS等应用层协议 |
| 攻击逻辑 | 分布式僵尸网络发起海量无效数据包或请求,耗尽带宽、协议资源 | 模拟合法用户,高频发送合法请求,耗尽应用层处理资源 |
| 流量特征 | 流量规模极大(通常几十Gbps至Tbps级),特征明显 | 流量规模小(几Mbps至几十Mbps),与正常流量无明显差异,隐蔽性强 |
| 攻击源 | 海量分布式肉鸡(数百、数千台设备),源IP分散,溯源难度大 | 少量IP或代理IP池,单IP请求频率高,易溯源单IP但整体隐蔽 |
| 攻击目标 | 无差别攻击,目标是整个服务器或网络设备,导致所有应用瘫痪 | 精准攻击,目标是应用层具体功能/接口,仅影响特定应用功能 |
| 传统防御效果 | 传统防火墙可拦截部分,高流量时易被突破,需流量清洗 | 传统防火墙无法拦截,需WAF(Web应用防火墙)和行为识别 |
(二)关键差异拆解
1. 攻击层面:"堵公路"vs"占商铺"
DDoS攻击主要攻击网络层和传输层,相当于直接堵死整个网络的"交通主干道",无论主干道上的"商铺"(应用)是否正常,所有数据都无法正常传输,属于全局性攻击;而CC攻击仅攻击应用层,相当于只霸占"主干道"上的某个"商铺",不影响其他"商铺"和"主干道"的正常运行,属于局部性攻击。
2. 协议依赖:"多协议覆盖"vs"单一层协议"
DDoS攻击覆盖多个网络层面,依赖的协议种类较多,既有网络层的ICMP、传输层的TCP/UDP,也有应用层的HTTP/HTTPS;而CC攻击仅聚焦应用层,只依赖HTTP、HTTPS等应用层协议,请求本身合法,难以通过协议特征识别恶意行为。
3. 攻击难度与成本:"高成本暴力"vs"低成本隐蔽"
DDoS攻击需要控制大量肉鸡组成僵尸网络,攻击成本较高,且流量特征明显,容易被流量清洗设备检测;CC攻击无需海量肉鸡,仅需少量设备和代理IP,甚至一台电脑即可发起,攻击成本低,且伪装成正常用户请求,隐蔽性极强,难以被传统防护手段拦截,成为黑客攻击中小企业的"首选工具"。
四、总结
DDoS攻击是分布式的"流量洪水",覆盖网络层、传输层和部分应用层,依赖多类协议,通过海量无效流量或协议漏洞耗尽全局资源,属于"暴力强攻";CC攻击是应用层的"精准偷袭",仅针对应用层,依赖HTTP/HTTPS协议,通过伪装正常请求耗尽局部应用资源,属于"隐蔽偷袭"。两者虽都属于拒绝服务攻击,但攻击逻辑、层面、协议和防御方式截然不同。
了解两者的区别,不仅能帮助我们快速识别攻击类型,更能针对性制定防御策略:防御DDoS攻击需重点做好流量清洗、带宽扩容和协议加固;防御CC攻击则需依赖WAF、请求频率限制和行为识别,从应用层阻断恶意请求,才能有效守护线上业务的正常运行。