精华内容
下载资源
问答
  • 拒绝服务型攻击: 拒绝服务攻击即攻击者想办法让目标机器停止提供服务或资源访问,是黑客常用的攻击手段之一。这些资源包括磁盘空间、内存、进程甚至网络带宽,从而阻止正常用户的访问。其实对网络带宽进行的消耗性...

    拒绝服务型攻击:

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

    来自单个攻击者的拒绝服务攻击简称为拒绝服务攻击,又称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 数据包的时候,整个系统就会瘫痪。


    展开全文
  • 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如需转载请自行联系原作者

    茶乡浪子
    展开全文
  • 拒绝服务攻击的常见类型

    千次阅读 2017-09-26 22:54:00
     拒绝服务攻击(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/

    展开全文
  • 常见的几种拒绝服务类攻击(DoS)

    万次阅读 2017-09-18 19:03:57
    DoS(Denial of Service)的含义即让目标机器停止提供服务或资源访问。相当于在某家店客满的时候,不再接受更多的客人,后来的客人只能在外面等着。 2.熟悉TCP 要理解DoS,首先要对TCP足够的了解。TCP是在不...

    要理解DoS攻击的实现原理,必须要对TCP有一定了解。

    转载自:http://www.cnblogs.com/superfox/articles/3749362.html

    1.何为DoS?

    DoS(Denial of Service)的含义即让目标机器停止提供服务或资源访问。相当于在某家店客满的时候,不再接受更多的客人,后来的客人只能在外面等着。
    

    2.熟悉TCP
    这里写图片描述
    要理解DoS,首先要对TCP有足够的了解。TCP是在不可靠的因特网中提供可靠的、端对端的字节流通讯协议。在常见的TCP/IP通信中,IP层不保证数据包正确传送到目的地,TCP则从本地机器中接受数据流,然后将其分成不超过64K字节的数据片段,每个数据片段作为单独的IP数据包发送出去。最后在目的机器中组合成完整的数据流,TCP协议必须保证可靠性。

    TCP传输中,发送方和接收方以数据段的形式交换数据,一个数据段包含固定的20字节+可选部分+数据。当发送方将数据段发送出去后,将启动一个定时器,接收方在接受到数据段后,将回传一个数据段,其中包含一个确认序号,表示希望收到的下一个数据段的顺序号。如果发送方在收到回传数据前定时器超时了,将判断为数据丢失,发送方将重新发送该数据段。在整个过程中,关键信息都在tcp数据头中。
    

    3.TCP数据头

    32位序号:是指发送数据包的第一个字节的序列号,

    32位确认序号:确认序号是希望接收的字节号。以上两者均是32位。

    4位首部长度(Data offset):表明TCP头包含多少个32位字,用来确定TCP头的长度,因为头中有可选字段长度是不固定的( ?)。

    6位保留位:暂时没用,目前均为0。

    接下来是6个比较重要的标志,它们与DoS攻击都非常相关:

    URG:紧急指针使能位,要用到后面的紧急指针时置1。用来避免TCP流中断。

    ACK:确认序号使能位,置1时表示确认序号有用,为0时则忽略确认序号。

    PSH:置1时请求的数据段在接收方得到之后即可送至应用程序,而无需等到缓冲区满。

    RST:用于复位由于某些原因导致的连接错误,也用于拒绝非法数据和请求。如果接收到RST位时,通常是发生了某些错误。

    SYN (Synchronize Sequence Number):用于建立连接,在连接请求中,SYN=1,ACK=0,连接响应时,SYN=1,ACK=1。即两者是用于区分请求和相应。

    FIN (no more data from sender):用于释放连接,表明发送方已经没有数据要送了。

    接下里继续介绍16位的窗口指针:表示确认了字节后还可以发送多少字节。为0时,表示已经收到了包括确认号-1在内的所有数据段。

    接下来的校验和紧急指针就不介绍了。

    4.TCP三次握手

    了解了TCP数据头,接下来就该看看三次握手过程是如何实现的,DoS攻击就是利用握手过程中的漏洞来进行的。
    
    TCP三次握手的过程如下:
    

    客户端发送SYN(SEQ=x)报文给服务器端,进入SYN_SEND状态。
    服务器端收到SYN报文,回应一个SYN (SEQ=y)ACK(ACK=x+1)报文,进入SYN_RECV状态。
    客户端收到服务器端的SYN报文,回应一个ACK(ACK=y+1)报文,进入Established状态。
    三次握手完成,TCP客户端和服务器端成功地建立连接,可以开始传输数据了。下面以一个具体的示例把上述过程再描述一遍,尤其注意表述中哪些是说使能位,哪些是说序号。
    1.客户端发送一个带SYN位的请求(此时SYN标志位为1,ACK标志位为0,因为请求不需要用到确认号),向服务器表明连接请求,假定请求序号为10,那么“32位序号”(SYN)=10,确认序号(ACK)=0 。发送之后,等待服务器的反应。

     2.服务收到该请求报文后,检查是否在LISTEN的指定端口,如果不是则拒绝,是的话就接受请求:假定服务器自身的SYN内码为100,确认序号则是客户端请求序号+1,即10+1=11,所以发送响应报文SYN=100,ACK=11(两个使能位均为1)
    
     3.客户端接收到该消息后,将发送最后一个连接确认到服务器。SYN位是服务器发送的ACK位,而ACK位则是服务器发送的SYN位+1,即SYN=11,ACK=101。至此,连接建立,可以开始发送数据了。
    
    理解难点:三次握手的宏观过程很好理解,但是微观细节有一点绕。需要把握两点,SYN和ACK的标志位只能取0或1,它们只是使能标志,起辅助作用。上述过程的描述中更多指的是它们分别对应的序号内容,SYN对应于TCP头中的“32位序号”,ACK对应于“32位确认序号”。另外一个把握的难点在于,客户端与服务器端之间两个序号内容的交叉交换,特别要体会ACK=对方SYN+1的这种处理方式的目的所在。
    

    5.未连接队列(服务器的缓冲区队列Backlog Queue)

    服务器不会在每次接收到SYN请求的时候立即与客户端建立连接,而是为连接请求分配内存空间,建立会话,并放到一个等待队列之中。如果这个队列已满,就不再接受新的请求,即新的请求将被直接丢弃,这就是拒绝服务。
    
    如果服务器接收到一个RST置位的信息,就判断这是一个有错误的数据段,会根据客户端IP,把对应的连接从缓冲队列中清除掉。这对IP欺骗有影响,也可以作为DoS攻击。
    
    通过了解TCP协议和连接过程,我们要对Server进行DoS攻击,只需要抓住两点:
    
    a.让服务器的缓冲区满,不接受新的请求;
    
    b.使用IP欺骗,使得正常连接被复位,从而影响合法用户。
    
    这两点是DoS攻击的基本思想,具体实现起来有如下方法:
    

    SYN FLOOD

    利用服务器的连接缓冲区,和特殊程序,设置TCP的Header,向服务器不断成倍发送具有只有SYN标志的TCP连接请求。当服务器接收之后,判断为均是没有建立起来的连接请求,于是给这些请求建立会话,排到缓冲区队列中。
    
    直到你发送的SYN请求超过了服务器的缓冲区,服务器便不再接受其他的合法请求了。你可以持续的进行SYN请求,从而致使缓冲区里都是你发送的SYN请求。
    

    IP欺骗DoS攻击

    这种攻击利用RST位来实现。假设有一个合法用户(1.1.1.1)与服务器建立了正常的连接,攻击者构造攻击TCP数据,伪装自己的IP也是1.1.1.1,并向服务器发送一个带有RST位的数据段。此时服务器收到该数据段后,便认为从1.1.1.1发送的请求连接有错,便从缓冲区中将该连接清除,从而导致合法用户与服务器断开了连接。如果合法用户要继续传输数据,就得重新发送合法的连接请求。
    
    在进行IP欺骗DoS攻击时,通常伪造大量的合法用户IP进行攻击,向目标发送RST数据,使得服务器拒绝对合法用户服务。
    

    带宽DoS攻击

     如果你的连接带宽足够大,而服务器的带宽有限,你可以通过发送大量请求来攻击,以消耗服务器的缓冲区和带宽。若配合SYN进行,威力不小。这种属于初级DoS攻击,对攻击者资源要求较高。
    

    自身消耗的DoS攻击

    这种攻击方法比较古老,只有老式的系统有这种bug,比如Win95,Cisco IOSv.10.x等过时的系统。
    
    这种攻击是将请求客户端IP和端口弄成主机的IP端口相同,发送给主机。使得主机自己给自己发送TCP请求连接。这种自连接的行为将很快耗费资源导致当机。目前这种攻击对于身份认证系统还是威胁巨大。( ?)
    
    
    
    以上这些攻击方法都是充分利用了TCP协议的漏洞,还有其他DoS攻击手段:
    

    塞满服务器硬盘

    如果服务器可以没有限制的执行写操作,那么都能成为塞满硬盘造成DoS攻击的主要途径。
    
    1.发送垃圾邮件:通常邮件服务器与WEB服务器都放在一起,破坏者通过发送大量的垃圾邮件,将邮件队列塞满,从而把邮箱撑爆或是硬盘塞满。
    
    2.填满日志记录:入侵者通过构造大量的错误信息,让服务器记录这些信息,甚至可能造成日志文件非常庞杂,塞满硬盘。同时,让管理员痛苦的面对大量的日志文件,极难发现其入侵的真正途径。
    
    3.合理利用策略:一般服务器都有关于账户锁定的策略,如某账户连续3次登录失败,则会自动锁定。这点也会被破坏者利用。他们伪装一个合法账号登录多次,致使该账户被锁定,然后合法用户便无法登录了。(这种攻击方法真是无聊到爆!)
    
    展开全文
  • 拒绝服务攻击/分布式拒绝服务攻击

    千次阅读 2019-02-28 15:40:21
    拒绝服务(Denial of Service,简称DoS) 是一种简单的破坏性攻击。通常是利用传输协议下的某个弱点、系统存在的漏洞、或服务器的漏洞。对目标系统发起大规模的进攻。用超出目标处理能力的海量数据包消耗可用系统资源...
  • 拒绝服务攻击

    千次阅读 2019-10-07 20:32:28
    拒绝服务攻击 简介 DoS(Denial of Service)指拒绝服务,是一种常用来使服务器或网络瘫痪的网络攻击手段。 在平时更多提到的是分布式拒绝服务(DDoS,Distributed Denial of Service) 攻击,该攻击是指利用足够...
  • 超详细缓慢的http拒绝服务攻击验证

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

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

    千次阅读 2018-07-17 17:38:28
    1xx:指示信息–表示请求已接收,继续处理  2xx:成功–表示请求已被成功接收、理解、接受...常见状态代码、状态描述、说明:  200 OK //客户端请求成功  400 Bad Request //客户端请求语法错误,不能被服务器...
  • 服务器返回的14种常见HTTP状态码

    万次阅读 多人点赞 2016-11-13 11:01:58
    状态码是由3位数字和原因短语组成的(比如最常见的:200 OK) 其中第一位数字表示响应类别,响应类别从1到5分为五种 add:其实我查阅资料发现还有一个6打头的一个 600 Unparseable Response Headers
  • Linux常见服务器配置

    千次阅读 2012-12-09 18:03:14
    3 #service xinetd start ( chkconfig 配置服务的方式是可以开机启动的 Linux 服务有六个运行级别,可以通过 chkconfig 来配置每个级别上服务运行状况, #chkconfig –list 可以列出系统中的所有服务及其运行状况...
  • 常见服务/协议漏洞

    千次阅读 2018-08-22 17:23:04
    FTP 服务 FTP服务:ftp服务我分为两种情况,第一种是使用系统软件来配置,比如IIS中的FTP文件共享或Linux中的默认服务软件;...爆破:ftp的爆破工具很多,这里我推荐owasp的Bruter 以及msf中f...
  • 拒绝服务攻击的分类

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

    万次阅读 多人点赞 2018-01-13 16:17:15
    当浏览者访问一个网页时,浏览者的浏览器会向网页所在服务器发出请求。当浏览器接收并显示网页前,此网页...   ...下面是常见的HTTP状态码: 200 – 请求成功 301 – 资源(网页等)被永久转移到其它URL 404
  • HTTP常见的状态码有哪些

    千次阅读 2017-02-17 11:08:57
    想了解网站与搜索引擎的对话,那就要去分析网站日志,这里就需要去了解常见HTTP状态码有哪些?HTTP状态码是服务器与客户端之间交流信息的语言,最大的意义是通过HTTP状态码去了解搜索爬虫对网站的爬取情况,一般网站...
  • 拒绝服务攻击DOS

    千次阅读 2014-06-18 10:37:07
    摘要:拒绝服务(DoS)攻击是指攻击者通过某种手段,有意地造成计算机或网络不能正常运转从而不能向合法用户提供所需要的服务或者使得服务质量降低。分布式拒绝服务(DDoS)攻击则是指处于不同位置的多个攻击者同时向一个...
  • 对于监管敏感的行业和应用,苹果应用商店的审核更为苛刻,接下来深圳APP开发公司【红鸟网络】分析了金融类APP被AppStore审核拒绝常见愿意以及解决方法。 我们首先要知道,苹果审核团队(App Store Review)依据...
  • 本文将讲一下应用漏洞扫描器在针对本地拒绝服务的检测方法。
  • 对于监管敏感的行业和应用,苹果应用商店的审核更为苛刻,接下来深圳APP开发公司【红鸟网络】分析了金融类APP被AppStore审核拒绝常见愿意以及解决方法。 我们首先要知道,苹果审核团队(App Store Review)依据的...
  • 拒绝服务(DoS)攻击

    千次阅读 2016-04-26 23:42:43
    拒绝服务(denial of service, 简称DoS)型攻击。 四种常见DoS攻击类型: 1.带宽耗用 最阴险的DoS攻击形式是带宽耗用(bandwidth-consumption)攻击。其本质是攻击者消耗掉某个网络的所有可用带宽。这可以发生在...
  • 浅谈Slowloris拒绝服务攻击

    万次阅读 2013-10-30 17:21:33
    DDOS又称为分布式拒绝服务,全称是Distributed Denial of Service。...如果已的车一直不出去,那么停车场的入口就会排气长队,停车场的负荷过载,不能正常工作了,这种情况就是“拒绝服务”。  常见的DD
  • 网络攻击是导致网络安全威胁的主要原因,嗅探攻击、截获攻击、拒绝服务攻击等是常见的网络攻击。网络攻击和网络安全是矛盾的两个方面,但是了解网络攻击手段可以帮助我们更好地保护网络安全。嗅探攻击是被动攻击,...
  • [安全]DDOS攻击[分布式拒绝服务攻击]

    千次阅读 2015-09-12 10:38:43
    分布式拒绝服务(Distributed Denial of Service)攻击指借助于客户/服务器技术,将多个计算机联合起来作为攻击平台,对一个或多个目标发动DDoS攻击,从而成倍地提高拒绝服务攻击的威力。通常,攻击者使用一个偷窃帐号...
  • 常见的DoS攻击

    万次阅读 多人点赞 2019-01-26 17:06:24
    拒绝服务攻击DoS(Denial of Service):使系统过于忙碌而不能执行有用的业务并且占尽关键系统资源。它是基于这样的思想:用数据包淹没本地系统,以打扰或严重阻止捆绑本地的服务响应外来合法的请求,甚至使本地系统...
  • 第六章 拒绝服务(一) 作者:Justin Hutchens 译者:飞龙 协议:CC BY-NC-SA 4.0 任何时候,当你通过互联网访问公开资源,甚至通过内部网络访问小型社区时,重要的是要考虑拒绝服务(DoS)攻击的风险。 DoS ...
  • Kali渗透-DDOS拒绝服务攻击

    千次阅读 2020-03-06 22:28:44
    演示如何借助 Kali Linux 系统内置的一个 TCP/IP 数据包组装/分析工具 hping 和在 Github 上开源的一个 DOS 攻击 Python 脚本,对局域网内的 Win7 主机自行搭建的 IIS 服务站点进行 DOS 拒绝服务攻击,使得受害主机...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 105,310
精华内容 42,124
关键字:

常见的拒绝服务有哪些