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)的更多相关文章

  1. 通过DDOS攻击流程图来浅谈如何预防Ddos攻击与防御

    DDOS攻击流程图 站长之家配图(来源:ppkj.net) 一 背景 在前几天,我们运营的某网站遭受了一次ddos攻击,我们的网站是一个公益性质的网站,为各个厂商和白帽子之间搭建一个平台以传递安全问题 ...

  2. 浅谈 DDoS 攻击与防御

    浅谈 DDoS 攻击与防御 原创: iMike 运维之美  什么是 DDoS DDoS 是英文 Distributed Denial of Service 的缩写,中文译作分布式拒绝服务.那什么又是拒 ...

  3. DDoS 攻击与防御:从原理到实践

    本文来自 网易云社区 . 可怕的 DDoS 出于打击报复.敲诈勒索.政治需要等各种原因,加上攻击成本越来越低.效果特别明显等趋势,DDoS 攻击已经演变成全球性的网络安全威胁. 危害 根据卡巴斯基 2 ...

  4. DDoS 攻击与防御:从原理到实践(下)

    欢迎访问网易云社区,了解更多网易技术产品运营经验. DDoS 攻击与防护实践 DDoS 攻击的实现方式主要有如下两种: 自建 DDoS 平台 现在有开源的 DDoS 平台源代码,只要有足够机器和带宽资 ...

  5. DDoS 攻击与防御:从原理到实践(上)

    欢迎访问网易云社区,了解更多网易技术产品运营经验. 可怕的 DDoS 出于打击报复.敲诈勒索.政治需要等各种原因,加上攻击成本越来越低.效果特别明显等趋势,DDoS 攻击已经演变成全球性的网络安全威胁 ...

  6. 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 什么 ...

  7. DDoS攻击与防御(4)

    在发生DDoS攻击的情况下,可以通过一些缓解技术来减少攻击对自身业务和服务的影响,从而在一定程度上保障业务正常运行.缓解DDoS攻击的主要方法是对网络流量先进行稀释再进行清洗. 1.攻击流量的稀释 1 ...

  8. DDoS攻击与防御(3)

    3.攻击应用资源网络应用和服务在处理数据时,通常需要消耗一定的网络连接.计算和存储资源,这些资源是由应用程序向系统进行申请并自行管理和维护的.消耗应用资源的DDoS攻击就是通过向应用提交大量消耗资源的 ...

  9. DDoS攻击与防御(1)

    分布式拒绝服务攻击的精髓是,利用分布式的客户端,向服务提供者发起大量看似合法的请求,消耗或长期占用大量资源,从而达到拒绝服务的目的.从不同的角度看,分布式拒绝服务攻击的方法有不同的分类标准.依据消耗目 ...

随机推荐

  1. js——this

    每个函数的this是在调用时绑定的,完全取决于函数的调用位置 1. 绑定规则总结 一般情况下,按下列顺序从下至上来判断this的绑定对象(绑定的优先级从下至上递减) 默认:在严格模式下绑定到undef ...

  2. SVG前戏—让你的View多姿多彩

    什么是SVG SVG的全称是Scalable Vector Graphics,叫可缩放矢量图形.是一种基于可扩展标记语言(XML).它和位图(Bitmap)相对,SVG不会像位图一样因为缩放而让图片质 ...

  3. 一个简单的 vue.js 实践教程

    https://segmentfault.com/a/1190000006776243?utm_source=tuicool&utm_medium=referral 感觉需要改善的地方有: ( ...

  4. nginx实践(五)之代理服务(正向代理与反向代理介绍)

    正向代理 正向代理代理是为客户端服务,代理负责DNS解析域名到对应ip,并进行访问服务端,返回响应给客户端 反向代理 客户端自己负责请求DNS解析域名到对应ip,服务端通过代理分发流量,进行负载均衡 ...

  5. laravel 多检索条件列表查询

    public function indexQuestions(Request $request, ResponseFactoryContract $response, QuestionModel $q ...

  6. laravel 5.6

    compact() 建立一个数组,包括变量名和它们的值 打印结果: starts_with() 函数判断给定的字符串的开头是否是指定值

  7. application program Can't Start

    一.电脑插U盘中毒之后感染,出现无法启动,但是风扇工作,先拔掉电源,卸掉电池之后重新安装,重启电脑,之后发现电脑桌面上的程序无法启动,360webShield也无法启动,可能是电脑中毒后的假死机现象. ...

  8. python(3):文件操作/os库

      文件基本操作 r,以读模式打开,  r+=r+w, w, 写模式(清空原来的内容), w+=w+r, a , 追加模式, a+=a+r, rb, wb, ab, b表示以二进制文件打开 想在一段文 ...

  9. Loadrunner 接口依赖测试

    Action() { //利用关联获取第一个GET请求的返回XXX字段的值,并存储到response_XXX变量中. web_reg_save_param_ex( "ParamName=re ...

  10. spring cloud Hystrix监控面板Hystrix Dashboard和Turbine

    我们提到断路器是根据一段时间窗内的请求情况来判断并操作断路器的打开和关闭状态的.而这些请求情况的指标信息都是HystrixCommand和HystrixObservableCommand实例在执行过程 ...