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

📖 前言:拒绝服务攻击(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
博客链接:🔎 作者博客主页

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Python面向对象高级与Python的异常、模块以及包管理

Python面向对象高级与Python的异常、模块以及包管理 一、Python中的继承 1、什么是继承 我们接下来来聊聊Python代码中的“继承”:类是用来描述现实世界中同一组事务的共有特性的抽象模型,但是类也有上下级和范围之分,比如:生物 => 动物 => 哺乳动物 => 灵长型…

【精简】解析xml文件 解决多个同名标签问题 hutool

一、测试XML报文用例 <?xml version"1.0" encoding"UTF-8"?> <TEST><PUB><TransSource>ERP</TransSource><TransCode>DsbrRpl</TransCode><TransSeq>202204081043</TransSeq><Version>1.0…

如何使用凹凸贴图和位移贴图制作逼真的模型

在线工具推荐&#xff1a; 3D数字孪生场景编辑器 - GLTF/GLB材质纹理编辑器 - 3D模型在线转换 - Three.js AI自动纹理开发包 - YOLO 虚幻合成数据生成器 - 三维模型预览图生成器 - 3D模型语义搜索引擎 本教程将解释如何应用这些效应背后的理论。在以后的教程中&#xff0…

【C语言】初识C语言

本章节主要目的是基本了解C语言的基础知识&#xff0c;对C语言有一个大概的认识。 什么是C语言 在日常生活中&#xff0c;语言就是一种人与人之间沟通的工具&#xff0c;像汉语&#xff0c;英语&#xff0c;法语……等。而人与计算机之间交流沟通的工具则被称为计算机语言&am…

任务调度-hangfire

目录 一、Hangfire是什么&#xff1f; 二、配置服务 1.配置Hangfire服务 2.添加中间件 3.权限控制 三、配置后台任务 1.在后台中调用方法 2.调用延时方法 3.执行周期性任务 四、在客户端上配置任务 1.在AddHangfire添加UseHangfireHttpJob方法 2.创建周期任务 3.创建只读面板 总…

硅像素传感器文献调研(三)

写在前面&#xff1a; 引言&#xff1a;也是先总结前人的研究结果&#xff0c;重点论述其不足之处。 和该方向联系不大&#xff0c;但还是有值得学习的地方。逻辑很清晰&#xff0c;易读性很好。 1991年—场板半阻层 使用场板和半电阻层的高压平面器件 0.摘要 提出了一种…

低代码,前端工程化项目的未来

一、前言 在软工圣经《人月神话》一书中&#xff0c;作者Brooks指出了软件发展的一个僵局&#xff1a;在落后的项目中增加人手&#xff0c;只会使进度更加落后。 为了更快完成项目&#xff0c;开发团队会发展的极其庞大&#xff0c;以致于所有的时间都花费在沟通和变更决策上&a…

软件测试面试中90%会遇到的问题,面试前刷提高百分之60的通过率

面试的时候&#xff0c;遇到这样的提问&#xff0c;很多人的都会感觉脑子一下一片空白&#xff0c;或者星星点点&#xff0c;不知道从何说起。 一方面不知道面试官问这个问题的意图是什么&#xff1f;也不知道他想得到的答案是什么&#xff1f; 更加不知道该从哪些方面来回答…

vue3 根据用户权限控制左侧菜单和路由拦截

目录 前言 整体思路 详细开发 1.左侧菜单的显隐控制 2.控制路由权限 补充权限控制 总结 前言 我这里是vue3开发的一个后台管理系统&#xff0c;所以涉及用户权限管理&#xff0c;以及页面权限等&#xff0c;其他模块部分可以查看专栏&#xff0c;这里只对怎么实现根据用…

异步通知

文章目录 一、异步通知1、应用场景2、执行流程&#xff08;基于读取按键值的情景&#xff09;2.1、应用程序具体做什么&#xff1f;2.2、驱动程序具体做什么&#xff1f; 三、程序1、驱动程序2、测试应用程序 三、总结 一、异步通知 1、应用场景 当应用程序不想休眠时&#x…

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

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

数据库系统原理例题之——SQL 与关系数据库基本操作

SQL 与关系数据库基本操作 第四章 SQL 与关系数据库基本操作【例题】一 、单选题二 、填空题三 、简答题四 、设计题 【答案&解析】一、单选题二、填空题三、简答题四、设计题 【延伸知识点】【延伸知识点答案&解析】 第四章 SQL 与关系数据库基本操作 【例题】 一 、…

视频美颜SDK趋势畅想:未来发展方向与应用场景

当下&#xff0c;视频美颜SDK正不断演进&#xff0c;本文将深入探讨视频美颜SDK的发展趋势&#xff0c;探讨未来可能的方向和广泛的应用场景。 1.深度学习与视频美颜的融合 未来&#xff0c;我们可以期待看到更多基于深度学习算法的视频美颜SDK&#xff0c;为用户提供更高质量…

国标标准和行业标准使用介绍

场景 我现在所在行业是交通行业&#xff0c;主要做城市交通信控相关的工作&#xff0c;后续可能会涉及高速、收费站、稽核收费等业务场景在做产品开发时&#xff0c;我们需要有一个标准可以参考&#xff0c;这些标准必须是公认的&#xff0c;这时就用到了 国家标准、行业标准等…

Python流星雨完整代码

文章目录 环境需求完整代码详细分析环境需求 python3.11.4PyCharm Community Edition 2023.2.5pyinstaller6.2.0(可选,这个库用于打包,使程序没有python环境也可以运行,如果想发给好朋友的话需要这个库哦~)【注】 python环境搭建请见:https://want595.blog.csdn.net/arti…

企业数据可视化-亿发数据化管理平台提供商,实现一站式数字化运营

近些年来&#xff0c;国内企业数据化管理升级进程持续加速&#xff0c;以物联网建设、人工智能、大数据和5G网络等新技术的发展&#xff0c;推动了数字经济的蓬勃发展&#xff0c;成为维持经济持续稳定增长的重要引擎。如今许多国内中小型企业纷纷摒弃传统管理模式&#xff0c;…

linux基础开发工具使用

文章目录 一. yum命令yum的使用 二.vim命令&#xff08;写代码&#xff09;各模式的互相转化命令模式光标移动的命令复制&#xff0c;粘贴&#xff0c;剪切&#xff0c;撤销撤销字符的转换字符的添加和删除查找注释清除注释 替换模式视图模式 裸的vim也可支持多文本编译vim 报错…

Cookie的详解使用(创建,获取,销毁)

文章目录 Cookie的详解使用&#xff08;创建&#xff0c;获取&#xff0c;销毁&#xff09;1、Cookie是什么2、cookie的常用方法3、cookie的构造和获取代码演示SetCookieServlet.javaGetCookieServlet.javaweb.xml运行结果如下 4、Cookie的销毁DestoryCookieServletweb.xml运行…

docker学习(十九、network使用示例bridge)

文章目录 一、容器网络分配情况1.启动容器2.查看容器的network3.容器网络分配 二、bridge1.bridge详细介绍2.实践bridge两两匹配3.创建network&#xff0c;默认bridge network相关内容&#xff1a; docker学习&#xff08;十八、network介绍&#xff09; docker学习&#xff08…

浅学Vue3

安装 vue项目 npm init vuelatest 回车装包 npm install 路由 安装 Router npm install vue-router4 -S项目根目录新建 router --> index.js vue2中 index.jsimport Vue from vue; import VueRouter from vue-router; import Home from ../views/Home.vue;Vue.use(V…