【论文精读】《DNS放大的另一面:从Internet核心追踪DDoS Attack生态系统》

文章来源:
If you cite this paper, please use the IMC reference: M. Nawrocki, M. Jonker, T. C. Schmidt, and M. Wählisch. 2021. The Far Side of DNS Amplication: Tracing the DDoS Attack Ecosystem from the Internet Core. In Proceedings of ACM Internet Measurement Conference (IMC ’21). ACM, New York, NY, USA, 16 pages. https://doi.org/10.1145/3487552.3487835

The Far Side of DNS Amplification: Tracing the DDoS Attack Ecosystem from the Internet Core

DNS放大的另一面:从Internet核心追踪DDoS Attack生态系统

摘要

在本文中,我们通过研究互补的数据源,在正交方法的支持下,对 DNS 放大生态系统有了新的认识。
首先,我们介绍了一种针对 Internet 核心的被动攻击检测方法,即Internet 交换点 (IXP)。 令人惊讶的是,IXP 和蜜罐观察到的攻击大多是不相交的:96% 的 IXP 推断的攻击对于大型蜜罐平台是不可见的。
其次,我们通过研究 IXP 跟踪以及来自独立测量基础设施的各种数据来评估观察到的DNS 攻击的有效性。 我们发现攻击者可以有效地检测到新的反射器并有目的地在它们之间轮换。 同时,我们发现攻击者距离带来显着更高的放大因子 (14x) 仅一步之遥。
第三,我们通过研究攻击痕迹中的模式对主要攻击实体进行识别和指纹采集。 我们表明,该实体通过执行 59% 的攻击来主导 DNS 放大生态系统,并提供对其行为随时间推移的深入分析。
最后,我们的结果表明,各种 .gov 名称的运营商不遵守 DNSSEC 密钥翻转最佳实践,这加剧了放大潜力。 我们可以将这种操作行为与滥用和攻击者决策联系起来。

一、引言

1.拒绝服务 (DoS) 攻击
攻击者欺骗源 IP 地址以发送可能来自预期受害者的请求数据包,并滥用响应这些请求的基础设施(例如,开放的 DNS 解析器)。 如果响应大于请求,则扩增成功。

2.DNS(域名系统)
DNS 是 Internet 的核心组件。
它主要通过传输层协议 UDP 运行。 由于UDP的无状态特性, 特别容易受到欺骗,并且至少有 14 个在 UDP 之上工作的协议允许进行反射攻击 。
网络时间协议 (NTP) 和 DNS 是(目前)被滥用最多的协议。

3.主要内容
在本文中,我们通过联合分析包括互联网边缘和核心在内的四个互补测量的结果来扩展对 DNS 放大生态系统的理解。
(1)介绍了一种推断 Internet 交换点 (IXP) 处的 DNS 放大攻击的方法。 我们利用 IXP 的中心位置来理解被滥用的基础设施动态,并探索寻找指纹攻击来源的机会。

放大攻击(杠杆攻击):
攻击者不把通信包直接发给受害者,而是发给放大器(DNS服务器),然后再反射给受害者。攻击者利用了网络协议漏洞进行IP欺骗,可以由一个或多个攻击节点进行放大。攻击者利用DNS协议回复包比请求包大的特点,对流量进行放大,伪造请求包的源IP,最终将DNS服务器的应答包引向被攻击的目标。

(2)使用了大型分布式蜜罐平台,用于推断 IXP 和蜜罐是否观察到同一组攻击,并调查攻击者是否似乎将蜜罐排除在攻击之外。
图 1 可视化了我们对域间 DNS 放大攻击的扩展视角。
请注意,我们预计攻击者会滥用响应 DNS 查询的基础设施,其中包括 DNS 转发器和递归解析器。
(3)将观察结果与来自 Internet 范围内的开放解析器扫描的数据进行比较,从而使我们能够评估对可滥用基础设施的现有观点的范围。
(4)考虑全面的 DNS 测量数据,以深入了解滥用的 DNS 基础设施类型(即开放解析器与权威名称服务器)以及攻击的放大潜力。
在这里插入图片描述图 1:分布式域间 DNS 放大攻击的优势和利益相关者。

4.本文解决的三个主要问题
(1)以 IXP 为中心的观点是否有助于深入了解 DNS 放大攻击?
在 IXP 上对基于 DNS 的反射和放大攻击的被动观察可以识别滥用的查询名称和滥用的基础设施,而不是基于蜜罐的推理。
结果大约只有 4% 的重叠,说明IXP 和蜜罐检测到的攻击大多是不相交的。
(2)能否在 DNS 放大生态系统中对优秀的攻击者进行指纹识别
通过将 .gov 名称的使用与静态 DNS 事务 ID 行为相关联,对更大的攻击实体进行指纹识别。

指纹识别:身份识别

有问题的实体显然占主导地位,并负责 59% 的推理攻击

推理攻击(infered attack):
从非敏感的数据推理得出敏感信息的攻击。

通过观察网络层的变化,发现攻击基础设施在一年内发生了两次拓扑变化(即重定位)。
我们观察到攻击实体经常更换滥用的放大器。
此外,我们识别出滥用查询名称中的模式,表示攻击实体试图改善整体放大因素。

(3)当前利用 DNS 的效率如何,这意味着:(i) 放大器如何被滥用; (ii) 放大因子还能提高吗?
①在大多数事件中,我们能够查明至少 10 到 1000 个放大器的滥用情况。
结果表明,攻击者主要在假的DNS 查询中滥用合法的 .gov 名称,这很可能是因为 .gov 区域下的名称经过 DNSSEC 签名

放大器被滥用的三种情况:
(i)双边聚类还表明,只有 2%的攻击使用静态放大器列表【保持不变】。
(ii)95% 被滥用的放大器也是由扫描可滥用基础设施的大型平台发现的,这表明攻击者大多使用众所周知的、公开记录的放大器
(iii)此外,还有2% 的放大器在出现在公共扫描数据中之前就被滥用了,这表明攻击者还使用其他方法来寻找放大器。
结论: 攻击者有效地利用了放大器,并且对于滥用放大器的频繁变更使得细粒度源 IP 过滤变得更加困难。

查询名称的滥用:
在假的请求中,攻击者还滥用会导致显著放大的查询名称
在检查了 DNS 测量数据中的 4.4 亿个域名后,我们仅检测到 9000 个具有更大放大潜力的域名。

同时,我们对这些名称的 DNS 响应大小的估计揭示了他们可能会导致多达 14X更多的放大,这表明攻击者没有充分利用基于 DNS 的攻击向量。

二、背景及相关工作

1.反射放大攻击和蜜罐
反射和放大攻击传统上是使用蜜罐观察到的。
(1)原理:应用简单的阈值来推断攻击活动并识别仅扫描反射器 。
(2)优势:所有传入请求都可能是攻击或扫描的一部分,因为合法的 DNS 服务不会向这些传感器发送 DNS 查询。
(3)缺陷:
①蜜罐无法推断涉及其他基础设施(例如公共 DNS 解析器)的程度,因此在评估一般攻击属性(如强度)时受到限制;
②蜜罐可见的攻击数量在只部署了几个传感器的情况下迅速收敛, 部署更多的传感器并不一定会增加观察的广度。

因此,目前研究大多转向在Internet 核心的基于 IXP 的检测
本文专注于未知攻击和基于 DNS 的反射,它们需要一个全面的检测机制,所以考虑了四个互联网规模的互补数据源来调查攻击可见性和攻击者行为。
结论:本文方法认为(相当大的)蜜罐基础设施并不能提供对基于 DNS 的反射攻击活动的完整视图。

2.DNS 放大器生态系统

DNS放大器(反射器):DNS服务器

响应所有传入请求的 DNS 基础设施很容易被滥用于反射,包括解析器、转发器和权威名称服务器。
DNS 是第二个最常见的放大向量,并且它在易受重新影响的协议中具有最高的反射器流失率,这主要是由接入网络中的开放解析器引起的。【对应后文:DNS的IP流失】

DNS服务器包括主DNS服务器、从DNS服务器、缓存服务器和转发服务器
主DNS服务器为客户端提供域名解析的功能,当主DNS服务器宕机,会启用从DNS服务器来提供服务。但是如果主DNS服务器长期无应答,那么从DNS服务器也会停止提供服务。
从DNS服务器会周期性的检查主服务器上的记录情况,因为主从区域之间的同步是周期性检查+通知的机制,从DNS服务器一旦发现有改动就会同步,且主服务器上如有数据被改动,会马上通知从服务器更新记录。
缓存服务器是只提供非权威应答,不提供解析。
转发服务器,就是当DNS服务器的解析部分(包括缓存)中无法为当前的请求提供权威应答时,将请求转发至其它的DNS服务器,此时本地DNS服务器就是转发服务器。

一旦检测到响应速率限制 (RRL),攻击者就会放弃反射器。 由于 DNS 反射器的充足可用性,可以通过扩展来抵消 RRL。
然而,高反射器流失RRL迫使攻击者维护和频繁更新相当大的放大器列表

结论
本文利用以 IXP 为中心的观点,在三个月的测量期内跟踪放大器的滥用情况,能够揭示攻击者如何有效地处理反射器的流失问题,而基于蜜罐的研究无法做到这一点。

3.伪造的 DNS 查询和名称
DNS 查询中的查询名称和类型会影响放大系数。
从历史上看,最常见的查询包括未经预谋的域名和精心制作的域名,这些域名在注册后立即被设置并用于放大攻击。
ANY 是一种明显的查询类型,但查询特定记录同样会导致大量响应。
DNSSEC是一种 DNS 扩展,可以验证 DNS 内容,但同时由于响应较大,因此显着增加了放大的潜力。 因此,受 DNSSEC 授权约束的良性 .gov 名称开始在放大攻击中被滥用。

DNS 安全扩展 (DNS Security Extensions, DNSSEC)
DNSSEC 通过对数据进行数字签名来抵御DNS 劫持攻击,从而使您确信数据有效。但是,为了从互联网中消除该漏洞,必须在从根区域到最终域名(例如, www. icann. org )的查找过程中的每一步部署该项技术。对根区域进行签名(在根区域部署 DNSSEC )是整个过程中的必要步骤。
该技术并不对数据进行加密。它只是验证您所访问的站点地址是否有效。
DNSSEC还导致DNS查询响应数量增加,因为该技术需要额外的字段和加密信息来验证记录,这意味着恶意攻击者可以借助大批量响应,针对区域发起远大于DNSSEC实施之前的攻击流量。

结论
本文阐明了攻击者如何选择名称并研究 Internet 核心攻击流量中的有效放大。还分析了大规模 DNS 测量数据以估计其他名称的放大潜力,能够揭示攻击者如何选择名称会导致更高的放大率。

4.基于 DNS 的攻击的起源
(1)DNS攻击归因的挑战:
①IP欺骗;
②除了指纹识别的其他障碍之外,底层基础设施可能存在重叠。 并非所有的蜜罐传感器都必须同时被攻击者使用,攻击者可以选择在后续攻击中可用传感器的子集。

(2)DNS攻击溯源的常用的特征:IP 生存时间 (TTL) 字段,用于缩小攻击来源。

结论
尽管在对攻击者进行指纹识别方面存在挑战,但本文成功地使用网络和应用层数据对主要攻击实体进行了指纹识别,经过9个月的关注,在 IXP 检测到,超过一半的攻击都是由该攻击实体发起的。

三、补充数据源

在正交方法的支持下,本文涉及了四个多样化且很大程度上独立的数据源数据。
数据:Internet 交换点 (IXP) 的为期三个月的测量期 (2019-06-01 至 2019-08-31) 。

1.来自大型区域 IXP 的跟踪
IXP 是互连自治系统 (AS) 且不产生高成本的 Internet 的关键组件,在流行的 IXP 观察交通提供了与大型交通供应商类似的有利位置 。

AS(自治系统):一个自治系统就是处于一个管理机构控制之下的路由器和网络群组。

本文使用来自欧洲大型区域 IXP的流量捕获,该IXP连接了一百多个成员网络,并观察到 ​​600Gbps的流量峰值

接下来将详细介绍如何在IXP流量中识别和清理 DNS 数据,然后再将这些数据用于攻击检测。

(1)在 IXP 识别 DNS​​ 流量
①方法:1:16k 数据包采样,并且数据包只保留前128 字节

②优点:
i)DNS 通常使用单个UDP数据包运行,因此不需要观察完整的流,所以进行采样没有影响;
ii)前 128 字节的数据包足以分析 DNS 查询数据包。

③缺点:在分析 DNS 响应时,响应数据通常只是部分可见(平均每个数据包大约 2 条资源记录),因为每个 DNS 响应都包含请求和响应数据。

④结论:即使大型 UDP 数据包可能会被截断并且我们无法看到完整的响应数据,但是仍然能够从DNS的header之前的UDP长度字段推断出响应数据包的大小。

⑤本文只关注基于UDP的DNS放大攻击
原因:
i)因为基于 TCP 的放大攻击不利用 DNS 的功能,而只是利用传输层套接字的无效实现 。
ii)即使存根和转发器使用新型 DNS 变体(基于 TCP/TLS/HTTP 的 DNS)来联系解析器,递归解析器通常仍使用 UDP 来访问权威名称服务器。
在测量期间,只有1.25%的未加密 DNS 数据包基于 TCP 作为传输层。

⑥具体识别操作:
本文使用 Tshark的DNS数据包过滤器和解析器进行协议识别,并凭经验验证截断的 DNS 数据包是否被正确识别。
在导致IP分段的 UDP 数据包的情况下,只有第一个分段被识别,因为它包含 DNS 标头,这有效地避免了对分散的 DNS 答案进行重复计算。

⑦识别结果:从 2019 年 6 月到 9 月,一共发现了 3300 万个采样的 DNS 数据包,总共对应了 5280 亿个 DNS 数据包。

(2)清理和注释 DNS 流量
①只考虑包含以下内容的数据包:
i)IP 和 UDP 标头;
ii)IP 地址、UDP 长度、DNS 查询类型和名称的格式正确的值,即各个 RFC允许和标准化的值。

Request For Comments(RFC),是一系列以编号排定的文件。

②实验结果:
a)在数据包选择的过程中,忽略了3%的先前识别的 DNS 流量;
b)在结果数据集中,观察到每天的请求略多于响应(60% 是请求);
c)每日汇总数据包计数遵循每周模式,周末期间会有小幅变化。
d)最常见的两种DNS查询类型是A(57%)和AAAA(13%)记录。
e)使用公共路由数据 和IXP成员信息,我们为 99%的数据包映射原始 AS,为96%映射对等跳 AS
f)对于每个查询和应答数据包,我们还记录了客户端和服务器 IP 地址。

A记录:返回IPv4的地址;
AAAA记录:返回IPv6的地址。

2.其他数据源
(1)蜜罐数据
①数据来源:
本文使用来自剑桥网络犯罪中心 (CCC) 蜜罐的数据,这些蜜罐在互联网边缘分布并捕获反射攻击。

②蜜罐基础设施的特性
i)它通过使用分布在62 个 IP 前缀和15个AS上的 80 个有源传感器来提供拓扑多样性;
ii)它模拟开放的 DNS 解析器,这些解析器对重新尝试做出响应,同时不会损害 Internet。 我们在相同的 3 个月内从 CCC 数据中学习了 31k DNS reection 攻击。
本文仔细验证了 CCC 平台与相关蜜罐平台相比能够进行类似的观察(详见附录 B)。

(2)大规模的主动 DNS 测量
①数据来源:使用 OpenINTEL项目提供的数据,该项目以超过 1200 个区域文件作为起点,主动测量了大约 65% 的全球 DNS 命名空间。
OpenINTEL 查询一组常见的资源记录类型,使我们能够将放大器 IP 地址映射到 DNS 基础设施并估计响应大小(即放大器因子)。

②测量目的:调查攻击者可能在多大程度上实现放大。

本文涉及日常 DNS 测量的纵向数据源,该数据源解释了在放大攻击中不一定被滥用的名称(目前)。

(3)互联网范围的扫描
①数据来源:来自 Shodan 搜索引擎的数据,包括对完整 IPv4 地址空间的每日扫描,以发现每个 IP 地址的 Internet 服务;

②目的:验证终端主机过去是否提供过 DNS 服务。

表 1 中总结了数据源。
类别扫描的数据源基于主动测量方法,而流量是由被动观察带来的。
互补的观点使我们能够深入了解观察到的 DNS 放大生态系统的影响。

表1:我们的各种数据源由补充方法支持以分析 DNS 放大攻击
在这里插入图片描述

四、在 IXP 上推断 DNS 放大攻击

本章首先介绍了在 IXP 流量跟踪中推断滥用DNS名称DNS放大攻击的方法。
然后,简要报告了使用这些方法进行实时监控的情况。

图 2 显示了处理步骤的概述。
在这里插入图片描述1.识别滥用名称
在 DNS 反射攻击中,对域名资源记录类型的正确组合的查询可以触发大量响应,从而导致相当大的放大。因此,攻击者可能会反复使用有效名称。

基于这个假设,找到了一个可疑 DNS 查询名称的列表。

使用三个选择器来确定名称列表。
两个选择器考虑了 IXP 数据中的特征, 第三个选择器涉及 CCC 蜜罐数据。CCC 数据占了大量的反射攻击,我们可以在 IXP 上观察到攻击流量。

(1)选择器 1:最大数据包大小
第一个选择器考虑在 IXP 观察到的每个查询名称的最大(响应)数据包大小
每个名称的响应大小可能会随时间而变化,并且还取决于查询类型。

对查询名称进行排名,以便选择器可以选择。
例如,根据最大数据包大小确定前十名。
大型 DNS 响应可能导致 IP 分片。然而,即使存在分片,UDP 标头也能确定 DNS 响应的大小。
超过 10k 字节的最大响应由 RRSIG 查询触发,其余前十个最大响应由 ANY 查询触发。

ANY 不是查询单个类型的记录(例如 A 或 MX),而是返回所有类型的记录,所以 ANY 查询的回复是 DNS 服务器对这个域名所能提供的最大的回复。

(2)选择器 2:ANY数据包的数量
ANY查询类型是实现 DNS 放大的便捷方式,前提是 ANY 查询不受所选查询名称的权威名称服务器的限制。
根据选择器2排名前十的名称几乎专门用于ANY查询。
考虑到 A、AAAA 和 ANY 数据包,除根 (.) 名称 (97%) 之外的所有名称, ANY 类型数据包的份额均高于 >99.99%。

(3)选择器 3:查询被用于对抗反射的 DDoS 受害者的名称
对于第三个选择器,首先从 CCC 传感器数据中提取所有 DNS 攻击受害者 IP 地址和时间戳;接下来,搜索与攻击相关的 IXP DNS流量;然后选择器3选择相关流量中最常用的名称。

发现了DNS 攻击流量占所有 CCC DNS攻击事件的 16%(≈ 4.4k 受害者 IP 地址)。

确定了IXP上CCC攻击流量不可见的两个原因:
①流量不通过 IXP 路由;
②流量通过 IXP 路由,但数据包没有被采样。

基本事实攻击流量几乎完全由 ANY 数据包 (99%) 组成,我们使用此选择器仅观察到 482 个唯一名称
攻击时与受害者 IP 地址相关联的 IXP DNS 流量视为基本事实,之后使用这个它来验证检测阈值。
另外,CCC 数据还提供了查询名称,但是我们决定不使用它们,而是选择在基本事实攻击中从 IXP 的角度实际可见的名称。

(4)每个选择器的名称数
每个选择器选择的名称数量是可配置的。
为了确定最高相似度,使用增加的集合大小来计算三组名称的Jaccard指数

观察到每个选择器前29 个名称的高度一致(见图 3),这表明每个选择器选择的前 29 个名称几乎相同,但顺序不同。
在这里插入图片描述图 3:我们的选择器检测到具有不同排序的相同名称,最多可包含 29 个名称。
这些名称最有可能在攻击中被滥用

将大小设置为每个选择器 29 个名称的原因
①减少了不同名称的数量,但选择了最多三个选择器都同意的名称;
②选择器结果遵循长尾分布,拐点在共识点之前,这意味着选择更多名称将导致添加无意义的名称。

(5)结论
合并三个名称选择器集以创建最终名称列表。联合和高共识点的结合允许保守的名称选择,同时仍然保持重要名称只能由单个选择器检测到。

最终列表包含 34 个名称
我们在其中的32 个名称(94%)中检测到攻击流量(参见第 4.2 节),这证明了选择器在识别滥用名称方面的有效性。

表 2 显示了所考虑名称的属性,其中大部分是 .gov 区域的一部分。
表 2:滥用名称的攻击和攻击流量分布。 主导扩大的 DNS 流量的 .gov 名称表 2:滥用名称的攻击和攻击流量分布,主导扩大的 DNS 流量的 .gov 名称

所有 3 个选择器相互检测到 21 个名称。 选择器 1 和 3 的交集包含三个名称,选择器 2 和 3 的交集包含 5 个名称。 我们用 Selector 1 找到了两个专有名称。

总的来说,IXP 和前两个选择器足以创建我们的列表。
与所有三个集合的并集和交集相比,CCC 数据没有添加任何名称。不过,使用基于蜜罐的选择器是对前两个选择器的一个很好的验证,因为它是基于真实攻击流量的。

2.滥用名称的攻击检测
通过滥用名称列表,可以进一步分析包含这些名称的查询或相应数据的 DNS 数据包
本文定义两个阈值来检测 IXP 上的攻击,以及将相关数据包分组为攻击。

(1)阈值 1:滥用名称的流量份额
①流量份额
计算客户端 IP 地址(即假定的 DNS 查询发起者)的可疑数据包的每日“流量份额”,高份额表示存在攻击活动。
客户端 IP 地址包括DNS 请求的源 IP 地址和 DNS 响应的目标 IP 地址。

对于观察到至少 1 个可疑数据包的每个唯一 (client.ip, day) 对,计算可疑数据包的份额。这不包括不相关的 DNS 活动(在给定日期只用流量交换为良性名称的客户端)。

在这里插入图片描述图 4:与总体流量相比,滥用名称的比例。
许多客户端仅使用滥用的名称交换 DNS 流量,这有助于攻击检测。

②图4观察出的结论:
图 4 中可视化每个 (client.ip,day) 的滥用名称的份额。
随着数据包数量的增加,双峰分布变得更加明显。也就是说,即使客户端交换大量 DNS 流量 ,相关的流量要么仅包含误用的名称,要么几乎没有。
低份额的发生是因为其中一个被滥用的名称是根 (.) 名称,这也是合法 DNS 流量的一个非常常见的名称。

③阈值1介绍
双峰分布允许引入阈值来检测攻击。
第一个阈值定义为:如果在某一天滥用名称的比例超过 90%,客户就会受到攻击。
这发现了可疑流量份额的极端情况,但仍然允许有小的误差范围(10%),由于客户端的合法 DNS 流量,我们可能会观察到其他名称。

对于流量较低的客户端(例如,1 个采样数据包),单一阈值很可能导致许多误报。因此,我们在双模分布开始时设置了一个最小数据包计数阈值(详见阈值 2)。
关于最小数据包计数阈值,90% 的流量份额阈值说明了可能的最小错误,即恰好 1 个采样的合法数据包。

④本文认为:滥用名称的高流量份额是攻击流量的有力指标。
为了说明这个论点,考虑 10 个采样数据包,采样率为 1:16k,名称滥用比例为90%。 这将对应于仅具有误用名称的 144k 数据包。
任何客户端出于什么理由都不应该交换如此多的 DNS 流量,尤其是在存在 DNS 缓存的情况下。

(2)阈值 2:最小数据包阈值
CCC 传感器数据的帮助下,使用在 IXP 发现的基准真相攻击事件,以探讨 IXP 上最小数据包阈值的影响,特别是分析检测所有攻击(可见性)和减少误报之间的权衡。

基准真相/基本事实(ground truth) 是一个相对概念;
它是指相对于新的测量方式得到的测量值,作为基准的,由已有的、可靠的测量方式得到的测量值(即经验证据)。人们往往会利用基准真相,对新的测量方式进行校准,以降低新测量方式的误差和提高新测量方式的准确性。
机器学习领域借用了这一概念。使用训练所得模型对样本进行推理的过程,可以当做是一种广义上的测量行为。因此,在有监督学习中,ground truth 通常指代样本集中的标签。

在这里插入图片描述图 5:所有 DNS流和基准真相攻击流的可见性取决于所考虑的数据包数量。
根据阈值在 IXP 检测到的 DNS 攻击的数量显示在右侧y轴上。

①图5观察出的结论:
计算攻击事件的数据包数量,并绘制关于最小数据包计算的可见事件比例 ,参见图 5。

为了提供参考点,图5还包括所有 (client.ip,day) 对的 DNS 流量的可见性。
该图展示了如果应用了最小数据包阈值,则在 IXP 上仍然可见的 DNS 流量份额。

对于基准真相攻击,在最小数据包阈值为10个数据包时,仍然可以检测到22%的攻击;
对于所有 (client.ip,day) 对,10 个数据包大约只能检测到8%的攻击,因为常规 DNS 流仅包含明显更少的数据包;
对于IXP,查看其在辅助y轴上额外检测到的攻击总数,至少 10 个数据包的阈值限制了检测到的攻击数量。这明显减少了误报(或是模糊的案例),但仍然能在 IXP 上发现超过 24k 的新的、重要的攻击事件。

同样,蜜罐没有观察到这些攻击。

(3)检测方法的有效性

①CCC 攻击检测:
根据定义的阈值和选择器提供的不同名称来研究可见 CCC 攻击的检测率,这使得能够通过添加更多滥用的名称来验证攻击检测精度是否会提高。
在这里插入图片描述图 6:基于选择器列表大小和 2 个阈值的攻击检测率。
我们达到 99% 的可见基准真相攻击,并看到大约 29 个名称的收敛

②图 6 观察出的结论:
对于阈值配置,检测率收敛在 99%,每个选择器有 29 个名称。这表明不需要进一步检测方法。
此外,这一结果与选择器的共识一致,这再次表明,添加更多误用的名称用处不大。

(4)第一眼检测到的攻击
①在 IXP中,发现了 25.7k 攻击针对 19k 唯一客户端 IP 地址,其中包括 24.6k 新攻击;
②检测到的攻击主要由滥用.gov名称创建的流量主导,请参见表 2;
③攻击持续时间与安全报告的观察结果相匹配,其中存在许多短期攻击(25%比7分钟短, 50%比33分钟短);
三分之一 (36%) 的总攻击流量发送给 ISP 网络中的受害者,这是继内容网络 (24%) 的最大受害者群体;
⑤没有看到NXNS 攻击的迹象。NXNS攻击依赖于响应,其包括具有许多 NS 名称(>30)但没有胶水记录(域名和IP地址的绑定)的NS下一个问询对象(referrals)。
数据显示,70% 的响应最多包含 1 个 NS 条目,90% 最多包含 10 个 NS 条目。
最近检测到的攻击向量(即 SRV、URI)也提供 10X放大因子,但尚未使用。

NXNS Attack
该漏洞为DNS 放大攻击,是 DDoS 攻击,攻击者利用 DNS 服务器中的漏洞将小查询转换为可能破坏目标服务器的更大负载。
在 NXNSAttack 的情况下,远程攻击者可以通过向易受攻击的解析器发送 DNS 查询来放大网络流量,而要查询的权威域名服务器由攻击者所控制。攻击者的服务器响应虚假域名服务器名称(NS记录)指向受害者 DNS 域,导致解析器生成对受害者 DNS 服务器的查询。攻击可导致放大系数超过 1620。

DNS记录是用于解析的数据,最常见的3种记录为:NS记录、A记录、CNAME记录。
NS记录[2]
如果DNS回应一条NS记录,里面包括某个域的权威DNS。
比如在com的DNS里,记录着http://baidu.com这个域的DNS,形式如下:
baidu.com. NS ns1.baidu.com.
baidu.com. NS ns2.baidu.com.
baidu.com. NS ns3.baidu.com.
这三条记录,http://ns1.baidu.com、http://ns2.baidu.com、http://ns3.baidu.com(以下简称ns1、ns2、ns3)都是http://baidu.com域的权威DNS,问任意其中一个都可以(一般都是顺序问的,如果连不上第一个,就去找第二个)。
当然,在com的权威DNS里,还会记录ns1~ns3这几个http://baidu.com权威DNS的IP,会一并返回给问询者,以便问询者直接用IP联系ns1~ns3。

胶水记录是指在为域名配置NS记录时,如果NS服务器为子域名,则必须配置NS的A记录。

3.实时监控
本文在 IXP 部署了提出的方法,以验证现实环境中的在线检测能力。

(1)原型由两个构建块组成:
模块1:近乎实时地识别潜在滥用名称的模块;
模块2:与前一天相比,持续分析变化的模块。

(2)实验结果:
①在没有高级性能优化的情况下,能够在商品硬件上的最大延迟 5 分钟内识别出滥用的名称
②评估受害者和名称列表波动:
总体而言,唯一受害者数量以及滥用名称列表都很稳定
平均而言,我们每天观察到 631 个独特的受害者 /24个前缀(492 /16个前缀 和 121 /8个前缀)。
与前一天相比,名单的平均 Jaccard 指数为 0.96, 这表明不需要每天更新误用名称,可以保留误用名称列表以快速识别变化。

五、比较 IXP 和蜜罐数据

现在展示在 IXP 上推断出的攻击的基本属性,并将观察结果与蜜罐进行比较。

1.结论1:IXP和蜜罐观察到的攻击几乎不重叠
可以发现 IXP 和蜜罐传感器观察到一组非常不相交的攻击
两个有利位置仅共享 1.1k 攻击事件,相当于 IXP 上所有事件的 4.2% 和蜜罐上 31k 攻击事件的 3.5%。这是一个令人惊讶的结果,因为之前的工作认为分布式蜜罐可以捕获很大比例的全局反射攻击。
本文作者认为 IXP 有利位置是观察 DNS 放大攻击的机会,这些攻击迄今为止对研究界来说是不可见的,并可能提供新的见解,例如,针对故意排除蜜罐平台的攻击。

2.结论2:共同观察到的攻击大多是强蜜罐攻击和中型 IXP 攻击
现在检查蜜罐和 IXP 是否同意对于共同攻击的观察结果。
(1)相对攻击强度分数
为此,计算了由每种有利位置识别的所有攻击的相对攻击强度分数
通过按总数据包计数对所有攻击进行排序并计算十分位数来做到这一点。 然后,以 1 到 10 的十分对每次攻击进行排名。

十分位数(deciles)是将一组数据由小到大(或由大到小)排序后,用9个点将全部数据分为10等份,与这9个点位置上相对应的数值称为十分位数,分别记为D1,D2,……,D9,表示10%的数据落在D1下,20%的数据落在D2下,……,90%的数据落在D9下。

在这里插入图片描述图 7:IXP 和蜜罐检测到的攻击(1098)在相对攻击强度得分上有所不同:共同攻击是相当强的蜜罐攻击,但中等规模的 IXP 攻击。

(2)图7观察的结果
图 7 中绘制了共同攻击强度的相对分布。
总体而言,蜜罐是相当敏感的有利位置:共同攻击大多是强蜜罐攻击(平均强度为 7.7)和中型 IXP 攻击(平均强度为 6.3)。

作者认为这是由于数据包采样和设定的阈值导致较小的攻击在 IXP 上不可见
因此,如果蜜罐被攻击者滥用为反射器,那么它们是检测小型攻击的良好有利位置;另一方面,IXP 表明发生了大量的大型攻击,而蜜罐没有观察到这些攻击。 他们可能会看到更多的小攻击,但这需要小得多的采样,这在实践中并不常见。

六、追踪主要攻击实体

在本节中,揭示了一个主要的攻击实体,它负责 IXP 上所有攻击的 59%。 为此,可以根据域名的选择、DNS
请求的创建
放大器的选择来识别重复模式。 本方法不依赖于特定优势,可以推广到其他域间数据集。

目的: 将多个独立事件链接到一个攻击实体。
抽象术语entity定义:是指维护一个基础设施来选择名称和放大器,用于发起攻击,而不是指特定的僵尸网络、引导程序网站等。

1.使用域名进行指纹识别
对名称的滥用进行时间序列分析

(1)观察滥用名称的转换
①观察结果1:
图a显示选定 .gov 名称之间的明显转换,占总攻击流量的 59%。名字似乎是按字典顺序选择的,有几个星期同时使用两个名字(比如doj.gov和elderjustice.gov)。

结论名称转换模式表明攻击涉及特定实体,因为对同一域的独立滥用不会导致名称转换。

②观察结果2:
IXP 的攻击流量随着滥用名称(.gov)的变化而增加,这暗示了字典顺序转换背后的驱动因素。
在这里插入图片描述(a) 基于 IXP 数据的滥用名称的攻击流量

(2)观察名称提供的预期响应大小

图 8(b) 描绘了从 OpenINTEL 数据集中推断出的每个名称的 ANY 响应大小,它提供了历史 DNS 数据。 虚线表示推荐的 EDNS最大有效载荷大小(4096 字节),EDNS[3]是DNS的一种扩展机制,例如 DNSSEC 数据。

EDNS就是在遵循已有的DNS消息格式的基础上增加一些字段,来支持更多的DNS请求业务。
当初 DNS 协议中设计的用 UDP 包传输时 DNS 数据大小限制为 512 字节,现在很多主机已经具备重组大数据包的能力。EDNS机制来允许 DNS 请求方通知 DNS 服务器让其返回大一些的数据包(4096字节)

DNSSEC(Domain Name System Security Extensions),DNS 安全扩展
DNSSEC的流程和EDNS基本一致,只是权威服务器返回的响应的时候会附带 type 是 RRSIG(Resource Record Signature)的 RR(资源记录)
客户端在拿到之后发现有 RRSIG,若选择验证,则需要继续进行一下步骤(DNSSEC的工作原理):
①DNSSEC就是在 DNS 上加了数字证书,RRSIG 记录就是 DNS 权威服务器对这个解析结果的一个数字签名
②DNS 权威服务器有自己对应的私钥(ZSK),它的作用就是用来对 DNS 请求结果进行数字签名生成数字摘要,然后原先的记录以及这条信息摘要就会一同发送给我们;
③有了签名之后,我们就接着通过请求 DNSKEY 记录来获取对应的公开密钥
④拿到了公开密钥之后,我们可以用它先来解密 RRSIG 的摘要
⑤然后我们利用相同的散列算法再算一次摘要;
⑥将之前拿到的 RRSIG 中的摘要和自己算出来的摘要进行比对,如果相同的话就说明这次查询结果可信

①观察结果1:
当名称在攻击中被积极滥用时,预期的响应大小会发生变化,并且随着大小的下降,转换为其他名称

②观察结果2:
对 OpenINTEL 数据集的进一步分析表明,响应大小的稳定期(持续两周)与 DNSSEC 密钥更新有关
当引入新的区域签名密钥 (ZSK) 时,可以预计到响应大小会增加,因为同时存在多个DNSKEY 记录。

将DNS记录分组为RRSet
为了向域名集成DNSSEC,首先需要将DNS记录按照名称和类型分组为资源记录集(Resource record set,RRSet)。DNS本身已被分割为DNS区域(Zone),区域是DNS完整命名空间的一部分,可由DNS所有者所在的组织或网络管理员进行监管。这种区域还可用于对DNS组件进行深入维护,例如权威名称服务器。
每个区域都会使用一组名为区域签名密钥(Zone signing key,ZSK)的公钥和私钥对进行签名。由此产生的签名结果会以RRSIG记录的形式发布到区域文件中。举例来说,如果主机名“www.dsnsecexample.com”同时包含A记录和AAAA记录,那么区域文件将为每个IP版本公布一条对应的RRSIG记录。

在这里插入图片描述(b) 根据 OpenIntel 数据集估计当前滥用名称的任何响应大小。
平稳期表示 DNSSEC 密钥翻转
Cuto 单个异常(值 12.5kB)以获得更好的可读性。
图 8:主要攻击实体滥用的同步名称的时间序列

(3)DNSSEC密钥翻转
ZSK 翻转可以在软件中完全自动化,这解释了常规模式。

密钥翻转的目的:更换用于验证DNSSES响应一致性的单一信任根。

RFC 6781推荐了两种翻转方案,预发布和双重签名
①预发布
方案:仅在待机模式下引入新密钥,即该密钥尚未用于签署 RRsets。
缺点:容易出现竞争条件和错误配置,会损害验证过程。

②双重签名
方案:双重签名能克服预发布的缺点,允许两个活动的 ZSK 并生成两个(冗余)RRSIG 记录签名,然后可以在任意时间停用旧的 ZSK
缺点:使区域中的签名数量增加了一倍

尽管在 RFC 6781中提出了两种翻转方案,但预发布已被确立为事实上的标准,它的使用频率远远大于双重签名。

(4)观察滥用的 .gov 名称的双重签名方案
结论:这些 .gov 名称的运营商(其中许多是美国联邦政府的域名)不仅不遵守最佳实践,加剧了放大攻击,还导致其他人滥用。
【最佳实践:预发布;也就是说,这些运营商不使用预发布,而是使用双重签名,后文会详细介绍为什么双重签名会有这些弊端。】

即使在预期大小低于推荐的 EDNS 限制的几天后观察到转换,我们也无法合理地推断出背后的决策过程。
攻击实体要么完全理解DNSSEC 机制[5],要么只是观察到小于 4096 字节的响应,然后(手动)转换为下一个名称。

(5)攻击实体的放大因子
从图8(a)可以分析采样的 IXP 数据中的数据包大小,进而确定攻击实体实现了有效的放大因子
与展示潜在最大 ANY 响应大小的图 8(b) 相比,图 9 显示了在 IXP 观察到并从 UDP 标头中提取的实际响应大小的相对频率

请注意,我们会考虑误用名称的所有 DNS 查询类型。 然而,在攻击流量中,只观察到这些名称的 ANY 类型,大多数名称呈现双峰或三峰分布。

观察到的接近理论极限的响应大小集群,这表明攻击实体成功地找到了名称(和相关的权威名称服务器)以及允许ANY请求的放大器

此外,可以从图8(b)中看出,较小的响应出现在名称生命周期的末尾,这表示实体能够观察到当前的有效放大因子并在下降时更新被滥用的名称
在这里插入图片描述图 9:主要攻击实体在 IXP 上观察到的 DNS 响应大小的小提琴图

小提琴图 (Violin Plot)是用来展示多组数据的分布状态以及概率密度

(6)其他指纹识别特征
①寻找其他指纹识别特征的目的:验证可以将多个事件链接到单个实体
②指纹识别特征的特性:(i)能够随着时间推移保持一致;(ii)不常见。

方法:对通常应该表现出高随机性的数据包头进行熵分析

熵分析
熵是对不确定性的一种度量。
信息量越大,不确定性就越小,熵也就越小;信息量越小,不确定性越大,熵也越大。
熵值可以判断一个事件的随机性及无序程度,也可以判断某个指标的离散程度,指标的离散程度越大,该指标对综合评价的影响越大。

确定特征为DNS.ID
对于每个攻击事件,检查特定特征的不同值的数量是否随数据包总数线性增长
数据包头(headers)进行研究,例如 IP.ID、UDP.SRCPORT 和 DNS.ID
由于网络和传输层特征在重构后发生变化,这里只考虑 DNS 查询(DNS.ID)(即在放大之前发送的数据包)。
不幸的是,网络和传输层标头中的所有特征(IP.ID,UDP.SRCPORT)都表现出线性增长,因此熵很高
【因为不同值的数量一直增长,因此难以预测,不确定性大,所以熵值很高】
幸运的是,我们检测到 DNS 事务 ID 的随机性较低,所以熵值较低,可以手动检查DNS.ID

DNS事务 ID:DNS 报文的 ID 标识。对于请求报文和其对应的应答报文,该字段的值是相同的。通过它可以区分 DNS 应答报文是对哪个请求进行响应的。

观察图10得到的结果:
(i)使用中的 ID 数量通常比数据包总数小 1-2 个数量级

(ii)可以发现 91% 的攻击事件只有一个奇数或偶数 ID 选择。
对于包含误用名称的采样数据包最小数量 ,使用随机 DNS ID 能够观察到的概率为 2·(1/2)^9 = 0.4%

此外,排除了测量失误的可能性,例如流量和采样之间的同步,因为采样是从 16k 中选择 1 个,而不是选择每 16k 个数据包。因此,我们认为我们发现了一种算术结构,而不仅仅是一种随机现象。

(iii)对于剩下的 9% 的攻击事件,我们观察到两个分别具有奇数和偶数 ID 的阶段,以及一个明显的转变。 【??】

实际上,具有同步名称的攻击事件的 ID 的整体选择遵循两天的节奏,每 48 小时在奇数和偶数 DNS 事务 ID 之间交替,独立于其他功能。
ID 的选择可能带有时间戳,并且与受害者的属性无关。
在这里插入图片描述
图 10:熵检查:来自攻击实体的所有数据包的唯一 DNS 事务 ID 和数据包数。
有限数量的 DNS ID 表示预先构建的查询。

(7)结论:
总之,基于两个属性对主要攻击实体进行指纹识别:
名称攻击工具的实施细节(DNS ID )
这两个功能都是应用程序标头的一部分,因此可以将攻击流量链接到该实体,即使在发生反射也是如此。
与第 5 节的观察类似,该攻击实体的指纹仅在蜜罐检测到的 0.6% 的攻击中可见,即攻击实体仅在 IXP 处清晰可见

2. 被攻击的受害者,误用的放大器
本小节描述执行的攻击事件以及攻击者控制的重新配置和重定位

与攻击实体相关联的攻击是分布式的。

(1)图11观察到的结果
受害者目标 IP 地址每天覆盖受害者前缀的数量一样多;【这个前缀是指什么?】
②垂直线突出显示了滥用名称之间的转换,直到最后一次名称转换前,受害者人数保持稳定。最后一次名称转换后,受害者的数量几乎增加了一个数量级,这和数据包的总数变化相同(图 8(a)中)。

在这里插入图片描述图 11:通过 IP 地址、前缀和 AS 编号识别的唯一受害者数量。
垂直线突出显示滥用名称的过渡。

(2)图12观察到的结果
①探究的问题:
检查攻击者每天是仅更新了被滥用的名称列表,还是也更新了被滥用的放大器列表

为此,计算每天新的已知放大器(至少已经被滥用一次)的数量。

②尽管总攻击次数增加,但滥用放大器的数量保持稳定。这表明该实体每天仅滥用一组特定的放大器。【每天仅更新名称列表】然而,每个攻击事件都会选择随机子集
③随着名称转换,新放大器的数量通常会突然增加,这表明名称和放大器列表同时更新。因为 DNS 主机存在IP流失的现象,所以几乎每天都会出现新的放大器,从而显示出持续的更新行为。

【那结论到底是什么呢?】
在这里插入图片描述图 12:主要攻击实体使用的已知和新放大器。
新放大器的爆发与名称转换(垂直线)松散相关。

(3)流量属性:DNS请求-响应
为了了解攻击数量的增加,继续研究其他特征

①从8月中旬的峰值开始,该攻击实体的DNS 请求-响应比率发生了巨大变化。
之前,DNS 流量几乎都是DNS响应,响应数量保持稳定;
但是现在请求明显增加,大约85% 的攻击流量由请求组成。

②此外,99.8% 的请求来自同一个入口 AS,而且IP TTL都是250。
这表明存在集中式的攻击基础设施,因为僵尸网络通常分布在多个网络中。这样的基础设施通常是引导网站的隐藏后端。
然而,这个入口 AS 的客户包含超过 16k 个 AS,因此无法完全追溯基础设施。

③探究攻击流量属性(DNS的请求-响应比率)发生变化的原因:
(i)我们没有发现 IXP 的拓扑变化可以解释攻击流量属性的变化。即,我们没有发现任何新成员,并且入口网络在整个测量期间也不是新成员。
(ii)此外,这种转变也不太可能是由不相关的路由更新引起的,因为所有放大器的路径都必须同时改变才能产生这种均匀的效果。

(iii)真正原因:
由于流量属性和名称的转变同时发生,因此认为这种影响是由攻击实体触发的,也就是说,攻击实体重定位到 IXP 成员的入口才导致这种情况的出现。

重定位定义:集中式攻击基础设施到另一个网络的拓扑转换
后来在10月中旬观察到第二次重定位。

本节小结:
总之,通过拥有的指纹重新审视主要测量周期,我们能够发现名称和放大器的重新配置,以及攻击基础设施的重新定位。 我们能够根据在
IXP 上可见的网络和应用层信息来做到这一点。

七、揭示 DNS 攻击实践

本节使用跨域 IXP 视角来披露被滥用的基础设施。
此外,还分析了(所有)攻击者在放大效率方面的表现。

1.放大生态系统
首先调查攻击者是否继续在攻击中滥用相同的反射器

反复使用稳定的基础设施可能导致以下两种情况:
使攻击者 (i) 可指纹识别和 (ii) 容易受到边缘解析器的频繁重新寻址

(1)攻击中使用了多少放大器? 特定放大器出现在多少次攻击中?

回答: 80%的攻击使用了10-100个放大器; 特定放大器(权威域名服务器)很少被滥用,只有908个被滥用。

①数据集:
在主要测量期间,OpenINTEL 数据占据了大量活跃的权威域名服务器:大约 420 万个 NS 名称,它们共同映射到超过一百万个 IP 地址。
在适用的情况下,我们使用这些数据将在 IXP 观察到的放大器 IP 地址权威域名服务器相关联。

②权威域名服务器很少被滥用
现象: 我们发现只有 908 个权威域名服务器在攻击中被滥用——约占在 IXP 观察到的所有放大器的 2%。
原因: 因为权威域名服务器不是递归地解析 DNS 查询,而是迭代查询,这使得它们对于攻击者没那么有吸引力。
结论: 因此,绝大多数被滥用的 DNS 放大器都是开放解析器转发器。 (附录 C 中进一步讨论了转发器和解析器的分类)

然而,基于根查询的攻击使用多于4倍的权威域名服务器,这可能与滥用错误配置的根提示文件的攻击有关。

图13观察的结果:
(i)通过图13(a),可以观察到 80% 的攻击事件使用 10 到 100 个放大器(数字不是由采样率推断的)
(ii)图 13(b) 显示了 23% 的放大器参与了十次以上的攻击。
结论: 对放大器的反复使用可能会允许对攻击者进行指纹识别
在这里插入图片描述(a) 每次攻击的放大器数量:大多数受害者受到 10 到 100 个放大器的攻击。
在这里插入图片描述(b) 每个放大器的攻击次数:50% 的放大器参与一次以上的攻击,甚至 23% 的放大器参与十次以上的攻击
图 13:放大器参与攻击的分布。 最后 20 个数据点突出显示。

(2)攻击实体是否会使用稳定的放大器列表?

回答: 攻击者似乎稳定地使用已知和新放大器的随机组合。

在观察了反复出现的放大器之后,现在调查攻击者是否使用静态放大器组

由于 DNS 受到来自具有 24 小时 IP 地址租用时间的家庭网关的高放大器流失的影响,我们预计集合存在时间很短

攻击之间的相似性-Jaccard距离
通过测量两个攻击在其各自放大器组上的Jaccard距离来量化两种攻击的(不)相似性来进行分析。
彼此之间Jaccard 距离较低的一组相似攻击(聚类)表示一个固定列表。
通过使用两种算法来使用双向聚类方法:T 分布随机邻域嵌入 (T-SNE) 和基于密度的噪声应用空间聚类 (DBSCAN) 。
独立计算这两种算法,以从单一聚类方法中排除有偏差的结果。

双向聚类可以同时对样本和变量进行聚类,将原始数据矩阵聚成一系列子矩阵,一个子矩阵表示一类。
基本思想是研究样本和变量间的局部对应关系,通过确定其具体的结构来提高聚类效果并且增强聚类结果的可解释性。

图14观察到的结果:
T-SNE可以在二维平面上可视化高维数据。相似的攻击相互靠近,不同的攻击分开。
聚类结果如图 14 所示,每个灰色散点代表一个攻击事件
T-SNE 表明大多数事件之间存在很强的差异,有一些明显的集群。
DBSCAN 将附近的邻居分簇,并在低密度区域内标记不可分类的异常值。
DBSCAN 聚类 ID 用颜色编码,不可分类的异常值用灰色编码

(i)双向聚类后,可以看到有67 个集群(67个攻击事件类别),而大约92%的攻击事件仍然不可分类。

(ii)查至少 5 个攻击和 5 个放大器的集群以找到稳定的集合
最稳定的放大器组 (α) 在 40 天内用于 177 次攻击,没有任何变化。
最大的集合 (β) 每次攻击使用大约527 个放大器,同时总是引入一个小的、稳定的变化。
因此,我们总共只能将 2% 的攻击事件归因于固定集。

攻击者似乎稳定地使用已知和新放大器的随机组合。这证明了我们之前的结论,攻击者利用了放大生态系统,因此基于源的过滤对于缓解 DNS 放大攻击是不可行的。
在这里插入图片描述图 14:基于 Jaccard 距离在放大器组上的攻击事件的 T-SNE 可视化。
DBSCAN 簇用颜色标记(灰色不可分类)。
两种聚类算法都能区分不同的攻击事件。

(3)攻击实体会招募新的放大器吗?

回答: 会。

Shodan历史查找
目的: 由于结果表明攻击者不断地改变他们的放大器组,我们想知道随着时间的推移攻击者使用了哪些放大器
为此,使用Shodans 历史查找,它允许检索给定 IP 地址的完整扫描历史

Shodan 是一种搜索引擎,但它与百度等搜索网址的搜索引擎不同,Shodan 可以用来搜索网络空间中的在线设备,包括一些物联网,工控设备等。

Shodan 省略了透明的 DNS 转发器,目前列出了大约 200 万个递归 DNS 解析器,所有这些解析器都可以被滥用来进行反射。

查询结果:
对于在 IXP 上观察到的所有 45k 放大器,执行历史 IP 地址查找。

Shodan 报告了 95%的放大器在某个时间点为递归 DNS 提供服务。
结论:
(i) 尽管大多数放大器都为公众熟知,但最终不能移除这些放大器;
(ii) 攻击者不使用私有的放大器,而是主要使用公开索引的放大器

即使对于互联网范围的测量,扫描结果也会有所不同。
然而,Shodan 和攻击者都观察到一组非常相似的 DNS 放大器

被滥用的放大器的使用时间
为了检查在测量期间被滥用的放大器的使用时间,我们在图 15 中确定了 Shodan 首次和最后一次成功检测到的放大器
在这里插入图片描述图 15:我们在 IXP 的攻击中观察到的 Shodan 的数量与反射器的第一次和最后一次互动。 以灰色突出显示的攻击时间范围。

图15观察到的结果:
(i)在攻击前六个月内,大量放大器都是第一次出现,也就是说攻击者大多使用不超过六个月的放大器
(ii)此外,许多放大器最后一次被观察到是在我们的主要测量期间或之后,这表明了操作员无意改变了解析器的开放状态;又或者放大器因动态 IP 地址而流失

值得注意的是,在 Shodan 发现之前,大约有 850 个反射器 (2%) 出现在攻击中。这表明一些攻击者运行自己的扫描引擎,其扫描频率或精度高于 Shodan。【对应于前文所说的,还有其他方法来寻找放大器】

因此,我们的方法能够在DNS 放大器被滥用时,对它们进行被动识别
总之,我们在 IXP 观察到大量 DNS 放大器流失,但这对于攻击者而言没有不利之处。 请注意,在 IXP 观察到的是实际的放大器滥用,而不是放大器可达性的流失(扫描可以揭示)。

尽管在两次攻击之间滥用放大器的总数保持稳定,但在随后的(dayi,dayi+1 天)中,我们平均只能看到 45% 的滥用放大器。 比较三个月测量期的第一天和最后一天,只有 20% 的放大器仍然出现。

这一观察结果表明,攻击者有效地检测并有目的地轮换新的 DNS 放大器

2.潜在放大因子
(1)攻击者会选择具有最大放大因子的名称吗?

我们调查攻击者是否询问名称以最大化放大,或者是否存在未使用的潜在威胁。

使用 OpenINTEL 数据,我们估计了 4.4 亿个域名的 ANY 查询的响应大小并绘制了 CDF,见图 16。ANY查询的响应大小是根据存储在 DNS 中的累积资源记录大小计算的,并忽略常用软件或协议限制(EDNS 为 4096 字节,UDP 为 65,536 字节)。

图16观察到的现象:
红色区域是之前在滥用中观察到的名称的响应大小。通过灰色区域可以发现,只有 9048 个域名的放大系数比排名最高、被滥用的名称高,约占所有名称的 0.002%。

结论: 这表明攻击者试图为高放大因子挑选名称而不是最优的。
我们估计的最大响应大小为 142,855 字节,而我们实际观察到的最大响应大小比14X小。
在这里插入图片描述图 16:估计由 OpenINTEL 测量的名称的 ANY 响应大小。 我们突出显示当前滥用名称的范围(红色),并显示潜在名称的范围(仅 9048 个不同的名称)以增加放大因子(灰色)。

**(2)我们可以期待未来更大规模的攻击吗? **
可怕的是,我们发现 OpenINTEL 数据集中大约 92,000 个名称 (0.02%) 可能导致响应大小大于 4096 字节。尽管 EDNS 建议不要发送较大的回复,但我们的测量表明 DNS 基础设施在实践中经常这样做。
可见的 DNS 攻击事件为 Internet 核心贡献了大量的 DNS 攻击流量
值得注意的是,IXP 的整体攻击流量占 DNS 数据包总数的 5% 和 DNS 总流量的 40%。
当只考虑 ANY流量时,这种趋势变得更加明显:68% 的 ANY 数据包和 78% 的 ANY 字节是攻击的一部分。当攻击者开始使用具有更高放大系数的名称时,情况会变得更糟。

八、讨论

1.对主要攻击实体的观察是否是我们有利位置的偏见?

回答: 不是。
本小节是为了验证对于主要攻击实体观察的适用性。

(1)讨论的前提: 尽管是当今互联网的核心元素,但大多数 IXP 仍然在本地运行以互连网络。

(2)验证实验:
为了验证我们的观察不是基于我们的大型区域 IXP 的本地现象,我们假设常用名称可能会缓存在 DNS 中。【假设是本地现象】
为了量化全球范围内的名称使用情况,我们应用了修改后的缓存窥探分析。简而言之,我们通过所有公共解析器解析了滥用名称以及一组任意名称,并比较了这些名称是否被缓存(详情参见附录 C)。
我们将缓存命中和未命中Alexa 排名中名称的流行度相关联。

缓存命中率:缓存的命中率越高则表示使用缓存的收益越高,应用的性能越好(响应时间越短、吞吐量越高),抗并发的能力越强。
命中(HIT):可以直接通过缓存获取到需要的数据。
不命中(MISS):无法直接通过缓存获取到想要的数据,需要再次查询数据库或者执行其它的操作。原因可能是由于缓存中根本不存在,或者缓存已经过期。

Alexa排名是指网站的世界排名,提供了包括综合排名、到访量排名、页面访问量排名等多个评价指标信息,大多数人把它当作当前较为权威的网站访问量评价指标

出于参考目的,我们仅为该研究创建了一个名称(之前未缓存的名称)。【即图17中的uncached name】

(3)图17得到的结果:
图 17 显示滥用名称(以红色突出显示并带有 ⭐)与非常流行的西方和东方名称具有相似的缓存命中率,尽管根据 Alexa 排名,我们的滥用名称表现出低得多的流行度
【①正常而言,Alexa排名越高,说明该网站越流行,也就是说更多人访问,因此缓存率应该更高。
②然而,有些网站(滥用名称)的流行性度低,但是它缓存命中率却和高排名的网站类似,说明它被滥用了(比如用于攻击)。】

结论: 结果表明,被滥用的名称经常被解析,但不是因为公共(Web)服务。
因此,我们认为 IXP 和我们的方法可以洞察全球规模的行为。
在这里插入图片描述图 17:一组任意名称和滥用名称的 DNS 缓存命中。
在 Alexa 排名中受欢迎程度较低但缓存命中率较高的名称表明该名称在全球范围内的使用是出于其他原因。

(4)我们的结果得到了反 DDoS 提供商最近发表的一项研究的进一步证实
Labovitz证实,我们识别出的一个滥用名称 (peacecorps.gov) 已被引导程序 SynStresser 利用来执行攻击。
此外,我们的一些攻击事件与公开记录的攻击相关。

2.权威域名服务器会提供完整的攻击过程吗?

回答: 不会。

(1)原因:
98%的开放 DNS 放大器是转发器,而不是递归解析器。这意味着大多数放大器不与权威服务器通信
②递归解析器仅在名称未本地缓存时才会联系权威服务器,而缓存响应[7]很常见;
③我们的数据库包括为多达 20k DNS 放大器提供服务的单个解析器,这说明缓存更有可能,因此请求在权威服务器上不太明显。

(2)结论: 因此,权威服务器可能看不到名称的滥用或完整的攻击基础设施

3.运营商可以做些什么来改善这种情况?

(1)目前运营商可以做:
通过配置其权威名称服务器或递归解析器来提供帮助:
①完全阻止ANY请求;
②仅通过 TCP 或使用最小子集响应ANY请求;
③限制部署速率。

虽然类似的建议已经提出了多年 ,但DNS 放大器仍然存在。不过这些对策仍然有用,因为攻击是基于一组相对稳定的查询。

(2)本文方法可以做:
如果将来会发布高级查询模式,本文方法将检测到这种情况,则可以选择部署过滤器,该过滤器专注于通过多个解析器得到名称或观察结果。
我们发现少数几个解析器服务于大量的放大器(即转发器),会先针对影响力更大的放大器

(3)预发布翻转
由于,双重签名翻转临时创建了第二组多余签名,这使得这些名称对攻击者更具吸引力,因此更容易受到攻击。
运营商应注意区域翻转期间的误用

因此,更建议当前是使用预发布翻转

4.IXP 的优势?
IXP 被认为是中心优势点 。
本文介绍了利用 IXP 来揭示 DNS 放大攻击的方法。

(1)蜜罐缺点:
①与之前假设的相比,蜜罐平台看到更少的放大攻击
②与大型区域 IXP 相比,为了实现类似的覆盖范围,蜜罐需要更广泛的分布
③蜜罐很容易被检测到,要么是因为它们部署了速率限制,要么它们暴露了其他特征,例如启用指纹识别的延迟。

(2)IXP优点:
先前工作表明,恶意软件会适应和隐藏 。
与蜜罐相比,IXP 是互联网基础设施的原生部分,不需要部署暴露给攻击者的检测方案。
它们允许监控网络互联的互联网流量,简化了监控系统的操作维护。

九、结论与展望

1.研究问题: 我们结合互补的数据源研究了来自互联网核心的 DNS 放大生态系统。

2.结论
(1)我们针对公共对等点的攻击检测方法能够揭示分布式域间攻击,DNS 攻击向量比以前被(甚至是分布式的)蜜罐捕获的更受欢迎,这在重新攻击和放大攻击的背景下是一个优势。

(2)我们成功地跟踪了一个突出的攻击实体并确定了具体的攻击模式
研究表明,攻击者能够快速检测新的可滥用放大器,并合理地更改所滥用的基础设施
同时,攻击者可以选择(查询)名称来实现更高的放大率,特别是在利用欺骗和高度可变的放大器组进行攻击的情况下。【攻击者还未达到最大的放大因子】

(3)各种美国联邦政府域名的运营商违反了建议的 DNSSEC 密钥翻转做法,这不仅加剧了各种 .gov 名称的放大潜力,而且我们的结果也可能与放大攻击和攻击者决策相关联。
【他们使用了双重签名,但应该使用预发布的DNSSEC密钥翻转做法】

展望:
对于未来的工作,我们计划扩展我们的方法以涵盖更多的协议,并探索阈值的微调以识别更微妙的攻击。

附录

A 伦理问题
我们的研究可能会引发以下伦理问题。

1.通过深度数据包检测入侵隐私
IXP 有利位置提供了应用层有效负载的视图
这些数据特别敏感,因为它们可能包含个人信息,或揭示用户的兴趣(例如,访问过的网站)。但是,我们不会使用这些数据来识别或研究用户。

我们还仅提供汇总视图,消除第三方推断隐私敏感信息的可能性。
最后,我们关注攻击流量,它由不披露特定用户兴趣的滥用查询名称组成。

2.培养攻击者
本文清晰地展示了滥用的查询名称,有效地向攻击者展示了适合放大的名称。
我们认为这些名称已经在攻击中被广泛滥用,因此发布它们不会泄露新信息。

同时,我们确定了 9000 多个名称,这些名称可以提供比我们在实践中看到的更高的放大率。我们不会透露这些名字。

3.警告主要攻击实体
发布第 6 节中详细介绍的 DNS 签名可以警告负责一半以上攻击的攻击实体。
然而,我们认为,发布这些信息利大于弊,因为它将有助于研究界的缓解工作。

B CCC蜜罐平台的验证
为了验证本文中使用的 CCC 蜜罐与之前的蜜罐研究相比有类似的观察结果,我们比较了各种攻击阈值并分析了我们的蜜罐平台的收敛性

1.比较攻击阈值
CCC 使用每个传感器 5 个请求的阈值推断攻击,在停止响应请求之前没有超过 900 秒的间隔。这与其他设置更高阈值的蜜罐形成对比(即 100 个数据包并且没有超过 3600 秒或 600 秒的间隙)。
因此,CCC 应用了更敏感的攻击检测,在相似的时间范围内报告的 DNS 攻击数量略高,这一点变得明显。

2.收敛性分析
蜜罐平台的一个主要特性是通过部署少量传感器来融合可见攻击。
我们在 CCC 平台上收集的数据重现了先前工作[26]的收敛性分析,并进行了非常相似的观察。
99.5% 的受害者已经可见,只有 5 个传感器,见图 18。但是,由于长尾分布,我们需要 50 个传感器来覆盖 99.9% 的受害者,值得注意的是,假设 CCC 平台捕获大多数 DNS是基于捕获-重新捕获统计技术的攻击(85.1% 到 96.6% 之间)。

长尾分布
极少数个体(横轴)对应极高的值(纵轴),而拥有极低值的个体,数量却占总体的绝大多数

总体而言,这些结果表明我们的蜜罐平台的行为与相关项目相似。
敏感阈值和收敛行为表明对能所有 DNS 攻击的观察,我们在第 5 节中驳斥了这一点。

在这里插入图片描述图 18:CCC 平台的蜜罐融合。 与相关项目相比,我们观察到类似的行为。

C 缓存窥探以检查名称受欢迎程度
为了验证名称是否经常在全局范围内解析,我们使用修改后的==缓存侦听 (CS) ==分析。

CS 利用流行名称保留在 DNS 缓存中的事实,缓存响应由TTL标识,它小于权威域名服务器定义的默认 TTL 。
CS 已被用于检查大型公共 DNS 解析器的缓存行为
由于如何设置 TTL 的研究较少,因此运营商通常会重复使用相同的 TTL(例如,5 分钟、1 小时、1 天)。

第 1 阶段:识别 DNS​​ 解析器
我们对完整的公共 IPv4 地址空间进行扫描并搜索 DNS 放大器。
向所有潜在的放大器发起 DNS 查询并检查 DNS TTL 是否符合默认 TTL ,这并不能产生准确的结果。这是因为常见的 DNS 部署,其中 DNS 转发器使用递归解析器,因此会从该解析器继承当前的 TTL。
因此,我们首先需要从 CS 中排除DNS转发器

为了识别 DNS​​ 解析器,运行我们自己的名称和权威 DNS 服务器
该服务器以 A 记录集响应直接查询我们的权威名称服务器的解析器的 IP 地址。
通过将 A 记录和目标的 IP 地址与响应的源 IP 地址进行比较,我们可以区分解析器(地址匹配)和转发器(地址不同)

这种方法能够使用预先构建的 DNS 查询进行快速扫描,还限制了权威名称服务器上的流量,因为使用相同解析器的转发器将返回一个缓存条目。
转发器和解析器之间的关系之前已经测量过,但是之前的方法将每个目标的 IP 地址嵌入到子域中,这种嵌入需要在权威名称服务器上分析查询,这阻碍了可重复性。

第 2 阶段:评估名称的流行程度
隔离解析器后,我们现在可以启动 CS ANY 扫描以发现不常见的缓存活动。
这里的原因是,尽管不流行,但被滥用的名称很少出现在缓存中,例如通过 Alexa Rank 来衡量。

在长期监控工具的帮助下,我们最近发现了滥用名称。
通过以下步骤来过滤响应:
①删除带有错误标识和代码的回复(例如,rcode REFUSED);
②删除来自明显 DNS 操纵者的响应(即更改 TTL 或 A 记录的来源);
③删除来自单一来源的重复响应。
然后,如果所有响应资源记录都包含默认 TTL,我们将响应分类为缓存未命中,否则将其分类为缓存命中。

我们将分析重点放在同样流行的 .gov 名称上。
由于americorps.gov 的最大 TTL 也比peacecorps.gov 大(+25%),因此预计会产生更多的缓存命中。
我们使用两个固定名称来验证此测量的正确性。
首先,我们再次使用Shadowserver 的名称,该名称具有详细记录的每日扫描时间和 TTL。 我们在每日过期时间后启动扫描,以展示正确的缓存清除;
其次,在我们的 CS 扫描之前,我们创建一个全新的名称,它应该只产生缓存未命中。 尽管如此,它仍然显示少量缓存命中。我们认为这些缓存命中是我们测量的错误率。 我们假设对这些错误负责的相互解析器缓存和 DNS 优化器。

参考文献:
[1]Ground Truth
[2]一次出人意料而名留青史的DNS投毒攻击(详细介绍了DNS的工作过程)
[3]EDNS介绍
[4]DNS 安全(二):针对 DNS 协议的攻与防
[5]DNSSEC是什么,工作原理是怎样的?
[6]DNS 安全(一):基础知识复习
[7]浅谈DNS缓存的作用和影响
[8]DNS(一)之禁用权威域名服务器递归解析

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值