拒绝服务攻击

1. SYN风暴攻击

  原理:发送大量SYN报文,但对服务器的SYN+ACK应答报文不作应答,即三次握手的第三次握手无法完成,造成服务器维护大量的半连接列表,消耗服务器半连接资源(一般系统的上限为1024,超过此数则不接受新的连接请求)的攻击方式。

  实际使用时,攻击者一般需要伪造源地址。否则,攻击主机会自动对收到的TCP SYN+ACK作出响应,不管是以TCP ACK作为响应建立连接还是以TCP RST作为响应取消连接,都会使得受害者服务器过早释放对应的半连接,进而减少占用半连接的时间,减弱攻击效果。如果用的是假地址(根本不存在或没开机),则受害者服务器必须等待超时才能释放相应的半连接。同时,伪造源地址还可以隐藏攻击源,逃避追踪,避免遭受反向攻击。 

  问题:假设服务器半连接队列长度为1024,重试次数设为5次,重试间隔时间从1s开始每次都翻倍,请问需要构造多少个SYN请求包,足以占满半连接队列,从而使真正的连接无法建立?

  答:重试5次释放一个半连接的时间为1+2+4+8+16=31s,也就是在31秒内给服务器发送不少于1024个SYN请求包就会占满半连接队列,则每秒发送不少于1024/31(向上取整)也就是大约34个伪造的SYN包就可以占满半连接队列。

2. 反射式Dos攻击

  原理:攻击者并不直接攻击目标服务 IP,而是通过伪造被攻击者的 IP 地址,向开放某些特殊服务的服务器发送构造的请求报文,该服务器会将数倍于请求报文的回复数据发送那个伪造的IP主机(即目标主机)。    

  很多很多协议的响应包大小要远大于请求包。

  优势:难以追踪,不需要大量的肉鸡。

  问题1:假设攻击者试图利用SSDP协议对某一目标进行攻击,可利用的SSDP设备为100万台,SSDP协议的放大倍数为30,请问要达到100G的攻击流量,攻击者每秒需要发出多少个请求。 

  答:

    

  问题:设计一个基于SSDP协议实现100G攻击流量的反射式DDos攻击方案,包括反射服务器的数量、攻击源数量、每秒请求报文次数等。 

  答:方案如下:

  1)向多播地址发出查询请求,查询域内可用的即插即用设备。与查询请求匹配的即插即用设备返回响应信息。

  2)攻击者将源地址伪造成攻击目标地址,向第1)步发现的即插即用设备的1900端口服务发起查询请求。

  3)即插即用设备向攻击目标返回SSDP应答消息。由于大量的即插即用设备被攻击者利用,攻击者将巨大的攻击流量引向了特定攻击目标。

  要求达到的攻击流量为100G,意思是每秒向目标发起100Gbps(bits per second,比特每秒)的攻击流量,即传输速率100Gbps=12.5GB/s。 

  ①攻击源数量:假设攻击者拥有1000台代理主机。

  ②反射服务器数量:假设反射服务器的数量为100台。

  ③每秒请求报文次数:SSDP的放大倍数约为30.8,假设每个请求包的大小为220字节,为了达到每秒12.5GB的攻击流量,每台攻击源主机每秒需要发送大约12.5GB/(1000*100*30.8*220)个请求包。 

3. 流量清洗技术

  基本原理:对数据流量进行实时监控,及时发现与正常业务数据混合在一起的DDoS攻击流量(异常流量)。在不影响业务的情况下,对混合数据进行净化,清洗掉DDoS攻击流量,保留正常业务流量,保证客户业务24小时的不间断提供。

  过程:流量清洗一般包括攻击监测和判断、流量牵引、清洗过滤、流量回送四个关键环节。 

  ①利用专用的检测设备对用户业务流量进行分析监控。

  ②当用户遭受到DDoS攻击时,检测设备上报给专用的业务管理平台生成清洗任务,将用户流量牵引到流量清洗中心。

  ③流量清洗中心对牵引过来的用户流量进行清洗,并将清洗后的用户合法流量回注到客户网络。同时上报清洗日志到业务管理平台生成报表。 

posted @ 2024-06-08 15:26  无事闲逛  阅读(141)  评论(0)    收藏  举报