DDOS浅谈

这一生的挚爱 提交于 2019-11-27 00:43:35

一、DDOS攻击的来源

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

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

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

    1、client—to—server型:

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

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

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

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

 

    2、P2P型:

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

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

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

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

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!