仅 1 个月内,利用新发现的域名标记 1300 万个恶意域名
作者:Stijn Tilborghs 和 Gregorio Ferreira
执行摘要
2022 年上半年,Akamai 研究人员根据新发现的域名数据集标记了近 7900 万个恶意域名。这相当于每月标记大约 1300 万个恶意域名,占成功解析的所有 NOD 的 20.1%。
我们对比了 NOD 检测方法与另一个著名的威胁情报综合分析平台在覆盖范围和平均检测时间方面的差异,发现 NOD 检测方法具有非常出色的补充价值。
借助 NOD 威胁检测,我们能够分析 DNS 查询的“长尾”,并在威胁生命周期的早期识别出新的恶意威胁。
前言
Akamai CacheServe 实例目前每秒可处理超过 8000 万次 DNS 查询,或者说每天能够处理来自世界各地的大约 7 万亿次请求。 我们的团队会获取这些数据的匿名子集,交由研究人员仔细进行检测,确保更高的网络安全性。
我们隶属于 Akamai 安全研究团队。我们为 ISP 和企业提供 DNS 和 IP 情报,确保终端用户能够安全可靠地浏览网页。
众所周知,Web 链接的目的地有时候并不安全。如果识别到恶意目的地,我们的系统能够进行干预,避免勒索软件、恶意软件、网络钓鱼和许多其他威胁造成损害。
在本文中,我们将为您介绍一项强大资产:新发现的域名 (NOD) 数据集,并说明如何使用这项资产在极短的平均检测时间 (MTTD) 标记出新的恶意域名。
我们将介绍 NOD 的概念,并展示我们的团队如何使用 NOD 来保护客户和终端用户。在后续的博文中,我们将从机器学习的角度进一步说明这项研究背后的过程。
新发现的域名
有些 CacheServe 客户(通常是 ISP)会向我们提供匿名 DNS 查询字段,例如请求的 FQDN 和解析的 IP 地址。我们从这些数据中提取域名,并跟踪上次观测到每个域名的时间。对于过去 60 天内首次查询的域名,我们会将其视为 NOD,也就是新发现的域名。
借助 NOD 数据集,我们可以重点分析通常所称的“长尾”部分,在本例中,即 DNS 查询的长尾。在这个数据集中,您可以找到新注册的域名、拼写错误和在全球范围内很少查询的域。
据我们所知,其他在监控 NOD 的企业曾表示,他们使用的时间窗口从 30 分钟到 72 小时不等。这与我们使用的 60 天窗口相差甚远。我们使用如此长的窗口是为了确保只关注新注册且很少被查询的域名。我们的研究人员正是在这个窗口期发现了大量新的和即将出现的 DNS 网络威胁。
除此之外,我们还跟踪从未成功解析的 DNS 查询 (NXDOMAIN)。这样做是因为恶意软件尝试连接的大多数域甚至还未注册。这导致我们的数据集规模扩大了约一个数量级,但好处是我们的安全研究人员能够掌握整体情况,而不是去分析有偏差的样本。
简而言之,这就是我们 NOD 数据集的优势。这个数据集为我们提供了丰富的分析选择。
NOD 数据中的恶意活动
图 1 显示 2022 年 3 月 3 日的一个随机样本,帮助您了解 NOD 数据集的实际构成。
aa65ef[.]ch
i3oq6565ybln1l14[.]com
1z4e1feu8flth[.]com
fkyjtgqnodzv0n0[.]com
xmyc[.]ren
bx76-lzlirxpp6[.]com
vcd7alw-x34ujurr7aeciih9l8[.]com
yporqueyo[.]com
avdl2-li2tmw86[.]com
vnfwjetwwqqddnundjgk[.]jp
lynnesilkmandesig[.]com
aa73ve[.]ch
图 1:NOD 数据集的随机样本
看到图 1 后,想必您不会对 NOD 极高的恶意可能性感到惊讶。
通常情况下,我们的团队每天总计可以发现大约 1200 万个新的 NOD,其中成功解析的略多于 200 万个。在 2022 年的上半年,我们采用 NOD 威胁检测标记了近 7900 万个恶意域名。NOD 数据集已经成为我们检测机制的关键组成部分。
NOD 数据集中的许多名称您可能永远不会在浏览器窗口中输入。这些名称我们无法读取,看上去像是计算机生成的。为什么会有这么多这样的名称?
恶意攻击者通常会批量注册数千个域名。如果一个或多个域名被标记和阻止(例如,被我们的团队标记和阻止),他们只需要简单切换成另一个域名。这些域名通常是使用域生成算法 (DGA) 以编程方式创建而成。这种自动化过程是这些 NOD 之所以危险的部分原因。这是持续攻击企业的一种方式。
这些域名中通常会插入数字,以降低生成的域名已被注册的可能性。
使用上述技术的常见威胁包括恶意软件、勒索软件攻击、加密挖矿程序、误植域名(通常用于网络钓鱼)、僵尸网络和 APT。如果我们能够更好更快地检测出这些类型的模式和计算机生成的名称,就能够在造成损害之前消除更多威胁。
NOD 数据中的恶意活动检测
以下是我们团队中所用的一小部分 NOD 检测方法。
已知的 DGA 数据库
我们来仔细看看前面示例中的两个域名:aa65ef[.]ch 和 aa73ve[.]ch。这两个域名有相同的长度和顶级域 (TLD),地址包含字母和数字字符,这表明它们很可能是用相同 DGA 创建的。
在通过逆向工程掌握 DGA 的内部工作机制后,我们就能轻松生成未来预计会看到的域名。我们的一个内部项目所做的正是这项工作:我们创建了一个数据库,其中包含所有已知 DGA 家族未来 30 年内可能出现的域名。如果没有网络安全界的公共知识共享,我们将无法达成目标。在此,特别感谢各位同行分享你们的知识!
每当检测到新的 NOD 时,我们都会在该数据库中寻找匹配项。如果存在匹配项,我们就会将此 NOD 视为恶意域名。目前,我们用这种方法在成功解析的 NOD 中标记出大约 0.1% 的恶意域名。
这意味着我们收集的网络安全知识产生了积极的影响,为保护终端用户发挥了作用。但这也意味着这种方法只检测到一小部分恶意活动,我们还需要更多的检测机制。
启发式分析
我们的研究人员多年来一直在处理 NOD 数据。在过去 12 年的人工分析和研究中,我们创建了 190 多个特定于 NOD 的检测规则。
目前我们使用这些启发式规则来执行大部分的检测,并以域名本身、其 TLD、解析的 IP、自治系统编号 (ASN) 等信息为依据。
以下是此类规则的一个示例:
按照以下规则标记所有 NOD:
ASN 风险评分 高于 0.50
TLD 风险评分高于 0.75
解析的 IP 地址处于 127.0.0.0/8 范围内
以数字开头的注册域名
我们怎么知道这些规则不会产生误报结果?团队的经验在这里起着重要作用。在多年的演变中,这些规则难免会造成很多误报。我们为客户制定了报告机制,从而可以快速分析和处理任何错误。
2022 年上半年,在通过启发式分析进行标记的 7900 万个域中,我们后来发现了 329 个误报。这个数量相当于 0.00042% 的错误发现率。
我们的数据科学家团队目前正在研究一种机器学习方法,用以扩展启发式方法,并且进一步增加覆盖范围。我们会在后续的博文中介绍这种方法。
网络钓鱼检测
对于新发现的每个 NOD,我们都会对比已知品牌名称和热门网站列表来检查相似性。如果一个新的 NOD 存在非常高的相似性,我们就有足够的理由将它标记为恶意域名。
在相似度稍低(但仍然很高)的情况下,我们会参考其他数据来帮助做决定。例如:在解析后,如果域名指向 风险评分高的 ASN,它属于网络钓鱼攻击的可能性就会增加。
快速威胁检测
NOD 的一大优势是 MTTD 非常短。
借助 NOD 数据,我们能够在威胁生命周期的早期对新出现的域进行分类。我们只需要对新创建的恶意域运行一次 DNS 查询,就可以触发检测机制。
来看一个示例:
我们在研究“邪恶的黑客国家”开展的网络钓鱼攻击。 恶意攻击者将 safebank[.]abc 作为攻击目标,在 savebank[.]abc 建立了虚假网站。
攻击者通过发送电子邮件,诱使人们访问虚假网站。生活在英国的 John 收到了这样的邮件,他是使用 CacheServe 的 ISP 的订户。这家 ISP 也和 Akamai 团队共享 CacheServe 元数据,而且 John 与所有其他 ISP 的订户一样,选择了使用 Akamai 提供给 ISP 的增强安全包。
John 点击了指向钓鱼网站的链接。由于这是全新的网站,并且没有被任何人标记为恶意网站,所以 John 能够访问此网站。
但是,在幕后,我们的团队会接收到 NOD 数据集中 savebank[.]abc 的新条目。我们的网络钓鱼检测技术会立即将此识别为 safebank[.]abc 的错误拼写。
这个域名就会被标记为恶意域名。该操作会级联到 ISP。自此之后,所有 ISP 的订户都不会再掉入该网络钓鱼欺诈的陷阱。 即使订户点击钓鱼链接,也无法访问该虚假网站。
John 也许是该钓鱼网站的第一个受害者。但就我们团队所保护的人而言,他大概也会是最后一个受害者。
我们的所有 NOD 检测系统和规则均为全自动化执行。这意味着,一旦识别到新的 NOD,我们只需要几分钟(而不是几小时或几天)就可以确定其是否为恶意域名。这个过程无需人工干预。
这些因素结合在一起,使得我们的 NOD 威胁检测在速度上比许多其他威胁检测机制更有优势。我们的团队借助这种检测方法,能够快速抵御新的 DNS 威胁。
总结如下:
触发威胁检测的事件处于威胁生命周期的早期阶段。
由于是完全自动化执行,所以检测系统本身非常快。
NOD 检测效率如何?
为了能够进行比较,我们来重点分析成功解析的 NOD,因为在外部数据集中不太可能找到未解析的域名。因此,以下提到的任何数字仅针对 rcode 0。我们还将时间表限制在 2022 年 1 月 1 日到 2022 年 6 月末。
在此时间范围内,我们团队的检测系统在所有 NOD 中发现了 20.1% 的恶意域名。也就是说,在这 6 个月期间,仅以 rcode 0 为基础,就有近 7900 万个唯一恶意域名。
我们决定使用某大型知名威胁情报综合分析平台作为参考进行评估。我们将此参考对象称为“综合分析平台”。
一方面是我们通过之前描述的启发式分析项目标记为恶意域名的 NOD。
另一方面是在上述数据库中至少被搜索一次的所有域名。
我们发现,在标记为恶意域名的 NOD 中,有 91.4% 根本不存在。
我们还发现,在能够找到的域名中,超过 99.9% 的名称“声誉”为 0,意味着这些域名尚未被标记为良性或恶意(而只是被某个人搜索过)。
综上所述,对于我们的研究人员采用启发式规则标记的所有成功解析的域名,在所知的综合分析平台中每 11,000 个域名我们只能获取关于 1 个域名的标记意见。
哪种方法效果更好?这个问题我们现在无法回答。
但是从上述数据中我们可以得出的结论是,NOD 数据集可以提供很大的补充价值,因为其输出与其他主要威胁情报源之间只有非常小的重叠。
NOD 检测速度有多快?
现在我们来分析检测时间。
我们采用与上述相同的数据设置,然后重点分析我们发现的小部分重叠数据,这些数据代表我们的团队与综合分析平台都将域名标记为恶意域名的情况。请注意,这里仍然只关注我们其中一个检测项目,即启发式分析。
图 2 解答了这个问题:当两个系统都将某个域名标记为恶意域名时,其中哪个系统标记得更早,时间差是多少?
我们发现,在综合分析平台与我们的团队都标记出某个恶意域名的情况下,我们标记出来的时间通常比综合分析平台早 29.6 天(即 MTTD 缩短近 30 天)。
图 2 进一步分解了这个数字。
y 轴代表恶意域名的数量。
x 轴代表标记出恶意域名的天数与其他系统做出标记的天数之间的差异。右侧的条形图代表我们的检测系统更快的情况。左侧的条形图代表综合分析平台更快的情况。
本例中 NOD 方法确实达到了极短的 MTTD,因为其规则会在正常威胁生命周期的早期触发检测。
但是有一点也很明显,就是在很多情况下 NOD 方法比另外的综合分析平台要慢。这表明我们需要采取多层面的方法,以便充分利用两种系统的优势。
在对图 2 进行分析后,我们再次得出结论,理想的解决方案是同时使用 NOD 方法与综合分析平台。
近期的一次 NOD 观测
NOD 数据的另一个优点是,通过分析这些数据,我们能够从独特的宏观视角看待恶意活动。例如,图 3 显示一段时间内我们为每个 TLD 标记的恶意域名数量。
俄罗斯 TLD .ru 的行为特别值得关注。其基准线是每天大约 1 万个新的唯一恶意域名。在俄罗斯对乌克兰采取军事行动前两周,我们开始观测到恶意活动稳步上升,每天有近 4 万个恶意 NOD。后来,恶意活动的势头有所放缓,在 3 月下旬达到一个高峰,每天有超过 25 万个 .ru 唯一恶意域名。
我们为客户标记出这些域名,就能帮助他们保护订户免受这些潜在威胁的影响。
结论
安全策略必须具有多个层面,我们掌握的信息越多,越能提高网络的安全性。NOD 威胁检测速度很快,而且可以作为其他威胁情报源的绝佳补充。
我们的团队一直在监控 NOD,并将继续学习和在未来的博文中分享我们在安全领域的知识。
在未来的博文中,我们将详细介绍如何将机器学习算法添加到 NOD 数据集。
为避免错过我们的安全研究团队、威胁情报团队或任何其他优秀团队的工作成果,请务必 在 Twitter 上关注我们 以了解即将开展的研究项目。