DDOS 攻击是什么?有哪些常见的DDOS攻击?

news2024/10/5 17:19:44

DDOS简介

DDOS又称为分布式拒绝服务,全称是Distributed Denial of Service。DDOS本是利用合理的请求造成资源过载,导致服务不可用,从而造成服务器拒绝正常流量服务。就如酒店里的房间是有固定的数量的,比如一个酒店有50个房间,当50个房间都住满人之后,再有新的用户想住进来,就必须要等之前入住的用户先出去。如果入住的用户一直不出去,那么酒店就无法迎接新的用户,导致酒店负荷过载,这种情况就是“拒绝服务”。如果想继续提供资源,那么酒店应该提升自己的资源量,服务器也是同样的道理。

拒绝服务攻击的基本概念

拒绝服务:拒绝服务是指应用系统无法正常对外提供服务的状态,如网络阻塞、系统宕机、响应缓慢等都属于拒绝服务的表现。

拒绝服务攻击(DOS):拒绝服务攻击(Denial of Service Attack)是一种通过各种技术手段导致目标系统进入拒绝服务状态的攻击,常见手段包括利用漏洞、消耗应用系统性能和消耗应用系统带宽。

分布式拒绝服务攻击(DDOS):分布式拒绝服务攻击(Distributed Denial of Service Attack)是拒绝服务攻击的高级手段,利用分布全球的僵尸网络发动攻击,能够产生大规模的拒绝服务攻击。

DDOS 攻击是什么?有哪些常见的DDOS攻击?

DDOS攻击分类

(1)漏洞型(基于特定漏洞进行攻击):只对具备特定漏洞的目标有效,通常发送特定数据包或少量的数据包即可达到攻击效果。

(2)业务型(消耗业务系统性能额为主):与业务类型高度相关,需要根据业务系统的应用类型采取对应的攻击手段才能达到效果,通常业务型攻击实现效果需要的流量远低于流量型。

(3)流量型(消耗带宽资源为主):主要以消耗目标业务系统的带宽资源为攻击手段,通常会导致网络阻塞,从而影响正常业务。

拒绝服务攻击处理流程

(1)现象分析:根据发现的现象、网络设备和服务的情况初步判断是否存在拒绝服务攻击。

(2)抓包分析:通过抓包分析的方式进一步了解攻击的方式和特征。

(3)启动对抗措施:最后启动对抗措施进行攻击对抗,可以进行资源提升、安全加固、安全防护等措施。

DDOS流量包分析

SYN Flood攻击

在正常的情况下,TCP三次握手过程如下

DDOS 攻击是什么?有哪些常见的DDOS攻击?

客户端向服务器端发送一个SYN请求包,包含客户端使用的端口号和初始序列号x。

服务器端收到客户端发送过来的SYN请求包后,知道客户端想要建立连接,于是向客户端发送一个SYN请求包和ACK回应包,包含确认号x+1和服务器端的初始序列号y。

客户端收到服务器端返回的SYN请求包和ACK回应包后,向服务器端返回一个确认号y+1和序号x+1的ACK请求包,三次握手完成,TCP连接建立成功。

SYN Flood攻击原理:

首先是客户端发送一个SYN请求包给服务器端,服务器端接受后会发送一个SYN+ACK包回应客户端,最后客户端会返回一个ACK包给服务器端来实现一次完整的TCP连接。Syn flood攻击就是让客户端不返回最后的ACK包,这就形成了半开连接,TCP半开连接是指发送或者接受了TCP连接请求,等待对方应答的状态,半开连接状态需要占用系统资源以等待对方应答,半开连接数达到上限,无法建立新的连接,从而造成拒绝服务攻击。

受害靶机的流量包分析

DDOS 攻击是什么?有哪些常见的DDOS攻击?

利用wireshark软件抓取数据包的数据,通过筛选器筛选出发送包频率多的ip地址。

筛选218.xxx.xxx.87,分析协议占比,发现tcp和http占比比较大

DDOS 攻击是什么?有哪些常见的DDOS攻击?

筛选tcp中的syn数据包,发现syn数据包占比为82.9,可以判断应该为SYN FLOOD拒绝服务攻击

DDOS 攻击是什么?有哪些常见的DDOS攻击?

UDP Flood攻击

UDP Flood攻击原理:

由于UDP属于无连接协议,消耗的系统资源较少,相同条件下容易产生更高的流量,是流量型攻击的主要手段。当受害系统接收到一个UDP数据包的时候,它会确定目的端口正在等待中的应用程序。当它发现该端口中并不存在正在等待的应用程序,它就会产生一个目的地址无法连接的ICMP数据包发送给该伪造的源地址。如果向受害者计算机端口发送了足够多的UDP数据包的时候,系统就会造成拒绝服务攻击,因此,UDP FLOOD成为了流量型拒绝服务攻击的主要手段。

受害靶机的流量包分析

DDOS 攻击是什么?有哪些常见的DDOS攻击?

利用wireshark软件抓取数据包的数据,通过筛选器筛选出发送包频率多的ip地址。

筛选117.xxx.xxx.0网段,分析协议占比,可以看到受害靶机接受的UDP包比较多。

DDOS 攻击是什么?有哪些常见的DDOS攻击?

可以看到UDP包的大小都是固定的172bytes。

DDOS 攻击是什么?有哪些常见的DDOS攻击?

可以看出都是发送udp包,udp包大小都是相同的,可以判断是udp flood攻击。

DDOS 攻击是什么?有哪些常见的DDOS攻击?

慢速拒绝服务攻击

apt install slowhttptest -y

安装slowhttptest

慢速拒绝服务攻击原理:

完整的http请求包是以 \r\n\r\n 结尾,慢速拒绝服务攻击时仅发送 \r\n,少发送一个 \r\n,服务器认为请求还未发完,服务器就会一直等待直至超时。

slowhttptest -c 5000 -H -g -o my_header_stats -i 10 -r 5000 -t GET -u “http://10.10.10.134” -x 200 -p 3

(测试时建立5000连接数-c;选择slowloris模式-H;生成cvs和HTML文件的统计数据-G;生成的文件名my_header_stats -o;指定发送数据间的间隔10秒 -i 每秒连接数5000-t;指定url-u;指定发送的最大数据长度200 -x;指定等待时间来确认DOS攻击已经成功-p)

DDOS 攻击是什么?有哪些常见的DDOS攻击?

观察靶机的cpu和网络流量明显增加很多

DDOS 攻击是什么?有哪些常见的DDOS攻击?

DDOS 攻击是什么?有哪些常见的DDOS攻击?

受害靶机的流量包分析

DDOS 攻击是什么?有哪些常见的DDOS攻击?

攻击机ip:10.10.10.129,靶机ip:10.10.10.134

[PSH,ACK]是攻击机发送有数据的ACK包给靶机,[ACK]包是靶机回复攻击机的数据包。

可以看到没有发送2次连续的\r\n,以至于靶机要一直等待。

DDOS 攻击是什么?有哪些常见的DDOS攻击?

http协议比例为36.6,tcp协议比例为87.4

DDOS 攻击是什么?有哪些常见的DDOS攻击?

筛选ack数据包,占比率98.2,不符合常态,综上可以判断为慢速拒绝服务攻击

DDOS 攻击是什么?有哪些常见的DDOS攻击?

ICMP Flood攻击

ICMP Flood攻击原理:

当 ICMP ping 产生的大量回应请求超出了系统的最大限度,以至于系统耗费所有资源来进行响应直至再也无法处理有效的网络信息流,但是由于ICMP协议报文被丢弃不影响大多数系统运行,所以容易被防护。

利用hping3造成ICMP Flood攻击

hping3 -q -n -a 1.1.1.1 –icmp -d 200 –flood 10.10.10.134

DDOS 攻击是什么?有哪些常见的DDOS攻击?

观察靶机的cpu和网络流量明显增加很多

DDOS 攻击是什么?有哪些常见的DDOS攻击?

DDOS 攻击是什么?有哪些常见的DDOS攻击?

受害靶机的流量包分析

伪造的源ip:1.1.1.1发送大量icmp包给目标ip:10.10.10.134

DDOS 攻击是什么?有哪些常见的DDOS攻击?

筛选出同一IP发送大量ICMP包,且占比率86.0,判断为ICMP拒绝服务攻击。

DDOS 攻击是什么?有哪些常见的DDOS攻击?

DDOS 攻击是什么?有哪些常见的DDOS攻击?

总结

拒绝服务攻击造成的危害是比较大的,本质是对有限资源的无限制的占用所造成的,所以在这方面需要限制每个不可信任的资源使用中的分配额度,或者提高系统的有限资源等方式来防范拒绝服务攻击。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1314581.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

继续看回溯问题

关卡名 继续看回溯问题 我会了✔️ 内容 1.复习递归和N叉树,理解相关代码是如何实现的 ✔️ 2.理解回溯到底怎么回事 ✔️ 3.掌握如何使用回溯来解决二叉树的路径问题 ✔️ 1 复原IP地址 这也是一个经典的分割类型的回溯问题。LeetCode93.有效IP地址正好由四…

生产环境_Spark处理轨迹中跨越本初子午线的经度列

使用spark处理数据集,解决gis轨迹点在地图上跨本初子午线的问题,这个问题很复杂,先补充一版我写的 import org.apache.spark.{SparkConf, SparkContext} import org.apache.spark.sql.{Row, SparkSession} import org.apache.spark.sql.func…

t-io 程序执行后,jvm不退出的原因

基于t-io 1.7.3 版本分析源码 1、设定当前时间,每10毫秒执行一次 (非守护线程) 2、对应线程池的核心线程在AioServer启动时全部激活,并且添加空任务到阻塞队列,让核心线程(非守护线程)一直存活

ArcGIS Pro SDK文件选择对话框

文件保存对话框 // 获取默认数据库var gdbPath Project.Current.DefaultGeodatabasePath;//设置文件的保存路径SaveItemDialog saveLayerFileDialog new SaveItemDialog(){Title "Save Layer File",OverwritePrompt true,//获取或设置当同名文件已存在时是否出现…

七. 使用ts写一个贪吃蛇小游戏

之前学习了几篇的ts基础,今天我们就使用ts来完成一个贪吃蛇的小游戏。 游戏拆解 我们将我们的任务进行简单拆解分析。 首先我们应该有一个窗口,我们叫做屏幕。让蛇在里面移动,所有我们应该想到要设计一个大盒子当作地图。考虑到食物以及蛇…

【Java代码审计】文件上传篇

【Java代码审计】文件上传篇 1.Java常见文件上传方式2.文件上传漏洞修复 1.Java常见文件上传方式 1、通过文件流的方式上传 public static void uploadFile(String targetURL, String filePath) throws IOException {File file new File(filePath);FileInputStream fileInpu…

【单调栈】【区间合并】LeetCode85:最大矩形

作者推荐 【动态规划】【广度优先搜索】LeetCode:2617 网格图中最少访问的格子数 本文涉及的知识点 单调栈 区间合并 题目 给定一个仅包含 0 和 1 、大小为 rows x cols 的二维二进制矩阵,找出只包含 1 的最大矩形,并返回其面积。 示例 1&#xff1…

遥感图像分割系统:融合空间金字塔池化(FocalModulation)改进YOLOv8

1.研究背景与意义 项目参考AAAI Association for the Advancement of Artificial Intelligence 研究背景与意义 遥感图像分割是遥感技术领域中的一个重要研究方向,它的目标是将遥感图像中的不同地物或地物类别进行有效的分割和识别。随着遥感技术的不断发展和遥感…

iOS_给View的部分区域截图 snapshot for view

文章目录 1.将整个view截图返回image:2.截取view的部分区域,返回image:3.旧方法:4.Tips参考: 1.将整个view截图返回image: 这些 api 已被废弃,所以需要判断 iOS 版本 写两套代码: R…

【Java】5分钟读懂Java虚拟机架构

5分钟读懂Java虚拟机架构 Java虚拟机(JVM)架构JVM是如何工作的?1. 类加载器子系统2. 运行时数据区3. 执行引擎 相关资料 本文阐述了JVM的构成和组件。每个Java开发人员都知道字节码经由JRE(Java运行时环境)执行。但他们…

php入门、安装wampserver教程

php声称是全世界最好的语言,今天这篇文章就带大家入门学习php,php和python、javasript一样,是一种弱类型的脚本语言。 一、php开发环境搭建 作为初学者,学习php建议安装wampserver,wampserver是包含了apache、php和mys…

oracle 锁表解决办法

相关表介绍 V$LOCKED_OBJECT(记录锁信息的表)v$session(记录会话信息的表)v$sql(记录 sql 执行的表)dba_objects(用来管理对象,表、库等等) 查询锁表的 SID select b.…

网络入门---可变参数原理和日志模拟实现

目录标题 前言有关函数的几个性质介绍可变参数的用法介绍可变参数的一个注意事项可变参数的底层原理va_listva_endva_startva_arg_INTSIZEOF 可变参数的注意事项日志的实现日志的测试 前言 在上一篇文章中我们介绍了TCP协议有关的函数,大致就是服务端先通过listen函…

Android多国语言翻译 国际化

语言目录详细对应关系 Arabic, Egypt (ar-rEG) —————————–阿拉伯语,埃及 Arabic, Israel (ar-rIL) ——————————-阿拉伯语,以色列 Bulgarian, Bulgaria (bg-rBG) ———————保加利亚语,保加利亚 Catalan, Spain (ca-r…

函数栈帧的创建和销毁(编程底层原理)

本篇的内容格外的难写,里面包含了许多的专业术语名和汇编指令等晦涩难懂的东西,既不利于讲解,也不利于读者的理解。但我会尽力去讲述出里面的底层逻辑,帮助大家去理解里面的过程,理解编程的底层原理可以为我们后续更为…

YOLOv8 | 代码逐行解析(一) | 项目目录构造分析

一、本文介绍 Hello,大家好这次给大家带来的不是改进,是整个YOLOv8项目的分析,整个系列大概会更新7-10篇左右的文章,从项目的目录到每一个功能代码的都会进行详细的讲解,同时YOLOv8改进系列也突破了三十篇文章&#x…

助力工业产品质检,基于yolov5l集成CBAM注意力机制开发构建智能PCB电路板质检分析系统

AI助力工业质检智能生产制造已经有很多成功的实践应用了,在我们前面的系列博文中也有很多对应的实践,感兴趣的话可以自行移步阅读前面的博文即可,这里本文的核心目的就是想要基于改进的yolov5l来开发构建用于PCB电路板智能检测分析的模型&…

GZ015 机器人系统集成应用技术样题1-学生赛

2023年全国职业院校技能大赛 高职组“机器人系统集成应用技术”赛项 竞赛任务书(学生赛) 样题1 选手须知: 本任务书共 25页,如出现任务书缺页、字迹不清等问题,请及时向裁判示意,并进行任务书的更换。参赛队…

【Trino权威指南(第二版)】Trino的架构、trino架构组件、 trino连接器架构的细节、trino的查询执行模型

文章目录 一. Trino架构1. 架构概览2. 协调器3. 发现服务4. 工作节点 二. 基于连接器的架构三. 查询执行模型1. 解析—>查询计划2. 查询计划 —> 分布式查询计划3. 运行阶段3.1. 基础概念切片:并行单元page 与 exchange算子pipeline切片的driverOperator 3.2.…

C#上位机与欧姆龙PLC的通信01----项目背景

最近,【西门庆】作为项目经理负责一个70万的北京项目,需要在工控系统集成软件开发中和欧 姆龙PLC对接,考虑项目现场情况优先想到了采用FinsTCP通讯协议,接下来就是记录如何一步步实现这些通讯过程的,希望给电气工程师&…