A Comprehensive Measurement Study of Domain Generating Malware 原文翻译

A Comprehensive Measurement Study of Domain Generating Malware 原文翻译

摘要:

近年来,现代僵尸网络广泛采用了域生成算法(DGA)。主要目标是生成大量的域名,然后使用一小部分用于实际的C&C通信。这使得DGA对于botmasters来说非常有吸引力,可以强化僵尸网络的基础设施,并使其能够抵御黑名单和攻击,比如攻击。虽然早期的DGA被用作备份通信机制,但一些新的僵尸网络将其作为主要的通信方式,因此对DGA的详细研究显得尤为重要。
在本文中,我们通过分析43个基于DGA的恶意软件家族和变体,对DGA环境进行了全面的度量研究。我们还提出了DGAs的分类法,并用它来描述和比较所研究的家族的性质。通过重新实现这些算法,我们预先计算了它们生成的所有可能的域,覆盖了大多数已知的和活动的DGA。然后,我们研究了超过1800万个DGA域的注册状态,表明通过预先计算未来的DGA域,可以可靠地识别出相应的恶意软件家族和相关活动。我们还将深入了解僵尸主机在域注册方面的策略,并找出以前基于DGA的僵尸网络的一些缺陷。我们将为将来的研究共享数据集,还将提供一个web服务来检查域中潜在的DGA身份。

简介:

僵尸网络是由受恶意软件影响的机器(bot)组成的网络,由对手(botmaster)通过命令和控制(C&C)通信通道进行远程控制。僵尸网络已成为网络犯罪分子进行恶意活动的主要手段,如发起拒绝服务攻击、发送垃圾邮件和窃取个人数据。最近的研究表明,一些僵尸网络由100多万个机器人组成[40],说明了它们的威胁程度。
执法和安全研究人员经常试图通过执行takedown尝试来破坏活跃的僵尸网络。这些攻击的主要目标是僵尸网络的C&C通信基础设施。这些攻击的一个突出例子是sinkholing,所有的机器人都被重定向到一个被攻击者控制的机器上,这个机器被称为sinkhole。因此,机器人程序将无法与原始C&C服务器通信。为了应对这些措施,botmaster开始发明新技术来保护僵尸网络的基础设施。近年来得到广泛应用的一个重要方法是使用域名生成算法。
域名生成算法(DGA)用于动态生成大量貌似随机的域名,然后选择其中的一小部分进行C&C通信。生成的域名是基于给定的种子计算的,种子可以由数值常量、当前日期/时间甚至Twitter趋势组成。种子作为botmasters和机器人之间的共享秘密来计算共享的集合点。通过不断地改变使用的域名,依赖静态域黑名单的检测方法变得无效。此外,通过动态生成域名,botmasters不必在其恶意软件二进制文件中包含硬编码的域名,这使得提取这些信息变得复杂。同时,由于不同的域名在不同的时间点被观察到,使得生成的域依赖于时间降低了从动态恶意软件分析系统中提取的域的价值。使用短期域名的另一个好处是在域名生效前不久就注册了,这是为了避免域名信誉服务。
DGAs的使用在攻击者(botmasters)和防御者(安全研究人员和执法人员)之间造成了高度不对称的局面。Botmasters需要访问一个域名来控制或迁移他们的僵尸主机,而防御者需要控制所有的域名以确保成功地takedown。由于有1000多个顶级域(TLD)[9]可供选择,攻击者很容易在全球范围内分散对域的责任,迫使防御者进行额外的协调与合作。例如,臭名昭著的Conficker僵尸网络(C版)的DGA每天生成50000个域名,这些域名分布在113个TLD上。这需要包括ICANN在内的30个不同组织的全球合作努力来遏制这一威胁。
在这项工作中,我们通过分析43个基于DGA的恶意软件家族和变体,对DGA环境进行了全面的测量研究。我们的分析是基于这些家族的DGA逆向工程。我们提出了一个分类法来描述DGAs的主要方面,并用它来描述和比较所研究的dga。此外,我们重新实现了所有这些DGA,并基于之前和正在进行的恶意活动中使用的253个种子集计算了所有可能的输出。然后我们用这组数据来识别在过去14年里收集的90亿条WHOIS记录中由DGA生成的域。我们分析了这些域的注册状态及其所有权的变化,这些变化通常表示从恶意域过渡到sinkhole域。这使我们能够描述botmasters和sinkhole操作符的注册行为,并详细研究DGA域的生存期
据我们所知,我们的工作反映了现代僵尸网络所采用的第一次对DGA全景式的系统研究。安全研究人员之前已经研究过DGA,并提出了检测和集群基于DGA的恶意软件的方法[13,18,43,54]。相反,我们的研究是以一种自下而上的方式对DGA进行深入分析的基础上,通过重新实现算法并列举它们生成的全套域名,使我们能够对DGA生成域名有一个真实的标注数据,而不会出现误报。

总之,我们作出以下贡献:

•我们提出了DGA的分类法来描述和比较其特性。

•我们分析了43个恶意软件系列和变种的DGA。利用253个已识别的种子,我们列举了由这些算法产生的所有可能的域名,覆盖了大多数已知的和活跃的DGA。

•我们研究了涵盖8年的1800万个DGA生成域名的注册状态,并表明通过预先计算未来的DGA域名,可以可靠地识别相应的恶意软件家族和相关活动。

•我们分析了botmasters和sinkholers在域注册方面的策略,并确定了以前基于DGA的僵尸网络的几个缺陷。

•我们共享数据集以备将来研究,并提供一个名为DGArchive[38]的web服务来检查查询的域是否来自DGA。

2 DGA分类法

在本节中,我们将为DGA提出一个分类法来描述其属性并进行比较。为了对不同属性的整个频谱进行建模,我们提出了两种特征来捕获域生成算法的不同方面。然后将这两个特性组合在一个将DGA分类为类的分类法中。

2.1Seed Source

种子作为计算生成域所需的共享机密,也称为算法生成域(AGD)[54]。它是执行域生成算法所需的参数集合。典型参数包括数值常量(例如,伪随机数生成器的域或种子的长度)或字符串(例如,字母表或可能的TLD集)。
Seeding的两个特性对于描述DGA具有重要意义(cp.Barabosch等人[16]):
时间相关性是指DGA包含一个时间源(例如,受入侵主机的系统时间或HTTP响应中的日期字段)以计算AGD。因此,生成的域将只有一个有效期,在此期间,这些域将被受入侵的系统请求。
确定性强调参数的可观测性和可用性。对于大多数已知的DGA,DGA执行所需的所有参数都是已知的,可以计算出所有可能的域。两个DGA使用时间不确定性,通过使用不可预测但可公开访问的数据进行播种,从而禁止对未来AGD的任意预测。恶意软件家族Bedep[44]利用欧洲央行(ecb)每日公布的外汇参考汇率,而Torpig[50]的一个后来的变种则使用Twitter trends进行播种。在这两种情况下,这只会导致一旦用于seeding的不可预测的数据可用攻击者和防御者在每个活动时间窗口中竞争域的注册。但是,这并不妨碍历史分析,因为种子数据和由此生成的域仍然可以随着时间的推移而收集。赛门铁克发现了另一种不确定性[45]。他们对Jiripbot的分析显示,恶意软件会过滤一组系统属性,包括MAC地址和硬盘驱动器卷ID,使攻击者可以在DGA种子中使用这些属性。在这种情况下,系统信息被认为是不确定的,攻击者在入侵之前,也从来没有公开可见。
时间依赖性和确定性允许以下四种组合:时间无关与确定性(TID)、时间相关与确定性(TDD)、时间相关与非确定性(TDN)、时间无关与非确定性(TIN)。在我们的数据集中,我们只观察到使用前三类种子属性的DGA。

2.2域名生成方案

在分析过程中,除了种子的特性外,还出现了4种不同的生成方案。
Arithmetic-based DGAs基于算术的DGA计算一系列值,这些值要么具有可用于域名的直接ASCII表示,要么在一个或多个硬编码数组中指定偏移量,构成DGA的字母表。它们是最常见的DGA类型。

Hash-based DGAs基于Hash的dga使用Hash的hexdigest表示来生成AGD。我们使用MD5和SHA256来识别dga来生成域名。

Wordlist-based DGAs 基于单词表的dga将连接一个或多个单词列表中的单词序列,从而减少随机吸引力,从而增加伪装域。这些单词表要么直接嵌入恶意软件二进制文件中,要么从公共访问源获取。

Permutation-based DGAs:基于置换的分布式遗传算法通过对初始域名的置换来导出所有可能的AGD。

我们用各自的起始字母A、H、W或P来缩写生成方案。作为上述生成方案的一部分,一些DGA利用伪随机数生成器pseudo-random number generators (PRNGs)来生成域。从实现自己的PRNGs到使用众所周知的技术,如线性同余发生器linear congruential generators(LCGs)[36]

2.3 DGA类型

作为DGA类型,我们考虑种子属性和生成方案的组合,以组合缩写命名,例如“TID-A”表示时间无关、确定的DGA,使用基于算术的域生成方案。在16种可能的组合中,我们只观察到43种DGA在我们的数据集中使用的6种类型:TDD-A(20)、TID-A(16)、TDD-W(3)、TDD-H(2)、TDN-A(1)、TID-P(1)。
在这里插入图片描述

3 DGA恶意软件数据集

在本节中,我们将描述如何识别和收集使用DGA的恶意软件样本。然后,我们描述了我们对算法进行逆向工程、重新实现和评估其实现的工作。

3.1识别基于DGA的恶意软件

我们研究的第一步是收集一组具有代表性的基于DGA的恶意软件家族。为此,我们开发了一个系统,通过分析给定恶意软件样本生成的一组域名来自动识别潜在的新DGA。这有助于我们将手动逆向工程所需的恶意软件样本集最小化,从而将我们的工作集中在可能实现新DGA的示例上。图1显示了系统的高级概述。首先,我们过滤掉已知的AGD和良性区域。其次,我们识别由先前已知的DGA生成但具有新种子的域,以及可能由新DGA生成的域。第三,如果一个新的DGA或一个新的种子被识别出来,我们手工对相应的样本进行逆向工程,提取种子和算法,并计算它生成的域名集。下面,我们将详细讨

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值