DDOS攻击


DOS攻击

Dos是拒绝服务式攻击。
一切能引起DOS行为的攻击都被称为Dos攻击。
该攻击的效果是使得计算机或网络无法提供正常的服务。

SYN洪水攻击(SYN flood)

SYN洪水攻击属于DoS攻击的一种
它利用TCP协议缺陷,通过发送大量的半连接请求,耗费目标服务的CPU和内存资源。
对于TCP连接而言,当服务器接收到连接请求(SYN=i )时,则将此信息加入未连接队列,并发送请求包给客户端( SYN=j,ACK=i+1 ),此时进入SYN RECV状态。当服务器未收到客户端的确认包时,重发请求包,一直到超时才将此条目从未连接队列删除。
攻击的方式:

  1. 利用特殊的程序,设置TCP的Header,向服务器源源不断的发送只有SYN标志的TCP连接请求
  2. 服务器接收并为这些请求建立会话,并把它们全部加入未连接队列中并等待客户的确认
  3. 由于源地址是不存在的,服务器需要不断的重发直至超时
    这些伪造的SYN包将长时间占用未连接队列,而正常的SYN 请求被丢弃,那么服务器就不能接收其他正常用户的请求了。
    而且SYN攻击除了能影响主机外,还可以危害路由器、防火墙等网络系统,事实上SYN攻击并不管目标是什么系统,只要这些系统打开TCP服务就可以实施。

DNS欺骗式攻击

攻击者先执行利用型攻击(如缓冲区溢出、特洛伊木马等)侵入DNS服务器的高速缓存并将不同的域名映射到被攻击目标的IP。
若此时用户发出一个域名解析请求,那么得到的就是被攻击者的IP,被攻击目标会收到大量的网页连接报文,造成DDOS攻击。

DNS反弹式攻击(放大攻击)

攻击者发送源IP为被攻击目标IP的查询报文到大量开放的DNS服务器,DNS服务器把相应的应答报文发送到被攻击目标形成DDOS攻击。
原理:
域名服务器对特定的查询报文返回应答报文可超过512字节,所以一个64字节的DNS查询报文就可产生一个大于4000字节的响应报文
由于以太网MTU限制,被分为3个IP包在网络中传输,流量的放大比率近1:73。

ICMP Flood(死亡Ping)

在短时间内向目的主机发送大量的ping的echo报文,主机不断响应,造成网络堵塞,主机资源耗尽。
尽管某些 ping 数据包非常小,但 IPv4 ping 数据包要大得多,并且可以达到 65,535 字节的最大允许数据包大小。
某些 TCP/IP 系统从未设计用于处理大于最大值的数据包,从而使其容易受到大于该大小的数据包的攻击。
当恶意大数据包从攻击者传输到该目标时,该数据包将分成多个分段,每个分段均低于最大大小限制。
当目标计算机尝试将这些部分一起放回时,总数超出大小限制,并且可能发生缓冲区溢出,从而导致目标计算机冻结、崩溃或重启。

UDP Flood

UDP协议是一种无连接的服务,在UDP FLOOD攻击中,攻击者可发送大量伪造源IP地址的小UDP包冲击服务器。
正常应用情况下,UDP包双向流量会基本相等,而且大小和内容都是随机的,变化很大。
出现UDP Flood的情况下,针对同一目标IP的UDP包在一侧大量出现,并且内容和大小都比较固定。

IP Flood

这种攻击利用TC0协议栈的RST位来实现
假设有有个合法的用法(1.1.1.1)已经与服务器建立了连接,攻击者构造攻击的TCP数据,伪装自己的ip为1.1.1.1,并向服务器发送有一个带有RST位的TCP数据段
服务器接收到这样的数据后,认为从1.1.1.1发送的连接有错误,就会清空缓冲区中已经建立好的连接
这时合法用户1.1.1.1再发送合法数据,服务器就已经没有这样的连接了,该用户就被拒绝服务而只能重新开始建立新的连接。

Teardrop泪滴攻击

Teardrop攻击是一种拒绝服务攻击,是一种针对IP协议的攻击方法
当“13位分片偏移”字段设置成错误的值(既可与上一分片数据重叠,也可错开)
服务端在组合这种含有重叠偏移的伪造分片报文时,end-offset会溢出,产生一个非常大的数
这部分溢出数据可能会覆盖系统内存的重要内存,甚至导致系统的崩溃等。

反射攻击

将源ip设置为目标ip并向大量服务器发送可返回数据请求

FIN/RST Flood攻击

TCP交互过程中FIN报文用来正常关闭TCP连接,RST报文用来异常断开TCP连接。
当使用伪造ip向服务器发送RST数据包而且ip正好是用户ip时,用户的链接被中断。

HTTP攻击(CC攻击)

Challenge Collapsar攻击是针对Web服务在第七层协议(应用层)发起的攻击
一般的攻击者会选择搜索之类需要做大量数据查询的页面作为攻击目标,可以消耗服务器尽可能多的资源。
攻击时尽量选择正常用户也通过APP访问的页面,一般来说就是各种Web API。
正常用户和恶意流量都是来源于APP,人机差别很小,基本融为一体难以区分。
但是由于HTTP协议实际上是基于tcp协议的,需要三次握手,所以不能伪造ip

防御方案

  1. 使用工具根据IP地址的路径逻辑检测出矛盾,从而判断是否是正常流量
  2. CDN、高防、负载均衡、分布式集群防御
  3. 限制特定流量:检查访问来源做适当限制

评论
  目录