DOS和DDOS攻击和防御(ATTACK)

news2024/11/16 13:31:26

目录

一、DOS攻击和DDOS攻击的区别

第一、我们可以从他们两个的英文全称上来看初步的区别

第二、攻击方法不同

二、DOS和DDOS攻击的实现方式

1.DOS攻击

1、SYN Flood(是DOS和DDOS攻击方式之一)

2、UDP洪水攻击

3、Ping洪流攻击

4、teardrop攻击

5、Land攻击

6、Smurf攻击

7、Fraggle攻击

8、IP欺骗性攻击

2.​DDOS攻击

1、流量攻击

2、资源耗尽攻击

3、TCP 洪水攻击

4、TCP 全连接攻击

5、反射性攻击

三、DOS和DDOS攻击的防御办法(正在完善笔记)


一、DOS攻击和DDOS攻击的区别

第一、我们可以从他们两个的英文全称上来看初步的区别

拒绝服务(Denial of Service)黑客使用DoS的攻击行为被称为Dos攻击,

其目的是使计算机或网络无法提供正常的服务。

拒绝服务是指故意攻击网络协议实现的缺陷,或直接通过野蛮手段耗尽被攻击对象的资源,目的是让目标计算机或网络无法提供正常的服务或资源访问,使目标系统、服务系统停止响应甚至崩溃。

这些服务资源包括网络带宽、文件系统空间容量、开放的进程或者允许的连接。这种攻击会导致资源匮乏,无论计算机的处理速度多快、内存容量多大、网络带宽的速度多快都无法避免这种攻击带来的后果。

常见的DoS攻击有计算机网络宽带攻击和连通性攻击。

DDoS是Distributed Denial of Service的缩写,即分布式阻断服务,黑客利用DDOS攻击器控制多台机器同时攻击来达到妨碍正常使用者使用服务器的目的,这样就形成了DDOS攻击。

第二、攻击方法不同

DOS具有代表性的攻击手段包括:PingofDeath、TearDrop、UDPflood、SYNflood、LandAttack、IPSpoofingDoS等。

被攻击主机在DDOS攻击下,特征是大量的不明数据报文流向被攻击主机,被攻击主机的网络接入带宽被耗尽,或者被攻击主机的系统资源被大量占用,甚至发生死机。前者可称为带宽消耗攻击,后者称为系统资源消耗攻击。两者可能单独发生,也可能同时发生。

二、DOS和DDOS攻击的实现方式

dos和ddos的攻击方式有很多相同的攻击方式

1.DOS攻击

​dos攻击最简单的就是通过ping命令,利用ICMP缺陷,ICMP数据包的尺寸超过64KB上限,导致TCP/IP堆栈崩溃,致使主机死机。

1、SYN Flood(是DOS和DDOS攻击方式之一)

SYN Flood是当前最流行的DoS(拒绝服务攻击)与DDoS(Distributed Denial Of Service分布式拒绝服务攻击)的方式之一,这是一种利用TCP协议缺陷,发送大量伪造的TCP连接请求,使被攻击方资源耗尽(CPU满负荷或内存不足)的攻击方式  。

SYN Flood攻击的过程在TCP协议中被称为三次握手(Three-way Handshake),而SYN Flood拒绝服务 。

攻击就是通过三次握手而实现的 。

(1)攻击者向被攻击服务器发送一个包含SYN标志的TCP报文,SYN(Synchronize)即同步报文。同步报文会指明客户端使用的端口以及TCP连接的初始序号。这时同被攻击服务器建立了第一次握手  。

(2)受害服务器在收到攻击者的SYN报文后,将返回一个SYN+ACK的报文,表示攻击者的请求被接受,同时,TCP序号被加一,ACK(Acknowledgment)即确认,这样就同被攻击服务器建立了第二次握手  。

(3)攻击者也返回一个确认报文ACK给受害服务器,同样TCP序列号被加一,到此一个TCP连接完成,三次握手完成  。

具体原理是:TCP连接的三次握手中,假设一个用户向服务器发送了SYN报文后突然死机或掉线,那么服务器在发出SYN+ACK应答报文后是无法收到客户端的ACK报文的(第三次握手无法完成),这种情况下服务器端一般会重试(再次发送SYN+ACK给客户端)并等待一段时间后丢弃这个未完成的连接。这段时间的长度我们称为SYN Timeout,一般来说这个时间是分钟的数量级(大约为30秒-2分钟);一个用户出现异常导致服务器的一个线程等待1分钟并不是什么很大的问题,但如果有一个恶意的攻击者大量模拟这种情况(伪造IP地址),那么服务器端将为了维护一个非常大的半连接列表而消耗非常多的资源。即使是简单的保存并遍历也会消耗非常多的CPU时间和内存,何况还要不断对这个列表中的IP进行SYN+ACK的重试。实际上,如果服务器的TC P/IP栈不够强大,那么最后的结果往往是堆栈溢出崩溃——即使服务器端的系统足够强大,服务器端也将忙于处理攻击者伪造的TCP连接请求而无暇理睬客户的正常请求(毕竟客户端的正常请求比率非常之小),此时,从正常客户的角度看来,服务器失去响应,这种情况就称做:服务器端受到了SYN Flood攻击(SYN洪水攻击)。

如果系统遭受SYN Flood,那么第三步就不会有,而且无论在防火墙还是S都不会收到相应的第一步的SYN包,所以我们就击退了这次SYN洪水攻击 。

2、UDP洪水攻击

攻击者利用简单的TCP/IP服务,如Chargen和Echo来传送毫无用处的占满带宽的数据。通过伪造与某一主机的Chargen服务之间的一次的UDP连接,回复地址指向开着Echo服务的一台主机,这样就生成在两台主机之间存在很多的无用数据流,这些无用数据流就会导致带宽的服务攻击 。

3、Ping洪流攻击

由于在早期的阶段,路由器对包的最大尺寸都有限制。许多操作系统对TCP/IP栈的实现在ICMP包上都是规定64KB,并且在对包的标题头进行读取之后,要根据该标题头里包含的信息来为有效载荷生成缓冲区。当产生畸形的,声称自己的尺寸超过ICMP上限的包也就是加载的尺寸超过64K上限时,就会出现内存分配错误,导致TCP/IP堆栈崩溃,致使接受方死机 。

4、teardrop攻击

泪滴攻击是利用在TCP/IP堆栈中实现信任IP碎片中的包的标题头所包含的信息来实现自己的攻击。IP分段含有指明该分段所包含的是原包的哪一段的信息,某些TCP/IP(包括service pack 4以前的NT)在收到含有重叠偏移的伪造分段时将崩溃   。

5、Land攻击

Land攻击原理是:用一个特别打造的SYN包,它的原地址和目标地址都被设置成某一个服务器地址。此举将导致接受服务器向它自己的地址发送SYN-ACK消息,结果这个地址又发回ACK消息并创建一个空连接。被攻击的服务器每接收一个这样的连接都将保留,直到超时,对Land攻击反应不同,许多UNIX实现将崩溃,NT变的极其缓慢(大约持续5分钟)  。

6、Smurf攻击

一个简单的Smurf攻击原理就是:通过使用将回复地址设置成受害网络的广播地址的ICMP应答请求(ping)数据包来淹没受害主机的方式进行。最终导致该网络的所有主机都对此ICMP应答请求作出答复,导致网络阻塞。它比ping of death洪水的流量高出1或2个数量级。更加复杂的Smurf将源地址改为第三方的受害者,最终导致第三方崩溃  。

7、Fraggle攻击

原理:Fraggle攻击实际上就是对Smurf攻击作了简单的修改,使用的是UDP应答消息而非ICMP  。

8、IP欺骗性攻击

这种攻击利用RST位来实现。假设有一个合法用户(61.61.61.61)已经同服务器建立了正常的连接,攻击者构造攻击的TCP数据,伪装自己的IP为61.61.61.61,并向服务器发送一个带有RST位的TCP数据段。服务器接收到这样的数据后,认为从61.61.61.61发送的连接有错误,就会清空缓冲区中建立好的连接。这时,如果合法用户61.61.61.61再发送合法数据,服务器就已经没有这样的连接了,该用户就必须从新开始建立连接。攻击时,攻击者会伪造大量的IP地址,向目标发送RST数据,使服务器不对合法用户服务,从而实现了对受害服务器的拒绝服务攻击 。

2.​DDOS攻击

1、流量攻击

就像快递服务站 (服务器) 一样,服务站的门通道 (带宽) 是有限的,大量的垃圾包裹 (攻击包) 会突然来到快递服务站进行快递。服务站的门通道 (带宽) 立即被占用,导致正常的包裹 (正常的包) 无法发送到快递服务站,服务站也无法为正常的包裹提供相应的服务。

2、资源耗尽攻击

就像快递服务站 (服务器) 一样,服务站的包处理能力是有限的 (CPU、内存等处理能力)。大量的包 (攻击包) 导致快速服务站满负荷运行 (CPU、内存和其他满负荷)。结果是正常的包 (正常包) 到达服务站后,服务站由于工作负荷满,无法为正常的包提供相应的服务。

3、TCP 洪水攻击

我们知道 TCP 需要三次握手来建立连接,而这种攻击利用 TCP 协议的这个特性来发送大量伪造的 TCP 连接请求,第一个握手包 (SYN 包) 使用假冒的 IP 或 IP 段作为源地址发送大量的请求进行连接,被攻击的服务器响应第二个握手包 (SYN+ACK 包),因为另一方是假 IP,所以另一方永远不会收到来自服务器的第二个握手包,也不会响应来自服务器的第三个握手包。导致被攻击的服务器保持大量 SYN_RECV 状态为 “半连接”,并在默认情况下重试响应第二个握手包 5 次,TCP 连接队列满、资源耗尽 (CPU 满或内存不足),最终让正常的业务请求无法连接。

4、TCP 全连接攻击

攻击模式是指许多僵尸主机不断地与被攻击的服务器建立大量真实的 TCP 连接,直到服务器的内存等资源被消耗殆尽,导致拒绝服务。这种攻击的特点是连接是真实的,所以这种攻击可以绕过一般防火墙的保护来达到攻击的目的,随着 5 g 时代,物联网的发展,物联网的安全设备远低于个人电脑,和攻击者更有可能获得大量的 “肉鸡”, 相信僵尸主机的数量会更大。

5、反射性攻击

黑客的攻击模式依赖于发送被针对服务器攻击主机的大量的数据包,然后攻击主机被攻击服务器时会产生大量的反应,导致攻击服务器服务瘫痪,无法提供服务。黑客往往选择那些比请求包大得多的响应包来利用服务,从而能够以较小的流量换取较大的流量,获得几倍甚至几十倍的放大效果,从而达到四两拨千斤的目的。

 

三、DOSDDOS攻击的防御办法(正在完善笔记)

防御方法:

针对DOS攻击,需要管理员积极谨慎地维护系统,确保无安全隐患和漏洞;而针对第三点的恶意攻击方式则需要安装防火墙等安全设备过滤DOS攻击,同时强烈建议网络管理员应当定定期查看安全设备的日志,及时发现对系统的安全威胁行为。

当然世界上没有安全的系统,所以就需要网络安全工程师来去完善防御系统,离不开这些工程师的辛苦。

现在人工智能发展的非常迅速,现在也已经有了一部分同学在学习人工智能防御攻击的知识,希望在以后能看到使用人工智能去防御这些攻击。

  1. 1、使用品牌服务器设备
  2. 2、使用高带宽
  3. 3、升级源站配置
  4. 4、网页伪静态
  5. 5、安装防火墙
  6. 6、定期备份网站数据
  7. 7、套用高防cdn
  8. 8、其他防御手段
  9. 9、使用特定的程序代码去针对这些攻击进行防御

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

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

相关文章

【 uniapp - 黑马优购 | 登录与支付 1】登录组件布局实现、用户信息布局与渲染

个人名片: 🐼作者简介:一名大二在校生,讨厌编程🎋 🐻‍❄️个人主页🥇:小新爱学习. 🐼个人WeChat:见文末 🕊️系列专栏:🖼…

设计模式-原型模式

设计模式-原型模式一 官方定义二 案例演示解决方案一 - 一般实现方式实现过程案例分析解决方案二使用场景实现过程一实现过程 二案例分析三 浅拷贝和深拷贝浅拷贝问题演示实现过程案例分析解决方案-----深拷贝实现方式一:重写clone()方法扩展思考一 官方定义 原型模…

在VMware 虚拟机(Win7)中还原真机Ghost备份的Win10系统

要求: 将真机Ghost备份的Win10系统还原到VMware安装的虚拟机(Win7)上 真机(物理机):win10pro_pure_20220709.GHO (备份的GHO文件);安装模式:Win10UEFIGPT 虚…

HashMap源码学习:红黑树原理详解

前言 JDK1.8后的HashMap引入了红黑树,在学习HashMap源码之前,了解了红黑树原理,及其如何通过代码进行实现后,在整体的看HashMap的源码就会简单很多。 概述 红黑树的特性 根节点必须是黑色节点。节点是红色或黑色。所有叶子都是…

Redis原理

Redis内部使用的是文件事件处理器file event handler,它是单线程的,所以Redis叫做单线程模型。它采用IO多路复用机制同时监听多个socket,将产生事件的socket压入内存队列中,事件分派器根据socket上的事件类型来选择对应的事件处理器进行处理。文件事件处理器包含4个部分:多…

【Java寒假打卡】Java基础-线程池

【Java寒假打卡】Java基础-线程池概述基本使用Executors创建指定上限的线程对象线程池-ThreadPoolExecutorvolatile概述 基本使用 package com.hfut.edu.test12;import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors;public class test1 {publ…

java+springboot笔记2023003

java的版本发布: 编译型语言是指使用专门的编译器,针对特定平台(操作系统) 将某种高级语言源代码一次性“翻译”成可被该平台硬件执行的机器码(包括机器指令和操作数),并包装成该平台所能识别的…

Linux下更新curl版本

一、前景 由于低版本的curl存在一定的漏洞,会对我们的服务器安全造成问题,所以,我们需要将curl由低版本安装到高版本。 二、步骤 1、首先检测服务器安装的curl版本 curl --version 2、查看服务器安装的curl的安装包 rpm -qa curl 3、卸载…

基于springboot+mybatis+mysql+jsp房屋租赁管理系统(含论文)

基于springbootmybatismysqljsp房屋租赁管理系统&#xff08;含论文&#xff09;一、系统介绍二、所用技术三、功能展示三、其它系统四、获取源码一、系统介绍 包括管理员、房东、租客三种角色&#xff0c;外加游客(未登录情况) 出租类型包含整租和合租 权限 游客 < 租客 …

适合编程初学者的开源项目:小游戏2048(鸿蒙ArkTS版)

目标 为编程初学者打造入门学习项目&#xff0c;使用各种主流编程语言来实现。 2048游戏规则 一共16个单元格&#xff0c;初始时由2或者4构成。 1、手指向一个方向滑动&#xff0c;所有格子会向那个方向运动。 2、相同数字的两个格子&#xff0c;相遇时数字会相加。 3、每次…

用 JavaScript 写一个新年倒计时

目录前言&#xff1a;主题&#xff1a;运行结果&#xff1a;对应素材&#xff1a;代码实现思路&#xff1a;运行代码&#xff1a;春节的由来&#xff1a;总结&#xff1a;前言&#xff1a; 在春节即将到来&#xff0c;钟声即将响起&#xff0c;焰火即将燃起的日子里&#xff0c…

Kubernetes_CRD自定义资源

系列文章目录 文章目录系列文章目录前言一、CRD操作命令1.1 定义一种资源并查看1.2 使用刚刚定义的资源二、CRD效果演示2.1 实践&#xff1a;定义一种资源并查看2.2 实践&#xff1a;使用刚刚定义的资源总结前言 CRD就是自定义资源&#xff0c;就是自定义 apiVersionKind 参考…

TreeMap 原理实现及常用方法

TreeMap概述 红黑树回顾 TreeMap构造 put方法 get 方法 remove方法 遍历 总结 一. TreeMap概述 TreeMap存储K-V键值对&#xff0c;通过红黑树&#xff08;R-B tree&#xff09;实现&#xff1b; TreeMap继承了NavigableMap接口&#xff0c;NavigableMap接口继承了Sort…

蓝桥杯STM32G431RBT6学习——LED

蓝桥杯STM32G431RBT6学习——LED 前言 LED为每年必考考点&#xff0c;也是入门的基础&#xff0c;国信长天的开发板LED硬件如下&#xff1a; 经典的锁存器控制&#xff0c;因为LED所用引脚与LCD重叠&#xff0c;因此通过锁存器进行控制其状态。当74HC573的LE引脚&#xff08…

C语言综合练习5:快译通下

1 词典文件介绍 前面建立的词典&#xff0c;只有两个单词&#xff0c;现在我们要建立一个上万个单词的词典&#xff0c;所有单词及其翻译都在一个名为dict.txt的文件&#xff08;词典文件&#xff09;中 每个单词有两行&#xff0c;其中一行是单词原文&#xff0c;下一行是对…

Redis中的事务和乐观锁实现

redis事务相关命令&#xff1a; 开启事务&#xff1a;multi 关闭事务&#xff1a;discard 提交事务&#xff1a;exec 正常执行事务情况&#xff1a; 127.0.0.1:6379> multi OK 127.0.0.1:6379> set name zhangsan QUEUED 127.0.0.1:6379> set age 20 QUEUED 127.0.0.1…

AJAX这一篇就够啦~

AJAX这一篇就够啦~AJAX1、AJAX概述1.1 AJAX简介1.2 XML简介1.3 AJAX的特点2、HTTP相关2.1 HTTP概述2.2 请求报文2.3 响应报文2.4 常见的响应状态码2.5 不同类型的请求及其作用2.6 一般http请求 与 ajax请求3、原生AJAX的使用3.1 准备工作3.2 核心对象3.3 GET请求3.4 POST请求3.…

新岁序开,和Jina AI共同码梦! (奖品攻略大揭秘)

Jina AI 北京、深圳、柏林、湾区的小伙伴给您拜年啦&#xff01; Jina AI 开源社区致力于促进 多模态 AI 技术 的应用落地以及传播&#xff0c;一直以来&#xff0c;我们都为拥有这样一个全球化、多元化和高速发展的社区而感到自豪和感激&#xff01;正值新年之际&#xff0c;我…

从C和C++内存管理来谈谈JVM的垃圾回收算法设计-下

从C和C内存管理来谈谈JVM的垃圾回收算法设计-下引言基本概念对象GC ROOTS垃圾回收常见算法标记清除优缺点引用计数优缺点部分标记清除算法优缺点复制算法优缺点多空间复制算法标记整理(标记压缩)优缺点分代设计HotSpot具体实现跨代引用并发可行性经典垃圾回收器Serial新生代垃圾…

Binding常用辅助属性、多重绑定、优先级绑定

Binding常用辅助属性、多重绑定、优先级绑定 Binding常用辅助属性 StringFormat <Window.Resources><sys:Int32 x:Key"myInt">200</sys:Int32><sys:Single x:Key"mySingle">100.123456</sys:Single> </Window.Resourc…