当前位置:Linux教程 - Linux - 分布式D.O.S攻击(DDOS)的威胁-入门级介绍

分布式D.O.S攻击(DDOS)的威胁-入门级介绍



        
    该攻击方式称为分布式D.O.S(Distributed Denial Of Service)攻击。国外一些高性能的商业网络和教育网络遭受到了这种攻击。它利用攻击者已经侵入并控制的主机(可能是数百台),对某一单机发起攻击。在悬殊的带宽力量对比下,被攻击的主机会很快失去反应。这种攻击方式被证实是非常有效的,而且非常难以抵挡。
      一般的人比较难以顺利实现这些攻击。因为攻击者必须熟悉一些入侵技巧。出现在一些黑客网站上的两个已知工具可以帮助实现这种攻击。它们是trin00和Tribe Flood Network。源代码包的安装使用过程是比较复杂的,因为编译者首先要找一些internet上有漏洞的主机,通过一些典型而有效的远程溢出漏洞攻击程序,获取其系统控制权,然后在这些机器上装上并运行分布端的攻击守护进程,下面简单地介绍一下trin00的结构:
    trin00由三部分组成:
    1、客户端
    2、主控端(master)
    3、分布端(broadcast)---攻击守护进程
    ------------------------------------
    1、客户端可以是telnet之类的常用连接软件,客户端的作用是向主控端(master)发送命令。它通过连接master的27665端口,然后向master发送对目标主机的攻击请求。
    2、主控端(master)侦听两个端口,其中27655是接收攻击命令,这个会话是需要密码的。缺省的密码是\"betaalmostdone\"。master启动的时候还会显示一个提示符:\"??\",等待输入密码。密码为 \"gOrave\",另一个端口是31335,等候分布端的UDP报文。
    在7月份的时候这些master的机器是:
    129.237.122.40
    207.228.116.19
    209.74.175.130
    3、分布端是执行攻击的角色。分布端安装在攻击者已经控制的机器上,分布端编译前植入了主控端master的IP地址,分布端与主控端用UDP报文通信,发送到主控端的31355端口,其中包含\"*HELLO*\"的字节数据。主控端把目标主机的信息通过27444 UDP端口发送给分布端,分布端即发起flood攻击。
    攻击者-->master-->分布端-->目标主机
    通信端口:
    攻击者 to Master(s): 27665/tcp
    Master to 分布端: 27444/udp
    分布端 to Master(s): 31335/udp
      从分布端向受害者目标主机发送的D.O.S都是UDP报文,每一个包含4个空字节,这些报文都从一个端口发出,但随机地袭击目标主机上的不同端口。目标主机对每一个报文回复一个ICMP Port Unreachable的信息,大量不同主机发来的这些洪水般的报文源源不断,目标主机将很快慢下来,直至剩余带宽变为0。
    DDos式攻击的步骤
      透过寻常网路(网络)连线,使用者传送讯息要求服务器予以确认。服务器于是将连线许可回传给使用者。使用者确认后,获准登入服务器。
      但在“拒绝服务”式攻击的情况下,使用者传送众多要求确认的讯息到服务器,使服务器充斥这种垃圾讯息。所有的讯息都附上捏造的地址,以至于服务器设图回传确认许可时,无法找到使用者。服务器于是暂时等候,有时超过一分钟,然后再切断连线。服务器切断连线时,骇客再度传送新一波佯装成要求确认的讯息,再度启动上述过程,导致服务器无法动弹,服务无限期停摆。这种攻击行动使网站服务器充斥大量要求答覆的讯息,导致系统不胜负荷以至于当机。
    这种分布式拒绝服务攻击示意图如下:
               *----------*
               | |
               | 攻击者 |
               | |
               *----------*
                |
                |
               *----------*
               | |
               | 主控端 |
               | |
               *----------*
                |
    (指挥各个分节点进行攻击)
                |
        *------------*------*------*------------*
        | | | |
        | | | |
       v v v v
    *----------* *----------* *----------* *----------*
    | | | | | | | |
    | 代理端 | | 代理端 | | 代理端 | | 代理端 |
    | | | | | | | |
    *----------* *----------* *----------* *----------*
        \\ \\ / /
        \\ \\ / /
         \\ \\ / /
            (大量的垃圾数据包进行攻击)
        \\ \\ / /
           \\ \\ / /
           \\ \\ / /
            V V V V
            *-----------------------*
            | |
            | 被攻击服务器 |
            | |
            *-----------------------*
    根据网络通讯异常现象监测分布式拒绝服务攻击
      许多人或工具在监测分布式拒绝服务攻击时常犯的错误是只搜索那些DDoS工具的缺省特征字符串、缺省端口、缺省口令等。要建立网络入侵监测系统(NIDS)对这些工具的监测规则,必须着重观察分析DDoS网络通讯的普遍特征,不管是明显的,还是模糊的。
      DDoS工具产生的网络通讯信息有两种:控制信息通讯(在DDoS客户端与服务器端之间)和攻击时的网络通讯(在DDoS服务器端与目标主机之间)。
    根据以下异常现象在网络入侵监测系统建立相应规则,能够较准确地监测出DDoS攻击。
      异常现象0:虽然这不是真正的\"DDoS\"通讯,但却能够用来确定DDoS攻击的来源。根据分析,攻击者在进行DDoS攻击前总要解析目标的主机名。BIND域名服务器能够记录这些请求。由于每台攻击服务器在进行一个攻击前会发出PTR反向查询请求,也就是说在DDoS攻击前域名服务器会接收到大量的反向解析目标IP主机名的PTR查询请求。
      异常现象1:当DDoS攻击一个站点时,会出现明显超出该网络正常工作时的极限通讯流量的现象。现在的技术能够分别对不同的源地址计算出对应的极限值。当明显超出此极限值时就表明存在DDoS攻击的通讯。因此可以在主干路由器端建立ACL访问控制规则以监测和过滤这些通讯。
      异常现象2:特大型的ICP和UDP数据包。正常的UDP会话一般都使用小的UDP包,通常有效数据内容不超过10字节。正常的ICMP消息也不会超过64到128字节。那些尺寸明显大得多的数据包很有可能就是控制信息通讯用的,主要含有加密后的目标地址和一些命令选项。一旦捕获到(没有经过伪造的)控制信息通讯,DDoS服务器的位置就暴露出来了,因为控制信息通讯数据包的目标地址是没有伪造的。
      异常现象3:不属于正常连接通讯的TCP和UDP数据包。最隐蔽的DDoS工具随机使用多种通讯协议(包括基于连接的协议)通过基于无连接通道发送数据。优秀的防火墙和路由规则能够发现这些数据包。另外,那些连接到高于1024而且不属于常用网络服务的目标端口的数据包也是非常值得怀疑的。
      异常现象4:数据段内容只包含文字和数字字符(例如,没有空格、标点和控制字符)的数据包。这往往是数据经过BASE64编码后而只会含有base64字符集字符的特征。TFN2K发送的控制信息数据包就是这种类型的数据包。TFN2K(及其变种)的特征模式是在数据段中有一串A字符(AAA……),这是经过调整数据段大小和加密算法后的结果。如果没有使用BASE64编码,对于使用了加密算法数据包,这个连续的字符就是“\\0”。
      异常现象5:数据段内容只包含二进制和high-bit字符的数据包。虽然此时可能在传输二进制文件,但如果这些数据包不属于正常有效的通讯时,可以怀疑正在传输的是没有被BASE64编码但经过加密的控制信息通讯数据包。(如果实施这种规则,必须将20、21、80等端口上的传输排除在外。)
    [email protected]
    发布人:netbull 来自:LinuxAid