DDoS(Distributed Denial of Service)即分布式拒绝服务攻击,是目前最为强大、最难以防御的攻击方式之一。要理解DDos,得先从DoS说起。最基本的DoS攻击就是利用合理的客户端请求来占用过多的服务器资源,从而使合法用户无法得到服务器的响应。DDoS攻击手段迁在传统的DoS攻击基础之上产生的一类攻击方式,传统的DoS攻击一般是采用一对一的方式,当攻击目标的CPU速度、内存或者网络带宽等各项性能指标不高的情况下,它的效果是明显的。
但随着计算机与网络技术的发展,计算机的处理能力显著增加,内存不断增大,同时也出现了千兆级别的网络,这使得DoS攻击逐渐失去了效果。这时分布式拒绝服务攻击手段(DDoS)便应运而生了。理解了DoS攻击后,DDoS的原理就非常简单了,它指的是攻击者借助公共网络,将数量庞大的计算机设备联合起来作为攻击平台,对一个或多个目标发动攻击,从而达到瘫痪目标主机的目的。通常在攻击开始前,攻击者会提前控制大量的用户计算机,称之为“肉鸡",并通过指令使大量的肉鸡在同一时刻对某个主机进行访问,从而达到瘫痪目标主机的目的。
DDos攻击的形式有很多种,如依赖蛮力的ICMP Flood、UDP Flood等,随着硬件性能的提升,攻击的机器规模越来越大,组织大规模的攻击越来越困难,现在已经不常见。还有就是依赖协议特征和具体的软件漏洞进行的攻击,如slow loris攻击、Hash碰撞攻击等,这类攻击主要利用协议和软件漏洞进行攻击,需要在特定环境下才会出现,更多的攻击者主要才有前面的两种方式混合,即利用了协议、系统的缺陷,又具备了海量的流量。
然后来讲解两个常见的DDos手段。
1.SYN Flood是曾经是最经典的攻击方式之一,要明白他的攻占原理,可以从TCP开始建立连接的过程开始说起。没基础的可以看下我这篇文章:
TCP超详细解析之三次握手,四次挥手,流量控制,滑动窗口 www.jianshu.com/p/b0d0023b3… 重新看下三次握手的部分。
TCP协议为实现可靠传输,在三次握手的过程中设置了 一 些异常处理机制。第三步中如果服务器没有收到客户端的ACK报文,服务端一般会进行重试,也就是再次发送 SYN +ACK 报文给客户端,并且一 直处于 SYN_RECV 状态,将客户端加入等待列表。重发一 般会进行 3-5次,大约每隔30秒左右会轮询一 遍等待队列,重试所有客户端;另一 方面,服务器在发出SYN+ACK报文后,会预分配 一 部分资源给即将建立的TCP 连接,这个资源在等待重试期间-直保留,更为重要的是,服务器资源有限,可以维护的等待列表超过极限后就不再接收新的SYN报文,也就是拒绝建立新的TCP连接。
SYN Flood正是利用了TCP协议三次握手的过程来达成攻击的目的。攻击者伪造大量的IP地址给服务器发送SYN报文,但是由于伪造的IP地址几乎不可能存在,也就不可能从客户端得到任何回应,服务端将维护一 个非常大的半连接等待列表,并且不断对这个列表中的IP 地址进行遍历和重试,占用了大量的系统资源。更为严重的是,由于服务器资源有限,大量的恶意客户端信息占满了服务器的等待队列,导致服务器不再接收新的SYN请求,正常用户无法完成三次握手与服务器进行通信,这便是SYN Flood攻击。
- DNS Query Flood
DNS Query Flood实际上是UDP Flood攻击的 一 种变形,由于DNS 服务在互联网中具有不可替代的作用,一旦DNS服务器瘫痪,影响甚大。
DNS Query Flood攻击采用的方法是向被攻击的服务器发送海量的域名解析请求。通常,诸求解析的域名是随机生成的,大部分根本就不存在,并且通过伪造端口和客户端IP, 防止查询请求被ACL过滤。被攻击的 DNS 服务器在接收到域名解析请求后,首先会在服务器上查找是否有对应的缓存,由于域名是随机生成的,几乎不可能有相应的缓存信息,当没有缓存. I 该域名无法直接由该DNS服务器进行解析时,DNS服务器会向其上层DNS服务器递归查询域名信息,直到全球互联网的13台根DNS服务器。大量不存在的域名解析请求给服务器带来很大的负载,当解析请求超过一定量时,就会造成 DNS 服务器解析域名超时,这样攻击者便达成了攻击目的。
- CC攻击
CC ( Challenge Collapsar)攻击属于DDos的一 种,是基于应用层 HTTP 协议发起的 DDos攻击,也被称为HTTP Flood.
CC攻击的原理是这样的,攻击者通过控制的大量 “肉鸡”或者利用从互联网上搜寻的大量知名的HTTP代理,模拟正常用户给网站发起请求直到该网站拒绝服务为止。大部分网站会通过CDN以及分布式缓存来加快服务端响应,提升网站的吞吐量,而这些精心构造的HTTP请求往往有意避开这些缓存,需要进行多次DB查询操作或者一 次请求返回大量的数据,加速系统资源消耗,从而拖垮后端的业务处理系统,甚至连相关存储与日志收集系统也无法幸免。
cc攻击发起容易,防范困难,影响却广泛,是近年来 DDos攻击的主流方式。
cc攻击并不需要攻击者控制大量的 “肉鸡”,取而代之的是互联网上十分容易找到的各种 HTTP 代理,“肉鸡” 由于流量异常,容易被管理人员发现,攻击持续时间难以延续,而使用 HTTP 代理则使攻击者能够发起持续高强度的攻击。攻击在应用层发起,往往又与网站的业务紧密相连,使得防守一方很难在不影响业务的情况下对攻击请求进行过滤,大量的误杀将影响到正常访问的用户,间接地达成攻击者的目的。
其他比较常见的攻击手段还有DNS域名劫持、CON回源攻击、服务器权限提升,缓冲区溢出,以及一 些依赖于平台或者具体软件漏洞的攻击等,防御的滞后性使得攻击的手段永远都比防御的手段多。
后续整理待续。。。。
学习计划安排
我一共划分了六个阶段,但并不是说你得学完全部才能上手工作,对于一些初级岗位,学到第三四个阶段就足矣~
这里我整合并且整理成了一份【282G】的网络安全从零基础入门到进阶资料包,需要的小伙伴可以扫描下方CSDN官方合作二维码免费领取哦,无偿分享!!!
如果你对网络安全入门感兴趣,那么你需要的话可以
点击这里👉网络安全重磅福利:入门&进阶全套282G学习资源包免费分享!
①网络安全学习路线
②上百份渗透测试电子书
③安全攻防357页笔记
④50份安全攻防面试指南
⑤安全红队渗透工具包
⑥HW护网行动经验总结
⑦100个漏洞实战案例
⑧安全大厂内部视频资源
⑨历年CTF夺旗赛题解析