DoS 攻击类型入门指导与实例分析
前提
许多企业高度依赖在线托管服务,服务器必须在工作时间内正常运行。股市、赌场等处理大量资金的企业尤其如此。黑客可能威胁在这些时间内关闭或阻止服务器,从而进行勒索。拒绝服务(DoS)攻击是执行此类攻击的最常用方法。
DoS 是什么?
DoS(Denial of Service)是最古老的网络攻击形式之一。顾名思义,它意味着拒绝向合法用户提供服务。如果目标网站无法访问,就无法提供任何服务。
DoS 攻击的两种主要方式
- 特殊设计的数据:将特殊设计的数据发送给受害者,而受害者没有设置好处理这些数据,导致崩溃。这并不涉及发送太多的数据,但包括受害者无法处理的特殊设计的数据包。例如 Ping 死亡和碎片攻击。
- 泛滥(Flood):给受害者发送过多的数据也会减慢它的速度。它将花费资源来消耗攻击者的数据,而无法提供合法数据。这可能是一种 DDoS 攻击,攻击者从许多计算机向受害者发送数据包。
作为黑客,攻击也可以使用两者的组合。例如,UDP 泛洪和 SYN 泛洪就是这类攻击的例子。
还有一种形式的 DoS 攻击,称为 DDoS 攻击。DoS 攻击使用一台计算机进行攻击,DDoS 攻击使用一系列计算机来实施。有时,目标服务器会被大量数据淹没,无法处理。另一种方法是利用内部协议的工作原理。处理勒索的 DDoS 攻击通常被称为勒索 DDoS。
常见的 DoS 攻击类型
泪滴攻击或 IP 碎片攻击
在这种类型的攻击中,黑客需要向受害者发送一个特制的数据包。为了跨网络传输数据,IP 数据包被分解成更小的数据包,这叫碎片化。当数据包最终到达目的地时,它们被重新组装在一起以获得原始数据。
在碎片化过程中,一些字段被添加到碎片化的包中,以便在重新组装时可以在目的地跟踪它们。在泪滴攻击中,攻击者精心设计一些彼此重叠的包。因此,目的地的操作系统对如何重新组装数据包感到困惑,从而导致崩溃。
用户数据报协议洪泛(UDP Flood)
用户数据报协议 (UDP) 是一个不可靠的包。这意味着数据的发送方不关心接收方是否已经接收到它。在 UDP 洪水攻击中,许多 UDP 数据包被发送到随机端口的受害者。
当受害者在一个端口上得到一个包时,它会寻找正在监听那个端口的应用程序。当它找不到包时,它会用 Internet 控制消息协议 (ICMP) 包进行应答。ICMP 包用于发送错误消息。当接收到大量 UDP 包时,受害者使用 ICMP 包进行回复会消耗大量资源。这可能会阻止受害者响应合法的请求。
SYN 洪泛(SYN Flood)
TCP 是一种可靠的连接,确保发送方发送的数据被接收方完全接收。要启动发送方和接收方之间的通信,TCP 遵循三次握手:
- 发送方首先发送一个 SYN 包。
- 接收方使用 SYN-ACK 进行应答。
- 发送者返回一个 ACK 包,后面跟着数据。
在 SYN 洪泛中,发送方是攻击者,接收方是受害者。攻击者发送一个 SYN 包,服务器用 SYN-ACK 响应。但是攻击者不会使用 ACK 包进行回复。服务器期望攻击者发送一个 ACK 包并等待一段时间。攻击者发送大量 SYN 包,服务器等待最终的 ACK 直到超时。因此,服务器耗尽了等待 ACK 的资源。这种攻击称为 SYN 洪泛。
Ping 的死亡(Ping of Death)
在 Internet 上传输数据时,数据被分成更小的数据包块。接收端将这些中断的数据包重新组合在一起。在一次 Ping 死亡攻击中,攻击者发送一个大于 65,536 字节的数据包,这是 IP 协议允许的最大数据包大小。这些包被分割并通过互联网发送。但是,当数据包在接收端重新组装时,操作系统却不知道如何处理这些较大的数据包,因此它会崩溃。
Exploits 利用
对服务器的攻击也会导致 DDoS 漏洞。许多 Web 应用程序都驻留在 Web 服务器上,比如 Apache 和 Tomcat。如果这些 Web 服务器存在漏洞,攻击者可以针对该漏洞发起攻击。这种攻击不一定要控制,但它会使 Web 服务器软件崩溃。这会导致 DoS 攻击。如果服务器有默认配置,黑客可以很容易地找到 Web 服务器及其版本。攻击者找出 Web 服务器可能存在的漏洞。如果 Web 服务器没有打补丁,攻击者可以通过发送漏洞使其宕机。
僵尸网络攻击
僵尸网络可以用来实施 DDoS 攻击。僵尸网络群是被感染的计算机的集合。被入侵的电脑被称为'机器人',它们会根据来自 C&C 服务器的命令采取行动。这些机器人在 C&C 服务器的命令下,可以发送大量的数据到受害服务器,结果,受害服务器超载。


