什么是DDoS攻击?
分布式拒绝服务(DDoS)攻击是一种恶意尝试,目的是通过大量Internet流量淹没目标或其周围基础结构,从而破坏目标服务器,服务或网络的正常流量。DDoS攻击通过利用多个受损的计算机系统作为攻击流量的来源来实现有效性。被利用的机器可以包括计算机和其他联网资源,例如IoT设备。从较高的角度来看,DDoS攻击就像是交通拥堵,高速公路阻塞,阻止了正常的交通到达其期望的目的地。
DDoS攻击如何工作?
DDoS攻击要求攻击者获得对在线计算机网络的控制才能进行攻击。计算机和其他机器(例如IoT设备)感染了恶意软件,从而将每一个变成了机器人(或僵尸)。然后,攻击者可以对称为僵尸网络的僵尸网络进行远程控制。
一旦建立了僵尸网络,攻击者便可以通过远程控制方法向每个僵尸程序发送更新的指令,从而控制机器。当僵尸网络将受害者的IP地址作为目标时,每个bot都会通过向目标发送请求来做出响应,从而有可能导致目标服务器或网络的容量溢出,从而导致对正常流量的拒绝服务。由于每个漫游器都是合法的Internet设备,因此很难将攻击流量与正常流量分开。
DDoS攻击的常见类型是什么?
不同的DDoS攻击媒介针对网络连接的不同组件。为了了解不同的DDoS攻击如何工作,有必要知道如何建立网络连接。互联网上的网络连接由许多不同的组件或“层”组成。就像从头开始建造房屋一样,模型中的每个步骤都有不同的用途。该OSI模型,如下所示,是用来描述在7不同的层的网络连接的概念框架。
虽然几乎所有的DDoS攻击都涉及到目标设备或网络的流量,但攻击可以分为三类。攻击者可能利用一个或多个不同的攻击媒介,或者潜在地根据目标采取的对策来循环攻击媒介。
应用层攻击
攻击目标:
有时被称为第7层 DDoS攻击(参考OSI模型的第7层),这些攻击的目标是耗尽目标的资源。攻击针对的是服务器上生成网页并响应HTTP请求而进行传递的层。单个HTTP请求在客户端执行的成本很低,并且对于目标服务器的响应可能很昂贵,因为服务器通常必须加载多个文件并运行数据库查询才能创建网页。难以防御第7层攻击,因为很难将流量标记为恶意流量。
应用层攻击示例:
HTTP洪水
这种攻击类似于在许多不同的计算机上一次又一次地在Web浏览器中按下刷新-大量HTTP请求泛滥到服务器上,从而导致拒绝服务。
这类攻击的范围从简单到复杂。较简单的实现可以使用相同范围的攻击IP地址,引荐来源网址和用户代理访问一个URL。复杂版本可能会使用大量攻击性IP地址,并使用随机引荐来源网址和用户代理来定位随机网址。
协议攻击
攻击目标:
协议攻击(也称为状态耗尽攻击)通过消耗Web应用程序服务器或防火墙和负载平衡器之类的中间资源的所有可用状态表容量,导致服务中断。协议攻击利用协议栈的第3层和第4层中的弱点使目标无法访问。
协议攻击示例:
同步洪水
SYN Flood类似于供应室的工人从商店的前台接收请求。工人收到一个请求,去拿包裹,然后等待确认,然后才把包裹拿出来。然后,工作人员将收到更多的包裹请求,而无需确认,直到他们无法再携带其他包裹,不知所措,并且请求开始无人问津。
该攻击通过向目标发送大量带有欺骗性源IP地址的TCP“初始连接请求” SYN数据包来利用TCP握手。目标计算机响应每个连接请求,然后等待握手中的最后一步(此过程永远不会发生),从而耗尽了该过程中目标的资源。
体积攻击
攻击目标:
此类攻击试图通过消耗目标与较大Internet之间的所有可用带宽来造成拥塞。通过使用放大形式或其他创建大量流量的方法(例如来自僵尸网络的请求),会将大量数据发送到目标。
放大示例:
DNS放大
一个DNS放大就像如果有人打电话给餐厅和说:“我所拥有的一切的一个,请给我打电话,告诉我,我的整个秩序,”他们给回调的电话号码是目标的数量。只需很少的努力,就可以产生较长的响应。
通过向具有欺骗性IP地址(目标的真实IP地址)的开放DNS服务器发出请求,目标IP地址将收到来自服务器的响应。攻击者构造请求,以便DNS服务器以大量数据响应目标。结果,目标收到了攻击者初始查询的放大。
缓解DDoS攻击的过程是什么?
缓解DDoS攻击的关键问题是区分攻击和正常流量。例如,如果某个产品发布的公司网站充斥着热切的客户,那么切断所有流量就是一个错误。如果该公司的突然流量来自已知的不良行为者,则可能有必要努力减轻攻击。困难在于它难以区分真正的客户和攻击流量。
在现代互联网中,DDoS流量以多种形式出现。流量在设计上可能有所不同,从未经欺骗的单源攻击到复杂的自适应多矢量攻击。多矢量DDoS攻击使用多种攻击途径,以不同的方式压倒目标,从而可能分散任何一条轨道上的缓解努力。多向量DDoS的示例是一种攻击,它同时针对协议栈的多层,例如DNS放大(目标层3/4)与HTTP泛洪(目标层7)耦合。
缓解多向量DDoS攻击需要多种策略来应对不同的发展轨迹。一般而言,攻击越复杂,流量就越难与正常流量分离-攻击者的目标是尽可能多地融合,从而降低缓解效率。涉及不加选择地丢弃或限制流量的缓解尝试可能会将好的流量丢掉,而攻击也可能会修改并适应规避对策。为了克服复杂的中断尝试,分层解决方案将带来最大的收益。
黑洞布线
几乎所有网络管理员都可以使用的解决方案是创建黑洞路由,并将流量汇入该路由。以最简单的形式,当在没有特定限制条件的情况下实施黑洞过滤时,合法和恶意网络流量都将路由到空路由或黑洞,并从网络中丢弃。如果Internet财产遭受DDoS攻击,则该财产的Internet服务提供商(ISP)可能会将站点的所有流量发送到黑洞中,以作为防御措施。
限速
限制服务器在特定时间范围内接受的请求数量也是减轻服务拒绝攻击的一种方法。虽然速率限制有助于减慢Web爬虫窃取内容的速度并减轻暴力登录尝试,但仅靠速率限制可能不足以有效地处理复杂的DDoS攻击。但是,速率限制是有效的DDoS缓解策略中的有用组成部分。
Web应用防火墙
甲Web应用防火墙(WAF)是一种工具,可以有助于减轻层7个DDoS攻击。通过将WAF放在Internet和原始服务器之间,WAF可以充当反向代理,从而保护目标服务器免受某些类型的恶意流量的侵害。通过基于用于识别DDoS工具的一系列规则过滤请求,可以阻止第7层攻击。有效的WAF的一个关键价值是能够快速实施自定义规则以应对攻击。
任播网络扩散
这种缓解方法使用Anycast网络将攻击流量分散到分布式服务器网络中,直至网络吸收流量。就像将一条湍急的河流沿着单独的较小河道引导一样,这种方法将分布式攻击流量的影响分散到可以控制的程度,从而分散了任何破坏性能力。
Anycast网络缓解DDoS攻击的可靠性取决于攻击的大小以及网络的大小和效率。Cloudflare实施的DDoS缓解措施的重要部分是使用Anycast分布式网络。Cloudflare具有30 Tbps的网络,比记录的最大DDoS攻击大一个数量级。