如何使用DNS分析在十亿个DNS查询中找到被破坏的域名

来源:https://securityintelligence.com/how-to-use-dns-analytics-to-find-the-compromised-domain-in-a-billion-dns-queries/

在干草堆里找一根针是很困难的,但是这和在干草堆里找到一根干草比起来简直是小巫见大巫。

正如Verisign在其2018年8月的“域名行业简报”中所指出的,截至第二季度末,注册域名约为3.398亿,去年新注册域名约为790万。此外,公共域名系统(DNS)提供商每天要记录数千亿次的查询。Cloudflare报告称,它每天为1300亿次DNS查询提供服务。2014年,谷歌报告称,它每天为4000多亿次DNS查询提供服务。此外,我们每天加密大约600,000张数字证书。

隐藏在所有这些信息中的是过去的破坏、正在进行的攻击和未来的恶意软件活动的线索。高级DNS分析的目标是将这些数据转换成可操作的威胁情报,使安全团队能够阻止域名、检测受感染的设备、识别内部威胁并评估组织的整体安全卫生。

一、为什么DNS分析很重要?

DNS是互联网的重要组成部分。它本质上是一本将域名转换成IP地址的电话簿。由于其普遍性,DNS为高级威胁参与者提供了一个非常有吸引力的渠道,以利用DNS系统的各种威胁向量。

下图显示了参与者在攻击中滥用DNS的不同方式,按Gartner网络攻击链的阶段分组。例如,在钓鱼邮件中,用户很容易忽略一个看起来与某个知名域名相似的域名,或者攻击者可能注册了域名,希望受害者误输入他们的目的地,这种策略被称为typosquatting。

如何使用DNS分析在十亿个DNS查询中找到被破坏的域名_第1张图片

DNS协议也是少数几个允许跨组织网络边界的应用协议之一。因此,DNS为威胁行动者和僵尸网络运营商提供了一个渠道,以便在受感染的设备和命令与控制(C&C)基础设施之间建立难以阻挡和隐秘的通信渠道。这些技术包括快速通量、域生成算法(DGAs)及其组合,以及使用DNS协议通过隐式隧道技术提取秘密信息。

今天,组织通常使用基于黑名单的规则和过滤器来阻止已知的恶意域名。然而,在许多组织的网络安全战略中,对DNS流量的全面监控往往被忽视。这并不是说DNS监控微不足道;通常,基于DNS的攻击不能被单个DNS查找检测到,但需要对上下文进行高级分析,包括查找历史、响应内容以及与其他数据源的关联——包括主动分析网站内容

二、高级DNS分析的四种类型

我们可以开始了解多种类型的高级DNS分析,把它们分为四类基于分析的用途:

威胁情报——识别恶意域(例如,非法占用、命令和控制、受损害的名称)。

感染检测——检测被感染的端点(例如,可疑的行为模式)。

域分类——自动对域名进行分类(例如,与不想要的已知域相似的域)。

取证标记——为取证提供可操作的信息(例如,过去的查找和响应)。

第一类使用DNS分析生成新的威胁情报,可以用来阻止域名,抑制未来访问恶意域。这里的重点是早期识别恶意域,甚至可能是在它们被积极传播和用于攻击之前。第二类是感染检测,它是基于可疑的DNS行为快速发现受危害的系统。检测到的受损端点越快,修复它们的速度就越快,从而限制了所造成的损害。

域名的分类类似于威胁情报,但更广泛的领域是可以分为赌博,游戏或与其他分类标记,而不是标记为明确的恶意或非恶意。取证标记带来了关于历史信息的可证明的事实。由于DNS是高度动态的,IP地址和名称之间的关联变化非常快,因此维护端点在过去作为威胁捕获或取证调查的一部分解析的IP地址的确切历史非常重要。

三、以积极主动的方式侦测安全威胁

自从IBM安全研究员Douglas L. Schales在一篇名为“大规模、多通道网络威胁分析的流计算:架构、实现、部署和经验教训”的报告中社会化了这一概念以来,已经有很多关于使用DNS分析来检测快速变化和DGAs的重要研究发表。“考虑到上述类别,以及可接触到大量进行中的DNS查询、域名注册数据(WHOIS)和数字证书注册信息的数据流,我们可以进行哪些类型的分析来识别安全威胁?”

威胁检测是一种保护用户免受恶意域攻击的高级方法。通常,恶意域保护涉及浏览器中的使用时间方法。威胁检测是一种完全不同的方法,用于在实际的安全威胁可见之前发现潜在的恶意域和这些域背后的不良参与者。

威胁行动者通常通过应用生成方法(如域名抢注)来生成恶意域。威胁检测发现来自Quad9的那些新注册的恶意域,并识别这些域背后的参与者。对相关数据的额外分析——例如WHOIS分析和网站图像比较——可以减少假阳性的机会。

我们有一个不同的方法来应对威胁。主动发现著名域名的钓鱼网站,使监控恶意域名的生命周期成为可能。我们调查了大约100万个潜在的恶意域,发现现有的加密货币站点可疑域的数量比其他著名域的数量要高得多。我们可以通过应用核心技术来研究恶意领域的发展趋势,提高分析能力。

内容和信息分析基于快速的DNS查询流。此类分析已被用于检测DNS隧道,旨在识别DNS上的数据泄露和其他隐蔽通道。其思想是快速过滤掉非隧道流量并标记可疑活动,例如对特定域的重复查询,以便进行额外的检查。这种分析技术在一篇题为“DNS上秘密通信的实用综合边界”的研究论文中进行了描述。

容量分析可以通过识别DNS查询流量中的异常峰值来检测可疑的DNS活动。当一个给定域名的流量激增时,良性域的峰值通常在峰值之前和之后有正常的行为,而恶意域的查询峰值则没有。容量DNS分析还可以用于检测DNS重绑定攻击,其方法是描述IP地址的良性解析(通常使用)和恶意重绑定攻击之间的区别


四、通过限制分析的范围来关注数据

虽然容量分析非常有效,但是可以通过限制分析的范围来提高效率。这可以通过认识到恶意行为者主要通过以下两种方式之一使用DNS来实现:

为攻击创建新域。

现有域被恶意活动劫持。

关注新观察到的域(NODs)可以对新域的观察进行早期检测分析,从而在对域缺乏充分了解的情况下对恶意域进行早期检测。同样,关注对现有域的更改会限制必须处理的数据量,并支持早期检测。

使用快速可变的对抗性技术,攻击者可以快速地遍历大量不同的IP地址以避免被阻塞。Schales在2016年出版的《IBM网络安全研究与发展杂志》的《可伸缩分析:检测DNS误用以建立秘密通信通道》一书中描述了两种使用MapReduce和特征收集与关联引擎(FCCE)进行快速流量检测的分析技术。

另一种减少DNS查询数据量的方法是关注失败的域解析(NXDOMAIN)。在同一篇论文中,Schales描述了使用这种技术来检测域通量,这是一种对抗技术,恶意软件算法为其C&C服务器计算域,并试图解析这些域,直到找到一个活动的服务器。查看失败的域名,该技术提取每个域名的43个特征——例如,它是否是punycode编码的,它包含的任何字典单词的语言,等等。利用这些特性,该技术计算一个加权的置信度来测量域属于恶意域集群的可能性。

在许多部署中,无论是在中央处理器(CPU)还是在内存中,DNS查询和响应的数量都是难以扩展的。试图对每个DNS名称进行深入分析将无法扩展。为了解决这个问题,我们正在探索使用示意图/流算法,这是典型的非常有效的近似算法。我们利用这些作为一线的方法,以确定候选人进行深入分析。再加上包含DNS数据最近历史记录的高速存储,已经证明是高度可伸缩的。

五、创造性地把恶意和善意区分开来

这些DNS分析技术中的每一种都可以帮助快速发现和消除威胁,并帮助威胁分析人员使用独特的DNS数据分析方法做出最佳和最快的决定。通过提供可操作的威胁情报,DNS分析支持的预测分析降低了安全操作的复杂性。DNS分析还通过提供更多的指标,帮助威胁猎人缩小调查范围。这一领域的研究正在进行中,因此我们可以期待看到更多有趣的方式来将大量的DNS数据处理成可操作的智能。

流言终结者们争先恐后地在干草堆里找到针头,联合主持人亚当·萨维奇将干草漂浮在水面上,这样针头就会沉到草堆下面。IBM Research正在采用类似的新方法来进行高级DNS分析,以尽可能有效地将恶意和良性区分开来。

你可能感兴趣的:(如何使用DNS分析在十亿个DNS查询中找到被破坏的域名)