DDOS基础

之前一次面试的时候问到一个关于DDOS的问题,才发现自己对于DDOS知之甚少,为了工作还是得补补脑子。

攻击分析
  1. 流行度:指一种攻击手段被使用的频率(1----10),1最少见。
  2. 简单度:利用某种攻击手段所需要的技能(1----10),1代表最难(可以理解因为难为很少的人使用),10代表最简单。
  3. 影响力:攻击得手时所造成的的损失大小和防护的难度(1-----10)。10表示最难防护且损失很大。
  4. 风险率:流行度 + 简单度 + 影响力 的平均值(四舍五入取整)
拒绝服务攻击介绍

我们的重点是分布式拒绝服务攻击,由名字也可以猜测这应该只是拒绝服务攻击的一种。
先说说拒绝服务攻击吧,我个人的理解就是采用一系列手段使得服务的提供方无法再给正常需要服务的对象提供服务,借用《破坏之王:DDOS攻击与防范深度剖析》中的例子,假如有个你讨厌的快餐店,你想影响其生意(使其无法正常营业),你可以简单粗暴的带着人去砸场子,导致其不能给顾客提供服务,这就算死拒绝服务攻击(但是警察会找你喝茶)。很明显暴力的做法有点欠考虑,另一种方式就是你带着七大姑八大姨到店里每人点一杯可乐,然后在店里追一天剧,由于你们占着位置,老板也只能干着急(DDOS)。换言之,我们可以通过看似正常的操作占用和消耗资源来实现分布式拒绝服务的目的,根据消耗目标资源的不同,一般将分布式拒绝服务分为以下几类:
- 攻击网络带宽资源
- 攻击系统资源
- 攻击应用资源

攻击网络带宽资源

“秀翻了”的直接攻击(伤敌1000自损1500,攻击者使用大量受控主机直接向目标发送大量数据包,导致其带宽消耗殆尽,无法处理正常的服务请求)
ICMP/IGMP洪水攻击

注:
ICMP(互联网控制消息协议):对通信过程中发生问题的反馈和处于一些目的的查询(查询报文)
IGMP(因特网组管理协议):因特网多播组成员管理
攻击过程:
攻击者发送大量的ICMP/IGMP数据包给目标,耗尽其带宽资源。(现在应该被防护的差不都了,ICMP/IGMP报文在到达目标网络边界的时候就被过滤丢弃了)

UDP洪水攻击

注:
UDP(用户数据报协议),传输成的无连接协议,主要用于不要求分组按序到达,提供面向事务的简单不可靠消息传输服务。比如视频通话就采用UDP,我们可以接受视频卡个几秒,也可以接受短暂的清晰度下降。
UDP洪水攻击有两种方式可选,其一是采用64字节的小包其二是采用1500字节以上的大包。

  1. 众所周知,流量一定的前提下,包越小,数据包就越多,由于路由器、交换机等需要对数据包进行转发、校验等操作,数据包多了对这些网络设备的处理能力要求就要提高,因此会造成处理速度下降、传输速度缓慢、传输延迟等问题。
  2. 大包攻击是指采用1500字节以上的数据包进行带宽资源占用,我们知道以太网对数据帧的最大限制(MTU)是1500字节,需要在IP层进行分片。采用大包攻击可以很好的占用网络接口的传输带宽,并导致目标在收到UDP报文时还要进行分片重组,造成网络拥堵、服务器响应速度变慢。
    是不是发现UDP洪水攻击还行,但是这改变不了伤敌1000自损800的命运,而且这些UDP数据包需要自己来发送,即便做了源IP的伪造还是容易被查到啊,所以有了反射和放大攻击。

反射和放大攻击

反射攻击DRDoS(Distributed Reflection Denial of Service)又称分布式反射拒绝服务攻击。
注:
反射攻击:借刀杀人,伪造源IP(被攻击目标的IP)向反射器发送数据包,反射器将响应发送给被攻击目标,导致被攻击目标疲于处理这些无用数据包从而使资源被占用。这样做可以提高追溯攻击来源的难度。
放大攻击:发送较小的数据包,可以得到较大的响应数据包,放大的倍数越大,攻击效果越明显(不是影响攻击效果的唯一因素)。
在这里插入图片描述发送85字节的数据包可以收到152字节的响应数据包,造成了放大。假如,攻击者向反射器发送85字节的数据,受害者就要处理来自反射器的152字节的数据,使攻击效率大大提升了。

ACK反射攻击

攻击建立在TCP三次握手基础上(强调请求和响应而不是握三次手),其主要优点在于有效隐藏攻击来源。
攻击过程:
攻击者找到大量的可用于ACK反射攻击的服务器(开了TCP服务)而且拥有大量受控主机,然后操纵受控主机向这些服务器发送伪造了源IP的SYN请求,导致服务器将所有ACK应答发送给攻击目标,使其疲于处理这些应答数据,消耗其网络带宽。

DNS放大攻击

DNS(Domain Name System),即域名系统,实现从域名(‘www.baidu.com’)到IP的解析(39.156.66.18)。(有CDN加速,不同地方解析到的IP不一样)
DNS可以使用TCP和UDP协议提供的服务(都是53端口),属应用层,主要使用UDP,一般可以做到放大2~~10倍。
关于DNS放大攻击更好的办法是采用DNS扩展机制(ENDS0)如下:

在没有EDNS0以前,对DNS查询的响应数据包被限制在512字节以内。当需要应答的数据包超过512字节时,根据DNS服务实现的不同,可能会丢弃超过512字节的部分,也可能会使用TCP协议建立连接并重新发送。无论是哪种方式,都不利于进行DNS放大攻击。
在EDNS0中,扩展了DNS数据包的结构,增加了OPT RR字段。在OPT
RR字段中,包含了客户端能够处理的最大UDP报文大小的信息。服务端在响应DNS请求时,解析并记录下客户端能够处理的最大UDP报文的大小,并根据该大小生成响应的报文。

攻击过程:
攻击者发送DNS查询请求数据包大小一般控制在60字节左右,而查询返回的结果的数据包大小通常为3000字节以上(放大了50倍),大大大的增大了攻击效率。

NTP放大攻击

NTP(Network Time Protocol)即网络时间协议,在自动获取网络时间是使用。在这里插入图片描述NTP协议的服务器实现上通常会实现一些列Mode 7 的调试接口,而接口中的monlist请求能够获取到与目标NTP服务器进行同步的最后600个客户端的IP地址等信息。

攻击系统资源

攻击应用资源

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值