注册 登录

DDOS攻击初接触,简单原理和防御

信息安全 top999 111次浏览 2013字 0个评论

最近经常被问到DDOS的攻击原理和防御,以前学习过一些基础知识,然后耐不住久不用就忘记了,总结分析下,

DDOS攻击分类

DDOS可以分为网络层攻击(SYN-flood、ACK-flood、UDP-flood、ICMP-flood等)、应用层攻击(CC攻击、DNS-flood、慢速连接攻击)。
按攻击方式可以分为:反射型、流量放大型、混合型等。

在讲DDOS原理前我还是先找了一个TCP连接的三次握手,四次分手的流程图,以方便描述一些攻击过程的原理。
DDOS攻击初接触,简单原理和防御

网络层攻击

1. SYN-flood

TCP 连接三次握手过程中,通过原始套接字发送源地址虚假的SYN数据包、使目标主机永远无法完成三次握手,系统的协议栈队列占满,资源得不到释放造成拒绝服务。

一些简单的防御方法包括调整内核参数的方法,可以减少等待及重试,加速资源释放,在小流量syn-flood的情况下可以缓解,但流量稍大时完全不抵用。防御syn-flood的常见方法有:syn proxy、syn cookies、首包(第一次请求的syn包)丢弃等。

2. ACK-flood

对于虚假的ACK包,目标设备会直接回复RST包丢弃连接,所以伤害值远不如syn-flood。DDOS的一种原始方式。

3. UDP-flood

使用原始套接字伪造大量虚假源地址的UDP包,以DNS协议为主。

4. ICMP-flood

Ping洪水,比较古老的方式。


应用层攻击

1. CC攻击

CC攻击(ChallengeCollapsar)的名字源于挑战国内知名安全厂商绿盟的抗DDOS设备-“黑洞”。通过僵尸网络或大量匿名代理服务器,向目标发起大量真实的http请求,最终消耗掉大量的并发资源,拖慢整个网站,造成拒绝服务。

CC攻击的目的就是占满服务器并发连接数,尽可能使请求避开缓存而直接读数据库,读数据库要找最消耗资源的查询,最好无法利用索引,每个查询都全表扫描,这样就能用最小的攻击资源起到最大的拒绝服务效果。CC攻击就是寻找系统脆弱点占满系统资源导致拒绝服务。

2. DNS-flood

伪造源地址向目标DNS服务器发送大量DNS请求,而且查找的域名通常不存在。DNS服务器首先会查找是否有对应的缓存,如果查找不到并且该域名无法直接由服务器解析的时候,DNS服务器会向其上层DNS服务器递归查询域名信息。域名解析的过程给服务器带来了很大的负载,最终大量请求导致拒绝服务。

3. 慢速连接攻击

针对http协议,以知名的slowloris攻击为例:先建立http连接,设置一个较大的content-length,每次只发送很少的字节,让服务器一直以为http头部没有传输完成,这样的连接一多很快就会出现连接耗尽。

目前出现了一些变种,http慢速的post请求和慢速的read请求都是基于相同的原理。
其他包括JavaScript-based DDoS、WordPress pingback DDoS和Joomla反射攻击。

JavaScript-based DDoS:在海量访问的网页嵌入指向攻击目标网站的恶意JavaScript代码,当互联网用户访问该网页时,则流量被指向攻击目标网站。典型攻击事件是GitHub DDoS攻击。

WordPress pingback DDoS:基于wordpress搭建的WEB网站默认开放XML-RPC pingback服务,该服务是用来通知第三方网站blog系统有文章被引用。攻击者假冒攻击目标网站的IP地址给数以万计wordpress站点发送pingback请求,开放pingback服务的网站会向攻击目标网站发送HTTP get请求。

按攻击方式分类

反射型

反射型攻击的本质是利用“质询-应答”式协议,将质询包的源地址通过原始套接字伪造设置为目标地址,则应答的“回包”都被发送至目标,如果回包体积比较大或协议支持递归效果,攻击流量会被放大,成为一种高性价比的流量型攻击。
例如通过将SYN包的源地址设置为目标地址,然后向大量的真实TCP服务器发送TCP的SYN包,而这些收到SYN包的TCP服务器为了完成3次握手把SYN|ACK包“应答”给目标地址,完成了一次“反射”攻击,攻击者隐藏了自身。
反射型攻击利用的协议目前包括NTP、Chargen、SSDP、DNS、RPC portmap等

流量放大型

通过递归等手法将攻击流量方法的攻击类型

混合型

即混合多种攻击方式

脉冲型

即DDOS攻击流量呈现脉冲状,难以防御

链路泛洪

在链路上进行攻击目标的“上一跳”

DDOS攻击防御

1、近源清洗
2、CDN、云清洗
在攻击发生时,设置CNAME,进行云清洗
3、ADS设备
目前在ADS设备里覆盖了3-4,7这三层的解决方案。
DDOS攻击初接触,简单原理和防御
4、OS/APP层
做应用层的一些防护、设置反向代理,根据请求内容,进行请求计数,然后超过一定的次数,阻断或者弹出验证码等

留待后续继续完善。。。

参考文章


T1op|T1op.com , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明DDOS攻击初接触,简单原理和防御
喜欢 (2)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址