DDoS科普系列:什么是 DDoS 攻击?
什么是 DDoS 攻击?
分布式拒绝服务(DDoS)攻击是通过大规模互联网流量淹没目标服务器或其周边基础设施,以破坏目标服务器、服务或网络正常流量的恶意行为。
DDoS 攻击利用多台受损计算机系统作为攻击流量来源以达到攻击效果。利用的机器可以包括计算机,也可以包括其他联网资源(如 IoT 设备)。
总体而言,DDoS 攻击好比高速公路发生交通堵塞,妨碍常规车辆抵达预定目的地。
DDoS 攻击的工作原理
DDoS 攻击是通过连接互联网的计算机网络进行的。
这些网络由计算机和其他设备(例如 IoT 设备)组成,它们感染了恶意软件,从而被攻击者远程控制。这些个体设备称为机器人(或僵尸),一组机器人则称为僵尸网络。
一旦建立了僵尸网络,攻击者就可通过向每个机器人发送远程指令来发动攻击。
当僵尸网络将受害者的服务器或网络作为目标时,每个机器人会将请求发送到目标的 IP 地址,这可能导致服务器或网络不堪重负,从而造成对正常流量的拒绝服务。
由于每个机器人都是合法的 Internet 设备,因而可能很难区分攻击流量与正常流量。
如何识别 DDoS 攻击
DDoS 攻击最明显的症状是网站或服务突然变慢或不可用。但是,造成类似性能问题的原因有多种(如合法流量激增),因此通常需要进一步调查。流量分析工具可以帮助您发现 DDoS 攻击的一些明显迹象:
- 来自单个 IP 地址或 IP 范围的可疑流量
- 来自共享单个行为特征(例如设备类型、地理位置或 Web 浏览器版本)的用户的大量流量
- 对单个页面或端点的请求数量出现不明原因的激增
- 奇怪的流量模式,例如一天中零碎时间上的激增或看似不自然的模式(例如,每 10 分钟出现一次激增)
DDoS 攻击还有其他更具体的迹象,具体取决于攻击的类型。
常见的 DDoS 攻击有哪几类
不同类型的 DDoS 攻击针对不同的网络连接组件。为了解不同的 DDoS 攻击如何运作,有必要知道网络连接是如何建立的。
互联网上的网络连接由许多不同的组件或“层”构成。就像打地基盖房子一样,模型中的每一步都有不同的用途。
OSI 模型(如下图所示)是一个概念框架,用于描述 7 个不同层级的网络连接。
虽然几乎所有 DDoS 攻击都涉及用流量淹没目标设备或网络,但攻击可以分为三类。攻击者可能利用一种或多种不同的攻击手段,也可能根据目标采取的防范措施循环使用多种攻击手段。
应用程序层攻击
攻击目标:
此类攻击有时称为第 7 层 DDoS 攻击(指 OSI 模型第 7 层),其目标是耗尽目标资源。
攻击目标是生成网页并传输网页响应 HTTP 请求的服务器层。在客户端执行一项 HTTP 请求的计算成本比较低,但目标服务器做出响应却可能非常昂贵,因为服务器通常必须加载多个文件并运行数据库查询才能创建网页。
第 7 层攻击很难防御,因为难以区分恶意流量和合法流量。
应用程序层攻击示例:
HTTP 洪水
HTTP 洪水攻击类似于同时在大量不同计算机的 Web 浏览器中一次又一次地按下刷新 – 大量 HTTP 请求涌向服务器,导致拒绝服务。
这种类型的攻击有简单的,也有复杂的。
较简单的实现可以使用相同范围的攻击 IP 地址、referrer 和用户代理访问一个 URL。复杂版本可能使用大量攻击性 IP 地址,并使用随机 referrer 和用户代理来针对随机网址。
协议攻击
攻击目标:
协议攻击也称为状态耗尽攻击,这类攻击会过度消耗服务器资源和/或防火墙和负载平衡器之类的网络设备资源,从而导致服务中断。
协议攻击利用协议堆栈第 3 层和第 4 层的弱点致使目标无法访问。
协议攻击示例:
SYN 洪水
SYN 洪水就好比补给室中的工作人员从商店的柜台接收请求。
工作人员收到请求,前去取包裹,再等待确认,然后将包裹送到柜台。一时之间,工作人员收到太多包裹请求,来不及确认,直到无法处理更多包裹,实在不堪重负,致使无人能对请求做出回应。
此类攻击利用 TCP 握手(两台计算机发起网络连接时要经过的一系列通信),通过向目标发送大量带有伪造源 IP 地址的 TCP“初始连接请求”SYN 数据包来实现。
目标计算机响应每个连接请求,然后等待握手中的最后一步,但这一步确永远不会发生,因此在此过程中耗尽目标的资源。
容量耗尽攻击
攻击目标:
此类攻击试图通过消耗目标与较大的 Internet 之间的所有可用带宽来造成拥塞。攻击运用某种放大攻击或其他生成大量流量的手段(如僵尸网络请求),向目标发送大量数据。
放大示例:
如何防护 DDoS 攻击?
若要缓解 DDoS 攻击,关键在于区分攻击流量与正常流量。
例如,如果因发布某款产品导致公司网站涌现大批热情客户,那么全面切断流量是错误之举。如果公司从已知恶意用户处收到的流量突然激增,或许需要努力缓解攻击。
难点在于区分真实客户流量与攻击流量。
在现代互联网中,DDoS 流量以多种形式出现。流量设计可能有所不同,从非欺骗性单源攻击到复杂的自适应多方位攻击无所不有。
多方位 DDoS 攻击采用多种攻击手段,以期通过不同的方式击垮目标,很可能分散各个层级的缓解工作注意力。
同时针对协议堆栈的多个层级(如 DNS 放大(针对第 3/4 层)外加 HTTP 洪水(针对第 7 层))发动攻击就是多方位 DDoS 攻击的一个典型例子。
为防护多方位 DDoS 攻击,需要部署多项不同策略,从而缓解不同层级的攻击。
一般而言,攻击越复杂,越难以区分攻击流量与正常流量 —— 攻击者的目标是尽可能混入正常流量,从而尽量减弱缓解成效。
如果缓解措施不加选择地丢弃或限制流量,很可能将正常流量与攻击流量一起丢弃,同时攻击还可能进行修改调整以规避缓解措施。为克服复杂的破坏手段,采用分层解决方案效果最理想。
黑洞路由
有一种解决方案几乎适用于所有网络管理员:创建黑洞路由,并将流量汇入该路由。在最简单的形式下,当在没有特定限制条件的情况下实施黑洞过滤时,合法网络流量和恶意网络流量都将路由到空路由或黑洞,并从网络中丢弃。
如果互联网设备遭受 DDoS 攻击,则该设备的互联网服务提供商(ISP)可能会将站点的所有流量发送到黑洞中作为防御。这不是理想的解决方案,因为它相当于让攻击者达成预期的目标:使网络无法访问。
速率限制
限制服务器在某个时间段接收的请求数量也是防护拒绝服务攻击的一种方法。
虽然速率限制对于减缓 Web 爬虫窃取内容及防护暴力破解攻击很有帮助,但仅靠速率限制可能不足以有效应对复杂的 DDoS 攻击。
然而,在高效 DDoS 防护策略中,速率限制不失为一种有效手段。
Web 应用程序防火墙
Web 应用程序防火墙(WAF) 是一种有效工具,有助于缓解第 7 层 DDoS 攻击。在互联网和源站之间部署 WAF 后,WAF 可以充当反向代理,保护目标服务器,防止其遭受特定类型的恶意流量入侵。
通过基于一系列用于识别 DDoS 工具的规则筛选请求,可以阻止第 7 层攻击。有效的 WAF 的一个关键价值是能够快速实施自定义规则以应对攻击。
Anycast 网络扩散
此类缓解方法使用 Anycast 网络,将攻击流量分散至分布式服务器网络,直到网络吸收流量为止。
这种方法就好比将湍急的河流引入若干独立的小水渠,将分布式攻击流量的影响分散到可以管理的程度,从而分散破坏力。
Anycast 网络在缓解 DDoS 攻击方面的可靠性取决于攻击规模及网络规模和效率。
DDoS科普系列:什么是 DDoS 攻击?相关推荐
- DoS、DDoS、LDoS三种拒绝服务攻击模式科普
引言 DOS.DDOS.LDOS是三种网络攻击模式,想要产生一个网络攻击必须包含三要素:攻击发起者.受害者和攻击方法.正是由于三要素的不同使之出现了三种网络攻击模式. 一.拒绝服务(DoS) 广义而言 ...
- Talos实验室深入我国DDoS黑市DuTe 揭露各种DDoS团伙、平台、工具及攻击
在过去的几个月里, Talos实验室 发现提供在线 DDoS即服务 的中文网站数量有所上涨.很多网站采用几乎雷同的布局和设计,提供简单接口供用户选择攻击目标的主机.端口.攻击方法和持续时间.此外,大多 ...
- DDoS deflate 解决服务器被DDOS攻击的问题
23.2.1 如何查是否受到了DDOS攻击 DDOS概述:分布式拒绝服务(DDoS:Distributed Denial of Service)攻击指借助于客户/服务器技术,将多个计算机联合起来作为攻 ...
- 使用Ddos deflate 解决服务器被ddos攻击
1.DDOS概述 分布式拒绝服务(DDoS:Distributed Denial of Service)攻击指借助于客户/服务器技术,将多个计算机联合起来作为攻击平台,对一个或多个目标发动DDoS攻击 ...
- 防Ddos文献之应对篇-DDoS防御方案
在上一篇文章<防Ddos文献之敌情篇-DDoS攻击原理>中我们给大家介绍了DDoS攻击的攻击原理,在这篇文章中我们将教大家如何应对这种令人头疼的DDoS攻击. 应对篇 --DDoS防御方案 ...
- 腾讯安全发布《2021年全球DDoS威胁报告》:DDoS威胁成犯罪团伙首选勒索手段
后疫情时代,企业对数字化工具需求增加,用户生活消费习惯向线上转移,互联网行业迎来持续高速增长.同时,DDoS攻击因溯源难度大,讹诈成本低,产业链条成熟成为犯罪团伙首选勒索手段.在过去一年中,除了DDo ...
- 图灵科普系列丛书封面有奖征集(贴图送书)
图灵科普系列丛书封面有奖征集(贴图送书) 知道吗?图灵要出科普书 啦! 现面对广大设计爱好者征集封面设计方案,希望大家踊跃参与,发挥你的想象力,充分展现个性与创意,快来进行一次思想大碰撞吧! 活动详情 ...
- Kafka科普系列 | 原来Kafka中的选举有这么多?
欢迎跳转到本文的原文链接:https://honeypps.com/mq/kafka-basic-knowledge-of-selection/ 面试官在考查你Kafka知识的时候很可能会故弄玄虚的问 ...
- Kafka科普系列 | 什么是LSO?
欢迎跳转到本文的原文链接:https://honeypps.com/mq/kafka-basic-knowledge-of-lso/ 很多同学对于Kafka的认知仅限于在LEO和HW之间,有可能认知还 ...
最新文章
- 过去式加ed的发音_小学英语动词过去式归类总结
- 吴玉禄他的机器人_中国人— 我们村的机器人
- Centos7 Docker私有仓库搭建
- Ubuntu18.04创建新的系统用户
- int *p=new int; int *p=new int[10]; int *p=new int(10);这三个有什么区别
- Go Revel - Filters(过滤器链)
- Linux Command - alien
- java maven web项目_java maven项目跟web项目区别
- C#关于Excel文件转TXT文本的实现
- SSM框架原理,作用及使用方法,详细解释
- 3西格玛计算公式_3西格玛的计算原理是什么?为什么用它来衡量品质的好坏?...
- Vue 接入高德地图
- 动漫人物脸型怎么画?如何画好动漫人物脸型?
- java icon显示图片_java显示ico格式图片
- SAP-MM知识精解-自动科目记账(05)- 物料组的科目确定
- LockSupport 的 park 和 unpark 以及线程中断对 park 的影响
- mysql 垃圾_垃圾mysql pipelin
- 开源数据库 SQLite 发布 3.37.0 版本
- eclipse使用的问题
- Http抓包工具--查尔斯
热门文章
- RouterOS NAT伪装上网,NAT端口映射,HotspotWEB认证上网等的简单配置
- JavaScript学习笔记 Day1
- 有关天线与波的极化方向的小结:线极化,圆极化,椭圆极化
- JAVA如何分割出字符串中的数字?
- 软件测试工具之——selenium-IDE下载安装与该附件组件已无法安装,因为它似乎已损坏问题解决
- 调用阿里云身份证识别OCR
- C# vb .NET读取识别条形码线性条码code128
- USB-Armory + Kali 试水
- matlab函数变量名替换,matlab替换符号函数的自变量
- 2022年宜昌助理工程师职称评审流程和条件是什么呢?甘建二