ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

DDoS攻击是什么?

DDoS攻击是什么? 一、一个常见的困惑你有没有遇到过这种情况某个网站打不开了刷新了好几次都进不去。过一会儿看到新闻说这家网站遭到了攻击。这个“攻击”很可能就是DDoS攻击。那DDoS到底是什么为什么它能“击倒”一个网站二、先理解DoS拒绝服务攻击DDoS的全称是分布式拒绝服务攻击Distributed Denial of Service。要理解它先要看懂它的前身——DoS拒绝服务攻击。2.1 一个形象的类比想象一下你经营一家小餐厅只有5张桌子。正常的时候客人来了坐下吃饭吃完离开翻台率正常。突然有一天来了一群人每桌坐下一个人每人只点一杯水然后坐着不走一坐就是几个小时。其他正常客人来了没位置只能离开。这就是拒绝服务攻击——你并没有直接打砸餐厅但你的服务能力被占满了正常客人进不来。2.2 DoS的技术原理在互联网上DoS攻击就是攻击者利用合理的服务请求占用过多的服务资源让合法用户无法得到服务。典型的DoS攻击是SYN Flood攻击者向服务器发送大量伪造的SYN请求TCP建立连接的第一个包服务器回应SYNACK后一直等不到最终确认资源被挂起直到耗尽。一台攻击机就能做到——只要你的服务能力被它消耗完。三、DDoS当攻击从“一个人”变成“一群人”DoS的问题在于如果服务器太强一台机器攻击不动。于是就有了DDoS分布式拒绝服务攻击。攻击者利用多台被控制的机器俗称“肉鸡”同时向一个目标发起攻击。text攻击者 │ ▼ ┌───────┐ ┌─────────┐ │控制傀儡机│───────→│攻击傀儡机A│─────┐ └───────┘ │攻击傀儡机B│ │ │攻击傀儡机C│ │ └─────────┘ │ ▼ ┌─────────────┐ │ 目标服务器 │ │ 被攻击 │ └─────────────┘DDoS攻击体系通常由四部分组成攻击者 → 主控端 → 代理端 → 攻击目标。主控端只负责下达命令不直接参与攻击代理端也就是成千上万台被控制的傀儡机负责实际发送攻击流量。这种设计的优势在于攻击者可以通过控制机下发指令减少在大量代理机上留下操作痕迹的风险从而更难被追踪。攻击数量级完全不同一个攻击者可以控制成千上万台傀儡机每一台都向目标发送大量数据包汇集成足以压垮任何服务器的流量洪流。四、常见的DDoS攻击类型DDoS攻击按照攻击目标可以分为三大类4.1 流量型攻击带宽攻击以消耗网络带宽为主要目的用海量数据包淹没目标网络。UDP Flood向目标发送大量UDP数据包。目标服务器收到这些包后需要检查端口上是否有程序在监听。如果大部分UDP包的目的端口并没有服务在监听服务器需要返回ICMP“端口不可达”消息。当这种包的数量足够大时会消耗大量CPU资源。ICMP Flood发送大量ICMP请求ping消耗带宽和CPU资源。DNS Query Flood向DNS服务器发送海量的域名解析请求随机生成不存在的域名。DNS服务器收到请求后需要递归查询、遍历各级域名服务器最终确认域名不存在这个过程比正常解析更消耗CPU资源最终可能导致服务崩溃。流量型攻击的特点是“流量大”可能大到让运营商级别的带宽都被占满甚至波及同一运营商的其他客户。4.2 连接型攻击协议攻击利用TCP等协议的握手机制消耗服务器的连接状态资源。SYN Flood——最经典的攻击手段之一TCP连接需要三次握手。攻击者发送大量的SYN请求第一次握手服务器回复SYNACK后第二次握手等待对方的最终确认第三次握手。但攻击者伪造了源IP地址根本不存在那个客户端服务器永远等不到确认半开连接队列被占满其他合法用户无法建立连接。SYN Flood利用了TCP协议的设计缺陷——服务器在收到SYN后必须分配资源等待确认这个等待过程可以被恶意利用。4.3 应用层攻击攻击目标不是网络层或传输层而是直接针对应用层如HTTP服务。CC攻击Challenge Collapsar攻击者借助代理服务器向目标网站发起大量看似“合法”的请求比如反复发起消耗数据库资源的查询操作。这些请求需要服务器解析HTTP协议头、执行数据库查询和动态页面渲染每一个请求都会占用大量CPU和内存资源。当这种请求足够多时服务器资源被耗尽无法响应正常用户。HTTP慢速攻击攻击者建立一个正常的HTTP连接指定一个较大的数据长度然后以极慢的速度发送数据比如每10秒发1个字节。Web服务器为每个连接分配线程或进程来等待完整请求。攻击者同时建立几百个这样的慢速连接服务器可用连接数逐渐被占满新请求无法接入。五、DDoS攻击会造成什么后果被DDoS攻击时通常会出现以下现象被攻击主机上有大量等待的TCP连接网络中充斥着大量无用的数据包源地址被伪造网络拥塞正常通信中断服务响应极慢甚至完全无法提供服务对于一个企业来说后果可能是灾难性的业务中断、客户流失、声誉受损。六、为什么DDoS难以防御DDoS攻击之所以难以防御主要有几个原因攻击流量难以区分攻击者常常使用伪造的源IP地址攻击包看起来和正常请求几乎一样过滤难度极大。攻击来源分散成千上万的傀儡机分布在全球各地封禁一个IP还有成千上万个。攻击成本越来越低相关攻击工具在网络上扩散攻击服务的获取门槛也相对较低发起一次DDoS攻击的技术难度已明显降低但防御成本却可能高得多。写在最后DDoS攻击的本质是让正常的服务“忙不过来”——要么带宽被占满要么资源被耗尽最终让合法用户无法访问。它不是“攻破”你的系统不涉及窃取数据而是让你“没法干活”。
返回列表