DDoS攻击的类型和方法,构建DDoS弹性应用程序的最佳实践

客户喜欢运行良好且顺利的事情。分布式拒绝服务 (DDoS) 攻击使服务器和数据中心无法响应所有请求。这就是网络犯罪分子继续依赖这些攻击的原因,旨在损害受害者产品和服务的性能和可用性。

DDoS攻击的类型和方法,构建DDoS弹性应用程序的最佳实践-南华中天

为了降低失去客户信任的风险并维护企业声誉,在开发新产品时优先考虑 DDoS 缓解非常重要。在本文中,我们将讨论最常见的 DDoS 攻击类型以及有助于检测它们的技术。我们还提供了一些建议,以帮助您的开发团队及时进行必要的调整并构建安全且有弹性的 Web 应用程序。

DDoS攻击的类型和方法

想象一下有人一遍又一遍地拨打您的电话,使用不同的电话号码,因此您无法将他们列入黑名单。您可能最终会关闭手机并变得无法访问。这就是通常的 DDoS 攻击的样子。

分布式拒绝服务(DDoS) 攻击是一种旨在使受害者的资源无法使用的协同攻击。DDoS 攻击通常针对网站、Web 应用程序或 API,可以由黑客执行,也可以在连接到互联网的多个受感染设备(僵尸网络)的帮助下执行。

早在史蒂夫乔布斯推出第一款 iPhone 之前,DDoS 攻击就已经出现。而且它们在黑客中仍然非常受欢迎,因为它们有效、易于启动并且几乎不留痕迹。

一次 DDoS 攻击可能会持续几分钟、几小时甚至几天。但是,攻击的影响通常不是根据它持续的时间来计算的,而是根据攻击受害者的流量来计算的。迄今为止报告的最大事件之一是Microsoft 在 2022 年初阻止的每秒 3.47 TB 的攻击。它针对 Microsoft Azure 服务的亚洲客户,据报道起源于全球约 10,000 个工作站。

DDoS攻击的类型和方法,构建DDoS弹性应用程序的最佳实践-南华中天

有时,网络犯罪分子发起 DDoS 攻击只是为了提高他们的黑客技能或因为他们感到无聊。但更多情况下,这些攻击是出于特定原因进行的,包括:

  • 赎金——网络犯罪分子可能会发起攻击或威胁这样做,以向受害者勒索金钱或其他利益。此类攻击有时也称为赎金拒绝服务攻击。
  • 商业竞争——一些组织可以使用 DDoS 攻击作为一种不公平竞争的方法,并试图通过损害其竞争对手的业务流和声誉来获得优势。
  • 黑客主义——精通技术的活动家可能会使用 DDoS 攻击来展示他们对某些企业、政治和社会倡议或公众人物的不满。
  • 网络战——政府可以授权 DDoS 攻击来破坏敌国的关键在线基础设施或关闭反对派网站。

根据他们的目标和动机,网络犯罪分子使用各种工具进行各种类型的攻击。通常,DDoS 攻击通过以下方式执行:

  • 利用软件漏洞——黑客可以针对已知和未知的软件漏洞并发送格式错误的数据包以试图破坏受害者的系统。
  • 消耗计算或通信资源——攻击者可以发送大量看起来合法的数据包。因此,它们会消耗受害者的网络带宽、CPU 或内存,直到目标系统无法再处理来自合法用户的请求。

虽然 DDoS 攻击没有标准分类,但我们可以将它们分为四大类:

让我们仔细看看这些类型的攻击。

1. 容量攻击

容量攻击旨在通过大量流量来阻止对受害者资源的访问,通常借助僵尸网络和放大技术。这些攻击的规模通常以每秒比特数 (bps) 来衡量。

DDoS攻击的类型和方法,构建DDoS弹性应用程序的最佳实践-南华中天

最常见的容量攻击类型是:

  • UDP 泛洪——攻击者将使用受害者的源地址伪造的用户数据报协议 (UDP) 数据包发送到随机端口。主机生成大量回复流量并将其发送回受害者。
  • DNS 放大- 网络犯罪分子破坏和操纵可公开访问的域名系统 (DNS),以用 DNS 响应流量淹没受害者的系统。
  • 滥用应用程序攻击——黑客入侵客户端计算机,这些计算机可以发送大量看似合法的流量,并将该流量重定向到受害者的服务器,耗尽其资源并最终将其关闭。

2020 年, Amazon Web Services 遭受了使用无连接轻量级目录访问协议 (CLDAP) 反射技术执行的 2.3 TBps 的大规模攻击。

2.协议攻击

协议攻击针对不同互联网通信协议工作方式的弱点。通常,此类 DDoS 攻击的规模以每秒网络数据包数 (pps) 来衡量。最常见的协议攻击类型是:

  • SYN 洪水——黑客利用了 TCP 三次握手机制中的一个弱点。客户端向服务器发送一个 SYN 数据包,接收一个 SYN-ACK 数据包,并且永远不会向主机发送一个 ACK​​ 数据包。因此,受害者的服务器会留下大量未完成的 SYN-ACK 请求,并最终崩溃。
  • ICMP 洪水— 恶意行为者使用大量 Internet 控制消息协议 (ICMP) 请求或 ping,试图耗尽受害者的服务器带宽。
  • Ping of death——黑客使用简单的 ping 命令发送超大数据包,导致受害者的系统冻结或崩溃。

2020 年,Akamai 报告说,它与针对欧洲银行的每秒 8.09 亿个数据包 (Mpps) 的大规模 DDoS 攻击作斗争。

3.应用层攻击

应用程序攻击利用 6 级和 7 级协议栈中的弱点,针对特定应用程序而不是整个服务器。此类 DDoS 攻击的威力通常以每秒请求数来衡量。

DDoS攻击的类型和方法,构建DDoS弹性应用程序的最佳实践-南华中天

应用层攻击通常针对常见的端口和服务,例如 DNS 或 HTTP。最常见的应用程序级攻击是:

  • HTTP 泛滥——攻击者使用僵尸网络向应用程序或 Web 服务器充斥大量标准 GET 和 POST 请求。由于这些请求通常表现为合法流量,因此检测 HTTP 泛洪攻击是一个相当大的挑战。
  • Slowloris — 顾名思义,Slowloris 缓慢地使受害者的服务器崩溃。攻击者以定时间隔和小部分向受害者的服务器发送 HTTP 请求。服务器一直在等待这些请求完成,而这永远不会发生。最终,这些未完成的请求会耗尽受害者的带宽,使合法用户无法访问服务器。

根据Cloudflare 最近的一份声明, 2022 年,一项未命名的加密货币服务遭到每秒 1530 万次请求的攻击。

4. 零日 DDoS 攻击

除了众所周知的攻击之外,还有所谓的零日DDoS 攻击。他们利用尚未修补的以前未知的软件漏洞或使用不常见的攻击媒介,因此更难以检测和保护。

现在让我们谈谈检测 DDoS 攻击的方法。

检测 DDoS 攻击

虽然完全阻止 DDoS 攻击是不可能的,但有一些有效的做法和方法可以帮助您检测和阻止已经发生的 DDoS 攻击。下面,我们列出了几种最常见的 DDoS 保护方法,您可以依靠它来检测攻击并保护您的产品或服务。

异常检测

检测潜在 DDoS 攻击的一种方法是分析网络流量并将流量模式分类为正常或潜在威胁。您可以借助传统的静态分析或更复杂的技术(如机器学习和人工智能)来做到这一点。除了网络流量分析之外,您还可以搜索其他网络性能因素中的异常情况,例如设备 CPU 利用率或带宽使用情况。

基于知识的方法

您还可以通过将流量与已知攻击的特定模式进行比较来检测类似 DDoS 的活动。常见的 DDoS 防护技术包括签名分析、状态转换分析、专家系统、描述脚本和自组织图。

DDoS攻击的类型和方法,构建DDoS弹性应用程序的最佳实践-南华中天

ACL 和防火墙

除了入口/出口流量过滤之外,您还可以使用访问控制列表 (ACL) 和防火墙规则来增强流量可见性。特别是,您可以分析 ACL 日志以了解通过您的网络运行的流量类型。您还可以配置您的 Web 应用程序防火墙,以根据特定规则、签名和模式阻止可疑的传入流量。

入侵防御和检测

入侵防御系统 (IPS) 和入侵检测系统 (IDS) 也增强了流量可见性。IPS 和 IDS 警报可作为异常和潜在恶意流量的早期指标。但请记住,这些系统往往会提供很多误报。

至于处理可能涉及 DDoS 攻击的流量的方法,我们可以概述三种常见策略:

  • 空路由或黑洞路由- 所有流量和会话都被重定向到没有最终目的地的 IP 地址。结果,服务器无法接收或发送数据。一旦 DDoS 攻击结束,就会恢复正常的流量处理。虽然这种方法很容易实施,但它会对所有合法流量产生负面影响,并且基本上可以帮助攻击者实现他们的初始目标——使受害者的服务器不可用。
  • 清理中心——这种方法基于将流量从受害服务器重定向到远程清理中心,在该中心对流量进行分析和过滤。任何具有潜在危险的流量(例如 DDoS 请求)都会被阻止,而合法请求则会照常处理。
  • 内联过滤——在这种方法中,通过网络的所有流量都经过分析,并与不同的规则和攻击指标进行比较。与已识别的 DDoS 攻击相关的流量会立即被阻止,而合法请求会得到正常处理。

特定方法和技术的选择将取决于特定服务或解决方案的特性。但是,确保及早发现 DDoS 攻击对于任何项目都至关重要,因为它可以帮助您显着减轻攻击的后果并保持服务或解决方案的正常性能。

在接下来的部分中,我们将讨论您可以尝试防止 DDoS 攻击的几种方法,并概述针对您的 Web 应用程序或服务的某些类型的 DDoS 保护措施。

构建 DDoS 弹性应用程序的最佳实践

预防胜于治疗。因此,在开始构建之前,请考虑如何确保 Web 应用程序或服务的 DDoS 弹性。

DDoS攻击的类型和方法,构建DDoS弹性应用程序的最佳实践-南华中天

1. 应用 DDoS 防御机制

即使您无法阻止 DDoS 攻击的发生,您也有能力让攻击者更难关闭您的网站或应用程序。这就是 DDoS 攻击预防技术发挥作用的地方。

您可以使用两组 DDoS 预防机制:

  • 通用 DDoS 预防机制
  • 过滤机制

通用 DDoS 预防机制是可以帮助您使您的 Web 应用程序或服务器对 DDoS 攻击更具弹性的常用措施。这些措施包括:

  • 使用防火墙——虽然防火墙不能保护您的应用程序或服务器免受复杂的 DDoS 攻击,但它们仍然可以有效地处理简单的攻击。
  • 安装最新的安全补丁——大多数攻击针对特定的软件或硬件漏洞,因此按时部署所有补丁可以帮助您降低攻击风险。
  • 禁用未使用的服务——黑客可以攻击的应用程序和服务越少越好。确保禁用所有不需要和未使用的服务和应用程序,以提高网络的安全性。

过滤机制使用不同的方法来过滤流量并阻止潜在的危险请求。这些机制包括入口/出口过滤、基于历史的 IP 过滤和基于路由器的数据包过滤。

2. 明智地选择您的 CSP

在选择云服务提供商 (CSP) 时,请选择拥有自己的 DDoS 缓解策略的提供商。确保此策略确保检测和缓解基于协议、基于容量和应用程序级的攻击。

此外,研究您的 CSP 关于 DDoS 缓解的建议,并在构建您的 Web 产品时实施它们。大多数云服务提供商都有详细的指导方针,以及保护您的 Web 产品和服务免受常见 DDoS 攻击的最佳实践。您可以先看看Google Cloud、Microsoft Azure和Amazon Web Services的建议。

3. 以可扩展性为目标

通过将足够的计划和资源投入到其可扩展性中,使您的 Web 应用程序能够有效地处理突然的负载变化。您可以部署应用程序和网络负载均衡器或内容分发网络 (CDN),通过跨多个实例分发所有流量来保护您的解决方案免受流量过载的影响。通过这种方式,您将能够减轻基础设施和应用程序层的潜在攻击。

DDoS攻击的类型和方法,构建DDoS弹性应用程序的最佳实践-南华中天

4.限制弱点的数量

除非确实有必要,否则不要公开您的应用程序和资源。通过这种方式,您可以限制基础设施中可能被攻击者攻击的薄弱环节的数量。您还可以禁止到数据库服务器和基础设施的其他关键部分的直接 Internet 流量。

5. 保护您的 API

DDoS 攻击不仅可以针对您的网站和应用程序,还可以针对您的 API。有多种方法可以增强 API 的反 DDoS 保护:应用流量过滤工具和技术,限制 API 在给定时间段内可以处理的请求数量,甚至部署蜜罐。

6. 使用第三方 DDoS 缓解服务

考虑将 Web 应用程序的保护委托给第三方供应商。DDoS 预防工具和缓解服务甚至可以在有问题的流量到达受害者的网络之前将其移除。您可以寻找基于 DNS 的服务来重定向来自您的网络的有问题的流量,或者寻找基于边界网关协议的解决方案来处理持续攻击。

结论

黑客不断使用和改进 DDoS 攻击,旨在破坏特定网站、应用程序和服务的工作。在处理 Web 应用程序时,请特别注意强化您的解决方案以抵御可能的 DDoS 攻击。

考虑到稳定性和弹性来构建您的网络产品非常重要。您可以结合不同的 DDoS 攻击预防方法和 DDoS 防御技术,以增加有效缓解潜在攻击的机会。或者,您可以部署多个云以确保更好地提供服务。虽然大多数 CSP 都提供反 DDoS 建议,但在开发 Web 应用程序时设计全面的 DDoS 缓解策略需要额外的专业知识。在 Apriorit,我们拥有由知名云和 Web 安全专家组成的团队,他们很乐意帮助您构建稳定、弹性和性能良好的 Web 产品。