DoS、DDoS、LDoS三种拒绝服务攻击模式科普

您所在的位置:网站首页 dos是典型的 DoS、DDoS、LDoS三种拒绝服务攻击模式科普

DoS、DDoS、LDoS三种拒绝服务攻击模式科普

#DoS、DDoS、LDoS三种拒绝服务攻击模式科普| 来源: 网络整理| 查看: 265

引言

DOS、DDOS、LDOS是三种网络攻击模式,想要产生一个网络攻击必须包含三要素:攻击发起者、受害者和攻击方法。正是由于三要素的不同使之出现了三种网络攻击模式。

一、拒绝服务(DoS)

广义而言,凡是利用网络安全防护措施不足导致用户不能或不敢继续使用正常服务的攻击手段,都称之为拒绝服务(Denial of Service,DoS)攻击,其目的是通过消耗网络带宽或系统资源,使网络或计算机不能提供正常的服务。

一般而言,常见的拒绝服务攻击有如下几种:

(1)SYN泛洪

当主机发送带有伪造发件人地址的TCP / SYN数据包泛洪时,就会发生SYN泛洪。

SYN泛洪是一种专门针对TCP的3次握手过程中两台主机间初始化连接握手进行攻击[2]。攻击方利用虚假源地址向服务器发送TCP连接请求,这些数据包中的每个数据包都像连接请求一样处理,通过发送回TCP / SYN-ACK数据包(确认)并等待来自发件人地址的响应来响应(响应 ACK数据包)。但是,由于发件人地址是伪造的,因此永远不会响应。服务器不会得到确认,服务器一般会重试发送SYN+ACK,并等待一段时间后丢弃这个连接,在等待的时间内服务器处于半连接状态,会消耗调资源。当大量的虚假SYN请求到来,会占用服务器的大量资源从而使得目标主机不能向正常请求提供服务。

(2)TCP/UDP泛洪

攻击者发送大量数据包以消耗受害者服务器的资源。只要用户开一个TCP或UDP端口提供相关服务,就可以针对该服务进行攻击。在这种攻击中,攻击者发送大量数据包使得受害者内存耗尽。如果有多个攻击者同时发送大量数据包给一个受害者,则该攻击为分布式拒绝服务攻击(DDoS攻击)

(3)Land攻击

由黑客组织Rootshell发现的,攻击目标是TCP三次握手。利用一个特别打造的SYN包–它的原地址和目标地址(相同)都被设置成某一个服务器地址进行攻击,然后,这个地址又发回ACK消息并创建一个空连接。这将导致接受服务器向它自己的地址发送SYN+ACK消息,结果这个地址又发回ACK消息并创建一个空连接,每一个这样的连接都将保留直到超时,在Land攻击下,许多UNIX将崩溃,NT变得极其缓慢(大约持续五分钟)。

(4)HTTP POST攻击

HTTP POST攻击于2009年首次发现,它发送一个完整的合法HTTP POST标头,其中包括一个“Content-Length”字段,用于指定要遵循的消息正文的大小。但是,攻击者然后继续以极慢的速率(例如1字节/ 110秒)发送实际的邮件正文。由于整个消息是正确且完整的,因此目标服务器将尝试遵循标头中的“Content-Length”字段,并等待消息的整个正文被传输,这可能需要很长时间。攻击者会建立数百个甚至数千个此类连接,直到服务器(受害者)上用于传入连接的所有资源都用完为止,因此,在发送所有数据之前,不可能进行任何进一步的(包括合法的)连接。值得注意的是,与许多其他试图通过使服务器的网络或CPU过载来制服服务器的(D)DoS攻击不同,HTTP POST攻击以受害者的逻辑资源为目标,这意味着受害者仍然具有足够的网络带宽和处理能力。HTTP POST攻击很难与合法连接区分开,因此能够绕过某些保护系统。

这种攻击的防御思路是:通过缓存的方式进行,尽量由设备的缓存直接返回结果来保护后端业务。当攻击者穿透缓存时,清洗设备会截获HTTP请求做特殊处理。最简单的方法就是对源IP的HTTP请求频率做统计,高于一定频率的IP地址加入黑名单。

(5)ICMP泛洪 & Ping of Death攻击

ICMP(Internet Control Message Protocol)是因特网控制报文协议。它是TCP/IP协议簇的一个子协议,用于在IP主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。

在ICMP泛洪攻击中,攻击者将发送大量IP数据包,其源地址被伪造成受害者的地址。默认情况下,网络上的大多数设备将通过发送对源IP地址的答复来对此做出响应。如果网络上接收并响应这些数据包的计算机数量非常多,则受害者的计算机将被流量泛滥。这会使受害计算机过载,甚至可能使其在此类攻击期间无法使用。

之所以把ICMP和Ping of Death攻击放在一起,是因为经常使用的用于检查网络通不通的Ping命令的过程,实际上就是ICMP协议工作的过程。还有其他的网络命令,如跟踪路由的Tracert命令也是基于ICMP协议的。

我们通常使用的ping命令每次都发送64字节的数据包。但是,可以利用操作系统规定的ICMP数据包最大尺寸不超过64KB这一规定,向主机发Ping of Death攻击。Ping of Death攻击的原理是:如果ICMP数据包的尺寸超过64KB上限时,主机就会出现内存分配错误,导致TCP/IP堆栈崩溃,致使主机死机。

(6)IP欺骗DoS 攻击

TCP连接的建立是通过三次握手完成的,而TCP正常释放连接是通过四次挥手来完成,但是有些情况下TCP无法按照正常的四次挥手来释放连接,如果此时不通过其他的方式来释放TCP连接的话,这个TCP连接将会一直存在,占用系统的部分资源。那么此时就需要使用一种叫做RST的报文(TCP报头的标志字段中的reset位置为1),使得TCP连接直接释放,因此,RST报文又叫做TCP连接异常终止。

攻击者向目的主机发送大量伪造源IP地址(合法用户,已经建立连接)、RST置位的数据包,致使目的主机清空已经建好的连接,从而实现DoS。

(7)针对Web Server的多连接攻击

通过控制大量“肉鸡”同时访问某网站,造成网站无法正常处理请求而瘫痪。

(8)针对Web Server的变种攻击

通过控制大量“肉鸡”同时连接网站,不发送GET请求而是发送乱七八糟的字符,绕过防火墙的检测,造成服务器瘫痪。

语义攻击(Semantic)和暴力攻击(Brute)

首先DoS攻击原理主要分为两种,分别是:语义攻击(Semantic)和暴力攻击(Brute)

语义攻击指的是利用目标系统实现时的缺陷和漏洞,对目标主机进行的拒绝服务攻击,这种攻击往往不需要攻击者具有很高的攻击带宽,有时只需要发送1个数据包就可以达到攻击目的;

暴力攻击指的是不需要目标系统存在漏洞或缺陷,而是仅仅靠发送超过目标系统服务能力的服务请求数量来达到攻击的目的,也就是通常所说的风暴攻击。

二、分布式拒绝服务(DDoS)

随着互联网的不断发展,网络的带宽越来越高,计算机的处理能力迅速增长,内存大大增加,当单一结点的DoS攻击速率不足以填满带宽的时候,分布式拒绝服务(Distributed denial of service attack,DDoS)出现了。这种攻击可以认为是DoS攻击的升级版,通过控制“僵尸网络(Botnet)”或者利用大量“肉鸡”,同时对同一目标发动巨量攻击流,导致攻击目标的服务能力急剧下降甚至直接“瘫痪”,从而达到其攻击目的和效果。

DDoS的表现形式主要有两种,一种为流量攻击,主要是针对网络带宽的攻击,即大量攻击包导致网络带宽被阻塞,合法网络包被虚假的攻击包淹没而无法到达主机;另一种为资源耗尽攻击,主要是针对服务器主机的攻击,即通过大量攻击包导致主机的内存被耗尽或CPU被内核及应用程序占完而造成无法提供网络服务。

当被DDoS攻击时,被攻击主机上有大量等待的TCP连接,且网络中充斥着大量的无用的数据包,源地址为假(使用了肉鸡或者僵尸网络)。同时,网络中充斥着高流量无用数据,造成网络拥塞,使受害主机无法正常和外界通讯,严重时会造成系统死机。

关于DDoS攻击的防御:上述DDoS攻击的防御一般基于数值统计。即分析正常网络和遭受DDoS攻击网络中的流量变换特征。如果发生了DDoS攻击,则网络中的流量会非常大。基于此,网络中的流量会出现明显的统计学差异,据此,可以分析巨大网络流中的数据包详情,如源IP地址和目的端口等,及时进行流量过滤。

我们说,DDoS攻击的特征是:(1)网络中充斥着高流量无用数据;(2)严重时会造成系统死机

三、慢速拒绝服务(LDoS)

2003年,在ACM的全球网络顶会SIGCOMM上,首次提出了shrew attack的概念,这一攻击日后发展为慢速拒绝服务(Low-Rate Denial of Servie,LDoS)攻击。之所以称之为“低速率”,是因为该攻击无需攻击者保持高速率的攻击流,而是定期向受害者发送高速率但短持续时间的突发流量。传统的拒绝服务攻击往往包含大量的数据包,这会造成网络流量统计特征异常从而被检测,而LDoS攻击则反而会使得网络中平均流量的降低,因而隐蔽性非常强。因此,传统攻击检测方法不适用于检测LDoS攻击,这造成了检测上的难题。

TCP是Internet中最流行的端到端传输协议,为主机之间提供可靠按序的传输服务。在现有的TCP/IP协议体系下,TCP拥塞控制机制主要基于加法增加乘法减少(AIMD)算法。在该算法中主要用到三个窗口变量:

(1)拥塞窗口(cwnd):限定源端在拥塞控制中在一定时间内允许传送的最大数据量,是来自源端的流量控制。

(2)通告窗口(awnd):连接建立及传输过程中,接收端向源端通告的最大可接收速率,是来自接收端的流量控制。

(3)有效窗口(win):源端数据发送的实际窗口大小,限定为win=min(cwnd,awnd)。

总的来说,AIMD(加法增加,乘法减少)算法保证每个TCP流按照合理的速率进行传输,超时重传(Retransmission Time-Out, RTO)则决定发送方在发送数据后,在多长时间内如果没有收到ACK,就重置重传计时器,并重传上次发送失败的报文。

在超时重传下,Reno拥塞控制机制分两步处理:如果收到了3个重复ACK,则将窗口缩减为发生拥塞时的一半;若等待RTO时间后没收到ACK,就把窗口压缩到1个包,重新执行慢启动过程(即窗口从1个包开始AIMD增长,此时流量会有损失)。

LDoS 攻击充分利用了TCP/IP 拥塞控制机制中存在的缺陷而发起攻击。LDoS攻击主要分为以下几步:

(1)LDoS 周期性地突发持续时间较短的高强度攻击数据流,导致正常TCP流大量丢包,使得拥塞控制机制被迫转入慢启动,压缩窗口导致流量损失;

(2)进入慢启动后,LDoS攻击停止攻击,当 TCP 流缓慢恢复至即将正常时,下一个 LDoS 攻击周期开始,高强度攻击数据流继续攻击,导致下一轮拥塞控制;

(3)如此周而复始反复恶性循环,从而使得 TCP 流反复进入“拥塞避免”和“拥塞恢复”的恶性循环状态,导致 TCP 流的吞吐量大大下降。

LDoS攻击有三个参数,分别是攻击周期T、攻击突发长度t和攻击速率R。

T:攻击周期。为了获得最佳攻击效果,攻击发起者通常会基于重新传输超时(RTO)设定T的值。若每一轮攻击周期都和RTO时间相等,则网络会一直拥塞控制-恢复-再拥塞;

t:攻击突发长度。LDoS攻击的一个周期内只会存在短时间的高强度攻击流,大部分时间保持静默,因此在一个攻击周期内,t的值远小于攻击周期。

R:攻击速率。攻击速率必须大于瓶颈带宽,否则网络不会受到攻击流的拥塞。

LDoS攻击具有明显周期性,周期中的大流量方波导致拥塞控制机制启动,不攻击的时候,流量恢复,然后又攻击,周而复始,持久掉包。

因此,LDoS攻击仅需要在周期内很短的时间维持高流量,进入拥塞之后就停止攻击,这就导致了攻击流量很低,难以检测,且能周而复始降低吞吐量,使得吞吐量进入巨大波动,导致拒绝服务。

目前对于LDoS攻击的检测方法主要有三个方面:一是基于分析异常流量在整个周期内所占比例的“时域检测方法”;二是基于分析异常流量数量的“频域检测方法”;三是“特征方法”,主要原理是分析LDoS攻击发生时的流量特征(比如,波动剧烈)进行分类或聚类检测。研究表明,第三种基于特征的方法,能和机器学习或人工智能结合在一起,检测效果较好,是最有效的方法。

此外,软件定义网络(Software Defined Network,SDN)技术作为近几年来的热点,在安全方面取得了较大的成果,且在拒绝服务防御中取得了良好的效果。通过自定义网络组件,研究人员通过网络可编程技术,提出了一系列防御方法,并开发了许多防御组件,对于普通DoS攻击、DDoS攻击和LDoS攻击均取得了良好的效果。

转载至:(这老哥讲的真的好) https://blog.csdn.net/yyd19981117/article/details/104300454



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3