放大路由环的风险和危险

2021-04-13 04:52:32

本文将仔细研究网络循环以及如何将其作为DDOS攻击的一部分滥用。网络循环结合现有的基于反射攻击可以创建超过一千的流量放大因子。在本文中,我们会看到攻击者如何只需要50MB / s来填充100GB / s的链接。我' ll在实验室环境中展示这一点。

此博客也是对所有网络工程师进行操作的呼吁,以清理那些挥之不去的网络循环,因为它们不仅仅是卫生而且具有重要的运营DDOS风险。

所有网络工程师都熟悉网络环路。网络循环使单个数据包在网络中反弹,同时消耗有价值的网络资源(带宽和PPS)。 IP网络可以具有循环的各种原因,通常由配置错误引起。对网络循环的唯一真正的“保护”是居住(TTL)检查的时间。然而,实时检查的时间较少保护对抗循环的保护,以及永远对他们的保护。

生存时间(TTL)的时间是指数据包在网络中设置为存在的时间量或“跳”在路由器丢弃之前。 TTL是IP报头中的8比特字段,因此它具有255的最大值。大多数操作系统上的典型TTL值为64,在大多数情况下应该正常工作。

大多数网络工程师知道循环是坏卫生。我认为它不太了解(或思考)循环的操作风险是什么。在我的经验中,大多数循环都是针对实际使用的IP地址(否则,这将是一个停电),因此,解决这一目标是在Backburner上。

让我们来看看一个简单的例子。下图显示了两个路由器;想象那些在数据中心中是您的核心或边缘路由器。

无论出于何种原因,他们都认为192.0.2.0/24通过其他路由器可以访问。因此,该目的地的数据包将在两个路由器之间反弹。根据TTL值,用于该数据包的带宽将是:

意思是512字节数据包和60的TTL,所使用的量带宽为245kbs。换句话说,在丢弃它之前,512字节数据包变成了307,20字节(60倍)。您可以将该号码60视为放大因子。

这取决于你对罕见的定义。 QRator监视器的良好人士在互联网上进行循环。根据QRator测量,大约有2万件独特的环路(测量为独特的路由器对)。

现在我们已经涵盖了循环的风险及其潜力。 100x(TLL)放大因子,这可能会提醒您传统的DDOS攻击。

您在新闻中阅读的记录高DDOS攻击现在每秒达到数百千兆位,并达到Terabits。所有这些大批量度量攻击大多是相同的攻击类型,并且通常称为放大或反射攻击。

他们依靠攻击者发送带有欺骗源IP的小型数据包,然后反映并放大到攻击目标。反射器/放大器通常是某种开放式UDP服务,该服务需要一个小的请求,并产生一个大的答案。典型示例是DNS,NTP,SSDP和LDAP。您在新闻中阅读的大型攻击通常会结合少数这些服务。

到目前为止,可能会清楚结合这两种情景的危险是否可以。让我们来看看一个例子。典型的DNS放大查询可能是这样的,而RRSIG查询对于IRS.GOV

此查询在线上为64个字节。由此产生的答案很大,需要在两个数据包中发送;第一个数据包是1500字节,第二分组944字节。因此,我们的放大因子(1500 + 944)/ 64 = 38。

IP(TOS 0x0,TTL 64,ID 32810,偏移0,标志[无],PROTO UDP(17),长度64)192.168.0.30.57327> 8.8.8.8.53:42548+ [1AU] RRSIG? IRS.GOV。 (36)IP(TOS 0x0,TTL 123,ID 15817,偏移0,标志[+],PROTO UDP(17),长度1500)8.8.8.8.53> 192.168.0.30.57327:42548 8/0/1 IRS.GOV。 RRSIG,IRS.GOV。 RRSIG,IRS.GOV。 RRSIG,IRS.GOV。 RRSIG,IRS.GOV。 RRSIG [|域] IP(TOS 0x0,TTL 123,ID 15817,Offset 1448,Flags [None],ProTO UDP(17),长度944)8.8.8.8> 192.168.0.30:IP-PROTO-17

注意:有许多不同类型的放大攻击。这只是一个适度和简单的DNS示例。另外,请注意,公共DNS解压器等公共DNS解反射器通常具有智能机制,以限制可疑流量以减少这些服务可能具有的负面影响。

上面的TCPDUMP输出显示,当答案从谷歌的DNS服务回来时,TTL值为123;这高于大多数其他公共DNS解析器(大多数似乎默认为64)。

如果我们将这种攻击与我们先前查看的“循环”因子相结合,我们具有总放大因子。

好的,让我们继续在DNS放大器上工作。扩增数为38和123的TTL,将导致总扩增数:

请注意,我将TTL号码划分为两个,以便我们获得每个接收(Rx)和发送(Tx)编号。

目前,让我们使用2,337作为合理的总放大号。攻击者需要生成10G或100G交通的哪些交通?一个需要大约5Mbs / s来饱和10g链接并说〜50mbs来饱和100gbs链接!这些数字足够低,可以从简单的家庭连接生成。现在想象一下,攻击者有不好的意图和访问更大的僵尸网络可以做......

为了确保这确实是所有可能的,数学都会增加,我决定建立一个实验室来重现我们上面看的情景。

攻击者:启动基于DNS的反射攻击。 (欺骗)源IP设置为192.0.2.53

DNS解析器:接收DNS查询(具有欺骗源IP)并回答的答案比原始问题大38倍。 DNS答案中的IP TTL值为123。

路由器对(rtr1 - rtr2):两个路由器都有一个192.0.2.0/24的路由指向彼此。因此,带有192.0.2.53的目的IP的DNS答案将在两个路由器之间来回反弹,直到TTL到期。

在上面的屏幕截图中,我们看到左上方的攻击者以5.9MBS的速率发送查询。在左下方,我们看到从客户端5.9MBS接收流量的DNS解析器,并以〜173MBS的速率接听查询。具有DNS响应的IP数据包具有123的TTL。

我们在右侧看到路由器对:右上角的RTR1和右下角的RTR2。如您所见,这两个设备都在10GB / s时发送和接收。因此,在这种情况下,我们观察客户(攻击者)将6MB / s转化为10GB / s。

在这个博客中,我们看着网络环路的危险。我希望很明显循环不仅仅是卫生或美容问题,而是暴露出应该尽快清理的重大脆弱性。

我们看到循环绝不是罕见的,并且有数百万路由器对具有网络环路。事实上,根据QRator数据,超过30%的所有自治系统(ASN),包括许多大云提供者,都有网络中的网络。

我们观察到攻击者可以轻松饱和85MB(在240的TTL)中的10g链路,而没有任何UDP放大。或者如果结合典型的UDP放大攻击,6MBS的种子流量将导致环路路径10G,或者60MB / s可能填充100GBS路径!

大多数循环发生在两个相邻的路由器之间;在ISP的路由器和客户路由器之间发生了相当多的人。我还看到循环发生涉及多达八叉(路由器),遍布各种地铁区,同时欧洲和美国之间的循环。这些跨大气循环昂贵且难以快速放大。因此,这些链接上的循环将产生更大的影响。

我希望这篇文章确信你检查你的网络循环,并确保您不会受到这样的攻击的影响。考虑注册免费QRator服务,您将在网络中检测到新的循环(或其他问题)时提醒通知。