【信息安全原理】——拒绝服务攻击及防御(学习笔记)

📖 前言:拒绝服务攻击(Denial of Service, DoS)是一种应用广泛、难以防范、严重威胁网络安全(破坏可用性)的攻击方式。本章主要介绍DoS的基本概念、攻击原理及防御措施。

在这里插入图片描述


目录

  • 🕒 1. 定义
  • 🕒 2. 分类
  • 🕒 3. 攻击原理
    • 🕘 3.1 剧毒包型DoS攻击
    • 🕘 3.2 风暴型DoS攻击
      • 🕤 3.2.1 直接风暴型DDoS
      • 🕤 3.2.2 反射风暴型DDoS
      • 🕤 3.2.3 其他风暴型DDoS
    • 🕘 3.3 重定向DoS攻击
    • 🕘 3.4 案例分析
  • 🕒 4. 防御
    • 🕘 4.1 检测
    • 🕘 4.2 响应
    • 🕘 4.3 防范

🕒 1. 定义

定义:攻击者通过某种手段,有意地造成计算机或网络不能正常运转从而不能向合法用户提供所需服务或者使服务质量降低

  • 服务(Service):系统提供的,用户在对其使用中会受益的功能
  • 拒绝服务(DoS: Denial of Service):任何对服务的干涉如果使得其可用性降低或者失去可用性称为拒绝服务, 如: 计算机系统崩溃;带宽耗尽;硬盘被填满
  • 攻击方式:消耗系统或网络资源; 阻断访问路径;更改系统配置

DDoS(Distributed Denial of Service):如果处于不同位置的多个攻击者同时向一个或多个目标发起拒绝服务攻击,或者一个或多个攻击者控制了位于不同位置的多台机器并利用这些机器对受害者同时实施拒绝服务攻击。

  • 特点: 攻击来源的分散性、协同性,攻击力度的汇聚性
  • 1999年11月,在由CERT/CC组织的分布式系统入侵者工具研讨会(DSIT Workshop)上,与会专家首次概括了DDoS攻击技术 。

DDoS与DoS的关系

  • 广义上讲, DDoS属于DoS攻击,且是DoS主流的攻击模式
  • 狭义上讲, DoS指的是单一攻击者针对单一受害者的攻击(传统的DoS), 而DDoS则是多个攻击者向同一受害者的攻击

Q:分布式攻击一定是DDoS吗?
A:分布式扫描、分布式口令破解严格意义上只是分布式计算,不能算攻击。

DDoS为什么能成功?

  • TCP/IP协议存在漏洞,可以被攻击者利用
  • 网络提供Best-Effort服务,不区分数据流量是否是攻击流量
  • 网络带宽和系统资源是有限的

在这里插入图片描述

🔎 案例:“中美黑客大战”20周年纪念回顾

🕒 2. 分类

攻击种类来分

  • 物理的(Physical DoS):偷窃、破坏物理设备、破坏电源
  • 逻辑的(Logic DoS)

攻击的目标来分

  • 节点型
    • 主机型:CPU、磁盘、OS等
    • 应用型:Email、DNS、Web等
  • 网络连接型

攻击方式来分

  • 资源消耗:耗尽带宽、内存、CPU、磁盘
  • 物理破坏:雷击、电流、水火等
  • 服务中止:攻击导致服务崩溃或中止

受害者类型来分

  • 服务端DoS:攻击Web服务器,影响大,主要的DoS
  • 客户端DoS:游戏、聊天室中的“踢人”

按攻击是否直接针对受害者来分

  • 直接DoS:直接攻击某个Email帐号使之不可用(如邮件炸弹攻击)
  • 间接DoS:通过攻击Email服务器来间接攻击某个Email帐号(使某个帐号不可用)

攻击地点来分

  • 本地 DoS:与受害者同处一地
  • 远程 DoS:通过网络

攻击机制来分

  • 剧毒包型:利用协议木身或其软件实现中的漏洞
  • 风暴型:通过大量的“无用”数据包占用过多的资源
  • 重定向型:通过修改网络中的一些参数或ARP表等,使得数据包被重定向到了其它地方

🕒 3. 攻击原理

🕘 3.1 剧毒包型DoS攻击

剧毒包或杀手包(Killer Packet) DoS攻击:利用协议本身或其软件实现中的漏洞,通过一些畸形的数据包使受害者系统崩溃,也称为“漏洞攻击”或“协议攻击”。

  • WinNuke攻击
  • 泪滴(Teardrop)攻击
  • Land攻击
  • Ping of death 攻击
  • 循环攻击

上述攻击方式虽已过时,但其思路仍值得借鉴!

🕘 3.2 风暴型DoS攻击

风暴型DoS攻击:通过大量的“无用”数据包占用过多的资源以达到拒绝服务的目的,也称为“带宽攻击”

  • 直接风暴型攻击
  • 反射攻击(DRDoS)

DDoS原理图释:
DDoS攻击将造成骨干网络资源浪费、链路堵塞、业务中断。
在这里插入图片描述

用于攻击的分组类型有:

  • TCP 洪流(floods)。向目标主机发送大量设置了不同标志的TCP分组。常被利用的标志包括:SYN, ACK, RST。其中,TCP SYN攻击导致目标主机不断地为TCP连接分配内存,从而使其它功能不能分配到足够的内存。Trinoo就是一种分布式的TCP SYN DoS攻击工具。
  • ICMP Echo 请求/响应报文(如,Ping floods)。向目标主机发送大量的ICMP分组。
  • UDP洪流。向目标主机发送大量各种基于UDP协议的应用协议包(如NTP,SSDP,DNS等)。

🕤 3.2.1 直接风暴型DDoS

现在不是主流,但曾经很风光!

攻击原理:
在这里插入图片描述

  • PING风暴攻击(直接型)
  • SYN风暴攻击(直接型)
  • TCP连接耗尽攻击(直接型)
  • UDP风暴攻击(直接型)
  • HTTP风暴攻击(直接型)
  • HTTP/2 PING Flood
  • 对邮件系统的DoS攻击(直接型)

🕤 3.2.2 反射风暴型DDoS

攻击者直接利用控制的僵尸主机向攻击自标发送攻击报文。

攻击原理:
在这里插入图片描述

在这里插入图片描述

SSDP、NTP、DNS和CHARGEN是最常见的反射攻击向量。
在这里插入图片描述

用作反射型DDoS的协议一般具有的特点

  • 互联网上有很多可探测到的支持该协议的服务器
  • 部分协议的请求报文大小远小于响应报文的大小
  • 协议具有无连接特性

NTP(Network Time Protocol,网络时间协议):用于计算机间的时间同步。
在这里插入图片描述

NTP 包含一个 monlist 功能,也被成为 MON_GETLIST,主要用于监控 NTP 服务器,NTP 服务器响应 monlist 后就会返回与 NTP 服务器进行过时间同步的最后 600 个客户端的 IP,响应包按照每 6 个 IP 进行分割,最多有 100 个响应包。
在这里插入图片描述

  • 回复报文长度是申请报文长度的:482 * 100 /234 = 206 倍
  • 使用UDP协议,很容易伪造源地址给NTP服务器发请求。

在这里插入图片描述

SSPD(Simple Service Discovery Protocol,简单服务发现协议)主要用于在局部网里发现通用即插即用(Universal Plug-and-Play,UPnP)网络设备

UPnP是一种用于 PC 机和智能设备(或仪器)的常见对等网络连接的体系结构,尤其是在家庭中。UPnP 以 Internet 标准和技术(例如 TCP/IP、HTTP 和 XML)为基础,使这样的设备彼此可自动连接和协同工作。

在设计上,它支持 0 设置、网络连接过程“不可见”和自动查找众多供应商提供的多如繁星的设备的类型。

  • 一个 UPnP 设备能够自动跟一个网络连接上、并自动获得一个 IP 地址、传送出自己的功能并获悉其它已经连接上的设备及其功能。最后,此设备能自动顺利地切断网络连接,并且不会引起意想不到的问题。
  • 在 UPnP 架构中没有设备驱动程序,取而代之的是普通协议。

在这里插入图片描述

攻击过程:
在这里插入图片描述

🔎 常见DDoS攻击

如何避免被攻击?

  • 大多数人甚至不知道企业或家庭环境中启用了SSDP,而他们很可能都没有使用过这个协议。如果你不使用一个协议或应用程序或服务,最好是关掉。
  • 其次是确保在网络外围,只允许用户应该连接的协议被使用。从安全的角度来看,这是一个良好的习惯。

多选题:
1、下列协议,可用作拒绝服务攻击的有()
A. ICMP B. HTTP C. TCP D. DNS
答案:ABCD
2、下列协议,可用作反射型拒绝服务攻击的有()
A. UDP B. SSDP C. TCP D. NTP
答案:BD

🕤 3.2.3 其他风暴型DDoS

🔎 RangeAmp attacks can take down websites and CDN servers

🔎 CDN Backfired: Amplification Attacks Based on
HTTP Range Requests

🔎 RangeAmp攻击:将CDN变成DDoS加农炮

🕘 3.3 重定向DoS攻击

通过修改网络中的一些参数或ARP表、DNS缓存,使得受害者发出的或者发向受害者的数据包被重定向到了其它地方。

常被用于窃听或中间人攻击。因此,通常在网络窃听中研究,很多人不把它当作DoS攻击。

🕘 3.4 案例分析

🔎 5.19 DNS大规模攻击事件

🕒 4. 防御

🕘 4.1 检测

检测难点

  • 不容易定位攻击者的位置
    • Internet上绝大多数网络都不限制源地址,也就使伪造源地址非常容易
    • 通过攻击代理的攻击,只能找到攻击代理的位置
    • 各种反射式攻击,无法定位源攻击者
  • 依据DDoS攻击工具的特征标志检测
    • 特定端口。例如,著名的DDoS工具trinoo使用的端口分别为:TCP端口27655, UDP端口27444和31335;NTP DRDoS检测123端口。
    • 标志位。例如,Shaft攻击所用的TCP分组的序列号都是0x28374839。
    • 特定数据内容。
  • 统计检测
  • 主机网络连接特征检测
  • 根据异常流量来检测:
    • 当DDoS攻击一个站点时,会出现明显超出该网络正常工作时的极限通信流量的现象。现在的技术能够分别对不同的源地址计算出对应的极限值。当明显超出此极限值时就表明存在DDoS攻击的通信。因此可以在主干路由器端建立ACL访问控制规则以监测和过滤这些通信。
    • 特大型的ICMP和UDP数据包
    • 不属于正常连接通信的TCP和UDP数据包。隐蔽的DDoS工具随机使用多种通信协议(包括基于连接的和无连接协议)发送数据。优秀的防火墙和路由规则能够发现这些数据包。
    • 数据段内容只包含文字和数字字符(例如,没有空格、标点和控制字符)的数据包 。
    • DoS工具产生的网络通信信息有两种:控制信息(在DoS管理者与攻击代理之间)和攻击时的网络通信(在DoS攻击代理与目标主机之间)。根据以下异常现象在入侵检测系统中建立相应规则,能够较准确地监测出DoS攻击
      • 根据分析,攻击者在进行DDoS攻击前总要解析目标的主机名。BIND域名服务器能够记录这些请求。由于每台攻击服务器在进行一个攻击前会发出PTR反向查询请求,也就是说在DDoS攻击前域名服务器会接收到大量的反向解析目标IP主机名的PTR查询请求。

🕘 4.2 响应

到目前为止,对付风暴型DDoS攻击的方案主要有四种:

  • 通过丢弃恶意分组的方法保护网络;
  • 在源端控制DDoS攻击;
  • 追溯 (Traceback) 攻击的源端, 然后阻止它发起新的攻击;
  • 路由器动态检测流量并进行控制。

最有效的对抗风暴型DDoS的方法是:流量清洗

🔎 秒极黑洞 解决大规模DDoS攻击导致的“躺枪”

DDoS攻击防御就是对DDoS攻击与正常业务数据混合在一起的流量进行净化,净化掉DDoS攻击流量,保留正常业务流量,保证客户业务7×24小时的不间断提供。

DDoS攻击阻断过程一般包括攻击监测和判断、流量牵引、清洗过滤、流量回送四个关键环节。

流量清洗服务是提供给租用IDC服务的政企客户,针对对其发起的DOS/DDOS攻击的监控、告警和防护的一种网络安全服务

  • 第一步,利用专用的检测设备对用户业务流量进行分析监控。
  • 第二步,当用户遭受到DDoS攻击时,检测设备上报给专用的业务管理平台生成清洗任务,将用户流量牵引到流量清洗中心。
  • 第三步,流量清洗中心对牵引过来的用户流量进行清洗,并将清洗后的用户合法流量回注到城域网。同时上报清洗日志到业务管理平台生成报表。

绿盟科技:三位一体解决方案
在这里插入图片描述

🕘 4.3 防范

  • 限制带宽
    • 限制特定协议占用的带宽,但并不是完善的方法
  • 终端防御:
    • 及时安装厂商补丁,减少被攻击的机会
    • 运行尽可能少的服务
    • 增强容忍性
  • 入口过滤:只允许必要的通信
    • 设置严格的防火墙策略
    • 封锁所有无用的数据
  • 完全阻止是不可能的,防范可减少被攻击的机会

OK,以上就是本期知识点“拒绝服务攻击及防御”的知识啦~~ ,感谢友友们的阅读。后续还会继续更新,欢迎持续关注哟📌~
💫如果有错误❌,欢迎批评指正呀👀~让我们一起相互进步🚀
🎉如果觉得收获满满,可以点点赞👍支持一下哟~

❗ 转载请注明出处
作者:HinsCoder
博客链接:🔎 作者博客主页

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

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

相关文章

nginx报错upstream sent invalid header

nginx报错upstream sent invalid header 1.报错背景 最近由于nginx 1.20的某个漏洞需要升级到nginx1.25的版本。在测试环境升级完nginx后,发现应用直接报错502 bad gateway了。 然后查看nginx的errlog,发现: upstream sent invalid head…

echarts 柱状图

记录echarts 柱状图基础案例以及相关配置。 1.基础柱状图 const myChart this.$echarts.init(this.$refs.echartsZx);const option {title: {text: 本周考试记录},//提示框tooltip: {trigger: axis,axisPointer: {type: shadow}},xAxis: {type: category,data: [Mon, Tue, W…

im6ull学习总结(二)Framebuffer 应用编程

1 LCD操作原理 linux中通过framebuffer驱动程序来控制LCD。framebuffer中包含LCD的参数,大小为LCD分辨率xbpp。framebuffer 是一块内存 内存中保存了一帧图像。 关于图像的帧指的是在图像处理中,一帧(Frame)是指图像序列中的单个…

【新版Hi3536AV100性能果真强悍】

Hi3536AV100是针对多路高清/超高清(1080p/4M/5M/4K)智能NVR产品应用开发的新一代专业高端SoC芯片。 Hi3536AV100集成了ARM Cortex-A55八核处理器和性能强大的神经网络处理器,支持多种智能算法应用。 Hi3536AV100支持32路1080p多协议解码及4路…

OpenCV-Python(21):凸缺陷检测及点到多边形最短的距离求解

学习目标 凸缺陷的查找求某一点到一个多边形的最短距离不同形状的匹配 凸缺陷 前面我们已经学习了轮廓的凸包,对象上的任何凹陷都被成为凸缺陷。OpenCV 中有一个函数cv2.convexityDefect() 可以帮助我们找到凸缺。函数使用如下: hull cv2.convexHull…

【量化】蜘蛛网策略复现

文章目录 蜘蛛网策略研报概述持仓数据整理三大商品交易所的数据统一筛选共有会员清洗数据计算研报要求数据全部代码 策略结果分析无参数策略有参数策略正做反做 MSD技术指标化 蜘蛛网策略 策略来自《东方证券-股指期货趋势交易之蜘蛛网策略——从成交持仓表中捕捉知情投资者行为…

C#学习笔记 - C#基础知识 - C#从入门到放弃 - C# Windows窗体技术及基础控件(二)

C# 入门基础知识 - C# Windows窗体技术及基础控件 第12节 Windows窗体技术及基础控件12.8 Label 控件12.9 Button 控件12.10 TextBox控件12.11 RichTextBox 控件12.12 Timer控件12.13 CheckBox 控件12.14 RadioButton 控件12.15 ComboBox 控件、ListBox 控件和CheckedListBox 控…

什么是 NLP (自然语言处理)

NLP(自然语言处理)到底是做什么? NLP 的全称是 Natural Language Processing,翻译成中文称作:自然语言处理。它是计算机和人工智能的一个重要领域。顾名思义,该领域研究如何处理自然语言。 自然语言就是我…

构建全场景解决方案,中国移动磐维数据库赋能数字化建设加速向前

【引言】随着数字化转型的加速,数据成为企业的核心资产,数据库作为数据的基础设施,承载着企业的业务发展和创新能力。如何构建一个高效、稳定、安全的数据库平台,满足不同场景的数据需求,是企业面临的重要挑战。本文将…

前端必须的服务端项目,node + express (这篇文章就够用)包含源代码

作为一个前端程序员,刚开始入门的时候,你觉得只要学习前端代码(js css html)就行了,实际上,到后面很多知识都涉及到服务端,在我们学习的过程中难免需要写一些 demo。比如在浏览器的缓存、或者…

公司防泄密软件监控员工哪些行为?

公司防泄密软件通常监控员工在使用电脑和其他存储设备时的一系列行为,以确保数据安全和防止敏感信息泄露。以下是一些公司防泄密软件可能监控的员工行为: 文件访问和操作: 软件可能会监控员工对文件的访问、打开、编辑、复制和移动操作。异常…

基于鸿蒙OS开发一个前端应用

创建JS工程:做鸿蒙应用开发到底学习些啥? 若首次打开DevEco Studio,请点击Create Project创建工程。如果已经打开了一个工程,请在菜单栏选择File > New > Create Project来创建一个新工程。选择HarmonyOS模板库&#xff0c…

【MYSQL】-表的约束

💖作者:小树苗渴望变成参天大树🎈 🎉作者宣言:认真写好每一篇博客💤 🎊作者gitee:gitee✨ 💞作者专栏:C语言,数据结构初阶,Linux,C 动态规划算法🎄 如 果 你 …

Redis管道

问题引出 Redis是一种基于客户端-服务端模型以及请求/响应协议的TCP服务。一个请求会遵循以下步骤: 1 客户端向服务端发送命令分四步(发送命令→命令排队→命令执行→返回结果),并监听Socket返回,通常以阻塞模式等待服务端响应。 2 服务端…

B (1038) : DS哈希查找—二次探测再散列

文章目录 一、题目描述二、输入与输出1.输入2.输出 三、参考代码 一、题目描述 定义哈希函数为H(key) key%11。输入表长(大于、等于11),输入关键字集合,用二次探测再散列构建哈希表,并查找给定关键字。 二、输入与输…

用户规模破亿!基于文心一言的创新应用已超4000个

🤵‍♂️ 个人主页:艾派森的个人主页 ✍🏻作者简介:Python学习者 🐋 希望大家多多支持,我们一起进步!😄 如果文章对你有帮助的话, 欢迎评论 💬点赞&#x1f4…

1.3MySQL中的自连接

自己的表和自己连接,核心:一张表拆为两张一样的表。 语法:select 字段列表 from 表 [as] 表别名1,表 [as] 表别名2 where 条件...; 关于怎样把一个表拆分成一个表,只要给它们分别取别名就行 categoryidpidcategoryname21信息…

Analytify Pro Google Analytics Goals Addon谷歌分析目标插件

Analytify Pro Google Analytics Goals Addon谷歌分析目标插件是一款极其巧妙且具有开创性的工具,它赋予用户细致跟踪和全面分析其网站性能的卓越能力。有了这个非凡的插件,个人可以毫不费力地建立并认真监控他们的Google Analytics目标,从而…

conda环境下Could not build wheels for dlib解决方法

1 问题描述 在安装模型运行的conda环境时,出现如下问题: Building wheels for collected packages: basicsr, face-alignment, dlib, ffmpy, filterpy, futureBuilding wheel for basicsr (setup.py) ... doneCreated wheel for basicsr: filenamebasi…

记录一下亿级别数据入库clickhouse

需求背景 公司的业务主要是广告数据归因的,每天的pv数据和加粉数据粗粗算一下,一天几千万上亿是有的。由于数据量大,客户在后台查询时间跨度比较大的数据时,查询效率就堪忧。因而将数据聚合后导到clickhouse进行存储,…