码迷,mamicode.com
首页 > 其他好文 > 详细

DDOS浅谈

时间:2019-08-11 22:53:57      阅读:112      评论:0      收藏:0      [点我收藏+]

标签:架构   优化   复杂   执行   serve   拒绝   维护   就是   http   

一、DDOS攻击的来源

任何攻击都不会凭空产生,DDOS也有特定的来源。绝大多数的DDOS攻击都来自于僵尸网络。僵尸网络就是由数量庞大的可联网僵尸主机组成,而僵尸主机可以是任何电子设备(不仅是X86架构的设备,更多反而是物联网中的ARM架构设备),只要被植入僵尸程序即可!

僵尸网络有一个特点:控制者和僵尸主机之间存在一对多的关系,在控制者发布命令后就可以断开与僵尸网络的连接,之后控制命令会在僵尸主机之间自行传播和执行。

  僵尸网络架构一般有以下两种:

    1、client—to—server型:

      client—to—server型僵尸网络是一种典型的星型拓扑,由若干僵尸主机和控制服务器两部分组成。

      这种僵尸网络相对比较传统,僵尸主机在被植入僵尸程序后会主动连接一个固定的地址(即控制服务器),然后由控制服务器进行集中管理。

      这类的僵尸网络控制相对较容易,而且能快速分发控制者的命令,但是这种控制方式也存在两个重要的不足:

        ①、控制服务器一旦故障则整张网络失效
        ②、从僵尸主机侧可以查出控制服务器的地址(容易被抓)

技术图片

     P2P型:

相比client—to—server型P2P型就显得略微复杂一些。在P2P型僵尸网络中充当控制服务器的节点不再单一,而是每台僵尸主机既扮演控制服务器的角色又扮演客户端角色。这样就解决了传统client—to—server型僵尸网络控制服务器单点故障的问题。当然,随之而来的是更加复杂的网络拓扑维护算法。

这种僵尸网络每台僵尸主机都有一张有限的邻居表,并周期性的向其邻居表内的主机发送keeplive包来维护整个僵尸网络。每台僵尸主机在被植入僵尸程序的时候会将上游的邻居表一同植入,并将上游僵尸主机作为主下一跳,邻居表内的其他主机作为备下一跳(主失效后备上位,确保网络不中断),然后继续感染其他主机,在成功感染下一台主机后将对自身邻居表进行优化(将自身作为邻居表中的一员,并随机删掉一个老邻居)后传递给被感染主机,以此递归循环下去,最终构成一张庞大的僵尸网络。(学过网络的同学一定觉得这跟路由协议如出一辙)

那么攻击者是怎样来控制这样一张僵尸网络呢? 攻击者只需要与这张网络中的任意一台僵尸主机进行通信(一般需要经过认证)即可从此节点注入其控制命令,然后指令就如同蜻蜓点水的水波一样向周围扩散,直到扩散至这张网络的边缘。当然,在僵尸主机收到指令后会先判断该指令是否已经存在,如已存在则不处理(僵尸网络也需要防环)

技术图片

站在监察者的角度来说,通过捕获一个节点可以发现此僵尸网络的许多僵尸主机,但却很难看到其全貌(这根绳子不知道捋到什么时候算个头)

 

二、DDOS攻击类型:

  攻击服务端的:

    1、攻击带宽型:

      向目标发送大量数据包,以占满被攻击者的带宽,从而实现拒绝服务的目的。例:

        UDP洪水攻击:

这是一种最简单粗暴的方法,利用UDP协议直接向目标发送大量的数据包来堵塞对方带宽。但是这种方法对自身要求也极高,属于伤敌一千自损也一千的行为(假如对方带宽10G,那自己这边也需要10G的带宽才可以)。

往往攻击者在带宽资源方面处于劣势,这时他们就会想,有没有可以以小博大的方法呢?有!那就是“放大器”。。。即:自身发出1G的流量,经过放大器后变为10G甚至更大的流量!

技术图片

 

 

DDOS浅谈

标签:架构   优化   复杂   执行   serve   拒绝   维护   就是   http   

原文地址:https://www.cnblogs.com/baihualin/p/11336944.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!