IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> 关于分布式拒绝服务(DDoS)的梳理和介绍 -> 正文阅读

[网络协议]关于分布式拒绝服务(DDoS)的梳理和介绍

分布式拒绝服务(DDoS:Distributed Denial of Service):攻击指借助于客户/服务器技术,将多个计算机联合起来作为攻击平台,对一个或多个目标发动DDoS攻击,从而成倍地提高拒绝服务攻击的威力。通常该攻击方式利用目标系统网络服务功能缺陷或者直接消耗其系统资源,使得该目标系统无法提供正常的服务。

DDos攻击:分布式拒绝服务攻击,是指利用合理的客户端请求来占用过多的服务器资源,从而使得合法用户无法得到服务器的响应。
如何实现DDOS攻击:1、利用协议、系统的缺陷 2、具备了海量流量。往往是结合两者实现的。

DDoS攻击通过大量的请求占用大量网络资源,以达到瘫痪网络的目的。攻击方式可分为以下几种:
? 通过使网络过载来干扰甚至阻断正常的网络通讯;
? 通过向服务器提交大量请求,使服务器超负荷;
? 阻断某一用户访问服务器;
? 阻断某服务与特定系统或个人的通讯

攻击的现象
出现DDOS攻击时,往往会有以下特征:

被攻击主机上有大量等待的TCP连接;
网络中充斥着大量的无用的数据包;
源地址为假 制造高流量无用数据,造成网络拥塞,使受害主机无法正常和外界通讯;
利用受害主机提供的传输协议上的缺陷反复高速的发出特定的服务请求,使主机无法处理所有正常请求;
严重时会造成系统死机。

网络层DDos攻击
(1)SYN flood攻击

SYN flood攻击主要利用了TCP三次握手过程中的bug,我们知道TCP三次握手过程是要建立连接的双方发送SYN,SYN+ACK,ACK数据包,而当攻击方随意构造源ip去发送SYN包时,服务器返回的SYN+ACK就不能得到应答(因为ip是随意构造的),此时服务器就会尝试重新发送,并且会有至少30s的等待时间,导致资源饱和服务不可用,此攻击属于慢型dos攻击。

协议漏洞及攻击原理:

我们回过头来从安全的角度看三次握手,会发现这个流程是有缺陷的:在第二次握手中,当服务器发送了syn+ack报文后,如果他连接的定时器超过超时重传时间(出现超时的原因可能是syn+ack报文丢失、客户ack报文丢失、RTT时间过长、甚至可能客户是在进行synflood攻击),服务器就会对报文进行重传,当重传次数超过阈值服务器认为TCP连接超时,而后才会销毁该请求套接口释放TCB。如果攻击者用快于服务器TCP连接超时的速度,连续对目标服务器开放的端口发送SYN报文,服务器的所有资源都将被消耗,以至于不能再接受其他客户的正常连接请求。(如果发送SYN+ACK包之后,没有收到应答,就会在重试5次之后,将其移出半连接队列。这5次发送的时间间隔为1s、2s、4s、8s、16s、32s)。

攻击检测及防御手段:
目前对于SYN Flood攻击一般都通过实时监测tcp的新建连接速率来判断。显然地,当恶意客户端向目标发起攻击时,对目标服务器的请求连接报文会在短时间内大量增加,安全设备发现去往服务器的请求连接速率超过指定的阈值后即可开启防御。

   防御的前提当然是要区分出那些请求是合法的连接哪些是SYN泛洪,有一种机制叫SYN cookies。

方法一:①当安全设备获取到发往服务器的SYN报文后,设备模拟服务端会给此源IP回复ack=Cookie的SYN/ACK报文(Cookie是通过五元组加密计算出来的值,正常情况下的ack=seq+1)。

          ②正常客户端会回复RST报文,而攻击流则不会回复。

          ③安全设备收到RST报文并校验后便可把回复正确报文的客户端IP加入白名单(校验通过的标准是RST报文中携带的seq等于用该报文的五元组等信息算出的Cookie)。

          ④后续安全设备放行属于该IP的正常流量。

方法二:①当安全设备获取到发往服务器的SYN报文后,设备模拟服务器给源IP回复seq=Cookie的SYN/ACK报文。

          ②正常客户端会回复ACK报文,确认序列号为Cookie+1。

          ③安全设备收到ack报文并校验无误后将该客户端的IP加入白名单,并向客户端发送RST报文断开连接。

          ④后续安全设备放行属于该IP的正常流量。

方法三:①当安全设备获取到发往服务器的SYN报文后,设备模拟服务器给源IP回复seq=Cookie的SYN/ACK报文。

          ②正常客户端会回复ACK报文,确认序列号为Cookie+1。

          ③安全设备收到ack报文并校验无误后,设备与服务发送连接请求,通过三次握手后与服务器建立起连接。

           ④客户端与防火墙之间建立了连接,防火墙与服务器之间也建立了连接,客户端与服务器间关于此次连接的后续数据报文都将通过安全设备进行代理转发。

(2)UDP flood攻击

由于udp是一种无连接的协议,因此攻击者可以伪造大量的源IP地址去发送udp包,此种攻击属于大流量攻击。正常应用情况下,UDP包双向流量会基本相等,因此在消耗对方资源的时候也在消耗自己的资源。
(3)ICMP flood攻击

此攻击属于大流量攻击,其原理就是不断发送不正常的ICMP包(所谓不正常就是ICMP包内容很大),导致目标带宽被占用,但其本身资源也会被消耗。并且目前很多服务器都是禁ping的(在防火墙在可以屏蔽icmp包),因此这种方式已经落伍。
应用层DDos攻击
(1)CC攻击(Challenge Collapasar)

CC攻击的原理,就是针对消耗资源比较大的页面不断发起不正常的请求,导致资源耗尽。因此在发送CC攻击前,我们需要寻找加载比较慢,消耗资源比较多的网页,比如需要查询数据库的页面、读写硬盘文件的等。通过cc攻击,使用爬虫对某些加载需要消耗大量资源的页面发起http请求。
(2)HTTP POST DOS

原理是在发送HTTP POST包时,指定一个非常大的Content-Length值,然后以极低的速度发包,保持连接不断,导致服务饱和不可用。
DDoS攻击通过大量的请求占用大量网络资源,以达到瘫痪网络的目的。攻击方式可分为以下几种:

通过使网络过载来干扰甚至阻断正常的网络通讯;
通过向服务器提交大量请求,使服务器超负荷;
阻断某一用户访问服务器;
阻断某服务与特定系统或个人的通讯。

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2021-11-20 18:45:47  更:2021-11-20 18:46:47 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 7:39:31-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码