安全-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攻击的时候可以第一时间报警处理。

接下来我将给各位同学划分一张学习计划表!

学习计划

那么问题又来了,作为萌新小白,我应该先学什么,再学什么?
既然你都问的这么直白了,我就告诉你,零基础应该从什么开始学起:

阶段一:初级网络安全工程师

接下来我将给大家安排一个为期1个月的网络安全初级计划,当你学完后,你基本可以从事一份网络安全相关的工作,比如渗透测试、Web渗透、安全服务、安全分析等岗位;其中,如果你等保模块学的好,还可以从事等保工程师。

综合薪资区间6k~15k

1、网络安全理论知识(2天)
①了解行业相关背景,前景,确定发展方向。
②学习网络安全相关法律法规。
③网络安全运营的概念。
④等保简介、等保规定、流程和规范。(非常重要)

2、渗透测试基础(1周)
①渗透测试的流程、分类、标准
②信息收集技术:主动/被动信息搜集、Nmap工具、Google Hacking
③漏洞扫描、漏洞利用、原理,利用方法、工具(MSF)、绕过IDS和反病毒侦察
④主机攻防演练:MS17-010、MS08-067、MS10-046、MS12-20等

3、操作系统基础(1周)
①Windows系统常见功能和命令
②Kali Linux系统常见功能和命令
③操作系统安全(系统入侵排查/系统加固基础)

4、计算机网络基础(1周)
①计算机网络基础、协议和架构
②网络通信原理、OSI模型、数据转发流程
③常见协议解析(HTTP、TCP/IP、ARP等)
④网络攻击技术与网络安全防御技术
⑤Web漏洞原理与防御:主动/被动攻击、DDOS攻击、CVE漏洞复现

5、数据库基础操作(2天)
①数据库基础
②SQL语言基础
③数据库安全加固

6、Web渗透(1周)
①HTML、CSS和JavaScript简介
②OWASP Top10
③Web漏洞扫描工具
④Web渗透工具:Nmap、BurpSuite、SQLMap、其他(菜刀、漏扫等)

那么,到此为止,已经耗时1个月左右。你已经成功成为了一名“脚本小子”。那么你还想接着往下探索吗?

阶段二:中级or高级网络安全工程师(看自己能力)

综合薪资区间15k~30k

7、脚本编程学习(4周)
在网络安全领域。是否具备编程能力是“脚本小子”和真正网络安全工程师的本质区别。在实际的渗透测试过程中,面对复杂多变的网络环境,当常用工具不能满足实际需求的时候,往往需要对现有工具进行扩展,或者编写符合我们要求的工具、自动化脚本,这个时候就需要具备一定的编程能力。在分秒必争的CTF竞赛中,想要高效地使用自制的脚本工具来实现各种目的,更是需要拥有编程能力。

零基础入门的同学,我建议选择脚本语言Python/PHP/Go/Java中的一种,对常用库进行编程学习
搭建开发环境和选择IDE,PHP环境推荐Wamp和XAMPP,IDE强烈推荐Sublime;

Python编程学习,学习内容包含:语法、正则、文件、 网络、多线程等常用库,推荐《Python核心编程》,没必要看完

用Python编写漏洞的exp,然后写一个简单的网络爬虫

PHP基本语法学习并书写一个简单的博客系统

熟悉MVC架构,并试着学习一个PHP框架或者Python框架 (可选)

了解Bootstrap的布局或者CSS。

阶段三:顶级网络安全工程师

如果你对网络安全入门感兴趣,那么你需要的话可以点击这里👉网络安全重磅福利:入门&进阶全套282G学习资源包免费分享!

学习资料分享

当然,只给予计划不给予学习资料的行为无异于耍流氓,这里给大家整理了一份【282G】的网络安全工程师从入门到精通的学习资料包,可点击下方二维码链接领取哦。

  • 9
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值