ICMP 攻击:您需要了解的一切

已发表: 2023-09-19

毫不奇怪,黑客努力寻找一切事物的弱点,从简单的软件到支撑我们所知的互联网结构的最基本的协议。 作为互联网协议栈的重要组成部分之一,互联网控制消息协议充当全球消息载体,传达有关构成万维网的网络设备和整个网络状态的重要信息。

尽管 ICMP 是一种非常宝贵的通信工具,但它却成为攻击者利用其设计中固有的弱点的潜在途径。 恶意行为者利用 ICMP 消息中的信任网络设备,试图绕过受害者主机部署的安全系统,从而导致网络操作中断,最终导致拒绝服务。

作为一组独特的拒绝服务攻击,ICMP 攻击不再是攻击者工具箱中的主要工具。 然而,它们继续对在线业务造成严重破坏。 Ping 洪水攻击、smurf 攻击和所谓的死亡 ping — 所有这些都是 ICMP 攻击的不同变体,仍然可能对全球网络运营构成威胁。

在本 ICMP 攻击指南中,您将了解什么是 ICMP 以及黑客如何使用它对服务器和整个网络造成拒绝服务。 我们将深入研究 ICMP 攻击的潜在机制,为您提供必要的知识和工具,以保护您的企业免受其造成的伤害。

ICMP攻击

什么是 ICMP?

Internet 控制消息协议 (ICMP) 是一种网络协议,网络设备使用该协议来相互传送操作信息。 虽然 ICMP 通常被认为是 IP 协议的一部分,因为它的消息作为 IP 有效负载携带,但 Internet 控制消息协议位于其之上,并被指定为 IP 数据报中的上层协议。 然而,它的活动仍然局限于互联网协议簇的第三层,即网络层。

每个 ICMP 消息都有一个类型和一个代码字段,用于指定它传达的信息类型及其用途,以及导致生成消息的原始请求的一部分。 例如,如果目标主机最终无法访问,则未能将原始请求传递给它的路由器将生成 ICMP 类型三代码一消息,让您知道它无法找到到达您指定的服务器的路径。

ICMP 有何用途?

大多数时候,ICMP 用于在无法到达目标网络或终端系统的情况下处理错误报告。 诸如“目标网络无法访问”之类的错误消息都源自 ICMP,如果您的请求从未完成其预期旅程,则会向您显示。 由于 ICMP 消息包含原始请求的一部分,系统将轻松将其映射到正确的目的地。

尽管错误报告是 Internet 控制消息协议的主要应用之一,但 ICMP 支撑了两种基本网络诊断工具(ping 和 Traceroute)的功能。 这两个实用程序都广泛用于测试网络连接和跟踪删除网络和终端系统的路径。 虽然 ping 和 Traceroute 通常可以互换使用,但它们的操作方法却有很大不同。

Ping 和跟踪路由

Ping 发送一系列回显请求类型的 ICMP 消息,期望来自目标主机的回显答复。 如果每个请求都收到响应,Ping 将报告源系统和目标系统之间没有数据包丢失。 同样,如果某些消息由于网络拥塞而从未到达目的地,则实用程序会将这些数据包报告为丢失。

Traceroute 有一个更复杂的机制,并且是为了不同的目的而创建的。 它不是向预期主机发送回显请求,而是发出大量 IP 数据包,这些数据包一旦到达预期目的地就会过期。 这样,接收路由器或主机将被迫生成生存时间 (TTL) 过期的 ICMP 消息,并将该消息发送回源。 收到每个原始数据包的 ICMP 响应消息后,Traceroute 将获得形成到目标主机的路由的数据包交换机的名称,以及原始数据包到达每个交换机所花费的时间。

是什么让 ICMP 易于被利用?

由于 ICMP 仅限于开放系统互连 (OSI) 模型的网络层,因此其请求在传输前不需要建立连接,TCP 引入并由 TLS 放大的三向握手就是这种情况SSL/TLS 证书的使用。 这使得向任何系统发送 ping 请求成为可能,从而使其易于被利用。

正如您所看到的,尽管 ICMP 已证明自己是全球网络的宝贵组成部分,但它也吸引了想要将其用于恶意目的的网络犯罪分子的注意。 恶意行为者利用 ICMP 实施中存在的弱点对网络和单个主机造成破坏。 通过执行 ICMP 攻击,黑客将 ICMP 从重要的网络诊断工具转变为网络中断的根本原因。

ICMP 攻击是一种危险性较低的拒绝服务 (DoS) 类型

ICMP 攻击利用互联网控制消息协议的功能,通过请求淹没目标网络和设备,导致所谓的带宽泛洪,这是一种拒绝服务 (DoS) 形式,旨在耗尽受害者处理传入流量的能力。 ICMP 攻击可以定义为使用 ICMP 消息作为破坏网络运行的主要工具的拒绝服务攻击。

与大多数其他类型的拒绝服务攻击相比,ICMP 攻击通常被认为危险性较低且更容易防御。 虽然 ICMP 攻击仍然可能造成重大损害,但由于以下几个原因,它们通常更容易检测和缓解:

  • ICMP 攻击主要针对网络层。 ICMP 在互联网协议栈的较低级别上运行,与其他拒绝服务攻击中使用的数据密集型有效负载相比,ICMP 消息携带较小的有效负载。 这使得识别恶意 ICMP 流量变得更加容易。
  • ICMP 攻击显示出独特的模式。 恶意 ICMP 消息通常表现出独特的模式,例如来自同一发送者的大量回显请求或特定错误消息。
  • ICMP 流量更容易限制。 网络管理员可以限制甚至完全禁用传入和传出 ICMP 流量,这不会对正常操作造成任何明显的中断。

ICMP 攻击的 3 种主要类型

ICMP 攻击的三种主要类型包括 ping 洪水、Smurf 攻击和 ping of Death 攻击。 它们各自使用不同的机制,但主要区别在于网络犯罪分子使用的 ICMP 消息类型。

正如我们所讨论的,除了生成回显请求并将其定向到目标的 Ping 实用程序之外,ICMP 消息通常由目标系统生成,以警告源存在某个问题。 这样,攻击者就可以利用更复杂的技术,例如使攻击的受害者在另一个受害者眼中成为攻击者,而不是将 ICMP 数据包爆发导向受害者的系统。

让我们仔细看看三种最流行的 ICMP 攻击类型,看看它们是如何在广泛引入突出的防御机制之前对互联网造成大规模破坏的。

平洪水

Ping 洪水是 ICMP 攻击最简单且最普遍的变体,其中恶意行为者将过量的回显请求定向到受害者系统或网络。 网络犯罪分子模拟 Ping 实用程序的正常活动,以目标主机的带宽为目标。

随着向同一方向发送大量 ICMP 请求,目标的访问链路会被堵塞,从而成功阻止合法流量到达目的地。 由于每个回显请求都会收到 ICMP 回显回复消息,因此 ping 洪水攻击可能会导致 CPU 使用率显着增加,从而降低终端系统的速度,从而导致完全拒绝服务。

与任何其他类型的 DoS 一样,恶意行为者可以利用多个主机来执行 ping 洪水攻击,将其转变为分布式拒绝服务 (DDoS) 攻击。 使用多个攻击源不仅可以放大攻击的效果,还可以帮助攻击者避免被发现并隐藏其身份。

分布式拒绝服务攻击通常利用僵尸网络——由攻击者控制的受感染端点和网络设备组成的网络。 僵尸网络是通过用一种特殊类型的恶意软件感染受害者的设备来创建和扩展的,这些恶意软件将使僵尸网络的所有者能够远程控制受感染的系统。 一旦收到指示,受感染的设备将在合法所有者不知情或未同意的情况下,开始使用 ICMP 回显请求消息压倒 ping 洪水攻击的目标。

最著名的大规模 ping 洪水攻击之一发生在 2002 年。网络犯罪分子利用僵尸网络将大量 ICMP 回显请求消息定向到 13 个 DNS 根名称服务器中的每一个。 幸运的是,由于名称服务器后面的数据包交换机已配置为丢弃所有传入的 ping 消息,因此该攻击对全球互联网体验几乎没有影响。

蓝精灵攻击

Smurf 攻击使 ICMP 回显请求看起来像是来自不同的来源,从而将受害者转变为攻击者。 攻击者通过欺骗发送者地址,将大量 ICMP 消息定向到一个或多个设备网络,希望让回显响应淹没真正受害者的主机(即在原始 ping 请求中指定为源的系统)。

Smurf 攻击因其巨大的破坏潜力而一度被认为是计算机网络的主要威胁。 然而,到目前为止,这种攻击媒介很少被使用,通常被认为是一个已解决的漏洞。 这是因为绝大多数数据包过滤器都会自动丢弃发送至广播地址的 ICMP 消息,这意味着它们会被定向到目标网络上的所有设备。 指定这样的规则将防止网络被用于 Smurf 拒绝服务攻击,从而有效地结束这种攻击。

死亡之平

虽然 ping 洪水和 smurf 攻击被认为是基于容量的拒绝服务攻击,但 ping of Death 是一种漏洞攻击,旨在通过向目标发送精心设计的 ICMP 消息来使受害者系统无法运行。 这种 ICMP 攻击被认为不如我们之前讨论的其他两种 DoS 攻击那么普遍。 然而,它具有最大的破坏潜力。

ICMP 消息在 IP 数据报中携带,其大小有限。 向主机发送格式错误或过大的消息可能会导致内存溢出,并可能导致整个系统崩溃。 尽管听起来很危险,但大多数现代系统都配备了足够的手段来检测此类异常,从而防止格式错误的 ICMP 消息到达目的地。

如何检测和缓解 ICMP 攻击?

黑客无法选择攻击哪些网站和服务器,尤其是在大规模 DDoS 攻击中。 如果您想知道“黑客为什么要攻击我的网站?”,请务必记住,无论出于何种原因,拥有缓解 ICMP 攻击的知识对于维护在线状态的安全至关重要。

ICMP 攻击缓解(特别是在 ping 洪水的情况下)与缓解其他类型的拒绝服务攻击没有什么不同。 关键是识别恶意流量并阻止其来源,从而有效地拒绝攻击者访问服务器。

然而,您很少需要手动观察和分析网络流量,因为大多数安全解决方案(从传统的无状态数据包过滤器到高级入侵检测系统 (IDS))都是开箱即用的配置,用于限制 ICMP 流量的速率并有效缓解 ICMP 攻击。 由于现代安全解决方案的进步,ping 洪水和其他类型的 ICMP 攻击不再对服务器和网站构成重大威胁。

如何防御ICMP攻击?

针对 ICMP 攻击的有效防御策略首先要实施强大的数据包过滤规则,其中包括速率限制甚至完全禁用传入和传出 ICMP 流量。 虽然阻止所有 ICMP 消息进入和离开服务器将导致无法跟踪到服务器的路由以及无法到达服务器的 ping 请求,但它对服务器和网站操作几乎没有影响。

通常,出站 ICMP 流量默认受到软件防火墙的限制,因此您的托管提供商很可能已经为您做到了这一点。 LiquidWeb 和 Nexcess 提供的所有完全托管托管解决方案都配备了强大的防火墙规则,只需很少甚至无需调整即可防御 ICMP 攻击。

一般来说,如果您想让 Ping 和 Traceroute 实用程序在全球网络上发现您的服务器,您可以选择对传入和传出 ping 请求进行速率限制。 大多数软件防火墙的默认配置是将每个 IP 地址传入的 ICMP 回显请求的数量限制为每秒一个,这是一个很好的起点。

保护服务器免受 ping 洪水和其他 ICMP 攻击的一个好方法是使用内容分发网络 (CDN)。 现代 CND 实施强大的防火墙规则并执行深度数据包检查,从而显着减少到达服务器的恶意请求数量。 当遇到ICMP攻击时,即使是CDN部署的默认防火墙规则集也能有效防御ICMP攻击。

使用 iThemes Security Pro 保护您的 WordPress 网站

利用协议栈中互联网控制消息的实现,网络犯罪分子可以将互联网的基本组成部分转变为危险武器,用于对企业和个人造成严重破坏。 ICMP 攻击(例如 ping 洪水或 smurf 攻击)旨在通过大量或恶意 ICMP 消息淹没目标主机或网络设备,从而造成拒绝服务。 利用僵尸网络和欺骗源地址可以帮助黑客使 ICMP 攻击更加有效,并显着增加其破坏的可能性。

幸运的是,ICMP 攻击不再是网站和服务器的主要威胁,因为现代安全解决方案提供了强大的防御机制,有助于成功防止和缓解 ping 洪水。 ICMP 攻击的危险性低于其他针对协议栈应用层的拒绝服务 (DoS) 攻击。

iThemes Security Pro 和 BackupBuddy 始终保护您的 WordPress,确保您在网络安全威胁面前领先一步。 借助灵活的备份计划和一键恢复,您可以放心,您的 WordPress 网站的干净工作副本会安全地存储在黑客无法到达的远程位置。 先进的强力保护、多因素身份验证、文件完整性监控和漏洞扫描将显着减少攻击面,并帮助您轻松缓解任何威胁。