什么是SYN Flood攻击?

SYN Flood(半开放攻击)是一种拒绝服务(DDoS)攻击,其目的是通过消耗所有可用的服务器资源使服务器不可用于合法流量。通过重复发送初始连接请求(SYN)数据包,攻击者能够压倒目标服务器机器上的所有可用端口,导致目标设备根本不响应合法流量。

SYN Flood攻击如何工作?

通过利用TCP连接的握手过程,SYN Flood攻击工作。在正常情况下,TCP连接显示三个不同的进程以进行连接。

1.首先,客户端向服务器发送SYN数据包,以便启动连接。
2.服务器响应该初始包与SYN / ACK包,以确认通信。
3.最后,客户端返回ACK数据包以确认从服务器接收到的数据包。完成这个数据包发送和接收序列后,TCP连接打开并能发送和接收数据。

为了创建拒绝服务,攻击者利用这样的事实,即在接收到初始SYN数据包之后,服务器将用一个或多个SYN / ACK数据包进行响应,并等待握手中的最后一步。这是它的工作原理:

攻击者向目标服务器发送大量SYN数据包,通常会使用欺骗性的IP地址。
然后,服务器响应每个连接请求,并留下开放端口准备好接收响应。
当服务器等待从未到达的最终ACK数据包时,攻击者继续发送更多的SYN数据包。每个新的SYN数据包的到达导致服务器暂时维持新的开放端口连接一段时间,一旦所有可用端口被使用,服务器就无法正常工作。

在网络中,当服务器断开连接但连接另一端的机器没有连接时,连接被认为是半开的。在这种类型的DDoS攻击中,目标服务器不断离开打开的连接,等待每个连接超时,然后端口再次可用。结果是这种攻击可以被认为是“半开攻击”。

SYN洪水可以以三种不同的方式发生:

直接攻击IP地址不被欺骗的SYN Flood被称为直接攻击。在这次攻击中,攻击者根本不掩盖其IP地址。由于攻击者使用具有真实IP地址的单个源设备来创建攻击,因此攻击者极易受到发现和缓解的影响。为了在目标机器上创建半开状态,黑客可以防止其机器响应服务器的SYN-ACK数据包。这通常是通过阻止除SYN数据包之外的传出数据包的防火墙规则来实现的,或者在到达恶意用户机器之前过滤任何传入的SYN-ACK数据包。实际上,这种方法很少使用(如果有的话),因为减轻是非常简单的 – 只是阻止每个恶意系统的IP地址。
欺骗性攻击:恶意用户也可以欺骗他们发送的每个SYN数据包上的IP地址,以抑制缓解工作,使其身份更难发现。虽然数据包可能被欺骗,但这些数据包可能会被追溯到其来源。很难做这种侦探工作,但并不是不可能的,特别是如果互联网服务提供商(ISP)愿意帮助的话。
分布式攻击(DDoS):如果使用僵尸网络创建攻击,则将攻击溯源到源的可能性很低。对于增加的混淆级别,攻击者可能会使每个分布式设备也欺骗发送数据包的IP地址。如果攻击者正在使用诸如未来僵尸网络的僵尸网络,他们通常不会关心被感染设备的IP掩蔽
通过使用SYN Flood攻击,恶意攻击者可以尝试在目标设备或服务中创建拒绝服务,其流量大大低于其他DDoS攻击。为了使目标周边的网络基础设施饱和,SYN攻击只需要比目标操作系统中可用的积压更大的体积攻击。如果攻击者能够确定积压的大小,并且在超时之前每个连接将被打开多长时间,攻击者可以定位禁用系统所需的确切参数,从而将总流量减少到最小必要量以创建拒绝服务。

如何减轻SYN洪水攻击?

长期以来已知SYN洪水脆弱性,并且已经采用了许多缓解途径。几种方法包括:

增加积压队列

目标设备上的每个操作系统都具有一定数量的半开放连接。对大量SYN数据包的一个响应是增加操作系统允许的可能半开连接的最大数量。为了成功增加最大积压,系统必须预留额外的内存资源来处理所有新的请求。如果系统没有足够的内存来处理增加的积压队列大小,系统性能将受到负面影响,但仍然可能优于拒绝服务。

回收最早的半开TCP连接

一旦积压已被填补,另一个缓解策略就是覆盖最早的半开式连接。这种策略要求合法连接可以在比可以填充恶意SYN数据包的积压时间更短的时间内完全建立。当攻击量增加时,或者如果积压量太小而不实际,这种特定的防御就会失败。

SYN饼干

这个策略涉及服务器创建一个cookie。为了避免在积压已经被填满的情况下连接丢失的风险,服务器使用SYN-ACK数据包对每个连接请求进行响应,然后从积压中删除SYN请求,从存储器中删除请求并使端口打开,准备建立新的连接。如果连接是合法请求,并且最终的ACK数据包从客户端计算机发送回服务器,则服务器将重建(有一些限制)SYN积压队列条目。尽管这种缓解措施确实丢失了有关TCP连接的一些信息,但是优于允许合法用户因攻击而发生拒绝服务。

常见的DDoS攻击有哪些类型?

什么是常见类型的DDoS攻击?

不同的DDoS攻击向量针对网络连接的不同组件。为了了解DDoS攻击是如何工作的,有必要了解如何进行网络连接。互联网上的网络连接由许多不同的组件或“层”组成。就像从头开始建房子一样,模型中的每一步都有不同的目的。以下所示的 OSI模型是用于描述7个不同层中的网络连接的概念框架。

虽然几乎所有的DDoS攻击都涉及到具有流量的目标设备或网络压倒一切,但是攻击可以分为三类。攻击者可以利用一个或多个不同的攻击向量,或者潜在地基于目标采取的对策来循环攻击向量。

应用层攻击

攻击目标:

有时被称为第7层DDoS攻击(参考OSI模型的第7层),这些攻击的目标是耗尽目标资源。这些攻击的目标是在服务器上生成网页并传递 HTTP请求的层。单个HTTP请求在客户端方便执行,并且由于服务器通常必须加载多个文件并运行数据库查询才能创建网页,因此目标服务器可能需要响应。第7层攻击难以保护,因为流量可能难以标记为恶意。

HTTP Flood攻击

这种攻击类似于在许多不同的计算机上一次又一次地在网络浏览器中重新刷新 – 大量的HTTP请求使服务器泛滥,导致拒绝服务。

这种攻击范围从简单到复杂。更简单的实现可以访问具有相同范围的攻击IP地址,引荐来源和用户代理的一个URL。复杂版本可能使用大量攻击IP地址,并使用随机引用和用户代理来定位随机URL。

协议攻击

攻击目标:

协议攻击也称为耗尽国家的攻击,通过消耗Web应用程序服务器或中间资源(如防火墙和负载平衡器)的所有可用状态表容量来导致服务中断。协议攻击利用协议栈第3层和第4层的缺点,使目标无法访问。

协议攻击范例:

SYN Flood攻击

SYN Flood攻击类似于供应室中的一名工作人员,接收来自商店前面的请求。工作人员收到请求,取出包装,并在将包装送到前面等待确认。然后,工作人员可以获得更多的包请求,无需确认,直到它们不再携带任何更多的包,变得不知所措,并且请求开始没有得到答复。

此攻击通过向目标发送大量具有欺骗性源IP地址的TCP“初始连接请求”SYN数据包来利用 TCP握手。目标机器响应每个连接请求,然后等待握手中的最后一步,从不发生,从而在进程中耗尽目标的资源。

容量攻击

攻击目标:

这种类型的攻击尝试通过在目标和较大的Internet之间消耗所有可用带宽来创建拥塞。大量的数据通过使用一种形式的放大或者创建大量流量的另一种手段(例如来自僵尸网络的请求)被发送到目标。

放大攻击范例:

DNS扩增攻击

一个 DNS放大攻击就像如果有人打电话给餐厅和说:“我所拥有的一切的一个,请给我打电话,告诉我,我的整个秩序,”他们给回调的电话号码是目标的数量。只需很少的努力,就会产生很长的反应。

通过向具有欺骗 IP地址(目标的真实IP地址)的开放DNS服务器发出请求 ,目标IP地址接收来自服务器的响应。攻击者构造请求,使得DNS服务器用大量数据对目标进行响应。因此,目标接收到攻击者初始查询的放大。

减轻DDoS攻击的过程是什么?

减轻DDoS攻击的关键是区分攻击和正常流量。例如,如果产品发布有一个公司的网站淹没了渴望的客户,那么切断所有流量就是一个错误。如果那家公司突然从已知不良行为者的流量急剧增加,那么减轻攻击的努力可能是必要的。困难在于它将真正的客户和攻击流量分开。

在现代互联网中,DDoS流​​量有多种形式。流量可能因设计而异,从单一源攻击到复杂和自适应多向量攻击。多向量DDoS攻击使用多种攻击途径,以不同的方式压制目标,可能会分散任何轨迹上的缓解工作。同时针对多层协议栈的攻击,例如与HTTP洪泛(目标层7)相结合的DNS放大(目标层3/4))是多向量DDoS的示例。

减轻多向量DDoS攻击需要采取多种策略来对抗不同的轨迹。一般来说,攻击越复杂,流量越难以与正常流量分离,攻击者的目标就是尽可能地融合,使缓解效率尽可能低。减少或限制交通流量的缓解措施可能导致交通不畅,攻击也可能修改并适应规避对策。为了克服复杂的破坏性尝试,分层解决方案将给予最大的好处。

黑洞路由

几乎所有网络管理员可以使用的一个解决方案就是创建一个 黑洞路由,并将流量引入该路由。在最简单的形式中,当没有具体的限制标准实现黑洞筛选时,合法和恶意网络流量将路由到空路由或黑洞并从网络中丢弃。如果Internet属性遇到DDoS攻击,则该物业的Internet服务提供商(ISP)可将所有站点的流量发送到黑洞作为防御。

速率限制

限制服务器在某个时间窗口中接受的请求数量也是减轻拒绝服务攻击的一种方式。虽然速率限制对于减缓网页刮板窃取内容和减轻暴力登录尝试是有用的,但单靠这种尝试可能不足以有效地处理复杂的DDoS攻击。然而,速率限制是有效的DDoS缓解策略中的有用组件。了解 Cloudflare的速率限制。

Web应用程序防火墙

Web应用程序防火墙(WAF)是可以帮助缓解第7层DDoS攻击的工具。通过在互联网和源服务器之间放置WAF,WAF可以作为反向代理,保护目标服务器免受某些类型的恶意流量的影响。通过基于用于识别DDoS工具的一系列规则过滤请求,可能会阻碍第7层攻击。有效WAF的一个关键价值是能够快速实施自定义规则以应对攻击。了解 Cloudflare的WAF。

任播网络扩散

这种缓解方法使用Anycast网络将分布式服务器网络上的攻击流量分散到网络吸收流量。像将一条冲水河流分开的较小渠道一样,这种方法将分布式攻击流量的影响扩大到可管理的地步,扩大了任何破坏性的能力。

Anycast网络缓解DDoS攻击的可靠性 取决于攻击的大小以及网络的大小和效率。Cloudflare实施的DDoS缓解的一个重要部分是使用Anycast分布式网络。Cloudflare具有10 TBPS网络,比所记录的最大的DDoS攻击大一个数量级。