什么是DDoS攻击

news/2024/7/24 2:20:12 标签: ddos, 网络安全, 信息安全

DDoS攻击

  • 1. 定义
  • 2. DDoS攻击类型
    • 2.1 网络层攻击
    • 2.2 传输层攻击
    • 2.3 应用层攻击
  • 3.DDoS攻击态势特点

1. 定义

分布式拒绝服务(DDoS)攻击是一种常见的网络攻击形式。攻击者利用恶意程序对一个或多个目标发起攻击,企图通过大规模互联网流量耗尽攻击目标的网络资源,使目标系统无法进行网络连接、无法提供正常服务。

根据攻击位置的不同,可以将DDoS攻击分为“网络层攻击”、“传输层攻击”和“应用层攻击”三种类型。攻击者经常组合使用不同的攻击类型,攻击复杂度持续演进,产生的攻击威胁也在不断增大。DDoS攻击会给攻击目标造成巨大的经济和品牌损失,同时,受攻击对象的核心业务数据也存在被窃取的风险。因此,各行各业都采取部署“DDoS攻击防御系统”的方式阻断DDoS攻击,降低其对正常业务的影响。

2. DDoS攻击类型

攻击者会针对不同的网络层次发起攻击。根据攻击位置的不同,可以将DDoS攻击分为“网络层攻击”、“传输层攻击”和“应用层攻击”三种类型。

2.1 网络层攻击

“网络层”主要负责处理数据包在不同网络间的路由和转发。针对网络层的DDoS攻击主要目的是消耗网络带宽资源,常见攻击子类包括“ICMP Flood攻击”、“ARP Flood攻击”和“IP分片攻击”等。

(1)ICMP Flood

ICMP(Internet Control Message Protocol,因特网控制报文协议)是TCP/IP协议族的一个子协议,用于在IP主机、路由器之间传递控制消息。ICMP协议本身特点决定了它非常容易被用于攻击网络上的路由器和主机。当攻击者向目标网络发送大量的ICMP数据包时,目标主机会耗费大量的CPU资源去处理和响应,直至耗尽设备资源,无法为合法用户提供正常服务。

在这里插入图片描述

(2)ARP Flood

ARP(Address Resolution Protocol,地址解析协议)是用来将IP地址解析为MAC地址的协议。ARP协议主要以广播的方式发送ARP请求。同网段内的主机都可以收到广播请求,这为攻击者提供了可乘之机。攻击者通过发送大量的ARP请求,使有限的网络资源被无用的广播信息所占用,造成网络拥堵。其次,因为ARP协议没有安全认证机制,所以只要主机接收到ARP应答包,都会缓存在ARP表中,这为ARP欺骗提供了可能。

(3)IP分片攻击

IP协议在传输数据包时,会将数据报文分为若干分片进行传输,并在目标系统中进行重组。IP分片是网络环境中经常发生的事件,但是,如果数据被人为恶意分片就会产生DDoS攻击。攻击者将经过恶意分段的数据包发送至目标网络,导致目标网络耗费大量资源进行重组,直至资源枯竭。

2.2 传输层攻击

“传输层”主要负责设备间的端到端通信和网络间通信流量控制和错误控制。针对传输层的DDoS攻击主要目的是使目标服务器或网络设备过载,常见攻击子类包括“SYN Flood攻击”、“ACK Flood攻击”和“UDP Flood攻击”等。

(1)SYN Flood

SYN Flood是互联网最原始、最经典的DDoS攻击之一,主要利用了TCP协议的三次握手机制。攻击者通常利用工具或控制僵尸主机向服务器发送海量的变源IP地址或变源端口的SYN报文,服务器响应报文后产生大量的半连接,直至系统资源被耗尽,服务器无法提供正常的服务。

在这里插入图片描述

(2)ACK Flood

攻击者通过僵尸网络向目标服务器发送大量的ACK报文,报文带有超大载荷,会引起链路拥塞。或向目标服务器发送极高速率的变源变端口请求,导致转发设备异常,从而引起网络瘫痪。

(3)UDP Flood

UDP Flood攻击常用于大带宽DDoS攻击。攻击者使用包含无状态UDP协议的IP数据包充塞目标主机的端口,受害主机会寻找与UDP数据包相关的应用程序。如果没有找到,就向发送者回发一条“目标不可达”消息。一旦目标主机被攻击流量淹没,系统就会失去响应,从而造成合法用户无法正常访问的现象。

在这里插入图片描述

2.3 应用层攻击

“应用层”主要负责提供常见的网络应用服务,如电子邮件、网页浏览、文件传输和其他应用程序。针对应用层的DDoS攻击主要目的是让真实用户无法正常使用应用程序,常见攻击子类包括“DNS Flood攻击”、“HTTP Flood攻击”和“CC攻击”等。

(1)DNS Flood

攻击者通过操纵大量傀儡机器,对目标网络发起海量域名查询请求,以中断该域的DNS解析。这种攻击将会破坏网站、API或Web应用程序响应合法流量的能力,让合法用户无法查找到用于调用特定资源的地址,导致业务暂时中断或停止。

在这里插入图片描述

(2)HTTP Flood

  • HTTP GET 攻击:攻击者操控多台设备向目标服务器发送对图像、文件或其他资产请求,当目标服务器被传入请求和响应所淹没时,来自正常流量源的业务请求也将被拒绝。
  • HTTP POST 攻击:与发送 POST 请求所需的处理能力和带宽相比,处理表单数据和运行必要数据库命令的过程相对密集。这种攻击利用相对资源消耗的差异,直接向目标服务器发送大量POST请求,直至目标服务器容量饱和并拒绝服务为止。
    在这里插入图片描述

(3)CC攻击

CC(Challenge Collapsar)攻击常用于攻击提供网页访问服务的服务器。CC攻击是一种针对Http业务的攻击手段,该攻击模式不需要太大的攻击流量,它是对服务端业务 处理瓶颈的精确打击,攻击目标包括:大量数据运算、数据库访问、大内存文件等。攻击者通过代理服务器向目标服务器发送大量貌似合法的请求,使CPU长时间处于高负荷运行状态,永远都有处理不完的连接。攻击会导致正常访问被中止,最终宕机崩溃。

3.DDoS攻击态势特点

  • 大流量攻击持续呈现秒级加速态势,爬升速度再创新高,不断挑战防御系统响应速度。 T级攻击将大流量攻击“Fast Flooding”的特点演绎至极致。攻击流量峰值爬升至800Gbps-1Tbps区间,2021年需20秒。2022年仅需要10秒。
  • 网络层攻击和应用层攻击持续演绎“短平快”战术,攻击复杂度持续演进。 57.40%的网络层攻击持续时长不超过5分钟,40.49%的应用层攻击持续时长不超过5分钟。

2022年,SYN Flood、ACK Flood、UDP Flood、UDP反射、TCP反射是Top5网络层攻击。其中,ACK Flood和UDP Flood频次占比近三年呈逐年递增趋势;2022年,随着互联网HTTP流量逐步采用TLS加密,HTTP Flood攻击频次占比呈逐年降低趋势,但TLS层攻击活跃,亦进一步拉升了TLS异常会话攻击占比。

  • 网络层CC攻击持续演进,攻击威胁增大,不断挑战防御系统自动化程度。 网络层CC攻击是攻击者将“虚假源泛洪攻击技术”和“会话层攻击技术”巧妙结合的典型案例。因攻击效果显著,被广泛应用于攻击HTTP和HTTPS端口。攻击者会在一次攻击中采用高速和低速混合的攻击模式,这极大地增加了防御难度。

2021年-2022年,网络层CC攻击演进出了多个变种,使得网络层CC攻击成为了互联网最难防御的攻击之一。

  • 传媒和互联网行业、政府和公共事业、教育、金融、医疗卫生是Top5攻击目标行业。

相比2021年,2022年教育行业攻击频次占比增长56.6倍,医疗卫生行业占比增长8.6倍,政府和公共事业占比增长3.6倍。“工业互联网”作为新兴发展领域,也逐渐进入黑产攻击视线,2022年遭受攻击频次是2021年的18倍。


http://www.niftyadmin.cn/n/5233191.html

相关文章

SQL Server 2016(在Products表中查询数据)

1、实验环境。 以实验案例一的结果为环境。 2、需求描述。 【1】查询成本低于10元的水果信息。 【2】将所有蔬菜的成本上调1源。 【3】查询成本大于3元并小于40元的产品信息,并按照成本从高到低的顺序显示结果。 【4】查询成本最高的5个产品信息。 【5】查询有…

判断三角形-第11届蓝桥杯选拔赛Python真题精选

[导读]:超平老师的Scratch蓝桥杯真题解读系列在推出之后,受到了广大老师和家长的好评,非常感谢各位的认可和厚爱。作为回馈,超平老师计划推出《Python蓝桥杯真题解析100讲》,这是解读系列的第12讲。 判断三角形&#…

第6章 异步爬虫

目录 1. 协程的基本原理1.1 案例引入1.2 基础知识阻塞非阻塞同步异步多进程协程 1.3 协程的用法1.4 定义协程1.5 绑定回调1.6 多任务协程1.7 协程实现1.8 使用aiohttp安装使用 2. aiohttp的使用2.1 基本介绍2.2 基本实例2.3 URL参数设置2.4 其他请求类型2.5 POST请求表单提交JS…

算法通关村第五关—队栈和Hash的经典问题(白银)

emsp;emsp;emsp队栈和Hash的经典问题 用栈实现队列 栈是先进后出,队列是先进先出,所以可以使用两个栈来实现队列的功能。 LeetCode232: 请你仅使用两个栈实现先入先出队列。队列应当支持一般队列支持的所有操作(push、pop、peek、 empty): …

C语言-预处理与库

预处理、动态库、静态库 1. 声明与定义分离 一个源文件对应一个头文件 注意&#xff1a; 头文件名以 .h 作为后缀头文件名要与对应的原文件名 一致 例&#xff1a; 源文件&#xff1a;01_code.c #include <stdio.h> int num01 10; int num02 20; void add(int a, in…

24.有哪些生命周期回调方法?有哪几种实现方式?

有哪些生命周期回调方法?有哪几种实现方式? 有两个重要的bean 生命周期方法, 第一个是init , 它是在容器加载bean的时候被调用。第二个方法是 destroy 它是在容器卸载类的时候被调用。bean 标签有两个重要的属性(init-method和destroy-method)。用它们你可以自己定制初始…

机器学习中参数优化或交叉验证评估指标含义

在Scikit-Learn中&#xff0c;cross_val_score函数支持多种不同的评分标准&#xff08;scoring参数&#xff09;。以下是一些常见的评分标准及其应用场景&#xff1a; 参考链接&#xff1a; https://blog.csdn.net/worther/article/details/126909270 https://zhuanlan.zhihu.c…

鸿蒙原生应用/元服务开发-开发者如何进行真机测试

前提条件&#xff1a;已经完成鸿蒙原生应用/元服务开发&#xff0c;已经能相对熟练使用DevEco Studio,开发者自己有鸿蒙4.0及以上的真机设备。 真机测试具体流程如下 1.手机打开开发者模式 2.在项目中&#xff0c;左上角 文件(F)->项目结构 进行账号连接 3.运行