Security ❀ UDP/TCP传输层常见DOS攻击详解

news2024/11/26 9:50:27

文章目录

  • 1. UDP协议基础
  • 2. UDP Flood
    • 2.1. 攻击原理
    • 2.2. 防护方法
  • 3. TCP三次握手和四次挥手
    • 3.1. 三次握手
    • 3.2. 四次挥手
  • 4. SYN Flood
    • 4.1. 攻击原理
    • 4.2. 防护方法
  • 5. SYN-ACK Flood
    • 5.1. 攻击原理
    • 5.2. 防护方法
  • 6. ACK Flood
    • 6.1. 攻击原理
    • 6.2. 防护方法
  • 7. FIN/RST Flood
    • 7.1. 攻击原理
    • 7.2. 防护方法
  • 8. TCP连接耗尽
    • 8.1. 攻击原理
    • 8.2. 防护方法
  • 9. 异常报文
    • 9.1. 攻击原理
    • 9.2. 防护方法

1. UDP协议基础

UDP - 用户数据报协议:是一种无连接的四层传输协议,不提供数据的校验机制。当报文成功发送之后不再关心此报文是否完整的到达对端。
在这里插入图片描述
可以简单理解为:以牺牲协议安全性为前提,减少了需要传输的内容,UDP报文资源消耗更小,处理和传输速度更快,因此大部分的音频和视频数据均使用UDP协议传输。

2. UDP Flood

2.1. 攻击原理

黑客发送大量UDP协议报文到目标,由于UDP协议无法进行数据校验,因此目标会处理大量UDP报文而占用其业务资源。

2.2. 防护方法

  • 常用端口限速:常见UDP协议,如DNS、NTP、SNMP等协议均有固定端口,可以对其端口进行阈值限速处理,防止流量过大;
  • 特征提取过滤:UDP报文伪造多为工具输出,因此具有一定的特征值,常位于协议包的尾部,因此可以尝试获取UDP协议包载荷的最后几个字节,这个字节数最好为递增值(如1-8内递增变动),还需要注意偏移量。

3. TCP三次握手和四次挥手

3.1. 三次握手

  • SYN:第一次握手,客户端向服务器发起连接请求,报文中设置SYN标志位为1,序号为0;
    在这里插入图片描述
  • SYN-ACK:第二次握手,服务器收到客户端请求后,向客户端回应报文,报文中设置SYN和ACK标志位为1,序号为0(服务器与客户端的序列号都是自维护递增关系,可以在Next Seq Number字段查看下一个序列号的值),确认序号为客户端的序号+1,即0+1=1;
    在这里插入图片描述
  • ACK:第三次握手,客户端收到服务器回应的报文后,检查报文中的确认序列号是否正常,如果正确则发送确认报文,确认报文中ACK标志位为1,确认序列号为服务器的序列号+1,即为0+1=1;
    在这里插入图片描述
    经过上述三次握手之后,TCP连接建立完成。若中间机制存在异常,则会发送RST报文(RST标志位为1)中断TCP连接会话,并重新建立新的连接。

3.2. 四次挥手

  • FIN:TCP断开连接时第一次握手由服务器发起,报文中FIN标和ACK标志位为1,序号为11;
  • ACK:第二次握手,客户端收到服务器发送的FIN报文之后,向服务器发送回应报文,报文中ACK标志位为1,确认序列号为服务器FIN报文中序列号+1,即为11+1=12;
  • FIN:第三次握手,此时客户端也需要关闭与服务器的连接,客户端向服务器发送FIN报文,报文中FIN标和ACK标志位为1,序号为22(服务器与客户端的序列号都是自维护递增关系,可以在Next Seq Number字段查看下一个序列号的值);
  • ACK:第四次握手,服务器收到客户端发送的FIN报文之后,向客户端发送回应报文,报文中ACK标志位为1,确认序列号为客户端FIN报文中序列号+1,即为22+1=23;

4. SYN Flood

4.1. 攻击原理

攻击者利用攻击或操纵僵尸网络主机发送大量TCP SYN报文,当服务器回应SYN-ACK报文后,攻击者不再回应ACK,导致三次握手连接无法建立,因此服务器上会残留大量的TCP半连接,导致其服务资源的浪费。

4.2. 防护方法

  • 基本源认证:当流量触发防护阈值时,新的SYN报文被防护设备拦截,防护设备向客户端发送一个SYN-ACK报文, 其携带了错误的ACK Seq,真实客户端收到了带错误的序号报文,会RST当前连接,重新发起新的连接,防护设备若收到此IP的RST报文,则对IP加白即可。
  • 高级源认证:与基本源认证不同的是,高级源认证发送的是正常的SYN-ACK报文,只不过连接的超时时间比TCP连接更加短,在限定时间内无法收到ACK时则断开此链接,不再进行多余的等待;
  • 首包丢弃:防护设备丢弃第一个SYN报文并且同时记录其报文的三元组信息,此时会触发TCP重传机制,当新的SYN报文匹配到已保存的三元组后进行加白即可。

5. SYN-ACK Flood

5.1. 攻击原理

在TCP连接中,SYN-ACK报文是用来确认第一次握手的机制,如果攻击者利用工具或者操纵僵尸主机发送大量SYN-ACK报文到目标机器,目标会首先判断该报文是否属于当前正在建立的三次握手范畴内,不属于的话会直接发送RST报文中断此次连接,目标机器忙于发送大量的RST报文而导致资源消耗。

5.2. 防护方法

  • 反向确认法:当流量触发防护阈值时,收到SYN-ACK报文时会记录其三元组信息,进行反向SYN连接探测,若源头做出响应,直接进行RST并将IP加白,反之无响应时则判断为虚假源。

6. ACK Flood

6.1. 攻击原理

在TCP连接中,ACK报文出现在第三次握手,用来确认第二次的SYN-ACK报文,攻击者利用工具或者操纵僵尸主机发送大量ACK报文,服务器忙于处理这些凭空出现的ACK报文而导致资源耗尽。

6.2. 防护方法

  • 会话匹配模式:对ACK进行会话检查,如果ACK报文没有命中会话,则以此ACK报文的三元组信息建立会话进行存储,后续ACK报文进行会话检查,若命中会话则继续检查报文的序列号Seq Number,正确则放过,反之丢弃;
  • 加强会话模式:不允许第一个ACK报文通过创建会话,只校验完成TCP三次握手的会话,没有命中的ACK均被丢弃,在引流场景下可能存在来回路径不一致问题(请求被代理,响应不过代理),会影响到因为转发的ACK报文。

7. FIN/RST Flood

7.1. 攻击原理

在TCP连接中,FIN和RST报文均用来关闭TCP连接,这两种报文仍然会被大量伪造用来消耗服务器资源。

7.2. 防护方法

  • 会话匹配模式:若会话由SYN或SYN-ACK建立,则允许FIN/RST通过;若会话由其他报文创建,则检查报文内序列号,正确则通过,反之丢弃。

8. TCP连接耗尽

8.1. 攻击原理

攻击者利用僵尸机器大量创建TCP连接,当连接建立完成后

  • 立即发送FIN或RST断开连接,同时快速发起新的连接,重复进行操作即可消耗服务器系统资源;
  • 攻击者发送很少的报文来维持连接状态,以消耗服务器系统资源。

8.2. 防护方法

  • 连接数监控:防护设备可以设置TCP连接速率,当受保护的TCP目标新建了连接,针对源IP进行统计,若某个IP在指定的时间内发起的TCP新建连接数超过了设置阈值,则进行拉黑操作。
  • 报文数量监控:防护设备监控受保护目标的TCP连接,设置在特定时间内通过报文的数量阈值,若时间段内若低于设置阈值的传输报文数量,则断开此异常TCP连接即可。

9. 异常报文

TCP特殊标志位:

  • URG:置1时表示紧急指针有效;
  • ACK:置1时表示确认序号有效;
  • PSH:置1时表示接收方收到数据段后应该尽快送到应用程序;
  • RST:置1时表示重新建立连接;
  • SYN:置1时表示发起一个连接;
  • FIN:置1时表示发送方完成发送任务,释放连接。

9.1. 攻击原理

TCP协议标志位置1严格遵守协议规范,其不遵循规范的报文即为异常报文。

9.2. 防护方法

监控标志位置1的情况:

  • 六个标志位都为1或0;
  • SYN和FIN同时为1;
  • SYN和RST同时为1;
  • FIN和RST同时为1;
  • 仅FIN为1;
  • 仅PSH为1;
  • 仅URG为1;
  • 带有载荷的SYN和SYN-ACK报文;
  • SYN、RST、FIN为1的分片报文;

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

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

相关文章

来可电子基于UDS的ECU刷写方案

车辆电子控制单元(ECU)的刷写方式也正在发生重大变化。传统的ECU刷写方法通常使用CAN卡连接电脑进行,现在越来越多的汽车商家和软件开发人员开始采用基于总线UDS来进行ECU刷写。 1、通过我们LKmast上位机软件编写配置刷写步骤 2、导入到我们…

python将图片序列保存成gif

这里用到的模块是imageio。用imageio.mimsave即可将图片序列保存成gif动态图。以下是本人编写的小实验: import cv2 import imageiopaths ["./images/0001.png", "./images/0002.png", "./images/0003.png", ...] frames [] for i…

瑞禧生物分享纳米粉体~二硫化钼粉体 MoS2 纯度:99% 纳米二硫化钼(MoS2)

二硫化钼粉体 名称:二硫化钼粉体 纯度:99% 外观:粉末 纳米二硫化钼(MoS2)粉体硫化钼粉体 二硫化铝化学性质稳定、热稳定性好 、摩擦系数低 、润滑作用优 良且在较为苛 刻的工作环境下能保持 良好的摩擦性能因此二硫化铝被广泛应用于固体润…

一键报警可视对讲管理机10寸触摸屏管理机

一键报警可视对讲管理机10寸触摸屏管理机 一、管理机技术指标: 1、10寸LCD触摸屏,分辨率1024*600; 2、摄像头1200万像素 3、1000M/100M自适应网口; 4、按键设置:报警/呼叫按键,通话/挂机按键&#xff0…

count+group by

一、count()函数 1、count(*) 把所有的行数都查询出来,除非该行中所有的数据为null SELECTCOUNT(*) FROMemployees结果:107 2、count(commission_pct) 把指定列中所有的行数查出来,只要一行为null,那就不计数 SELECTCOUNT(com…

【Qt-22】Qt乱码问题解决

最近在Qt项目中遇到TCP通信接收数据乱码的问题,很是苦恼,经过多次尝试,终于得以解决。 感谢Qt TcpSocket 传递数据乱码显示_qt中socket接受到的客户端数据显示不出来-CSDN博客 彻底解决Qt中文乱码以及汉字编码的问题(UTF-8/GBK)_XX風的博客…

采购供应链思维导图

供应链采购,是指企业根据生产需要,通过与供应商签订合同,由供应商提供原材料、零部件、包装材料等,企业负责产品的制造,并将产品销售给用户的一种交易方式。 供应链管理 横向:采购把东西买进来,生产去加工增…

windows 使用 EasyScreenLive 和 EasyDarwin 软件实现相机 rtsp 推流

1. 下载软件 实现 rtsp 推流,需要运行(1)rtsp 服务器、(2)rtsp 推流客户端。 rtsp 服务器 EasyDarwin:https://github.com/EasyDarwin/EasyDarwin rtsp 推流客户端 EasyScreenLive:https://git…

打造个人的Minecraft服务器:Java+cpolar实现我的世界联机游戏

文章目录 1. Java环境搭建2.安装我的世界Minecraft服务3. 启动我的世界服务4.局域网测试连接我的世界服务器5. 安装cpolar内网穿透6. 创建隧道映射内网端口7. 测试公网远程联机8. 配置固定TCP端口地址8.1 保留一个固定tcp地址8.2 配置固定tcp地址 9. 使用固定公网地址远程联机 …

GCN火车票识别项目 P2 图卷积神经网络介绍

深度学习一直都是被几大经典模型统治着,常见的有CNN、RNN网络,它们在CV和NLP领域都取得了优异的效果。但人们发现了很多CNN、RNN无法解决,或者效果不好的问题——图结构数据,如社交网络、人物关系、分子结构等,所以就有…

基于51单片机的传送带产品计数器系统设计

**单片机设计介绍,基于51单片机的传送带产品计数器系统设计 文章目录 一 概要二、功能设计设计思路 三、 软件设计原理图 五、 程序六、 文章目录 一 概要 基于51单片机的传送带产品计数器系统是一种集成计数、显示、控制等功能于一体,用于自动计数传送…

Android MVI架构的深入解析与对比

什么是MVI? M:model,此处的model并不是传统的数据模块,它是指用来存储视图状态UI State的一个模块 。比如请求数据时的loading、请求失败的提示页面等UI层面的变化状态。 V:view,视图模块 I:…

10kb的照片尺寸怎么弄?三个方法值得一试!

为了方便存储和传输,同时还能保证一定的清晰度。10kb的照片在清晰度和尺寸之间达到了平衡,既能保证照片的细节和色彩,又不会占用太多的存储空间。那么如何把照片弄成10kb呢?下面介绍了三种方法。 方法一:嗨格式压缩大师…

护眼色RGB

1、绿豆沙 #C7EDCC RGB(199, 237, 204) 2、银河白 #FFFFFF RGB(255, 255, 255) 3、杏仁黄 #FAF9DE RGB(250, 249, 222) 4、秋叶褐 #FFF2E2 RGB(255, 242, 226) 5、胭脂红 #FDE6E0 RGB(253, 230, 224) 6、海天蓝 #DCE2F1 RGB(220, 226, 241) 7、葛巾紫 #E9EBFE RGB(233, 235, 25…

A股风格因子看板 (2023.11第01期)

该因子看板跟踪A股风格因子,该因子主要解释沪深两市的市场收益、刻画市场风格趋势的系列风格因子,用以分析市场风格切换、组合风格暴露等。 今日为该因子跟踪第01期,指数组合数据截止日2023-10-31,要点如下 近1年A股风格因子收益走…

uni-app离线打包在android studio创建的.jks证书,签名文件获取MD5问题

获取证书信息 keytool -list -v -keystore test.keystore 获取的信息中没有md5信息 可以使用以下方式获取md5. 先创建签名文件,放到项目目录下 配置build.gradle文件 在android studio 打开终端输入以下命令 ./gradlew signingReport 等待生成签名。 生成的内容…

Windows 下编译 TensorFlow 2.9.1 CC库

参考 Intel 的 tensorflow 编译指导,不过项目还是可以用 TF原本的,不是一定要选择Intel 的TF版本。 安装 MSVC 2019 安装 Intel OneDNN OneMKL 似乎也可以不安装 ( & ) https://www.intel.cn/content/www/cn/zh/developer/articles/tool/one…

python编写接口测试文档(以豆瓣搜索为例)

📢专注于分享软件测试干货内容,欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正!📢交流讨论:欢迎加入我们一起学习!📢资源分享:耗时200小时精选的「软件测试」资…

智能电表和互感器一起安装有什么效果?

智能电表和互感器的普及,为用电管理提供了更为精确和便捷的方式。那么,当智能电表和互感器一起安装时,会产生怎样的"化学反应"呢?下面,小编就来为大家详细的讲解下智能电表和互感器一起安装的作用吧&#xf…