下载安卓APP箭头
箭头给我发消息

客服QQ:3315713922

拒绝服务攻击(DoS)的知识学习

作者:课课家教育     来源: http://www.kokojia.com点击数:1229发布时间: 2019-02-26 15:21:54

标签: 拒绝服务攻击网络攻击网络安全服务器

  在网络安全当中,各种各类的网络攻击手段总是层出不穷,人们为了防御这些攻击也花了很大的力气去做。但所谓知己知彼,了解了这些攻击的原理等方面的知识点后才能更好地防御。在这里,我们就来学习一下拒绝服务攻击的知识。

  拒绝服务攻击网络攻击的一种,是黑客常用的攻击手段之一,是阻止或拒绝合法使用者存取网络服务器(一般为web、FTP或邮件服务器)的一种破坏性攻击方式。DoS攻击是由人为或非人为发起的行动,使主机硬件、软件或者两者同时失去工作能力,使系统不可访问并因此拒绝合法的用户服务要求。

拒绝服务攻击(DoS)的知识学习_拒绝服务攻击_网络攻击_网络安全_服务器_课课家 

  DoS攻击往往是针对TCP/IP协议中的某个弱点,或者系统存在的某些漏洞,对目标系统发起的大规模进攻使服务器充斥大量要求回复的信息,消耗网络带宽或系统资源,导致目标网络或系统不胜负荷以至于瘫痪而无法向合法的用户提供正常的服务。DoS技术严格地说只是一种破坏网络服务的技术方式,具体的实现多种多样,但都有一个共同点,就是其根本目的是使受害主机或网络失去及时接受处理外界请求,或无法及时图应外界请求。

  要对服务器实施拒绝服务攻击,实质上的方式就是有两个:

  ①服务器的缓冲区满,不接收新的请求。

  ②使用IP欺骗,迫使服务器把合法用户的连接复位,影响合法用户的连接。这也是DoS攻击实施的基本思想。

  DoS攻击的实现方式:

  1.根据目标主机自身存在的拒绝服务攻击的漏洞来进行攻击,攻击者通过向目标主机发送具有漏洞利用代码的数据包,然后目标主机被处罚拒绝服务漏洞,造成计算机的死机从而无法对外提供服务

  2.通过大量发送数据包与目标主机建立网络连接或使目标主机自动应答,目标主机在进行回应的时候会占用大量的CPU和内存,当资源全部被占用的时候,就会达到拒绝服务的目的

  3.发送大量的垃圾数据包来耗尽主机的网络宽带

  DoS攻击的模式

  外部用户针对网络连接发动拒绝服务攻击主要有以下几种模式:

  1.消耗资源

  计算机和网络需要一定的条件才能运行,如网络带宽、内存、磁盘空间、CPU时间。攻击者利用系统资源有限这一特征,或者是大量地申请系统资源,并长时间地占用;或者是不断地向服务程序发请求,使系统忙于处理自己的请求,而无暇为其他用户提供服务。攻击者可以针对以下几种资源发起拒绝服务攻击。

  ①针对网络连接的拒绝服务攻击。

  ②消耗磁盘空间。

  ③消耗CPU资源和内存资源。

  2.破坏或更改配置信息

  计算机系统配置上的错误也可能造成拒绝服务攻击,尤其是服务程序的配置文件以及系统、用户的启动文件。这些文件一般只有该文件的属主才可以写入,如果权限设置有误,攻击者(包括己获得一般访问权的黑客与恶意的内部用户)可以修改配置文件,从而改变系统向外提供服务的方式。

  3.物理破坏或改变网络部件

  这种拒绝服务针对的是物理安全,一般来说,通过物理破坏或改变网络部件以达到拒绝服务的目的。其攻击的目标有:计算机、路由器、网络配线室、网络主干段、电源、冷却设备、其他的网络关键设备。

  4.利用服务程序中的处理错误便服务失效

  最近出现了一些专门针对Windows系统的攻击方法,如LAND等等。被这些工具攻击之后,自标机的网络连接就会莫名其妙地断掉,不能访问任何网络资源,或者出现莫名其妙的蓝屏,系统进入死锁状况。这些攻击方法主要利用服务程序中的处理错误,发送一些该程序不能正确处理的数据包,引起该服务进入死循环。

  DoS攻击原理

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

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

  暴力攻击指的是不需要目标系统存在漏洞或缺陷,而是仅仅靠发送超过目标系统服务能力的服务请求数量来达到攻击的目的,也就是通常所说的风暴攻击。所以防御这类攻击必须借助于受害者上游路由器等的帮助,对攻击数据进行过滤或分流。某些攻击方式,兼具语义和暴力两种攻击的特征,比如SYN风暴攻击,虽然利用了TCP协议本身的缺陷,但仍然需要攻击者发送大量的攻击请求,用户要防御这种攻击,不仅需要对系统本身进行增强,而且也需要增大资源的服务能力。还有一些攻击方式,是利用系统设计缺陷,产生比攻击者带宽更高的通信数据来进行暴力攻击的,如DNS请求攻击和Smurf攻击。

  DoS攻击的分类

  IP层协议攻击,IP层攻击是最低层次的DoS攻击,攻击方法就是通过发送大量的ICMP和IGMP数据包来实现的,可以使主机的资源全部用于应答这些数据包,IP层攻击的策略是靠数据包的多少来取胜的,不需要太多的策略。比如Smurf攻击,Smurf攻击是一种反射型拒绝服务攻击的方法,攻击者向网络中具有广播功能的网络设备发送源地址伪造为目标主机的ICMP响应请求数据包,网络广播设备会向自己所管辖的网络范围内进行广播,网络中所有收到这个广播消息的数据包都会向源地址(也就是目标主机)回应数据包,如果回应数据包的用户数量很多的话,那么就达到DoS攻击的目的了

  TCP协议攻击,这个一般可以分为两种,第一种是利用TCP协议本身的缺陷进行攻击,比如SYN-Flood和ACK-Flood,另一类就是全连接发起的攻击

  先来说说前面的两种flood,前面的两种是基于TCP协议本身设计的安全缺陷,SYN-Flood和ACK-Flood就是基于TCP连接三次握手时的设计缺陷。原理其实也很简单,拿SYN-Flood来说一下吧,TCP协议 第一次握手会发送一个SYN标志为1的数据包,然后攻击者会伪造一个不存在 的IP来发送第一次握手的数据包,然后目标主机就会发送SYN+ACK数据包,但是那个IP是不存在的,所以目标主机并不会收到第三次连接的数据包,这样,目标主机就会傻等一段时间才会放弃这段连接,其中的整个过程都是需要耗费资源的。

  再来说说land攻击,land攻击就是攻击者发送TCP连接的第一次握手的数据包,但是这个数据包的源IP地址被修改为了目标主机的IP地址,这样目标主机就会自己与自己握手,自己与自己握手会产生一个空连接,每个空连接都会保留至超时,数量一多就拒绝服务了。

  再有就是ACK-Flood,ACK-Flood发送的是ACK标识为1的数据包,其中的源地址是伪造的,大量的ACK数据包就会冲击主机,主机就会响应ACK+RST数据包来回复,流量一大,主机回复数据包的过程就会消耗相当多的资源,这两种Flood攻击方法源IP都是伪造的追踪相当困难,但是也有一定的缺点,就是需要相当高宽带的攻击主机的支持

  TCP全连接DoS攻击,全连接就是连接上断开,连接上断开,如此往复,这种攻击超过一定程度防火墙是会拦截的,还有就是让一个连接在目标主机上存在长时间的连接来占用主机资源

  UDP协议的攻击,UDP协议攻击就是发送大流量的UDP数据包来占据主机的网络宽带,这种攻击如果应用于基于UDP协议的应用服务器会产生严重的后果,比如DNS服务器,就会产生大量需要解析的域名,然后这些域名往往是不存在的,所以DNS又会向上级查询,从而使上级DNS服务器产生连锁的反应

  应用层协议攻击:最常见的就是脚本攻击,不断向服务器发送HTTP Get请求,这种方式往往需要攻击者与目标主机建立正常的TCP连接所以会暴露攻击者的IP地址。

  再来说说SYN Flood攻击。这是典型的拒绝服务攻击。 SYN Flood常常是源IP地址欺骗攻击的前奏,又称半开式连接攻击,每当我们进行一次标准的TCP连接就会有一个三次握手的过程,而SYN Flood在它的实现过程中只有三次握手的前两个步骤,当服务方收到请求方的SYN并回送SYN-ACK确认报文后,请求方由于采用源地址欺骗等手段,致使服务方得不到ACK回应,这样,服务方会在一定时间内处于等待接收请求方ACK报文的状态,一台服务器可用的TCP连接是有限的,如果恶意攻击方快速连续的发送此类连接请求,则服务器的系统可用资源、网络可用带宽急剧下降,将无法向其它用户提供正常的网络服务。

  拒绝服务攻击的预防措施

  为了防止拒绝服务攻击,我们可以采取以下的预防措施:

  (1) 建议在该网段的路由器上做些配置的调整,这些调整包括限制Syn半开数据包的流量和个数。

  (2)要防止SYN数据段攻击,我们应对系统设定相应的内核参数,使得系统强制对超时的Syn请求连接数据包复位,同时通过缩短超时常数和加长等候队列使得系统能迅速处理无效的Syn请求数据包。

  (3)建议在路由器的前端做必要的TCP拦截,使得只有完成TCP三次握手过程的数据包才可进入该网段,这样可以有效地保护本网段内的服务器不受此类攻击。

  (4)对于信息淹没攻击,我们应关掉可能产生无限序列的服务来防止这种攻击。比如我们可以在服务器端拒绝所有的ICMP包,或者在该网段路由器上对ICMP包进行带宽方面的限制,控制其在一定的范围内。

  总之,要彻底杜绝拒绝服务攻击,最好的办法是惟有追根溯源去找到正在进行攻击的机器和攻击者。 要追踪攻击者可不是一件容易的事情,一旦其停止了攻击行为,很难将其发现。惟一可行的方法是在其进行攻击的时候,根据路由器的信息和攻击数据包的特征,采用逐级回溯的方法来查找其攻击源头。这时需要各级部门的协同配合方可有效果。

  拒绝服务攻击的主要目的是让目标机器停止提供服务,因此,只要能够对目标造成麻烦,使某些服务被暂停甚至主机死机均属于拒绝服务攻击。由于网络协议本身存在的安全缺陷,拒绝服务攻击成为了攻击者的终极手法,因此为了防止拒绝服务攻击,采取一些预防措施是非常有必要的。

  拒绝服务攻击的内容就讲到这里了,相信大家通过以上的知识点学习已经对拒绝服务攻击有一定的了解了。想要学习更多其他的内容可前往课课家教育。

赞(12)
踩(0)
分享到:
华为认证网络工程师 HCIE直播课视频教程