工作来源

IMC 2019

工作背景

现代权威 DNS 服务器非常复杂,可以根据请求的地理位置、延迟与内容过滤策略给出不同的响应。任何被动方式评估DNS 的研究人员,都只能了解到部分情况。此前OpneINTEL、Project Sonar 与RIPE Atlas 项目都是主动测量,覆盖范围与场景都存在差异。

工作设计

流量中提取的特征如下所示:

  • srvips:nameserver IP 地址数

  • srcips:递归解析服务器 IP 地址数

  • sources:SIE Contributor 的数量

  • hits:迄今为止看到的总次数

  • unans:未响应请求数

  • ok, nxd, rfs, fail:RCODE 为NoError、NXDOMAIN、Refused与ServFail的响应量

  • ok_ans, ok_ns, ok_add:无错误响应中非空 ANSWER、非零 NS 记录、非空 ADDITIONAL

  • ok_nil:ok_ans 与 ok_ns 均不满足(无数据/NoData)

  • ok6, ok6nil:所有无错误、无数据的 AAAA 请求

  • ok_sec:DNSSEC 给出的响应(设置 EDNS0 DO Flag)

  • qnamesa, qnames:所有请求中的 QNAME 去重数、无错误响应中的 QNAME 去重数

  • tlds, eslds:无错误响应中TLD与ESLD的数量

  • qtypes:QYTPE的数量

  • qdots, lvl, nslvl:QNAME 标签数、ANSWER 记录数、AUTHORITY的NS记录数

  • ip4s, ip6s:A/AAAA请求中无错误响应的去重 IP 地址数

  • ttl, nsttl:权威响应中的 TOP3 TTL 及其分布情况

  • resp_delays:响应延迟的四分位数

  • network_hops:解析服务器与 Nameserver 之间跳数的四分位数

  • resp_size:响应包大小的四分位数

这些特征底层使用简单计数(hits)、平均值(qdots)、直方图(resp_delays)或者基数估计(ip4s)。对于较大的值集中的元素数量,使用HyperLogLog 算法进行近似。

每分钟生成一个序列,再逐渐聚合到十分钟、一小时、一日与一月对应的数据。

使用 Space-Saving 算法在控制内存用量的情况下跟踪TOP 对象

工作准备

通过分布在全球数百个解析服务器的观测点收集收据,2019 年1 月到2019 年4 月共收集了1.6 万亿。数据峰值为每秒20 万次请求,平均每天130 亿。在一分钟的时间窗口内,能够观测到超过 150 个存在的FQDN 与110 万个不存在的FQDN。

收集的数据:

  • srvip:TOP 10 万 Nameserver 服务器

  • etld:TOP 1 万 eTLD

  • esld:TOP 10 万 eSLD

  • qname:TOP 10 万 FQDN

  • qytpe:所有 QTYPE 的聚合结果

  • rcode:所有 RCODE 的聚合结果

  • aafqdn:权威应答中 TOP 2 万 FQDN

  • srcsrv:TOP 3 万“解析服务器与 Nameserver”的 IP 对

工作评估

TOP 10 万的Nameserver 能够覆盖94.9% 的DNS 数据,长尾效应非常明显。无错误响应中 NoError+Data 占总量的64.4%,NoData 占4.7%。大部分DNS 流量可能仅由1000 个权威Nameserver IP 地址处理,DNS 并没有分布在 IP 地址空间中。并且,NXDOMAIN 流量超过20% 与大型僵尸网络有关。Mylobot 的DGA 算法会在数千个不存在的SLD 下生成数百万个FQDN。

TOP 10 万的FQDN 覆盖所有DNS 数据的23.2%,TOP 1 万的FQDN 占比约为18.6%。很多 FQDN 只用一次就废弃,长尾更加明显。

TOP 10 万的eSLD 占所有DNS 数据的68.5%,请求量最大的 CDN、云服务、社交媒体与电子商务等占比很高。

按自治系统来统计,TOP 10 的组织管理了全球超过一半的DNS 请求。亚马逊以16% 的份额高居榜首,可能是由于大量流行的网站都部署带AWS 上。全球最大的两个 CDN(Akamai 与CloudFlare)共处理全部 DNS 的13%,由于CloudFlare 常使用IP Anycast,其Nameserver 的数量比 Akamai 少的多。CDN 厂商的延迟与跳数明显更低,说明厂商针对性做了优化。

TOP 10 的QTYPE 覆盖99.5% 的DNS 数据,A 记录大概是AAAA 记录的三倍。A 记录的NXDOMAIN 响应率为22%,AAAA 记录大概为5.9%。令人惊讶的是,PTR 记录的请求竟然如此之多,这些请求通常是服务器与其他互联网基础设施发出的。NS 记录虽少,但 86% 都是NXDOMAIN。这可能是伪随机子域名共计,响应大小也比平均更大。

TOP 10 万Nameserver 中,只有0.9% 的Nameserver 中值响应延迟高于1 秒。小于1 秒的延迟中,七成的延迟在35 毫秒到350 毫秒。

TOP 2.5 万的延迟与跳数如下所示,确实最流行的服务器更快。

根 Nameserver 与 gTLD 的情况如下所示,拥有最多镜像的根 Nameserver 也是最快的。总的来说,根Nameserver 处理 3% 的DNS 数据,但其中会产生96.2% 的NXDOMAIN 响应。而 gTLD 处理9.6% 的DNS 数据,其中产生了26.4% 的NXDOMAIN 响应。

活跃使用的 Nameserver 共有150 万个唯一IP,接近一半的/24 前缀中都只有一个地址。

以 xmsecu.com 为例,该域名从2019 年4 月4 日的TTL 从十分钟锐减至十秒钟。由于 TTL 减少,请求量暴涨。

TOP 100 的SLD 的TTL 变化如下所示,TTL 与DNS 流量间几乎呈现反线性相关。

查看 FQDN 的A 记录与NS 记录的TTL 分布,特定小时内至少10% 的 DNS 响应为新值就被分类为变化。

声明:本文来自威胁棱镜,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。