什么是NTP扩增攻击?

NTP扩增攻击是基于反射的体积 分布式拒绝服务(DDoS)攻击,其中攻击者利用网络时间协议(NTP)服务器功能,以便以放大的UDP 流量淹没目标网络或服务器 ,使目标及其周边基础设施无法进入定期流量。

NTP放大攻击如何工作?

所有放大攻击利用攻击者与目标网络资源之间的带宽成本差异。当成本的差异在许多请求中被放大时,由此造成的流量可能会破坏网络基础设施。通过发送导致大量响应的小型查询,恶意用户能够从更少的角度获得更多。当通过使僵尸网络中的每个机器人发出类似的请求来乘以该放大倍数时,攻击者既被检测并且获得了大大增加的攻击流量的好处。

DNS泛滥攻击与DNS放大攻击不同。与DNS洪水不同,DNS放大攻击反映和放大不安全的DNS服务器的流量,以隐藏攻击的起源并提高其有效性。DNS扩展攻击使用具有较小带宽连接的设备向不安全的DNS服务器发出大量请求。这些设备对于非常大的DNS记录提出了许多小的请求,但是在提出请求时,攻击者将返回地址设置为预期的受害者。扩展允许攻击者只用有限的攻击资源来取出更大的目标。

NTP扩充,很像DNS扩展,可以在恶意的少年打电话给餐厅的上下文中说,“我会有一件事,请打电话给我,告诉我我的整个订单。”当餐厅要求一个回拨号码,给出的数字是目标受害者的电话号码。然后,该目标从餐厅接收到他们没有请求的大量信息的呼叫。

网络时间协议旨在允许互联网连接的设备同步其内部时钟,并在互联网架构中起重要作用。通过利用某些NTP服务器上启用的monlist命令,攻击者能够将其初始请求流量乘以一个较大的响应。默认情况下,在旧设备上启用此命令,并响应已向NTP服务器发出的请求的最近600个源IP地址。来自其存储器中具有600个地址的服务器的monlist请求将比初始请求大206倍。这意味着拥有1 GB互联网流量的攻击者可能会发生200多GB的攻击,导致攻击流量大幅增加。

NTP扩增攻击可以分为四个步骤:

1.攻击者使用僵尸网络将具有欺骗IP地址的UDP数据包发送到启用其monlist命令的NTP服务器。每个数据包上的欺骗IP地址指向受害者的真实IP地址。
2.每个UDP数据包使用其monlist命令向NTP服务器发出请求,导致响应很大。
3.然后,服务器使用结果数据对欺骗地址进行响应。
4.目标的IP地址接收到响应,并且周围的网络基础设施变得不堪重负,流量很大,导致拒绝服务。

由于攻击流量看起来像来自有效服务器的合法流量,因此减轻这种攻击流量而不会将真正的NTP服务器从合法活动阻止,这是困难的。由于UDP数据包不需要握手,NTP服务器将向目标服务器发送大量响应,而不会验证该请求是否正确。这些事实加上内置命令,默认情况下发送一个很大的响应,使NTP服务器成为DDoS放大攻击的出色反映源。

如何减轻NTP扩增攻击?

对于运行网站或服务的个人或公司,减轻选择是有限的。这是因为个人的服务器虽然可能是目标,但并不是感觉到体积攻击的主要影响。由于产生的流量大,服务器周围的基础设施感受到影响。互联网服务提供商(ISP)或其他上游基础架构提供商可能无法处理传入的流量,而不会被淹没。因此,ISP可能会将目标受害者的IP地址的所有流量黑洞,保护自己并将目标的站点脱机。除了防垃圾防御服务,如Cloudflare DDoS保护之外,缓解策略主要是预防性的互联网基础架构解决方案。

禁用monlist – 减少支持monlist命令的NTP服务器数量。

修补monlist漏洞的简单解决方案是禁用该命令。版本4.2.7之前的所有版本的NTP软件默认情况下都是易受攻击的。通过将NTP服务器升级到4.2.7或更高版本,该命令被禁用,修补漏洞。如果不能升级,按照US-CERT说明将允许服务器的管理员进行必要的更改。

源IP验证 – 停止出现网络的欺骗性数据包

由于攻击者僵尸网络发送的UDP请求必须具有欺骗受害者IP地址的源IP地址,因此降低基于UDP的放大攻击的有效性的关键组件是Internet服务提供商(ISP)拒绝任何内部流量欺骗IP地址。如果从网络内部发送一个数据包,源地址使其看起来像源自网络外部,那么它很可能是一个欺骗的数据包,可以丢弃。Cloudflare强烈建议所有提供商实施入侵过滤,并​​且有时将与不知不觉参与DDoS攻击(违反BCP38)的ISP接触,并帮助他们实现其漏洞。

在NTP服务器上禁用monlist并在网络上实现入侵过滤,目前允许IP欺骗的组合是在到达其预期网络之前停止此类攻击的有效方法。