DDoS详解(二)

来源:互联网 发布:云计算行业报告 编辑:程序博客网 时间:2024/05/29 16:55

攻击系统资源
误区:DDoS攻击都是消耗网络带宽资源的攻击
    

SYN事实上主要危害在于耗尽系统连接表资源。相同流量的SYN洪水攻击会比UDP洪水攻击危害更大


(1)攻击TCP连接
TCP连接是一种面向连接的,可靠的、基于字节流的传输层通信协议。
TCP连接包括三个阶段:连接创建、数据传送和连接中止。


  1. TCP连接洪水攻击
      TCP连接洪水攻击是在连接创建阶段对TCP资源进行攻击的。
      在三次握手的进行过程中,服务器会创建并保存TCP连接的信息,这个信息通常被保存在连接表结构中
      但是,连接表的大小是有限的,一旦服务器接受到的连接数量超过了连接表能存储的数量,
      服务器就无法创建新的TCP连接了。

    攻击者可以利用大量受控主机,通过快速建立大量的恶意TCP连接占满被攻击目标的连接表。
    使目标无法接受新的TCP连接请求,从而达到拒绝服务的目的。

    2.SYN洪水攻击

      TCP半开连接:
      在建立TCP连接过程中,如果在服务器返回SYN+ACK报文后,客户端由于存在某种原因没有
      对其进行确认,这时服务器就需要重传SYN+ACK报文,并等待客户端的确认报文知道TCP连接超时。
      这种等待客户端确认的连接状态通常被称为半开连接。
      在连接超时之前,半开连接会一直保存在服务器的连接表中。

    由于连接表的大小是有限的,如果在短时间内产生大量的半开链接,而这些连接又无法很快地结束
    连接表就会被迅速占满,导致新的TCP连接无法建立。
    SYN洪水攻击就是攻击者利用受控主机发送大量的TCP SYN报文,使服务器打开大量的半开连接占满服务器的连接表,从而影响正常用户与服务器建立会话,造成拒绝服务。

      攻击者将SYN报文的源IP地址随机伪造成其他主机的IP地址,这样攻击目标会将应答发送给被伪造
      的IP地址,从而占用系统资源并隐藏攻击来源。

      3.PSH+ACK洪水攻击

      在TCP数据传输过程中,可以通过设置PSH标志位来表示当前数据传输结束,需要服务端进行处理。

      由于带有PSH标志位的TCP数据包会强制要求接收端将接受缓冲区清空并将数据提交给应用服务处理
      因此,攻击者利用受控主机向目标发送大量PSH+ACK数据包时,被攻击目标就会消耗大量的系统
      资源不断地进行接受缓冲区清空处理,导致无法正常处理数据,造成拒绝服务。



      攻击应用资源
     
      攻击Web服务:Http洪水攻击

    Web服务通常使用超文本传输协议(HyperText Transfer Protocol,HTTP)进行请求和响应数据的传输

    常见的HTTP请求有GET请求和POST请求两种。  通常,GET请求用于从Web服务器获取资源和数据,
    例如界面请求、获取图片和文档等;
    POST请求用于向Web服务器提交数据和资源,例如发送用户名、密码、上传文件等。
    在处理这些HTTP请求过程中,Web服务器通常要解析请求、处理和执行服务端脚本、验证用户权限,
    并多次访问数据库,这会消耗大量计算机资源和I/O访问资源。

    若攻击者利用受控主机向Web服务器发送大量恶意HTTP请求,就可能完全占用服务器资源,导致拒绝服务

    HTTP基于TCP协议需要三次握手无法伪造IP,但是可以使用HTTP代理隐藏攻击来源。

原创粉丝点击