想象一下,有人用不同的电话号码一遍又一遍地给你打电话,而你又不能把他们列入黑名单。最后,你可能会选择关掉手机来避免骚扰。这种情况就是常见的分布式拒绝服务(DDoS)攻击。
在史蒂夫乔布斯推出第一代iPhone之前,DDoS攻击就已经存在。它们非常受黑客欢迎,因为它们非常有效,容易启动,几乎不留痕迹。那么如何防御DDoS攻击呢?您能否确保为您的web服务器和应用程序提供高级别的DDoS攻击保护?在本文中,我们将讨论如何防止DDoS攻击,并介绍一些具体的DDoS保护和预防技术。
DDoS攻击的类型和方法
分布式拒绝服务(DDoS)是一种合作攻击,目的是使受害者的资源无法使用。它可以由黑客组织来协调,也可以由连接到互联网的多个受损设备来执行。攻击者控制的这些设备通常被称为僵尸网络。
执行DDoS攻击的工具有很多,比如Trinoo、Stacheldraht、Shaft、Knight、Mstream等。这些工具的可用性是DDoS攻击如此广泛和流行的原因之一。
DDoS攻击可以持续数百小时。
DDoS攻击可以持续几分钟、几小时甚至几天。根据卡巴斯基实验室的报告,近年来最长的DDoS攻击之一发生在2018年1月,持续了近300个小时。
发起DDoS攻击有两种常见方式:
利用软件漏洞。黑客可以瞄准已知和未知的软件漏洞,发送格式错误的数据包,试图破坏受害者的系统。
消耗计算或通信资源。黑客可以发送大量合法数据包,从而消耗受害者的网络带宽、CPU或内存,直到目标系统无法再处理合法用户的任何请求。
虽然DDoS攻击没有标准的分类,但我们可以将其分为四类:
容量耗尽攻击
协议攻击
应用攻击
0天漏洞DDoS攻击
图1显示了DDoS攻击最常见的分类之一。
图一。DDOS攻击的分类
让我们仔细看看每种类型的攻击。
容量耗尽攻击
体积攻击通常使用僵尸网络和放大技术,通过向终端资源注入大量流量来阻止对终端资源的访问。最常见的容量耗尽攻击类型有:
UDP洪水攻击。黑客向随机端口发送用户数据报协议(UDP)数据包,伪造受害者的源地址。主机生成大量回复流量,并将其发送回受害者。
ICMP洪水攻击。黑客使用大量的互联网控制消息协议(ICMP)请求或ping命令,企图耗尽受害者服务器的带宽。
2018年,Netscout报告了迄今为止最大的DDoS攻击之一:一家美国服务提供商的客户面临1.7 Tbps的大规模反射放大攻击。
协议攻击
根据Verisign 2018年第一季度的DDoS趋势报告,协议攻击针对的是协议工作方式中的漏洞,这是第二个最常见的攻击载体。最常见的协议攻击类型有:
SYN洪水攻击。黑客利用了TCP三次握手机制的漏洞。客户端向服务器发送SYN包,接收SYN-ACK包,从不向主机发回ACK包。因此,受害者的服务器留下了许多未完成的SYN-ACK请求,最终导致崩溃。
死亡之乒。攻击——黑客发送一个非常大的数据包,附带一个简单的Ping命令,导致受害者的系统冻结或崩溃。
SYN flood攻击是2014年用于破坏在线赌博网站的五种攻击媒介之一。
应用攻击
应用攻击利用了协议栈(6)和协议栈(7)的漏洞,针对特定的应用而不是整个服务器。它们通常针对公共端口和服务,如DNS或HTTP。最常见的应用程序攻击有:
HTTP洪水攻击。攻击者用大量标准的GET和POST请求淹没应用程序或web服务器。因为这些请求通常显示合法的流量,所以检测HTTP洪水攻击是一个相当大的挑战。
慢吞吞的.顾名思义,Slowloris会让受害者的服务器慢慢崩溃。攻击者不时地向受害者的服务器发送HTTP请求。服务器一直在等待这些请求完成,但这永远不会发生。最终,这些未完成的请求耗尽了受害者的带宽,使得合法用户无法访问服务器。
2009年总统大选后,黑客利用Slowloris攻击关闭了伊朗政府网站。
0天漏洞DDoS攻击
除了众所周知的攻击,还有0 day漏洞DDoS攻击。他们利用尚未打补丁的未知软件漏洞或使用不寻常的攻击媒介,因此更难检测和防御。例如,早在2016年,攻击者就利用轻量级目录访问协议(LDAP)发起了放大系数高达55的攻击。
现在来说说检测DDoS攻击的方法。
检测DDoS攻击
虽然完全阻止DDoS攻击是不可能的,但有一些有效的措施可以帮助您检测和阻止正在进行的DDoS攻击。
异常检测:统计模型和机器学习算法(如神经网络、决策树和最近邻算法)可用于分析网络流量,并将流量模式分类为正常或DDoS攻击。您还可以搜索其他网络性能因素中的异常,如设备CPU利用率或带宽利用率。
基于知识的方法:使用签名分析、状态转换分析、专家系统、描述脚本和自组织映射等方法,您可以通过将流量与已知攻击的特定模式进行比较来检测DDoS。
ACL和防火墙规则:除了入口/出口流量过滤,访问控制列表(ACL)和防火墙规则可用于增强流量可见性。特别是,您可以分析ACL日志来了解网络中传输的流量类型。您还可以配置web应用程序防火墙,根据特定的规则、签名和模式阻止可疑的传入流量。
入侵防御和检测系统警报:入侵防御系统(IPS)和入侵检测系统(IDS)提供额外的流量可见性。虽然误报率很高,但IPS和IDS警报可以用作异常和潜在恶意流量的早期指示。
在早期阶段检测正在进行的攻击可以帮助您减轻其后果。但是,您可以采取适当的预防措施来防止DDoS攻击,使攻击者更难淹没或破坏您的网络。
如何编写有效的解决方案来防范DDoS攻击
无论您是想创建自己的有效解决方案来防御DDoS攻击,还是想为Web应用程序找到一个商业DDoS攻击防护系统,您都应该记住以下基本系统要求:
混合DDoS检测方法。基于特征和基于异常的检测方法的结合是检测不同类型DDoS攻击的关键。
防御3-4和6-7攻击。如果您的解决方案能够检测并抵御所有三种主要类型的DDoS攻击(容量攻击、应用程序攻击和协议攻击),那就更好了。
有效的流量过滤。DDoS保护的最大挑战之一是区分恶意请求和合法请求。很难创建有效的过滤规则,因为大多数涉及DDoS攻击的请求似乎都来自合法用户。速率限制等流行方法通常会产生大量误报,从而阻止合法用户访问您的服务和应用程序。
SIEM集成将DDoS防御解决方案与SIEM系统相结合非常重要,这样您就可以收集有关攻击的信息,对其进行分析,并使用它来改进DDoS保护和预防未来的攻击。
如果你很难满足这些要求,那么考虑向专家寻求帮助。您需要一个经验丰富的开发团队,他们对网络安全、云服务和web应用有着深刻的理解,以便构建高质量的DDoS防御解决方案。像这样的团队很难在内部组织起来,但你可以随时寻求第三方团队的帮助。
防止DDoS攻击
即使您无法阻止DDoS攻击,您也可以让攻击者更难关闭您的网站或应用程序。这是DDoS防范技术的关键点。您可以使用两种DDoS预防机制:常规预防措施和过滤技术。
传统的DDoS保护机制是一种常见的措施,它可以帮助您使您的Web应用程序或服务器更能抵御DDoS攻击。这些措施包括:
使用防火墙。虽然防火墙不能保护您的应用程序或服务器免受复杂的DDoS攻击,但它们仍然可以有效地应对简单的攻击。
安装最新的安全补丁。大多数攻击都是针对特定的软件或硬件漏洞,因此及时部署所有补丁可以帮助您降低攻击风险。
禁用未使用的服务。被黑的应用和服务越少越好。确保禁用所有不必要和未使用的服务和应用程序,以提高网络安全性。
过滤机制使用不同的方法来过滤流量并阻止潜在的危险请求。这些机制包括入口/出口过滤、基于历史的IP过滤和基于路由器的包过滤。
保护Web应用免受DDoS攻击的最佳实践
除了特定的DDoS防御机制,还有几种方法可以为您的web应用程序提供额外的DDoS保护:
限制漏洞的数量。不到万不得已,不要公开你的应用和资源。通过这种方式,您可以限制基础设施中攻击者可能瞄准的漏洞的数量。您还可以禁止Internet流量直接发送到数据库服务器和基础结构的其他关键部分。
扩大负载。考虑使用负载平衡器和内容分发网络(CDN ),通过平衡资源负载来减少攻击的影响,这样即使在攻击期间您也可以保持在线。
谨慎选择您的云提供商。找一个值得信赖的云服务提供商,提供自己的DDoS缓解策略。确保他们的策略可以检测和缓解基于协议、基于卷和应用程序级别的攻击。例如,一些云提供商使用任播网络在具有相同IP地址的多台机器之间划分大量请求。
使用第三方DDoS缓解服务?考虑将web应用程序的保护委托给第三方供应商。DDoS缓解服务甚至可以在问题流量到达受害者网络之前将其清除。您可以从基于DNS的网关服务或基于协议的解决方案中寻找有问题的边界攻击。
结论
黑客不断使用和改进DDoS攻击来破坏特定服务、大型和小型企业甚至公共和非营利组织的工作。这些攻击的主要目的是耗尽受害者的资源,从而导致其服务、应用程序或网站崩溃。
虽然完全防止DDoS攻击的发生是不可能的,但有一些有效的DDoS攻击防护技术和方法可以用来加强抵御DDoS攻击的基础设施并减轻其后果。
japan quarterly 日本季刊
标签:DDOS攻击流量