分布式拒绝服务攻击的精髓是,利用分布式的客户端,向服务提供者发起大量看似合法的请求,消耗或长期占用大量资源,从而达到拒绝服务的目的。
从不同的角度看,分布式拒绝服务攻击的方法有不同的分类标准。
依据消耗目标资源的不同,可分为攻击网络带宽资源、攻击系统资源和攻击应用资源三类。
依据攻击数据包发送的频率和速度来划分,又可以分为洪水攻击和慢速攻击。

1.攻击网络带宽资源
无论是服务器的网络接口带宽,还是路由器、交换机等互联网基础设施,其数据包处理能力都是存在着事实上的上限的,当到达或通过的网络数据包数量超过了这个上限时,就会出现网络拥堵、响应缓慢的情况。
消耗网络带宽资源的DDos攻击就是根据这个原理,利用受控主机发送大量的网络数据包,占满被攻击目标的全部带宽,从而使正常的请求无法得到及时有效的响应,造成拒绝服务。

1.1 直接攻击

1.1.1 ICMP/IGMP洪水攻击
网络控制消息协议ICMP用于在TCP/IP网络中发送控制信息,因特网组管理协议IGMP用于管理因特网协议多播组成员。
攻击者使用受控主机向被攻击目标发送大量的ICMP/IGMP报文,进行洪水攻击以消耗目标的带宽资源。
这种类型的攻击出现得很早,但现在已不多见,被攻击目标可以在其网络边界直接过滤并丢弃ICMP/IGMP数据包使攻击无效。

1.1.2 UDP洪水攻击
用户数据报协议UDP是一种面向无连接的传输层协议,主要用于不要求分组顺序到达的传输目的。
利用UDP数据报文,攻击者可以发动洪水攻击,通常会分为小包和大包两种攻击方式。
小包是指64字节大小的数据包,这是以太网上传输数据帧的最小值。
在相同流量下,单包体积越小,包数量就越多。
由于交换机、路由器等网络设备需要对每一个数据包进行检查和校验,因此使用UDP小包攻击能够最有效地增大网络设备处理数据包的压力,造成处理速度的缓慢和传输延迟等拒绝服务效果。
大包是指1500字节以上的数据包,其大小超过了以太网的MTU最大传输单元,使用UDP大包攻击,能够有效地占用网络接口的传输带宽,并迫使被攻击目标在接收到UDP数据时进行分片重组,造成网络拥堵,服务响应缓慢。
UDP洪水攻击出现得很早,它完全依靠受控主机本身的网络性能,通常对攻击目标带宽资源的消耗并不太大。

1.2 反射和放大攻击

1.2.1 ACK反射攻击
在传输控制协议TCP建立连接时,首先会进行TCP三次握手。
在此过程中,当服务器端接收到客户端发来的SYN连接请求时,会对该请求进行ACK应答。
利用TCP握手的ACK应答,即可进行ACK反射攻击。
如果攻击者将SYN的源IP地址伪造成被攻击目标的IP地址,服务器的应答也就会发送给被攻击目标。
由于使用TCP协议的服务在互联网上广泛存在,攻击者可以通过受控主机向大量不同的服务器发送伪造源IP地址的SYN请求,从而使服务器响应的大量ACK应答数据涌向被攻击目标,占用目标的网络带宽资源并造成拒绝服务。
在发动ACK反射攻击时,首先需要进行扫描,获得大量的反射器地址,并分别向这些反射器发送伪造源地址的SYN请求数据。
ACK反射攻击的优点主要在于能够比较有效地隐藏攻击的来源。

1.2.2 DNS放大攻击
域名系统DNS是因特网的一项核心服务,它将域名和IP地址相互映射。DNS使用TCP/UDP 53端口通信,主要使用UDP协议。
通常,DNS响应数据包会比查询数据包大,因此攻击者利用普通的DNS查询请求就能够发动放大攻击。
在以前,对DNS查询的响应数据包被限制在512字节以内,多余的字节根据实现的不同可能会被丢弃或使用TCP协议建立连接并重传。
后来出现了DNS扩展机制EDNS0扩展了DNS数据包的结构,增加了OPT RR字段。
该字段包含了客户端能够处理的最大UDP报文大小的信息,服务端在响应DNS请求时,根据该字段的大小生成响应报文。
攻击者发送的DNS查询请求数据包大小一般为60字节左右,而查询返回结果的数据包大小通常在3000字节以上。使用该方式进行放大攻击能够达到50倍以上的放大效果。
发动DNS放大攻击需要先进行扫描,获得大量的开放DNS解析器地址,并向这些地址发送伪造源IP的查询命令来放大攻击流量。

1.2.3 NTP放大攻击
网络时间协议NTP用于使计算机与时钟源进行同步和校正,它使用UDP 123端口通信。
NTP协议的monlist请求能够获取与目标NTP服务器进行同步的最近600个客户端的IP地址等信息。
这意味着,只需要发送一个很小的请求包,就能够触发大量连续的UDP响应数据包。
使用该方式进行放大攻击能够达到700倍以上的放大效果。
发动NTP放大攻击需要先进行扫描,获得大量的NTP服务器,并向这些NTP服务器发送伪造源地址的请求来放大攻击流量。

1.2.4 SNMP放大攻击
简单网络管理协议SNMP是目前网络中应用最为广泛的网络管理协议,它使用UDP 161端口通信。
攻击者向广泛存在并开启了SNMP服务的网络设备发送GetBulk请求,使用默认通信字符串作为认证凭据,并将源IP地址伪造成攻击目标的IP地址。
设备收到GetBulk请求后,会将响应结果发送给攻击目标。当大量的响应结果涌向攻击目标时,就会导致攻击目标网络拥堵和缓慢,造成拒绝服务。
使用该方式进行放大攻击能够达到25倍以上的放大效果。
在发动SNMP放大攻击时,需要先进行扫描,获得开放SNMP协议的网络设备,虽然开放SNMP协议的网络设备很多,但是还需要猜测它们使用的默认通信字符串,因此该方式更复杂一些。

DDoS攻击与防御(1)的更多相关文章

  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攻击与防御(2)

    2.攻击系统资源终端设备在与服务器进行通信时,经常需要创建会话连接,在此过程中通常会使用TCP和SSL等协议.会话连接一旦被占满,新进入的会话请求就必须等待前面的会话完成.消耗系统资源的DDoS攻击的 ...

随机推荐

  1. GitHub访问慢

    问题描述 一直都觉得访问 GitHub 时速度非常慢,刷新一下都要等好久!于是尝试一下能否解决掉... github.com assets-cdn.github.com avatar2.githubu ...

  2. Oracle Database 11g : SQL 基础

    简介 1:课程目标 2:课程 目标 3:Oracle Database 11g 以及相关产品概览 1:Oracle Database 11g :重点领域 2:Oracle Fusion Middlew ...

  3. 存储过程数据insert into select

    create or replace procedure PRO_K3_CZZH (org_name in varchar2, --财政专户名称 opertype in varchar2, --操作类型 ...

  4. (批量更新)对多个符合条件的id做更新操作

    需求描述:把checkbox勾选的对应id的记录的标志位置1或0,这个其实不难的,不过我自己做的话,肯定是多次访问数据库做更新,看了老大的代码,发现差距不是一般的大,老大把sql灵活运用,结果一次访问 ...

  5. NMT 机器翻译

    本文近期学习NMT相关知识,学习大佬资料,汇总便于后期复习用,有问题,欢迎斧正. 目录 RNN Seq2Seq Attention Seq2Seq + Attention Transformer Tr ...

  6. laravel 关联查询

  7. Nginx详解九:Nginx基础篇之Nginx的访问控制

    基于IP的访问控制:http_access_module 不允许指定网段的用户访问:配置语法:deny address | CIDR | unix: | all;默认状态:-配置方法:http.ser ...

  8. spring data jpa 全面解析(实践 + 源码分析)

    前言 本文将从示例.原理.应用3个方面介绍spring data jpa. 以下分析基于spring boot 2.0 + spring 5.0.4版本源码 概述 JPA是什么? JPA (Java ...

  9. 怎样在win7 IIS中部署网站

    怎样在win7 IIS中部署网站? IIS作为微软web服务器的平台,可以轻松的部署网站,让网站轻而易举的搭建成功,那么如何在IIS中部署一个网站呢,下面就跟小编一起学习一下吧. 第一步:发布IIS文 ...

  10. Python+selenium自动化测试中Windows窗口跳转方法

    Python+selenium自动化测试中Windows窗口跳转方法 #第一种方法 #获得当前窗口 nowhandle=driver.current_window_handle #打开弹窗 drive ...