【高新课堂】第一百八十五期--DDos攻击原理

东莞高训中心
+订阅

DDOS的定义

分布式拒绝服务(DDoS:Distributed Denial of Service)攻击指借助于客户/服务器技术,将多个计算机联合起来作为攻击平台,对一个或多个目标发动DDoS攻击,从而成倍地提高拒绝服务攻击的威力。通常该攻击方式利用目标系统网络服务功能缺陷或者直接消耗其系统资源,使得该目标系统无法提供正常的服务。

攻击的方式

网络层DDos攻击

(1)SYN flood攻击

SYN flood攻击主要利用了TCP三次握手过程中的bug,我们知道TCP三次握手过程是要建立连接的双方发送SYN,SYN+ACK,ACK数据包,而当攻击方随意构造源ip去发送SYN包时,服务器返回的SYN+ACK就不能得到应答(因为ip是随意构造的),此时服务器就会尝试重新发送,并且会有至少30s的等待时间,导致资源饱和服务不可用,此攻击属于慢型dos攻击。

(2)UDP flood攻击

由于udp是一种无连接的协议,因此攻击者可以伪造大量的源IP地址去发送udp包,此种攻击属于大流量攻击。正常应用情况下,UDP包双向流量会基本相等,因此在消耗对方资源的时候也在消耗自己的资源。

(3)ICMP flood攻击

此攻击属于大流量攻击,其原理就是不断发送不正常的ICMP包(所谓不正常就是ICMP包内容很大),导致目标带宽被占用,但其本身资源也会被消耗。并且目前很多服务器都是禁ping的(在防火墙在可以屏蔽icmp包),因此这种方式已经落伍。

02

应用层DDos攻击

(1)CC攻击(Challenge Collapasar)

CC攻击的原理,就是针对消耗资源比较大的页面不断发起不正常的请求,导致资源耗尽。因此在发送CC攻击前,我们需要寻找加载比较慢,消耗资源比较多的网页,比如需要查询数据库的页面、读写硬盘文件的等。通过cc攻击,使用爬虫对某些加载需要消耗大量资源的页面发起http请求。

(2)HTTP POST DOS

原理是在发送HTTP POST包时,指定一个非常大的Content-Length值,然后以极低的速度发包,保持连接不断,导致服务饱和不可用。

DDoS攻击通过大量的请求占用大量网络资源,以达到瘫痪网络的目的。攻击方式可分为以下几种:

  • 通过使网络过载来干扰甚至阻断正常的网络通讯;

  • 通过向服务器提交大量请求,使服务器超负荷;

  • 阻断某一用户访问服务器;

  • 阻断某服务与特定系统或个人的通讯。

攻击的现象

出现DDOS攻击时,往往会有以下特征:

  • 被攻击主机上有大量等待的TCP连接;

  • 网络中充斥着大量的无用的数据包;

  • 源地址为假 制造高流量无用数据,造成网络拥塞,使受害主机无法正常和外界通讯;

  • 利用受害主机提供的传输协议上的缺陷反复高速的发出特定的服务请求,使主机无法处理所有正常请求;

  • 严重时会造成系统死机。

Ddos攻击的危害

DDOS采取的攻击手段就是分布式的攻击方式,在攻击的模式改变了传统的点对点的攻击模式,使攻击方式出现了没有规律的情况,而且在进行攻击的时候,通常使用的也是常见的协议和服务,这样只是从协议和服务的类型上是很难对攻击进行区分的。

在进行攻击的时候,攻击数据包都是经过伪装的,在源IP地址上也是进行伪造的,这样就很难对攻击进行地址的确定,在查找方面也是很难的。这样就导致了分布式拒绝服务攻击在检验方法上是很难做到的。

DDos防御

  • 尽可能对系统加载最新补丁,并采取有效的合规性配置,降低漏洞利用风险;

  • 采取合适的安全域划分,配置防火墙、入侵检测和防范系统,减缓攻击;

  • 采用分布式组网、负载均衡、提升系统容量等可靠性措施,增强总体服务能力。

  • 发动DDOS攻击的主要攻击来源是分布在世界各地的僵尸网络。

僵尸网络定义

僵尸网络(Botnet)是互联网上受到黑客集中控制的一群计算机,往往被黑客用来发起大规模的网络攻击,如分布式拒绝服务攻击(DDoS)、海量垃圾邮件等。

需要发动攻击时,攻击者通过中心服务器发送预先定义好的控制指令,让被感染主机执行恶意行为,如发起DDos攻击、窃取主机敏感信息、更新升级恶意程序等。

僵尸网络的类型

Botnet根据分类标准的不同,可以有多许多种分类。

按程序种类

Agobot/Phatbot/Forbot/XtremBot。这可能是最出名的僵尸工具。防病毒厂商Spphos列出了超过500种已知的不同版本的Agobot(Sophos 病毒分析),这个数目也在稳步增长。僵尸工具本身使用跨平台的C++写成。

Agobot最新可获得的版本代码清晰并且有很好的抽象设计,以模块化的方式组合,添加命令或者其他漏洞的扫描器及攻击功能非常简单,并提供像文件和进程隐藏的Rootkit。

能力在攻陷主机中隐藏自己。在获取该样本后对它进行逆向工程是比较困难的,因为它包含了监测调试器(Softice和O11Dbg)和虚拟机(VMware 和Virtual PC)的功能。

SDBot/RBot/UrBot/SpyBot/。这个家族的恶意软件目前是最活跃的bot程序软件,SDBot由C语言写成。它提供了和Agobot 一样的功能特征,但是命令集没那么大,实现也没那么复杂。它是基于IRC协议的一类bot程序。

GT-Bots是基于当前比较流行的IRC客户端程序mIRC编写的,GT是(GlobalThreat)的缩写。这类僵尸工具用脚本和其他二进制文件开启一个mIRC聊天客户端,但会隐藏原mIRC窗口。通过执行mIRC脚本连接到指定的服务器频道上,等待恶意命令。这类bot程序由于捆绑了mIRC程序,所以体积会比较大,往往会大于1MB。

按控制方式

  • RC Botnet。

    是指控制和通信方式为利用IRC协议的Botnet,形成这类Botnet的主要bot程序有spybot、GTbot和SDbot,目前绝大多数Botnet属于这一类别。

  • AOL Botnet。

    与IRCBot类似,AOL为美国在线提供的一种即时通信服务,这类Botnet是依托这种即时通信服务形成的网络而建立的,被感染主机登录到固定的服务器上接收控制命令。AIM-Canbot和Fizzer就采用了AOL Instant Messager实现对Bot的控制。

  • P2P Botnet。

    这类Botnet中使用的bot程序本身包含了P2P的客户端,可以连入采用了Gnutella技术(一种开放源码的文件共享技术)的服务器,利用WASTE文件共享协议进行相互通信。由于这种协议分布式地进行连接,就使得每一个僵尸主机可以很方便地找到其他的僵尸主机并进行通信,而当有一些bot被查杀时,并不会影响到Botnet的生存,所以这类的Botnet具有不存在单点失效但实现相对复杂的特点。Agobot和Phatbot采用了P2P的方式。

版权声明:未经许可禁止以任何形式转载
免责声明:本文由南方+客户端“南方号”入驻单位发布,不代表“南方+”的观点和立场。
+1
您已点过

订阅后可查看全文(剩余80%)

更多精彩内容请进入频道查看

还没看够?打开南方+看看吧
立即打开