精华内容
下载资源
问答
  • 拒绝服务攻击常见类型

    千次阅读 2019-10-01 21:39:28
     拒绝服务攻击(Denial-of-Service Attack)亦称洪水攻击,是一种网络攻击手法,其目的在于使目标电脑的网络或系统资源耗尽,使服务暂时中断或停止,导致其正常用户无法访问。  分布式拒绝服务攻击(Distributed ...

    一. 什么是 DoS & DDoS ?

      拒绝服务攻击(Denial-of-Service Attack)亦称洪水攻击,是一种网络攻击手法,其目的在于使目标电脑的网络或系统资源耗尽,使服务暂时中断或停止,导致其正常用户无法访问。

      分布式拒绝服务攻击(Distributed Denial-of-Service Attack),是使用网络上两个或两个以上被攻陷的电脑作为 “僵尸” 向特定的目标发动 “拒绝服务” 式攻击。

     

    二. 常见类型及攻击原理

      (1)被攻击特征

      受害主机在 DDoS 攻击下,明显特征就是大量的不明数据报文流向受害主机,受害主机的网络接入带宽被耗尽,或者受害主机的系统资源(存储资源和计算资源)被大量占用,甚至发生死机。前者可称为带宽消耗攻击,后者称为系统资源消耗攻击。两者可能单独发生,也可能同时发生。

     

    DDOS按拒绝对象可以分为:带宽消耗型攻击、资源消耗型攻击。

     

    从协议层次划分:

     

    OSI   层级 攻击内容 
    Network Based (2-4层) IP Fragment 
    Tear Drop 
    SYN Flood (Dirt Jumper) 
    TCP (connection) Flood 
    e.g. SYN-ACK, ACK & PUSH-ACK, RST or   FIN and Fragmented ACK 
    Christmas Tree
    Fake Session
    LAND 
    Redirect Traffic Attack 
    ICMP Flood, Ping Floods and SMURF   Attacks 
    Ping of Death ICMP 
    DNS  based   (4层) UDP Flood 
    UDP Fragment 
    DNS Flood (Distributed and DNS   Blacklisting)
    e.g. DNS UDP Flood, DNS Query Flood and   DNS NXDOMAIN Flood 
    SSL/TLS based (5–6层) SSL Floods, Malformed SSL (e.g. empty SSL HELLO) 
    SSL THC attack (Extending from SSL   Renegotiation vulnerability) 
    Application based (6–7层) Slowloris (Nuclear DDoSer, Slowhttptest) 
    Keep-Dead 
    Slow POST (R-U-Dead-Yet, Tor Hammer,   Nuclear DDoSer, Slowhttptest) 
    HashDoS 
    Apache Killer (Slowhttptest) 
    HTTP GET Flood, Recursive GET Flood (Web   Scraping), Dirt Jumper (HTTP Flood) 
    #RefRef (exploit SQLi - OWASP Top 10   vulnerability as entry) 
    XML “Bomb” (DTD attack), XML External   Entity DoS 

     

    (2)下面简单介绍一些常见的DDOS攻击类型:

    普通DDOS

      普通拒绝服务攻击是指一些传统的攻击方式,如SYN FLOOD攻击、ACK FLOOD攻击、CC攻击、UDP FLOOD攻击等等。

    新型DDOS

      Websocket、临时透镜、慢速DDOS、ReDOS

     

    1. SYN FLOOD攻击

      SYN FLOOD攻击是利用TCP协议的一些特性发动的,通过发送大量伪造的带有SYN标志位的TCP报文使目标服务器连接耗尽,达到拒绝服务的目的。要想理解SYN FLOOD的攻击原理必须要先了解TCP协议建立连接的机制。SYN FLOOD攻击就是在三次握手机制的基础上实现的。攻击者通过伪造IP报文,在IP报文的原地址字段随机填入伪造的IP地址,目的地址填入要攻击的服务器IP地址,TTL、Source Port等随机填入合理数据,TCP的目的端口填入目的服务器开放的端口,如80、8080等,SYN标志位置1。然后不停循环将伪造好的数据包发送到目的服务器。

      

    2. ACK FLOOD攻击

      ACK FLOOD攻击同样是利用TCP三次握手的缺陷实现的攻击,ACK FLOOD攻击利用的是三次握手的第二段,也就是TCP标志位SYN和ACK都置1,攻击主机伪造海量的虚假ACK包发送给目标主机,目标主机每收到一个带有ACK标志位的数据包时,都会去自己的TCP连接表中查看有没有与ACK的发送者建立连接,如果有则发送三次握手的第三段ACK+SEQ完成三次握手建立TCP连接;如果没有则发送ACK+RST断开连接。但是在这个过程中会消耗一定的CUP计算资源,如果瞬间收到海量的SYN+ACK数据包将会消耗大量的CPU资源使得正常的连接无法建立或者增加延迟,甚至造成服务器瘫痪、死机。

     

    3. UDP FLOOD攻击

      UDP FLOOD攻击顾名思义是利用UDP协议进行攻击的,UDP FLOOD攻击可以是小数据包冲击设备也可以是大数据包阻塞链路占尽带宽。不过两种方式的实现很相似,差别就在UDP的数据部分带有多少数据。相比TCP FLOOD攻击,UDP FLOOD攻击更直接更好理解,有一定规模之后更难防御,因为UDP攻击的特点就是打出很高的流量,一个中小型的网站出口带宽可能不足1G,如果遇到10G左右的UDP FLOOD攻击,单凭企业自身是无论如何也防御不住的,必须需要运营商帮你在上游清洗流量才行,如果遇到100G的流量可能地方的运营商都没有能力清洗了,需要把流量分散到全国清洗。UDP FLOOD攻击就像是一块大石头,看着普普通通的好像跟现代机枪炸弹不是一个等级的武器,但是如果石头足够大,就不一样了。

     

    4. CC攻击

      CC攻击全称Challenge Collapsar,中文意思是挑战黑洞,因为以前的抗DDOS攻击的安全设备叫黑洞,顾名思义挑战黑洞就是说黑洞拿这种攻击没办法,新一代的抗DDOS设备已经改名为ADS(Anti-DDoS System),基本上已经可以完美的抵御CC攻击了。CC攻击的原理是通过代理服务器或者大量肉鸡模拟多个用户访问目标网站的动态页面,制造大量的后台数据库查询动作,消耗目标CPU资源,造成拒绝服务。我们都知道网站的页面有静态和动态之分,动态网页是需要与后台数据库进行交互的,比如一些论坛用户登录的时候需要去数据库查询你的等级、权限等等,当你留言的时候又需要查询权限、同步数据等等,这就消耗很多CPU资源,造成静态网页能打开,但是需要和数据库交互的动态网页打开慢或者无法打开的现象。这种攻击方式相对于前两种实现要相对复杂一些,但是防御起来要简单的多,提供服务的企业只要尽量少用动态网页并且让一些操作提供验证码就能抵御一般的CC攻击。

     

    5. 反射DDOS

      很多协议的请求包要远小于回复包,以一个字节的数据换十个字节的数据回来这就是一种放大,但是你这单纯的放大攻击的是自己,所以说想要攻击别人就要在发送请求包时把源地址写成要攻击的人的地址,这样回复的大字节报文就去你要攻击的人那里了。
      这里放大主要利用的是NTP的monlist(listpeers也行)、DNS的AXFR(ANY也行)、SNMP的getbulkrequest。
      monlist是返回最近600个与当前NTP服务器通信过的IP地址;
      AXFR是区域传送(有地方叫域传送),比如freebuf.com下的所有域名返回给请求者;
      SNMPV2版本中新加的getbulkrequest用于一次请求大量的信息,减少管理站与被管理设备的交互次数。

     

    6. Websocket

      websocket是HTML5一种新的协议,它实现了浏览器与服务器全双工通信(full-duple)。目前主流的浏览器都能很好地支持websocket,而且用它实现DOS攻击也并不是很难,只要在js代码中写入相应的代码,当人们打开这个网页时浏览器会自动执行js代码去请求连接要攻击的IP地址。

     

    7. 临时透镜

      这种攻击是一种典型的通过时间延时进行流量放大攻击的方法。如果攻击者可以控制多个时间段的多个数据包,让它们同时到达目标,这样就能使流量瞬间到达一个峰值,对目标造成很大危害。这个攻击方式道理不难理解,但是实现起来可是不容易,要让相同源和目的IP的IP报文走不同的路径到达目的地,这一点就是要实现临时透镜攻击的关键所在,我国的互联网基本上是由四张网(电信、联通、移动、教育网)通过互联互通组成的,任意两点之间的路径都能有千千万万条,但是怎么才能有我们自己控制报文的路线呢?我想到的第一个办法就是用IP协议的宽松源路由选项,学过或者平时比较了解TCP/IP的童鞋们可能听说过这个宽松源路由,但我估计很少有人用。IP数据在传输时通常由路由器自动为其选择路由,但是网络工程师为了使数据绕开出错网络或者为了测试特定线路的吞吐率,需要在信源出控制IP数据报的传输路径,源路由就是为了满足这个要求设计的。源路由有两种,一种叫严格源路由另一种就是我们要说的宽松源路由。IP选项部分可以最多带上9个IP地址作为这个数据报要走的路径,严格源路由是每一跳都必须按照指定的路由器去走,但是宽松源路由的不用这么严格。我国大部分运营商都禁止了源路由,不过有人说在国外不禁止源路由,国外有服务器的朋友可以去测试一下是不是真的。

     

    8. 慢速DDOS

    一说起慢速攻击,就要谈谈它的成名历史了。HTTP Post慢速DoS攻击第一次在技术社区被正式披露是2012年的OWASP大会上,由Wong Onn Chee和Tom Brennan共同演示了使用这一技术攻击的威力。对任何一个开放了HTTP访问的服务器HTTP服务器,先建立了一个连接,指定一个比较大的content-length,然后以非常低的速度发包,比如1-10s发一个字节,然后维持住这个连接不断开。如果客户端持续建立这样的连接,那么服务器上可用的连接将一点一点被占满,从而导致拒绝服务。和CC攻击一样,只要Web服务器开放了Web服务,那么它就可以是一个靶子,HTTP协议在接收到request之前是不对请求内容作校验的,所以即使你的Web应用没有可用的form表单,这个攻击一样有效。在客户端以单线程方式建立较大数量的无用连接,并保持持续发包的代价非常的低廉。实际试验中一台普通PC可以建立的连接在3000个以上。这对一台普通的Web server将是致命的打击。更不用说结合肉鸡群做分布式DoS了。鉴于此攻击简单的利用程度、拒绝服务的后果、带有逃逸特性的攻击方式,这类攻击一炮而红,成为众多攻击者的研究和利用对象。发展到今天,慢速攻击也多种多样。

     

    9. ReDoS

      ReDoS(Regular expression Denial of Service)正则表达式拒绝服务攻击。开发人员使用了正则表达式来对用户输入的数据进行有效性校验,当编写校验的正则表达式存在缺陷或者不严谨时, 攻击者可以构造特殊的字符串来大量消耗服务器的系统资源,造成服务器的服务中断或停止。
    正则表达式引擎分成两类,一类称为DFA(确定性有限状态自动机),另一类称为NFA(非确定性有限状态自动机)。两类引擎要顺利工作,都必须有一个正则式和一个文本串,一个捏在手里,一个吃下去。DFA捏着文本串去比较正则式,看到一个子正则式,就把可能的匹配串全标注出来,然后再看正则式的下一个部分,根据新的匹配结果更新标注。而NFA是捏着正则式去比文本,吃掉一个字符,就把它跟正则式比较,然后接着往下干。一旦不匹配,就把刚吃的这个字符吐出来,一个一个吐,直到回到上一次匹配的地方。

     

    参考文章 

    http://blog.csdn.net/qq_32400847/article/details/63262965

    http://361531.blog.51cto.com/351531/1035717/

    转载于:https://www.cnblogs.com/ssooking/p/7486227.html

    展开全文
  • 常见拒绝服务攻击行为特征与防御方法.pdf
  • 其实对网络带宽进行的消耗性攻击只是拒绝服务攻击的一小部分,只要能够对目标造成麻烦,使某些服务被暂停甚至主机死机,都属于拒绝服务攻击。 来自单个攻击者的拒绝服务攻击简称为拒绝服务攻击,又称DOS攻击。 来自...

    拒绝服务型攻击:

    拒绝服务攻击即攻击者想办法让目标机器停止提供服务或资源访问,是黑客常用的攻击手段之一。这些资源包括磁盘空间、内存、进程甚至网络带宽,从而阻止正常用户的访问。其实对网络带宽进行的消耗性攻击只是拒绝服务攻击的一小部分,只要能够对目标造成麻烦,使某些服务被暂停甚至主机死机,都属于拒绝服务攻击。

    来自单个攻击者的拒绝服务攻击简称为拒绝服务攻击,又称DOS攻击。 来自多个PC(可能是僵尸机或Bot)的攻击被称为分布式拒绝服务攻击,又称DDOS攻击。

    ICMP 攻击:


    ICMP(Internet控制消息协议, Internet Control Message Protocol)协议用来给IP协议提供控制服务,允许路由器或目标主机给数据的发送方提供反馈信息。需要发送反馈信息的情况包括:数据包不能被发送到目标主机,路由器缓冲区溢出导致数据包被删除,路由器想要把流量重定向到另外一个更短的路由上等。ICMP协议是IP协议的一部分,任何实现了IP协议的设备同时也被要求实现ICMP协议。

    利用这个协议来进行攻击的方式都被称为ICMP攻击,常见的有以下几种:


    Ping Flood 攻击:

    该攻击在短时间内向目的主机发送大量Ping包,造成网络堵塞或主机资源耗尽。


    Ping of Death攻击:

    又称死亡之Ping,中二的名字= =,ICMP方法是由攻击者故意发送大于65535字节的ip数据包给对方。TCP/IP的特征之一是碎裂;它允许单一IP包被分为几个更小的数据包。

    ICMP数据包最大尺寸不超过65535字节利用这一规定,可以向主机发动 ping of death 攻击。ping of death 攻击 是通过在最后分段中,改变其正确的偏移量和段长度的组合,使系统在接收到全部分段并重组报文时总的长度超过了65535字节,导致内存溢出,这时主机就会出现内存分配错误而导致TCP/IP堆栈崩溃,导致死机。


    Smurf 攻击:

    攻击者伪造一个合法的IP地址,然后由网络上所有的路由器广播要求向受攻击计算机地址做出回答的请求。由于这些数据包表面上看是来自已知地址的合法请求,因此网络中的所有系统向这个地址做出回答,最终结果可导致该网络的所有主机都对此ICMP应答请求作出答复,导致网络阻塞。

    或将源地址改为第三方的受害者,并且大量的广播。


    基于TCP攻击:


    Syn Flood攻击:

    又称SYN洪水攻击,建立TCP连接需要经过三次握手,第一次握手:用户向服务器发送了SYN报文;第二次握手,服务器向用户返回SYN+ACK的报文;第三次握手,客户端也返回一个确认报文ACK给服务器端。

    假设一个用户向服务器发送了SYN报文后突然死机或掉线,那么服务器在发出SYN+ACK应答报文后是无法收到客户端的ACK报文的(第三次握手无法完成),这种情况下服务器端一般会重试(再次发送SYN+ACK给客户端)并等待一段时间后丢弃这个未完成的连接,这段时间的长度我们称为SYN Timeout,一般来说这个时间是分钟的数量级(大约为30秒-2分钟)。那如果是大量恶意的不应答第三次握手呢,最后的结果往往是堆栈溢出崩溃,即使服务器足够强大,也会无法回复正常的TCP连接,而导致正常用户无法访问。


    Land 攻击:

    攻击者发送具有与受害者相同源IP,目的IP,源端口,目的端口伪造 TCP SYN 数据包信息流,然后受害者将一直响应自身导致死循环,或是无暇相应正常访问。


    UDP攻击:


    UDP 是User Datagram Protocol的简称, 中文名是用户数据包协议,是 OSI 参考模型中一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务。

    UDP攻击是基于UDP协议的攻击,当受害系统接收到一个 UDP 数据包的时候,它会确定目的端口正在等待中的应用程序。当它发现该端口中并不存在正在等待的应用程序,它就会产生一个目的地址无法连接的 ICMP数据包发送给该伪造的源地址。如果向受害者计算机端口发送了足够多的 UDP 数据包的时候,整个系统就会瘫痪。


    展开全文
  • 常见拒绝服务攻击方式.docx
  • 1.5.2常见拒绝服务攻击行为特征与防御方法 拒绝服务攻击是最常见的一类网络攻击类型。在这一攻击原理下,它又派生了许多种不同的攻击方式。正确了解这些不同的拒绝攻击方式,就可以为正确、系统地为自己所在企业...

    以下内容摘自笔者编著图书《网管员必读——网络安全》一书。

     

    1.5.2 常见拒绝服务攻击行为特征与防御方法

    拒绝服务攻击是最常见的一类网络攻击类型。在这一攻击原理下,它又派生了许多种不同的攻击方式。正确了解这些不同的拒绝攻击方式,就可以为正确、系统地为自己所在企业部署完善的安全防护系统。
    入侵检测的最基本手段是采用模式匹配的方法来发现入侵攻击行为。要有效的进行反攻击,首先必须了解入侵的原理和工作机理,只有这样才能做到知己知彼,从而有效的防止入侵攻击行为的发生。下面我们针对几种典型的拒绝服务攻击原理进行简要分析,并提出相应的对策。
    l          死亡之PingPing of death)攻击
    由于在早期的阶段,路由器对包的最大大小是有限制的,许多操作系统TCP/IP栈规定ICMP包的大小限制在64KB以内。在对ICMP数据包的标题头进行读取之后,是根据该标题头里包含的信息来为有效载荷生成缓冲区。当大小超过64KBICMP包,就会出现内存分配错误,导致TCP/IP堆栈崩溃,从而使接受方计算机宕机。这就是这种死亡之Ping”攻击的原理所在。根据这一攻击原理,黑客们只需不断地通过Ping命令向攻击目标发送超过64KB的数据包,就可使目标计算机的TCP/IP堆栈崩溃,致使接受方宕机。
    防御方法:现在所有的标准TCP/IP协议都已具有对付超过64KB大小数据包的处理能力,并且大多数防火墙能够通过对数据包中的信息和时间间隔分析,自动过滤这些攻击。Windows 98Windows NT 4.0SP3之后 )、Windows 2000/XP/Server 2003LinuxSolarisMac OS等系统都已具有抵抗一般“Ping of death”拒绝服务攻击的能力。此外,对防火墙进行配置,阻断ICMP以及任何未知协议数据包,都可以防止此类攻击发生。
    l          泪滴(teardrop)攻击
    对于一些大的IP数据包,往往需要对其进行拆分传送,这是为了迎合链路层的MTU(最大传输单元)的要求。比如,一个6000字节的IP包,在MTU2000的链路上传输的时候,就需要分成三个IP包。在IP报头中有一个偏移字段和一个拆分标志(MF)。如果MF标志设置为1,则表面这个IP包是一个大IP包的片断,其中偏移字段指出了这个片断在整个IP包中的位置。例如,对一个6000字节的IP包进行拆分(MTU2000),则三个片断中偏移字段的值依次为:020004000。这样接收端在全部接收完IP数据包后,就可以根据这些信息重新组装这几个分次接收的拆分IP包。在这里就又一个安全漏洞可以利用了,就是如果黑客们在截取IP数据包后,把偏移字段设置成不正确的值,这样接收端在收后这些分拆的数据包后就不能按数据包中的偏移字段值正确重合这些拆分的数据包,但接收端会不断偿试,这样就可能致使目标计算朵操作系统因资源耗尽而崩溃。
    泪滴攻击利用修改在TCP/IP堆栈实现中信任IP碎片中的包的标题头所包含的信息来实现自己的攻击。IP分段含有指示该分段所包含的是原包的哪一段的信息,某些操作系统(如SP4以前的Windows NT 4.0)的TCP/IP在收到含有重叠偏移的伪造分段时将崩溃,不过新的操作系统已基本上能自己抵御这种攻击了。
    防御方法:尽可能采用最新的操作系统,或者在防火墙上设置分段重组功能,由防火墙先接收到同一原包中的所有拆分数据包,然后完成重组工作,而不是直接转发。因为防火墙上可以设置当出现重叠字段时所采取的规则。
    l          TCP SYN洪水(TCP SYN Flood)攻击
    TCP/IP栈只能等待有限数量ACK(应答)消息,因为每台计算机用于创建TCP/IP连接的内存缓冲区都是非常有限的。如果这一缓冲区充满了等待响应的初始信息,则该计算机就会对接下来的连接停止响应,直到缓冲区里的连接超时。
    TCP SYN洪水攻击正是利用了这一系统漏洞来实施攻击的。攻击者利用伪造的IP地址向目标发出多个连接(SYN)请求。目标系统在接收到请求后发送确认信息,并等待回答。由于黑客们发送请示的IP地址是伪造的,所以确认信息也不会到达任何计算机,当然也就不会有任何计算机为此确认信息作出应答了。而在没有接收到应答之前,目标计算机系统是不会主动放弃的,继续会在缓冲区中保持相应连接信息,一直等待。当达到一定数量的等待连接后,缓区部内存资源耗尽,从而开始拒绝接收任何其他连接请求,当然也包括本来属于正常应用的请求,这就是黑客们的最终目的。
    防御方法:在防火墙上过滤来自同一主机的后续连接。不过“SYN洪水攻击还是非常令人担忧的,由于此类攻击并不寻求响应,所以无法从一个简单高容量的传输中鉴别出来。防火墙的具体抵御TCP SYN洪水攻击的方法将在本书的第三章最后有详细介绍。
    l          Land攻击
    这类攻击中的数据包源地址和目标地址是相同的,当操作系统接收到这类数据包时,不知道该如何处理,或者循环发送和接收该数据包,以此来消耗大量的系统资源,从而有可能造成系统崩溃或死机等现象。
    防御方法:这类攻击的检测方法相对来说比较容易,因为它可以直接从判断网络数据包的源地址和目标地址是否相同得出是否属于攻击行为。反攻击的方法当然是适当地配置防火墙设备或包过滤路由器的包过滤规则。并对这种攻击进行审计,记录事件发生的时间,源主机和目标主机的MAC地址和IP地址,从而可以有效地分析并跟踪攻击者的来源。
    l          Smurf 攻击
    这是一种由有趣的卡通人物而得名的拒绝服务攻击。Smurf攻击利用多数路由器中具有同时向许多计算机广播请求的功能。攻击者伪造一个合法的IP地址,然后由网络上所有的路由器广播要求向受攻击计算机地址做出回答的请求。由于这些数据包表面上看是来自已知地址的合法请求,因此网络中的所有系统向这个地址做出回答,最终结果可导致该网络的所有主机都对此ICMP应答请求作出答复,导致网络阻塞,这也就达到了黑客们追求的目的了。这种Smurf 攻击比起前面介绍的“Ping of Death”洪水的流量高出一至两个数量级,更容易攻击成功。还有些新型的Smurf攻击,将源地址改为第三方的受害者(不再采用伪装的IP地址),最终导致第三方雪崩。
    防御方法:关闭外部路由器或防火墙的广播地址特性,并在防火墙上设置规则,丢弃掉ICMP协议类型数据包。
    l          Fraggle攻击
    Fraggle攻击只是对Smurf攻击作了简单的修改,使用的是UDP协议应答消息,而不再是ICMP协议了(因为黑客们清楚UDP协议更加不易被用户全部禁止)。同时Fraggle攻击使用了特定的端口(通常为7号端口,但也有许多使用其他端口实施Fraggle攻击的),攻击与Smurf攻击基本类似,不再赘述。
    防御方法:关闭外部路由器或防火墙的广播地址特性。在防火墙上过滤掉UDP报文,或者屏蔽掉一些常被黑客们用来进行Fraggle攻击的端口。
    l          电子邮件炸弹
    电子邮件炸弹是最古老的匿名攻击之一,通过设置一台计算机不断地向同一地址发送大量电子邮件来达到攻击目的,此类攻击能够耗尽邮件接受者网络的带宽资源。
    防御方法:对邮件地址进行过滤规则配置,自动删除来自同一主机的过量或重复的消息。
    本文转自王达博客51CTO博客,原文链接http://blog.51cto.com/winda/9804如需转载请自行联系原作者

    茶乡浪子
    展开全文
  • 拒绝服务攻击原理、常见方法及防范.其中包括黑客是如何组织一次DoS攻击的及一些DDoS攻击实例。
  • 拒绝服务攻击/分布式拒绝服务攻击

    万次阅读 2019-02-28 15:40:21
    拒绝服务(Denial of Service,简称DoS) 是一种简单的破坏性攻击。通常是利用传输协议下的某个弱点、系统存在的漏洞、或服务器的漏洞。...拒绝服务攻击问题也一直得不到合理的解决,究其原因是因为网络协议本身的安...

    拒绝服务(Denial of Service,简称DoS)

    是一种简单的破坏性攻击。通常是利用传输协议下的某个弱点、系统存在的漏洞、或服务器的漏洞。对目标系统发起大规模的进攻。用超出目标处理能力的海量数据包消耗可用系统资源、宽带资源等,造成程序缓冲区溢出错误,使其他合法用户无法正常请求。最终致使网络服务瘫痪,甚至系统死机

    拒绝服务攻击问题也一直得不到合理的解决,究其原因是因为网络协议本身的安全缺陷,从而拒绝服务攻击也成为了攻击者的终极手法。攻击者进行拒绝服务攻击,实际上让服务器实现两种效果:一是迫使服务器的缓冲区,不接收新的请求;二是使用IP欺骗,迫使服务器把非法用户的连接复位,影响合法用户的连接。

    最常见的DoS攻击有计算机网络带宽攻击和连通性攻击。带宽攻击指以极大的通信量冲击网络,使得所有可用网络资源都被消耗殆尽, 最后导致合法的用户请求无法通过。

    连通性攻击指用大量的连接请求冲击计算机,使得所有可用的操作系统资源都被消耗殆尽,最终计算机无法再处理合法用户的请求。

    防止攻击:

    许多现代的UNIX允许管理员设置一些限制,如限制可以使用的最大内存、CPU时间以及可以生成的最大文件等。如果当前正在开发―个新的程序,而又不想偶然地使系统变得非常缓慢,或者使其它分享这台主机的用户无法使用,这些限制是很有用的。Korn Shell的ulimit命令和Shell的Iimit命令可以列出当前程的资源限制。

    SYN Flood防御

    前文描述过,SYN Flood攻击大量消耗服务器的CPU、内存资源,并占满SYN等待队列。相应的,我们修改内核参数即可有效缓解。主要参数如下:

    net.ipv4.tcp_syncookies = 1

    net.ipv4.tcp_max_syn_backlog = 8192

    net.ipv4.tcp_synack_retries = 2

    分别为启用SYN Cookie、设置SYN最大队列长度以及设置SYN+ACK最大重试次数。

    SYN Cookie的作用是缓解服务器资源压力。启用之前,服务器在接到SYN数据包后,立即分配存储空间,并随机化一个数字作为SYN号发送SYN+ACK数据包。然后保存连接的状态信息等待客户端确认。启用SYN Cookie之后,服务器不再分配存储空间,而且通过基于时间种子的随机数算法设置一个SYN号,替代完全随机的SYN号。发送完SYN+ACK确认报文之后,清空资源不保存任何状态信息。直到服务器接到客户端的最终ACK包,通过Cookie检验算法鉴定是否与发出去的SYN+ACK报文序列号匹配,匹配则通过完成握手,失败则丢弃。当然,前文的高级攻击中有SYN混合ACK的攻击方法,则是对此种防御方法的反击,其中优劣由双方的硬件配置决定

    tcp_max_syn_backlog则是使用服务器的内存资源,换取更大的等待队列长度,让攻击数据包不至于占满所有连接而导致正常用户无法完成握手。net.ipv4.tcp_synack_retries是降低服务器SYN+ACK报文重试次数,尽快释放等待资源。这三种措施与攻击的三种危害一一对应,完完全全地对症下药。但这些措施也是双刃剑,可能消耗服务器更多的内存资源,甚至影响正常用户建立TCP连接,需要评估服务器硬件资源和攻击大小谨慎设置。

    除了定制TCP/IP协议栈之外,还有一种常见做法是TCP首包丢弃方案,利用TCP协议的重传机制识别正常用户和攻击报文。当防御设备接到一个IP地址的SYN报文后,简单比对该IP是否存在于白名单中,存在则转发到后端。如不存在于白名单中,检查是否是该IP在一定时间段内的首次SYN报文,不是则检查是否重传报文,是重传则转发并加入白名单,不是则丢弃并加入黑名单。是首次SYN报文则丢弃并等待一段时间以试图接受该IP的SYN重传报文,等待超时则判定为攻击报文加入黑名单。

    首包丢弃方案对用户体验会略有影响,因为丢弃首包重传会增大业务的响应时间,有鉴于此发展出了一种更优的TCP Proxy方案。所有的SYN数据报文由清洗设备接受,按照SYN Cookie方案处理。和设备成功建立了TCP三次握手的IP地址被判定为合法用户加入白名单,由设备伪装真实客户端IP地址再与真实服务器完成三次握手,随后转发数据。而指定时间内没有和设备完成三次握手的IP地址,被判定为恶意IP地址屏蔽一定时间。除了SYN Cookie结合TCP Proxy外,清洗设备还具备多种畸形TCP标志位数据包探测的能力,通过对SYN报文返回非预期应答测试客户端反应的方式来鉴别正常访问和恶意行为。

    清洗设备的硬件具有特殊的网络处理器芯片和特别优化的操作系统、TCP/IP协议栈,可以处理非常巨大的流量和SYN队列。

    HTTP Flood防御

    HTTP Flood攻击防御主要通过缓存的方式进行,尽量由设备的缓存直接返回结果来保护后端业务。大型的互联网企业,会有庞大的CDN节点缓存内容。

    当高级攻击者穿透缓存时,清洗设备会截获HTTP请求做特殊处理。最简单的方法就是对源IP的HTTP请求频率做统计,高于一定频率的IP地址加入黑名单。这种方法过于简单,容易带来误杀,并且无法屏蔽来自代理服务器的攻击,因此逐渐废止,取而代之的是JavaScript跳转人机识别方案。

    HTTP Flood是由程序模拟HTTP请求,一般来说不会解析服务端返回数据,更不会解析JS之类代码。因此当清洗设备截获到HTTP请求时,返回一段特殊JavaScript代码,正常用户的浏览器会处理并正常跳转不影响使用,而攻击程序会攻击到空处。

    DNS Flood防御

    DNS攻击防御也有类似HTTP的防御手段,第一方案是缓存。其次是重发,可以是直接丢弃DNS报文导致UDP层面的请求重发,可以是返回特殊响应强制要求客户端使用TCP协议重发DNS查询请求。

    特殊的,对于授权域DNS的保护,设备会在业务正常时期提取收到的DNS域名列表和ISP DNS IP列表备用,在攻击时,非此列表的请求一律丢弃,大幅降低性能压力。对于域名,实行同样的域名白名单机制,非白名单中的域名解析请求,做丢弃处理。

    慢速连接攻击防

    Slowloris攻击防御比较简单,主要方案有两个。

    第一个是统计每个TCP连接的时长并计算单位时间内通过的报文数量即可做精确识别。一个TCP连接中,HTTP报文太少和报文太多都是不正常的,过少可能是慢速连接攻击,过多可能是使用HTTP 1.1协议进行的HTTP Flood攻击,在一个TCP连接中发送多个HTTP请求。

    第二个是限制HTTP头部传输的最大许可时间。超过指定时间HTTP Header还没有传输完成,直接判定源IP地址为慢速连接攻击,中断连接并加入黑名单。

    分布式拒绝服务(DDoS:Distributed Denial of Service)攻击

    指借助于客户/服务器技术,将多个计算机联合起来作为攻击平台,对一个或多个目标发动DDoS攻击,从而成倍地提高拒绝服务攻击的威力。通常,攻击者使用一个偷窃帐号将DDoS主控程序安装在一个计算机上,在一个设定的时间主控程序将与大量代理程序通讯,代理程序已经被安装在网络上的许多计算机上。代理程序收到指令时就发动攻击。利用客户/服务器技术,主控程序能在几秒钟内激活成百上千次代理程序的运行。

    比喻:

    一群恶霸试图让对面那家有着竞争关系的商铺无法正常营业,他们会采取什么手段呢?(只为举例,切勿模仿)恶霸们扮作普通客户一直拥挤在对手的商铺,赖着不走,真正的购物者却无法进入;或者总是和营业员有一搭没一搭的东扯西扯,让工作人员不能正常服务客户;也可以为商铺的经营者提供虚假信息,商铺的上上下下忙成一团之后却发现都是一场空,最终跑了真正的大客户,损失惨重。此外恶霸们完成这些坏事有时凭单干难以完成,需要叫上很多人一起。嗯,网络安全领域中DoS和DDoS攻击就遵循着这些思路。

                                                 

    在信息安全的三要素——“保密性”、“完整性”和“可用性”中,DoS(Denial of Service),即拒绝服务攻击,针对的目标正是“可用性”。该攻击方式利用目标系统网络服务功能缺陷或者直接消耗其系统资源,使得该目标系统无法提供正常的服务。

    DdoS的攻击方式有很多种,最基本的DoS攻击就是利用合理的服务请求来占用过多的服务资源,从而使合法用户无法得到服务的响应。单一的DoS攻击一般是采用一对一方式的,当攻击目标CPU速度低、内存小或者网络带宽小等等各项指标不高的性能,它的效果是明显的。随着计算机与网络技术的发展,计算机的处理能力迅速增长,内存大大增加,同时也出现了千兆级别的网络,这使得DoS攻击的困难程度加大了-目标对恶意攻击包的"消化能力"加强了不少。这时候分布式的拒绝服务攻击手段(DDoS)就应运而生了。DDoS就是利用更多的傀儡机肉鸡)来发起进攻,以比从前更大的规模来进攻受害者

    攻击方式:

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

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

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

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

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

    攻击现象:

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

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

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

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

    严重时会造成系统死机。

    分类:

    按照TCP/IP协议的层次可将DDOS攻击分为基于ARP的攻击、基于ICMP的攻击、基于IP的攻击、基于UDP的攻击、基于TCP的攻击和基于应用层的攻击。

    基于ARP

      ARP是无连接的协议,当收到攻击者发送来的ARP应答时。它将接收ARP应答包中所提供的信息。更新ARP缓存。因此,含有错误源地址信息的ARP请求和含有错误目标地址信息的ARP应答均会使上层应用忙于处理这种异常而无法响应外来请求,使得目标主机丧失网络通信能力。产生拒绝服务,如ARP重定向攻击。

    基于ICMP

      攻击者向一个子网的广播地址发送多个ICMP Echo请求数据包。并将源地址伪装成想要攻击的目标主机的地址。这样,该子网上的所有主机均对此ICMP Echo请求包作出答复,向被攻击的目标主机发送数据包,使该主机受到攻击,导致网络阻塞。

    基于IP

      TCP/IP中的IP数据包在网络传递时,数据包可以分成更小的片段。到达目的地后再进行合并重装。在实现分段重新组装的进程中存在漏洞,缺乏必要的检查。利用IP报文分片后重组的重叠现象攻击服务器,进而引起服务器内核崩溃。如Teardrop是基于IP的攻击。

    基于TCP

     SYN Flood攻击的过程在TCP协议中被称为三次握手(Three-way Handshake),而SYN Flood拒绝服务攻击就是通过三次握手而实现的。TCP连接的三次握手中,假设一个用户向服务器发送了SYN报文后突然死机或掉线,那么服务器在发出SYN+ACK应答报文后是无法收到客户端的ACK报文的(第三次握手无法完成),这种情况下服务器端一般会重试(再次发送SYN+ACK给客户端)并等待一段时间后丢弃这个未完成的连接。服务器端将为了维护一个非常大的半连接列表而消耗非常多的资源。

    基于应用层

    应用层包括SMTP,HTTP,DNS等各种应用协议。其中SMTP定义了如何在两个主机间传输邮件的过程,基于标准SMTP的邮件服务器,在客户端请求发送邮件时,是不对其身份进行验证的。另外,许多邮件服务器都允许邮件中继。攻击者利用邮件服务器持续不断地向攻击目标发送垃圾邮件,大量侵占服务器资源。

    防止攻击:

    总体来说,对DoS和DDoS的防范主要从下面几个方面考虑:
    尽可能对系统加载最新补丁,并采取有效的合规性配置,降低漏洞利用风险;
    采取合适的安全域划分,配置防火墙、入侵检测和防范系统,减缓攻击。
    采用分布式组网、负载均衡、提升系统容量等可靠性措施,增强总体服务能力。

    主机设置

    关闭不必要的服务
    限制同时打开的Syn半连接数目
    缩短Syn半连接的time out 时间
    及时更新系统补丁

    网络设置
    网络设备可以从防火墙与路由器上考虑。这两个设备是到外界的接口设备,在进行防DDoS设置的同时,要注意一下这是以多大的效率牺牲为代价的,对你来说是否值得。
    1.防火墙
    禁止对主机的非开放服务的访问 限制同时打开的SYN最大连接数 限制特定IP地址的访问 启用防火墙的防DDoS的属性 严格限制对外开放的服务器的向外访问 第五项主要是防止自己的服务器被当做工具去害人。
    2.路由器
    设置SYN数据包流量速率 升级版本过低的ISO 为路由器建立log server

     

    答题参考:

    1、采用高性能的网络设备引

    首先要保证网络设备不能成为瓶颈,因此选择路由器、交换机、硬件防火墙等设备的时候要尽量选用知名度高、 口碑好的产品。 再就是假如和网络提供商有特殊关系或协议的话就更好了,当大量攻击发生的时候请他们在网络接点处做一下流量限制来对抗某些种类的DDOS 攻击是非常有效的。

    2、尽量避免 NAT 的使用

    无论是路由器还是硬件防护墙设备要尽量避免采用网络地址转换 NAT 的使用, 因为采用此技术会较大降低网络通信能力,其实原因很简单,因为 NA T 需要对地址来回转换,转换过程中需要对网络包的校验和进行计算,因此浪费了很多 CPU 的时间,但有些时候必须使用 NA T,那就没有好办法了。

    3、充足的网络带宽保证

    网络带宽直接决定了能抗受攻击的能力, 假若仅仅有 10M 带宽的话, 无论采取什么措施都很难对抗当今的 SYNFlood 攻击, 至少要选择 100M 的共享带宽,最好的当然是挂在1000M 的主干上了。但需要注意的是,主机上的网卡是 1000M 的并不意味着它的网络带宽就是千兆的, 若把它接在 100M 的交换机上, 它的实际带宽不会超过 100M, 再就是接在 100M的带宽上也不等于就有了百兆的带宽, 因为网络服务商很可能会在交换机上限制实际带宽为10M,这点一定要搞清楚。

    4、升级主机服务器硬件

    在有网络带宽保证的前提下,请尽量提升硬件配置,要有效对抗每秒 10 万个 SYN 攻击包,服务器的配置至少应该为:P4 2.4G/DDR512M/SCSI-HD,起关键作用的主要是 CPU 和内存, 若有志强双 CPU 的话就用它吧, 内存一定要选择 DDR 的高速内存, 硬盘要尽量选择SCSI 的,别只贪 IDE 价格不贵量还足的便宜,否则会付出高昂的性能代价,再就是网卡一定要选用 3COM 或 Intel 等名牌的,若是 Realtek 的还是用在自己的 PC 上吧。

    5、把网站做成静态页面

    大量事实证明,把网站尽可能做成静态页面,不仅能大大提高抗攻击能力,而且还给黑客入侵带来不少麻烦,至少到为止关于 HTML 的溢出还没出现,新浪、搜狐、网易等门户网站主要都是静态页面, 若你非需要动态脚本调用, 那就把它弄到另外一台单独主机去,免的遭受攻击时连累主服务器, 当然, 适当放一些不做数据库调用脚本还是可以的, 此外,最好在需要调用数据库的脚本中拒绝使用代理的访问, 因为经验表明使用代理访问你网站的80%属于恶意行为。

     

    展开全文
  • 拒绝服务攻击类型

    2019-09-14 04:46:08
    拒绝服务攻击可分为两大类: 1. 应用层攻击 (又名第 7层攻击) 可以是DoS威胁或 DDoS威胁,通过发送大量需要密集资源处理的请求试图使服务器超载. 除了其他攻击手法,这类攻击包括 HTTP 洪水、低速攻击(例如:...
  • 常见的几种拒绝服务攻击(DoS)

    万次阅读 2017-09-18 19:03:57
    要理解DoS攻击的实现原理,必须要对TCP一定了解。1.何为DoS?DoS(Denial of Service)的含义即让目标机器停止提供服务或资源访问。相当于在某家店客满的时候,不再接受更多的客人,后来的客人只能在外面等着。 2....
  • 拒绝服务攻击的分类

    千次阅读 2018-07-05 10:40:50
    拒绝服务攻击是一种最为常见的攻击方式,由于其攻击目标是造成受害网络与信息不能正常对外提供服务,因此属于较为容易实施的一类攻击方式。同时,伴随着大规模僵尸网络的盛行,资源耗尽型的拒绝服务攻击也格外便于...
  • 拒绝服务攻击

    千次阅读 多人点赞 2020-10-02 03:51:48
    目录 基本概念 DOS:拒绝服务攻击 DDOS:分布式拒绝服务攻击 RDoS:反射拒绝服务 DRDoS:分布式反射拒绝服务 方法 关于dns反射拒绝服务的攻击脚本 基本概念 首先,要说的是,在互联网里,最重要的就是通信,没有通信...
  • 常见的网络攻击有哪些

    千次阅读 2019-04-13 16:17:50
    近期的网络攻击有些频繁,晚上凌晨左右一般...CC攻击:CC = Challenge Collapsar,意为“挑战黑洞”,其前身名为Fatboy攻击,是利用不断对网站发送连接请求致使形成拒绝服务的目的。业界赋予这种攻击名称为CC(Chall...
  • 拒绝服务攻击详解

    千次阅读 2021-11-19 17:01:42
    一、拒绝服务攻击的原理 二、拒绝服务攻击的分类 1、资源消耗 2、系统或应用程序缺陷 3、配置修改 三、典型的拒绝服务攻击 1、Ping of Death 2、泛洪攻击 (1)SYN泛洪 (2)ACK泛洪攻击 (3)TCPLAND攻击...
  • 拒绝服务攻击(Denial of Service,DoS)是网络上最常见的一种攻击方式,其攻击类型繁多、影响广泛,其中的分布式拒绝服务攻击(Distributed Denial of Service,DDoS)更是严重威胁网络安全,受到这种攻击的损失是无法...
  • 实现拒绝服务攻击的方法多种多样,最常见的主要以下几种。 滥用合理的服务请求 过度地请求目标系统的正常服务,占用过多服务资源,导致系统超载,无法响应其他请求。这些服务资源通常包括网络带宽、文
  • 分布式拒绝服务攻击(DDOS)

    千次阅读 2017-09-14 11:39:01
    分布式拒绝服务攻击(DDOS)  分布式拒绝服务(DDoS:Distributed Denial of Service)攻击指借助于客户/服务器技术,将多个计算机联合起来作为攻击平台,对一个或多个目标发动DDoS攻击,从而成倍地提高拒绝服务...
  • 服务器存在缓慢的HTTP拒绝服务攻击

    万次阅读 多人点赞 2021-08-17 14:37:04
    慢速HTTP拒绝服务攻击经过不断的演变和发展,主要三种攻击类型,分别是Slow headers、Slow body、Slow read。以Slow headers为例,Web应用在处理HTTP请求之前都要先接收完所有的HTTP头部,因为HTTP头部中包含了...
  • 11.4. 拒绝服务攻击

    千次阅读 多人点赞 2020-08-05 17:02:10
    拒绝服务攻击11.4.1. 简介11.4.2. UDP反射11.4.3. TCP Flood11.4.4. Shrew DDoS11.4.5. Ping Of Death11.4.6. Challenge Collapsar (CC)11.4.7. 基于服务特性11.4.8. 参考链接 11.4. 拒绝服务攻击 11.4.1. 简介 DoS...
  • 拒绝服务攻击分类及原理、特点

    千次阅读 2021-06-19 09:25:13
    拒绝服务攻击:泛指一切导致目标服务不可用的攻击手段,包括对物理环境、硬件、软件等各个层面所实施的破坏。 重定向型 漏洞利用 资源消耗 关键 ...
  • 超详细缓慢的http拒绝服务攻击验证

    万次阅读 2019-03-12 17:26:32
    什么是Http拒绝服务攻击? 缓慢的http拒绝服务攻击是一种专门针对于Web...慢速HTTP拒绝服务攻击经过不断的演变和发展,主要三种攻击类型,分别是Slow headers、Slow body、Slow read。以Slow headers为例,Web应用...
  • 缓慢的HTTP拒绝服务攻击漏洞

    千次阅读 2021-02-26 17:43:40
    慢速HTTP拒绝服务攻击经过不断的演变和发展,主要三种攻击类型, 分别是Slow headers、Slow body、Slow read。 以Slow headers为例,Web应用在处理HTTP请求之前都要先接收完所有的HTTP头部,因为HTTP头部中包含了...
  • 常见的DoS攻击

    万次阅读 多人点赞 2019-01-26 17:06:24
    拒绝服务攻击DoS(Denial of Service):使系统过于忙碌而不能执行有用的业务并且占尽关键系统资源。它是基于这样的思想:用数据包淹没本地系统,以打扰或严重阻止捆绑本地的服务响应外来合法的请求,甚至使本地系统...
  • 【网络与系统安全实验】拒绝服务攻击及防御 拒绝服务攻击概述 拒绝服务攻击的概念 “拒绝服务”这个词来源于英文Denial of Service(简称DoS),它是一种简单的破坏性攻击,通常攻击者利用TCP/IP协议中的某个弱点,...
  • 缓慢的http拒绝服务攻击

    千次阅读 2020-07-08 15:16:17
    慢速HTTP拒绝服务攻击经过不断的演变和发展,主要三种攻击类型,分别是Slow headers、Slow body、Slow read。以Slow headers为例,Web应用在处理HTTP请求之前都要先接收完所有的HTTP头部,因为HTTP头部中包含了...
  • 带宽攻击:是最常见攻击攻击者使用大量的垃圾数据流填充目标的网络链路。攻击流量可以基于TCP、UDP\ICMP协议的报文。包括UDP洪水攻击(flooding)、Smurf攻击和Fraggle攻击等 UDP洪水指向目标的指定UDP端口发送...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 32,413
精华内容 12,965
关键字:

常见的拒绝服务攻击有哪些