DDoS攻击与防御(2)
2.攻击系统资源
终端设备在与服务器进行通信时,经常需要创建会话连接,在此过程中通常会使用TCP和SSL等协议。
会话连接一旦被占满,新进入的会话请求就必须等待前面的会话完成。
消耗系统资源的DDoS攻击的主要目的就是对系统维护的连接资源进行消耗和占用,阻止正常连接的建立,从而达到拒绝服务的目的。
2.1 攻击TCP连接
2.1.1 TCP连接洪水攻击
在TCP三次握手的过程中,服务器会创建并保存TCP连接的信息到连接表中。连接表的大小是有限的,一旦服务器接收到的连接数量超过了连接表能存储的数量,服务器就无法创建新的TCP连接了。
攻击者可以利用大量受控主机,通过快速建立大量恶意的TCP连接占满被攻击目标的连接表,使目标无法接受新的TCP连接请求,从而达到拒绝服务攻击的目的。
2.1.2 SYN洪水攻击
在建立TCP连接的过程中,如果在服务器返回SYN+ACK报文后,客户端没有对其进行确认,服务器就需要重传SYN+ACK报文,并等待客户端的确认报文直到TCP连接超时。
这种等待客户端确认的连接状态通常被称为半开连接。在连接超时之前,半开连接会一直保存在服务器的连接表中。
由于连接表的大小是有限的,如果在短时间内产生大量的半开连接,而这些连接又无法很快地结束,连接表就会迅速被占满,导致新的TCP连接无法建立。
SYN洪水攻击就是攻击者利用受控主机发送大量的SYN报文,使服务器打开大量的半开连接,占满服务器的连接表,从而影响正常用户与服务器建立会话,造成拒绝服务。
这种攻击方式会很明显地暴露出攻击者的IP地址,同时响应报文会作为反射流量占用攻击者的带宽资源。
更好的方式是将SYN报文的源IP地址随机伪造成其他地址,这样攻击目标会将应答发送给伪造地址,从而占用连接资源并隐藏攻击来源。
2.1.3 PSH+ACK洪水攻击
由于带有PSH标志位的TCP数据包会强制要求接收端将接收缓冲区清空并将数据提交给应用服务进行处理,因此当攻击者利用受控主机向攻击目标发送大量的PSH+ACK数据包时,被攻击目标就会消耗大量的系统资源不断地进行接收缓冲区的清空处理,导致无法正常处理数据,从而造成拒绝服务。
单独使用PSH+ACK洪水攻击对服务器产生的影响并不十分明显,更有效的方式是SYN洪水攻击与ACK洪水攻击相结合,这样能够绕过一部分防护设备,增强攻击效果。
2.1.4 Sockstress慢速攻击
在TCP传输数据时,会将数据临时存储在接收缓冲区中,该接收缓冲区的大小是由TCP窗口表示的。
如果TCP窗口大小为0则表示接收缓冲区已满,发送端应该停止发送数据,直到接收端窗口更新。
Sockstress慢速攻击就是利用该原理长时间地维持TCP连接,以达到拒绝服务的目的。
Sockstress慢速攻击首先会完成TCP三次握手以建立TCP连接,在最后的ACK应答中,攻击者将其TCP窗口设置为0后再进行一次数据请求。
攻击目标在传输数据时,发现接收端的TCP窗口大小为0就会停止传输数据,并发出TCP窗口探测包,询问攻击者其TCP窗口是否更新。
由于攻击者没有更新TCP窗口大小,攻击目标会一直维持TCP连接等待数据发送,并不断进行窗口更新探测。
攻击目标的TCP连接表将逐渐耗尽,无法接受新的连接而导致拒绝服务。
Sockstress慢速攻击的另一种方式是将TCP窗口设置为一个非常小的值,这样攻击目标将不得不把需要发送的数据切分成大量很小的分片,这会极大地消耗目标的内存和处理器资源,造成系统响应缓慢和拒绝服务。
2.2 攻击SSL连接
2.2.1 THC SSL DoS攻击
在进行SSL数据传输之前,通信双方首先要进行SSL握手,以协商加密算法交换加密密钥,进行身份认证。
通常情况下,这样的SSL握手过程只需要进行一次即可,但是在SSL协议中有一个Renegotiation选项,通过它可以进行密钥的重新协商以建立新的密钥。
THC SSL DoS攻击就是这样反复不断地进行密钥重新协商过程,该过程需要服务器投入比客户端多15倍的CPU计算资源。
攻击者只需要一台普通PC就能够拖慢一台高性能服务器,如果有大量主机同时进行攻击,就会使服务器忙于协商密钥而完全停止响应。
2.2.2 SSL洪水攻击
在SSL握手的过程中,服务器会消耗较多的CPU计算资源对数据先进行解密再进行有效性检验。
攻击者可以利用这个特性进行SSL洪水攻击。
DDoS攻击与防御(2)的更多相关文章
- 通过DDOS攻击流程图来浅谈如何预防Ddos攻击与防御
DDOS攻击流程图 站长之家配图(来源:ppkj.net) 一 背景 在前几天,我们运营的某网站遭受了一次ddos攻击,我们的网站是一个公益性质的网站,为各个厂商和白帽子之间搭建一个平台以传递安全问题 ...
- 浅谈 DDoS 攻击与防御
浅谈 DDoS 攻击与防御 原创: iMike 运维之美 什么是 DDoS DDoS 是英文 Distributed Denial of Service 的缩写,中文译作分布式拒绝服务.那什么又是拒 ...
- DDoS 攻击与防御:从原理到实践
本文来自 网易云社区 . 可怕的 DDoS 出于打击报复.敲诈勒索.政治需要等各种原因,加上攻击成本越来越低.效果特别明显等趋势,DDoS 攻击已经演变成全球性的网络安全威胁. 危害 根据卡巴斯基 2 ...
- DDoS 攻击与防御:从原理到实践(下)
欢迎访问网易云社区,了解更多网易技术产品运营经验. DDoS 攻击与防护实践 DDoS 攻击的实现方式主要有如下两种: 自建 DDoS 平台 现在有开源的 DDoS 平台源代码,只要有足够机器和带宽资 ...
- DDoS 攻击与防御:从原理到实践(上)
欢迎访问网易云社区,了解更多网易技术产品运营经验. 可怕的 DDoS 出于打击报复.敲诈勒索.政治需要等各种原因,加上攻击成本越来越低.效果特别明显等趋势,DDoS 攻击已经演变成全球性的网络安全威胁 ...
- DDOS攻击与防御简单阐述,列出DDOS的攻击方法和防御方法
参考1:https://www.hi-linux.com/posts/50873.html#%E7%BD%91%E7%BB%9C%E5%B1%82-ddos-%E6%94%BB%E5%87%BB 什么 ...
- DDoS攻击与防御(4)
在发生DDoS攻击的情况下,可以通过一些缓解技术来减少攻击对自身业务和服务的影响,从而在一定程度上保障业务正常运行.缓解DDoS攻击的主要方法是对网络流量先进行稀释再进行清洗. 1.攻击流量的稀释 1 ...
- DDoS攻击与防御(3)
3.攻击应用资源网络应用和服务在处理数据时,通常需要消耗一定的网络连接.计算和存储资源,这些资源是由应用程序向系统进行申请并自行管理和维护的.消耗应用资源的DDoS攻击就是通过向应用提交大量消耗资源的 ...
- DDoS攻击与防御(1)
分布式拒绝服务攻击的精髓是,利用分布式的客户端,向服务提供者发起大量看似合法的请求,消耗或长期占用大量资源,从而达到拒绝服务的目的.从不同的角度看,分布式拒绝服务攻击的方法有不同的分类标准.依据消耗目 ...
随机推荐
- metaclass(元类)
一.创建类的执行流程 二.元类的认识 什么是元类呢?在Python3中继承type的就是元类 二.元类的示例 方式一: # 方式一 class MyType(type): '''继承type的就是元类 ...
- python并发编程之多线程2------------死锁与递归锁,信号量等
一.死锁现象与递归锁 进程也是有死锁的 所谓死锁: 是指两个或两个以上的进程或线程在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用, 它们都将无法推进下去.此时称系统处于死锁状态或系统 ...
- LeetCode(106):从中序与后序遍历序列构造二叉树
Medium! 题目描述: 根据一棵树的中序遍历与后序遍历构造二叉树. 注意:你可以假设树中没有重复的元素. 例如,给出 中序遍历 inorder = [9,3,15,20,7] 后序遍历 posto ...
- 剑指offer 二叉搜索树和双向链表
剑指offer 牛客网 二叉搜索树和双向链表 # -*- coding: utf-8 -*- """ Created on Tue Apr 9 18:58:36 2019 ...
- JSP 动作
动作是第三种类型的语法元素,它们被转换成Java 代码来执行操作,如访问一个Java对象或调用方法. 一. useBean useBean将创建一个关联Java对象的脚本变量.这 是早期分离的表示层和 ...
- python接口自动化测试三十三:获取时间戳(10位和13位)
很多时候,在调用接口时,需要对请求进行签名.需要用到unix时间戳. 在python里,在网上介绍的很多方法,得到的时间戳是10位.而java里默认是13位(milliseconds,毫秒级的). 下 ...
- ubuntu 下配置munin
环境: "Ubuntu 13.10" 安装: apt-get install munin munin-nodeapt-get install apache2 配置: 1. vim ...
- 在windows下Apache安装配置
安装,从官网下载,安装即可. 配置遇到一些问题: 1. the requested operation has failed 这是因为安装后的文件目录没有没有写的权限.通过安全设置安装目录的所有 ...
- openssl中RSA数字签名的使用
参考: OpenSSL命令行工具验证数字签名 客户端需要生成一对密钥,服务器需要生成一对密钥,分别记为client_private.pem/client_public.pem和server_priva ...
- 激活函数的比较,sigmoid,tanh,relu
1. 什么是激活函数 如下图,在神经元中,输入inputs通过加权.求和后,还被作用了一个函数.这个函数就是激活函数Activation Function 2. 为什么要用激活函数 如果不用激活函数, ...