安全-DDOS介绍及攻击防御原理说明

1、DDOS是什么

DDoS攻击(Distributed Denial-of-Service attack)是指利用多台主机对目标服务器发起大量的请求,从而使其无法处理正常的网络流量并导致服务不可用。这些请求通常是恶意的、占用大量带宽的和重复的,导致服务器在瞬间被过载,无法响应真正的客户端请求。DDoS攻击可以通过各种手段进行,如利用僵尸网络、利用漏洞发起攻击或伪造IP地址等。它不仅给网站运营者和用户带来影响,而且可能会导致公司损失巨额资金。
如图所示
攻击目标
攻击类型
攻击类型举例
DDOS攻击包括不限于上述的攻击类型。

2、DDOS造成的损失

近几年,DDoS攻击的规模、频率和影响力都在不断增加,给全球网络安全带来了严重威胁。以下是一些近几年发生的DDoS攻击事件的例子:

  • 2020年9月,美国金融服务公司Akamai遭到了2.3Tbps的DDoS攻击,创下了当时的世界纪录。这次攻击利用了SSDP协议,通过发送恶意的搜索请求来放大流量。Akamai成功地抵御了这次攻击,没有造成客户服务中断。
  • 2020年11月,新西兰股票交易所NZX遭到了持续四天的DDoS攻击,导致其交易平台多次中断。这次攻击是由一个名为Armada Collective的黑客组织发起的,他们向NZX发送了勒索邮件,要求支付比特币,否则就继续发动攻击。
  • 2021年2月,GitHub遭到了1.35Tbps的DDoS攻击,超过了2018年3月对其发起的1.3Tbps的攻击,成为了历史上最大的DDoS攻击。这次攻击利用了memcached协议,通过向开放的memcached服务器发送伪造的请求来放大流量。GitHub及时启用了其DDoS防护服务提供商Akamai Prolexic的服务,成功地缓解了这次攻击。

3、DDOS攻击与防御技术原理

3.1、DDOS防护方式

  • 云防护
    云防护即为利用现有云计算的弹性和高容量的优势来进行DDOS攻击的防护,主要包括如下几个方面:
    1、云原生
    利用云上DDOS防护设备和云数据中心的能力来进行防护,该方式的部署只需要用户添加云上对应的DDOS防护资源即可,无需变更云的IT架构,其主要的目的是为云上的业务进行防护。如下图参考阿里云原生DDOS防护
    云原生防护
    2、CDN安全
    CDN安全防护的原理是利用CDN全球分布的节点来进行安全的防护,通过分布式的节点来分散攻击,从而达到防护的目的,CDN安全防护的能力主要以分布式的全平台能力作为基准,一般全平台可以高达几个T,如网宿、白山等,特点是接入方式为Cname接入,IT架构上为前置在用户IT架构之前,参考如下架构图:
    CDN安全防护架构
    3、DDOS高防
    DDOS高防主要是利用云计算数据中心具有庞大的负载集群来提供大流量的防护,云中心的DDOS防护能力高达800-1.5Tbps,接入方式为高防BGP的IP接入,但是云厂商在受到大规模攻击的时候会进行黑洞处理,以便保障云数据中心其他用户的正常访问,参考如下架构图:
    高防
    4、硬件防护
    DDOS硬件防护简单来说就是在客户IDC和自己的机房部署硬件DDOS防护设备,一般部署在最前置,来保障内网业务在受到DDOS攻击的时候能进行流量的清洗和防护,但是目前硬件防护设备的性能有限,而且成本较高,参考如下架构图:
    硬件防火策略
    硬件防护
    5、 运营商流量压制
    进入到该运营商的DDOS攻击流量,即可被检测和清洗压制(压制就是封堵攻击源,或者对来自攻击源的流量进行限速处理,在进入到运营商网络中就能实现压制功能),但是目前只能防护来自本运营商的攻击,无法实现跨运营商防护,如下 防护逻辑:
    运营商流量压制

3.2、DDOS攻防原理介绍

1、SYN flood攻击原理及防御分析

syn flood
深入看下这个抓包的数据包可以看到发送大量的SYN包,每个包实际的长度是0,但是win却是很大的:
数据包1
在服务端抓包,可以看到有大量的SYN信息:
在这里插入图片描述

可以看到大包有堵带宽,win很大,客户端向服务端一直发送Syn数据:
在这里插入图片描述
大小包混合的情况:
在这里插入图片描述
如下图可以看到发送syn的信息中TCP的标志位有异常,并不是合法的(如果TCP报文段中某些标记位出现不合法的情况,例如同时设置了SYN和ACK标记位,或者没有设置ACK标记位却设置了URG标记位等,那么接收方将会认为这是非法的TCP报文段,有可能会把这个报文段丢弃,也可能会向发送方返回RST标记位来终止连接。因此,在设计和实现TCP协议时,需要对标记位进行正确的设置和处理,避免出现非法标记位的情况)
在这里插入图片描述
抓包看到有DDOS攻击和响应的信息:
在这里插入图片描述
因此总结防护方式:

  • 识别TCP标志位的情况来做判断
  • 防火墙先建立会话链接,防火墙收到SYN包并返回SYN+ACK包时,不分配专门的数据区,而是根据SYN包计算出一个Cookie值,将其当做初始包序号,对返回的ACK包进行Cookie验证,验证通过则分配资源、建立连接来做判断,但是该防护方法很消耗防火墙的性能,尤其传统的硬件防护方式会影响到客户正常的业务。**

2、ACK flood攻击及防御分析

攻击原理如下图所示:
在这里插入图片描述
分析数据包可以看到就是发送大量的ACK包,让服务器判断回复,导致无法相应过来。
在这里插入图片描述
因此分析其防护思路:
服务端收到ACK包后会判断是否有SYN包,因此逻辑上还可以以防火墙先来建立SYN会话,如果没有SYN会话的,直接发送ACK的则丢弃:
在这里插入图片描述

3、UDP flood攻击和防护原理

如下图可以看到UDP flood的攻击原理:
在这里插入图片描述
根据数据包的情况来看为客户端发送大量无状态的UDP包:
在这里插入图片描述
一般模拟攻击平台的发起攻击逻辑可以如图看出,可以设置速率、包大小、内容等,对应抓包的信息:
在这里插入图片描述
因此分析其防火逻辑:

  • 是否有UDP的流量,如果没有建议直接丢弃,从而起到防护
  • 根据UDP数据包的异常情况来深入分析,配置数据包大小、速率阈值,从而实现防护
  • 华为UDP防护可以支持水印防护,通过客户端配置开发水印算法来实现精准防护识别,如下:

在这里插入图片描述

4、反射放大攻击及防护原理

反射放大攻击原理如下所示:
在这里插入图片描述
结合如下抓包数据可以看到一个以很小的攻击实现大的数据包的反馈的反射:
在这里插入图片描述
综合上述分析防护原理:
反射放大攻击主要和有关协议有关,可以通过对涉及攻击的端口进行安全过滤来实现业务的防护,如设置白名单等其他方式。

5、空连接攻击

如下图可以看出空连接攻击的原理:
在这里插入图片描述
通过服务器端的建联来看,可以看出空连接主要为只建立连接,但不发送数据,用句俗话讲就是占着茅坑不拉屎:
在这里插入图片描述
综合上述分析防护方法:
-限制单个IP的连接数量

6、CC攻击原理和防护方法:

如下图可以看到CC攻击的原理展示:
在这里插入图片描述
结合抓包信息来看,可以看到有很多真实的请求,去请求后端的资源,消耗后端数据库等性能,导致无法响应正常用户请求:
在这里插入图片描述
在这里插入图片描述
总结分析CC攻击的防护思路:
首先简单总结下CC的特点,CC并不是大流量攻击,其主要是高并发,CC很难有统一的防护思路或者防护手段,基本都要结合实际的业务来去做对应的防护,因为CC的IP一般是分散、真实的;而且数据包的请求都是真实有效的,无法直接拒绝,因此目前的防护思路来看大概分为几种:

  • 区分攻击者和真实用户,利用携带cookie、解析JS等方式
  • 进行深入的流量分析,通过关键字段来做匹配
  • 结合UA、refer等信息进行判断
  • 添加验证码如数据文字,滑动滑块等方式来达到目的
  • 设置IP黑名单

7、 其他更多攻击方式

省略,不在一一举例,DDOS攻击的变种也比较多,可以自行研究学习。

8、离线日志分析-人工加安全防护策略

攻击手段会随着技术、防护的方式而不断地变化,攻击者只会越来越聪明,规则很难防住左右的攻击者,因此最通用的方式为深入分析客户业务流量日志,通过安全专家进行攻击的发现,来添加对应的防护规则或者策略,达到防护的目的。

4、目前DDOS防护的一些厂商

  • 云厂商:阿里云、腾讯云、华为云等
  • CDN厂商:网宿科技、知道创宇、白山科技等
  • 安全厂商:绿盟、深信服、华为、长亭等;
  • 运营商:电信云堤、移动、联通等;

5、DDOS有关的思考

关于DDoS,这是一种非常危险和破坏性的网络攻击方式,它不仅会给目标网站或服务器带来严重的损失,也会影响正常的网络通信和服务。企业应该加强对DDoS攻击的预防和应对,提高网络安全意识和能力,在发生DDOS攻击的时候可以第一时间报警处理。

猜你喜欢

转载自blog.csdn.net/wtt2020/article/details/130797581