Introduction

拒绝服务(DoS)攻击对互联网的稳定性构成了重大的、无所不在的威胁。互联网上约三分之一的活跃/24网段在两年内受到DoS攻击[20],而90%的针对大型IXP的攻击都涉及反射攻击[41]。为了实现反射,攻击者伪造源IP地址以发送假定来自目标受害者的请求包,并滥用响应这些请求的基础设施(例如,开放DNS解析程序)。如果响应大于请求,则放大成功 。

image-20220110094418604

反射攻击:
一般而言,我们会根据针对的协议类型和攻击方式的不同,把 DDoS 分成 SYN Flood、ACK Flood、UDP Flood、NTP Flood、SSDP Flood、DNS Flood、HTTP Flood、ICMP Flood、CC 等各类攻击类型。

每一种攻击类型都有其特点,而反射型的 DDoS 攻击是一种新的变种。攻击者并不直接攻击目标服务 IP,而是利用互联网的某些特殊服务开放的服务器,通过伪造被攻击者的 IP 地址、向有开放服务的服务器发送构造的请求报文,该服务器会将数倍于请求报文的回复数据发送到被攻击 IP,从而对后者间接形成 DDoS 攻击。

如下图所示,这里的攻击者(Attacker,实际情况中更多的会利用傀儡机进行攻击)不直接把攻击包发给受害者,而是冒充受害者给放大器(Amplifiers)发包,然后通过放大器再反射给受害者。

尽管有基于TLS上的DNS[18]和HTTPS上的DNS[16],DNS放大仍然是最流行的攻击向量之一。

我们利用IXP的中心位置来理解被滥用的基础设施动态,并探索区分攻击来源的机会。

问题1:以IXP为中心的视图是否有助于深入了解DNS放大攻击?

问题2:我们能否在DNS放大攻击生态系统中识别出突出的攻击者?

问题3:当前DNS的被利用的效率如何,即(i)放大器如何被误用;(ii)放大系数是否仍能提高?

Background and Related work

暂时略过

3 COMPLEMENTARY DATA SOURCES

本文测量涉及来自四个数据源的不同且基本独立的数据。接下来,我们将概述我们的主要数据,以进一步了解DNS放大生态系统,我们的起点是三个月测量期(2019-06-01–2019-08-31)内来自互联网交换点(IXP)的数据。

3.1 Traces from a Large, Regional IXP

我们使用来自欧洲大型、区域IXP的流量捕获。我们的IXP连接了100多个成员网络,并观测到600 Gbps的流量峰值。现在,我们介绍在使用数据进行攻击检测之前,如何在IXP流量中识别和清理DNS数据。

采样率:1:16K

数据包截断:128bytes

总体而言,我们发现3300万个采样的DNS数据包 。在结果数据集中,我们每天观察到的请求比响应略多(60%是请求)。每日聚合数据包计数遵循每周模式,周末期间变化较小。最常见和第二常见的DNS查询类型是A(57%)和AAAA(13%)记录。使用公共路由数据[44]和IXP成员信息,我们将99%的数据包映射为源,96%的数据包映射为对等跳。

3.2 Additional Data Sources

image-20220108152853868

4 INFERRING DNS AMPLIFICATION ATTACKS AT AN IXP

4.1 Identifying Misused Names

在DNS反射攻击中,查询域名和资源记录类型的正确组合会触发大量响应,从而导致放大。因此,攻击者可能会反复使用有效名称。基于此假设,我们找到可疑DNS查询名称的列表。

选择器1:最大数据包大小。 我们的第一个选择器考虑在IXP上观察到的每个查询名称的最大(响应)数据包大小。

选择器2: ANY报文数。 ANY查询类型是实现DNS放大的一种方便方法。

选择器3:借助CCC数据集,选择被攻击的域名。

image-20220109124628578

横轴:每个选择器选择的域名数量,纵轴:每个选择器选择的域名集合的jaccard index

结果:让每个选择器选择29个域名,然后取并集,获得34个域名,其中32个域名在IXP上检测到了攻击流量

image-20220109125010334

4.2 Attack Detection with Misused Names

使用前面介绍的误用名称列表,我们现在进一步分析包含这些名称的查询或应答数据的DNS数据包。这将允许我们(i)定义两个阈值,用于在IXP检测攻击,以及(ii)将相关数据包分组为攻击。

阈值1:误用名称的流量份额,即统计每个(client.ip,day)pair,发起的针对恶意域名的DNS流量在其所有的DNS流量中占比。

image-20220109131351278

随着包数量的增加,那些相关的(client.IP,day)要么几乎不请求恶意域名,要么全部请求恶意域名。在我们的第一个阈值中,我们定义如果某一天误用名称的比例超过90%,则客户机将受到攻击。

显然,左上角的那些 (client.IP,day)经常会出现误报,因此要有第二个阈值。

阈值2:最小数据包阈值。

image-20220109140753792

将最少数据包阈值设置为10,仍然能检测到大部分攻击,并且能减少误报。

验证:image-20220109141212418

4.3 Live Monitoring

我们在IXP部署了我们的方法,以在现实环境中验证在线检测能力。我们的原型由两个组成部分组成:(i)一个模块,可以近实时地识别潜在的误用域名。(ii)另一个模块,持续分析与前一天相比的变化。在没有高级性能优化的情况下,我们能够在商用硬件上在最长5分钟的延迟内识别误用的域名。

我们利用我们的部署来评估受害者和姓名的波动。总的来说,我们看到了相当稳定的独特受害者人数和非常稳定的滥用域名列表。我们平均每天观察到631/24个前缀(492/16个前缀和121/8个前缀)。与前一天相比,名单的平均Jaccard指数为0.96。这表明,每天更新误用的域名是没有必要的;我们仍然保留第二个模块以快速识别变化。

5 COMPARING IXP AND HONEYPOT DATA

我们发现IXP和蜜罐传感器观察到了一组极不相交的攻击。两个有利位置仅共享1.1k攻击事件,相当于IXP所有事件的4.2%和蜜罐31k攻击的3.5% 。

这是一个令人惊讶的结果,因为之前的工作[26,59]假设分布式蜜罐可以捕获大部分全局反射攻击。我们认为IXP优势点是一个观察DNS放大攻击的机会,这是迄今为止不可见的研究社区,并可能提供新的见解,例如,针对故意排除蜜罐平台的攻击。

6 TRACING A MAJOR ATTACK ENTITY

在本节中,我们将介绍一个主要的攻击实体,它为IXP中59%的攻击负责。

6.1 Fingerprinting Using Domain Names

我们对滥用域名进行时间序列分析。我们的结果揭示了一个明确的过渡(见图8(a)),占总攻击流量的59%。名字似乎是按字典顺序选择的,除了几个星期里两个名字同时使用。

image-20220109162206248

image-20220109162329884

我们观察到,当域名在攻击中被积极滥用时,预期的响应大小会发生变化,并且随着大小的下降,会转换为其他域名。

即使我们观察到预期规模低于建议的EDNS限值后的过渡,我们也无法合理推断其背后的决策过程。攻击实体要么完全理解DNSSEC机制,要么只是观察到<4096字节的响应,然后(手动)转换到下一个域名。

image-20220109162943421

图9显示了在IXP上观察到并从UDP报头中提取的实际响应大小的相对频率,按每个域名分组。

Additional Fingerprinting Features.

为了验证我们可以将多个事件链接到一个实体,我们寻找其他可能表明长期范围内的不常见、一致的特性。为此,我们对应该显示的数据包头字段进行熵分析,这些包头应该展现高度随机性。如果没有,我们假设部署了相同的攻击工具。例如,预构建的头文件和原始套接字的使用可能会导致这种一致的行为。

幸运的是,我们检测到DNS事务ID的随机性较低,这是应用程序头中的一个特性。使用中的ID数量通常比数据包总数小1-2个数量级,见图10。

image-20220109165618076

总之,我们能够根据两个属性确定主要攻击实体的指纹:(i)其域名的选择和(ii)攻击工具的实现细节(DNS ID的选择)。这两个特性都是应用程序头的一部分,这意味着即使在反射发生之后,我们也可以将攻击流量链接到此实体。与我们在第5节中的观察结果类似,此攻击实体的指纹在蜜罐攻击检测中的可见性<=0.6%。

6.2 Attacked Victims, Misused Amplifiers

image-20220109181132696

我们在每天的观察中发现受害者前缀和受害者目标IP地址几乎一样多(可能是想说大部分IP段只有一个受害者)。

我们每天统计新的和已知的放大器的数量,即已经被误用至少一次的放大器。该图介绍了两个发现。首先,尽管攻击总数增加,但误用放大器的数量保持稳定。这表明该实体每天只滥用一组特定的放大器。其次,新放大器数量显著增加的时期通常会在域名转换之后出现,这表明域名和放大器列表同时更新。

image-20220109181638376

此外,我们还发现了从8月中旬的峰值开始,该实体的DNS请求-响应比率发生了显著变化。以前,我们观察到几乎完全是放大的DNS流量,即DNS响应。后来,答复的绝对数量保持稳定,但是我们看到请求数量明显增加。现在∼ 85%的攻击流量由请求组成。此外,99.8%的请求来自相同的ingress AS,并显示相同的TTL 250。

我们认为,由于这种转移与域名转换同时发生,这种影响是由攻击实体本身触发的,即由于relocation。我们将重定位定义为集中攻击基础设施到另一个网络的拓扑转换。我们随后在10月中旬观察到第二次relocation。

总而言之,我们能够识别域名和放大器的重新配置,以及攻击基础设施的重新定位。我们能够在IXP上看到的网络和应用层信息的基础上实现这一点。

7 UNVEILING DNS ATTACK PRACTICE

在我们最后的分析中,我们使用域间IXP透视图来揭示被滥用的基础设施。此外,我们还分析了(所有)攻击者在放大效率方面的表现。

7.1 Amplification Ecosystem

我们首先调查攻击者是否继续在攻击中滥用相同的反射器。重复使用稳定的基础设施可能会使攻击者(i)可提取指纹,(ii)易受边缘解析程序频繁重新寻址的影响

How many amplifiers are used in attacks? And in how many attacks do particular amplifiers appear?

我们观察到80%的攻击事件使用10到100个放大器(见图13(a)。此外,图13(b)显示了23%的放大器参与了10次以上的攻击。

image-20220109183704578

Do attack entities work with stable lists of amplifiers?

我们看到67个集群∼92%的攻击事件仍然是异常值。我们检查至少有5个攻击和5个放大器的集群,以找到稳定集。这里,最静态的放大器组(α) 在40天内被用于177次攻击,没有任何变化。最大的一组(β) 使用∼每次攻击527个放大器,同时始终引入很小变化。我们总共只能将2%的攻击事件归因于固定集。攻击者似乎稳定地使用已知和新放大器的随机组合。

image-20220109185446188

因此,攻击者善于利用放大生态系统,使得基于源的过滤无法减轻DNS放大攻击。

Do attack entities recruit new amplifiers?

我们对在IXP上观察到的所有45k放大器执行历史IP地址查找。我们发现,据Shodan报告,这些放大器中有95%在某个时间点为递归DNS服务。这一发现提供了两个见解:(i)尽管大多数放大器为社区所知,但我们最终未能移除这些放大器[42,49];(ii)攻击者不使用私有而是大部分为公开索引的放大器。

为了检查在我们的测量期间被滥用的放大器的年龄,我们在图15中确定了Shodan首次和最后一次成功检测。大量放大器是在攻击前六个月内首次出现的,即攻击者大多使用不超过六个月的放大器。值得注意的是,大约850个反射器(2%)出现在Shodan发现之前的攻击中。这表明,一些攻击者以比Shodan更高的扫描频率或精度运行自己的扫描引擎。

image-20220109202931519

比较我们三个月测量期的第一天和最后一天,只有 20% 的放大器仍然出现。这一观察表明,攻击者有效地检测并有意轮换新的 DNS 放大器。

7.2 Potential Amplification Factors

Do attackers select names that maximize amplification?

攻击者挑选的不是最大的,但的确更倾向于挑选放大倍数较大的。

image-20220109192638641

Can we expect larger attacks in the future?

值得注意的是,IXP 的总共的攻击流量占 DNS 数据包总数的 5%,占 DNS 总流量的 40%。当只考虑 ANY 流量时,这种趋势变得更加明显:68% 的 ANY 数据包和 78% 的 ANY 字节。当攻击者开始使用具有更高放大系数的名称时,情况会变得更糟。