恶意软件的沙盒规避技术

恶意软件的沙盒规避技术

欢迎访问本人博客: https://www.xuanworld.top/

摘要

​ 恶意软件的沙盒技术目前广泛应用于网络安全的公司以及各类软件市场,沙盒可以探测到软件的各种行为,但是目前的沙盒技术面临着一种挑战,由很多恶意软件会对沙盒的部分属性进行探测,以判断自身是否运行在沙盒环境中,目前沙盒技术面对这种探测的应对方式是更改自身的部分属性将其设定为合理的值。随着沙盒系统的真实性不断提升,许多恶意软件作者开始寻求其他的系统特征来识别当前的环境。我们(指原文的作者)通过观察某些系统的属性值已经其痕迹设置了一个分类器,结果发现恶意软件的识别准确度达到了92.86%

一、介绍

​ 由于目前需要分析恶意代码样本的数量越来越多,而且随着代码混淆技术(反编译技术)的发展,对于恶意软件的分析越来越依赖于动态分析技术。许多安全分析师们在研究一种方法能够避免恶意软件的检查,恶意软件一旦检查到该环境为沙盒环境就会隐藏其恶意性,这种“环境感知(environment-aware)” 技术使沙盒软件面临着挑战。

在论文中,原作者讨论了随着沙盒的规避检测能力的提升,对恶意软件制作者下一步检测技术所依赖指标做出了预测。即恶意软件可以将系统的“磨损痕迹”和“系统老化”作为判断是否为沙盒系统的指标。我们做了一个简单的嗅探工具进行测试,结果是:判断的正确率为92.86%。

1.1 主要结论

  1. 我们表明看似独立的这些侦察技术其实都是基于磨损特征的侦察技术的一些特例
  2. 我们展示了一些可被用于检测的痕迹,并收集了大量数据来测试它的识别效果
  3. 我们还提供了一个统计模型,可以根据系统年龄来找到其应有的磨损状态。
  4. 我们证明,使用简单的决策树可以使恶意软件识别沙盒的正确率达到92.86%

二、背景与相关工作

2.1

​ 杀毒软件,软件市场,等依赖动态分析,但是恶意软件可以通过分析硬件配置MAC地址等来辨别沙盒环境并隐藏其行为,即使沙盒对一些配置进行细致更改来躲避检测但软件仍然还能通过代码运行来检测缓存和模拟器复杂性来辨别沙盒环境

2.2

​ 随着软件的环境识别技术的增加,黑客们采取另一种方式,他们不在关注“是不是”而是关注“有多像”。他们可以根据“最近文件”的缺少,不动的鼠标,过少的进程,还有沙盒系统对所有DNS请求的盲目响应,虽然沙盒系统现在模仿用户行为,但我们发现一个被忽略的方面,及痕迹。

2.3

​ 一些研究开始关注于提取沙盒扫描的配置文件和安全特征,提取这些特征后软件可以识别沙盒环境。

三、产生的痕迹

​ 恶意软件可以可以依靠大量的痕迹来进行辨别,在本篇文章内我们讨论了可以更加有效被恶意软件识别的痕迹。我们采用了类似滚雪球的方式去确定这些磨损痕迹的位置,当确定一个可以用于识别的痕迹的位置时,我们会在相同的路径搜索更多的这种痕迹。

3.1 保护隐私的同时搜寻响应的痕迹

​ 我们可以根据痕迹磨损的来源分成两种,一种的是用户直接操作产生的痕迹,一种是系统间接活动产生的痕迹。比如用户的浏览器历史,以及其收藏的网站,相比之下系统的日志是一种间接活动产生的痕迹,他虽然取决于用户活动,但是他不会收集用户的隐私。

用户直接产生的痕迹相比之下更有效,但是毫无疑问收集此类信息会侵犯他人隐私,所以研究将局限于间接产生的痕迹,且收集的这些数据还是在匿名性和不损害隐私的情况下收集。

3.2 关于痕迹的种类

​ 系统的很多方面很容易留下磨损的痕迹,在下面我们提供了一些我们已经识别的主要痕迹类型的简单介绍

  1. **系统。随着时间的流逝,系统安装的软件也会变得越来越多,系统的时间日志也变得越来越丰富,比如错误日志和软件安装的记录
  2. **硬盘。**用户的活动会导致系统的改变,表现为多种形式,比如临时文件的更新,文件的删除,由于用户数据的敏感性,我们只收集了用户电脑上和回收站的数量,剩余的痕迹有缓存或非用户产生的暂时的文件。
  3. **网络。**系统的网络痕迹尤其是历史痕迹是很重要的观测指标,每一次连接与解析都会留下相应的缓存。
  4. **注册表。**Windows系统的注册表保存了大量的系统各方面信息,每当驱动或软件安装就会使注册表膨胀。
  5. **浏览器。**浏览器处于一个原始状态是很不正常的,因为浏览器是用户主要使用的东西,因为为了保护用户隐私我们只关注这些痕迹的数量,而不是具体的细节,比如HTTOcookies等,还有电脑浏览器的数量。

evasion

四、数据收集

4.1 嗅探工具的实现

​ 为了收集数据我们用C++设计了一个可以在不同windows版本上运行的嗅探工具,收集的数据通过HTTPS进行传输并同时使用GET和POST请求以防止被沙盒拦截,除了收集的信息外我们还收集了包括IP地址,系统版本和安装时间等信息,每个运行的提交都有独一无二的ID以让我们进行分辨,我们也会通过BIOS供应商,用户安装的数量进行区分。

evasion_2

4.2 IRB许可与用户参与

本部分内容主要讲述了收集信息的合法性,并无相关技术内容,因此不进行概括。

4.3 数据收集

在此我们主要收集了3个数据集

真人用户:土耳其机械公司的工人和我们的同事朋友,来自35个国家的信息。

​ 沙盒:15个不同的沙盒

新安装系统:包含Windows的各个版本

evasion_3

evasion_4

evasion_5

4.4 数据分析

​ Table IV 展示了我们收集数据的Windows版本分布,我们发现大部分用户使用windows7,8,9而八成以上的沙盒使用的是windows7,虽然这不是我们主要关注的地方,但是我们发现这与真实用户的系统分布有区别。

​ Figure 1表明了三个数据集里的磨损痕迹的分布,我们发现绝大部分痕迹的值是真实用户的高于沙盒和基础值,这表明这些痕迹可以区别真实用户和沙盒,我们还发现有些值在不同使用程度的真实用户中也不同,这些痕迹可以用来推测机器的年龄。同时,有些值刚好相反,比如我们发现沙盒的appdiffdays和sysdiffdays痕迹要更加多样。

​ Table IV中表明,沙盒系统要比真实用户系统更老,而且Windows日志也与用户系统大不相同。

​ 为了证明我们可以通过痕迹区分沙盒系统与用户系统,我们使用了一个指标帮助我们区分,我们通过Mann-Whitney U test来比较区别。Figure 2表明了通过这种方法得到的影响大小比较,为此我们得出结论:大部分我们找到的痕迹在沙盒和真实用户系统中有区别。

五、规避沙盒的测试

5.1 配置与分类器

​ 我们以直接收集的数据为基础构建了一个决策树,并通过它进行配置分类器,同时我们设置一个错误值的权值是正确值权值的十倍,这样做的原因是因为一般恶意软件作者宁可不在真实用户运行,也不愿意让恶意软件在沙盒中运行。

5.2 评估

​ 经过我们的分析测试,该分类器的准确度能达到92.86%,为了更好理解各个痕迹的影响,我们从新训练了决策树让它们关注专一的值。我们发现即使注册表痕迹的特征最多,但是磁盘和网络的却更加有效。我们得出结论通过观察磨损来分辨沙盒是有效的,但是只观察一两个痕迹是不够的。

六、对使用年限的预测

​ 经过我们的分析测试,该分类器的准确度能达到92.86%,为了更好理解各个痕迹的影响,我们从新训练了决策树让它们关注专一的值。我们发现即使注册表痕迹的特征最多,但是磁盘和网络的却更加有效。我们得出结论通过观察磨损来分辨沙盒是有效的,但是只观察一两个痕迹是不够的。

6.1 年限与使用时间的相关性

​ Figure 5 展示了沙盒与用户系统的累计年龄分布。我们很清楚的发现用户的系统要更新,一半的用户系统的系统年龄小于1年,而一半的沙盒系统年纪小于2年。这是因为用户经常更新他们的系统,而沙盒一旦安装后就一直在重复使用。我们还发现两分布在最高点重合,这表明有用户使用和老沙盒一样古老的系统。

​ Figure 6展示了真实用户系统的磨损程度和报告年纪的Pearson相关。我们还讨论了真人用户一般不会去更改系统年龄,所以我们的数据应该是真实的。

​ 我们发现很多分辨力较强的痕迹跟年龄没有相关性,这些痕迹跟用户的活动有关,但同时用户也可以删除修改这些痕迹,有些痕迹比如防火墙规则等不受用户操控,但也跟年龄无关。在Figure 6我们也发现跟年龄有正相关的痕迹比如连接的USB数量等,这些跟系统年纪有着直接关系,而且不太可能被用户所更改。

6.2 回归方式

​ 我们已经通过研究发现了跟系统年龄相关的痕迹,所以我们想通过某种方式将这些痕迹和系统年纪结合起来,我们先分析了收集的痕迹并且移除了部分有缺失值的痕迹,不对他们进行进一步的处理,对于剩余的37个痕迹,我们利用剩余的数据去推测哪一个是最合适的值,并且将它提取出来,我们使用了基于估算的随机森林方法,这是一个处理此类数据的标准方法。

6.2.1 线性回归:

​ 我们首先使用的是线性回归,具体计算方法在此不进行赘述,我们的结果不仅可以通过痕迹预测年龄,也可以判断这个痕迹是否不正常的过高或过低。我们发现预测的用户系统的年龄与真实值十分相似,但预测的沙盒的年龄会低于真实值。

6.2.2 套索回归:

​ 这种方式比线性回归的效果更好,但我们仍然发现沙盒的使用痕迹与它的年龄不匹配。根据我们的观察,我们发现通过磨损痕迹有较高的准确度去预测真实用户系统年龄,这样的方法展现的年龄与现在的沙盒环境不符,就像我们在文章前面提到的一样,这些能提高我们对磨损和年龄的关系的理解,我们的训练模型也可帮助沙盒开发者创建一个年龄与磨损相符合的环境。

七、讨论

7.1 道德考虑与协调公布

​ 我们的研究揭示了下一代环境感知恶意软件问题,我们希望能够给与这个问题更多的关注以进一步制定有效的应对策略,我们的调查可以帮助沙盒工作人员使沙盒更加逼真。我们的对手可能已经在很久之前就已经进行过这种调查,希望我们的发现能够帮助沙盒开发者开发出更强大的恶意软件分析系统。为此我们联系了沙盒供应者,它们也承认了这个问题并向我们请求数据进行改进。

7.2 探测行为的隐藏

​ 根据痕迹的类型不同,恶意软件需要使用更加复杂的解析查询过程,因此短期应对策略应该关注于探测行为,比如观察软件有无可疑的探测行为,还有一个问题是按照最小可行性原则恶意软件没有全部的权限,但是我们发现有很多痕迹即使权限不足也能探测,这个问题在app中可能更加重要,因为它们在访问环境方面受到很大限制

7.3 依赖的系统

​ 我们主要关注Windows系统,但是很多痕迹比如浏览器方面等在各个系统中也可以被探测,根据痕迹在给定操作系统上的可靠性,沙盒操作员可能会选择不同的防御策略。最后,由于最终用户系统是恶意软件作者最受欢迎的目标,我们的研究只关注它们。

7.4 防御手段

​ 直接对痕迹进行更改很难规避恶意软件检测,所以我们使用另外的方法,比如直接使用真实用户的系统进行测试,但这样会涉及到隐私问题,而且还可能会过时,导致无法一直使用。第二种办法就是让计算机模仿人进行操作系统产生痕迹,但目前这种方法我们还没有进行测试,不知其效果如何,我们将这些作为以后的工作。

八、结论以及未来的工作

​ 本文系统地评估了恶意软件沙盒规避策略的威胁,该策略利用系统磨损的痕迹来识别人工环境,并证明了其对现有沙盒有效。恶意代码在分析时能够有效地改变其行为以躲避分析。即使是更换虚拟环境也无法防御这种手段。只要发现该系统不像真实用户系统,恶意软件就会进行规避。
​ 作为应对这威胁的一步,我们提出了统计模型,以捕捉系统的年龄和使用程度,这可以帮助沙盒操作员微调其系统,以显示更现实的磨损特征。虽然修改已识别的痕迹是一个可行的短期解决方案,但需要更通用的自动化“老化”技术来提供更好的防御方法,因为可能会有更多的痕迹可用来进行探测系统真实性。
户系统,恶意软件就会进行规避。
​ 作为应对这威胁的一步,我们提出了统计模型,以捕捉系统的年龄和使用程度,这可以帮助沙盒操作员微调其系统,以显示更现实的磨损特征。虽然修改已识别的痕迹是一个可行的短期解决方案,但需要更通用的自动化“老化”技术来提供更好的防御方法,因为可能会有更多的痕迹可用来进行探测系统真实性。
​ 我们将计划基于模拟进行“系统老化”和不侵犯隐私情况下提取用户系统文件作为我们以后的工作。我们还打算在其他系统中进行相同的测试。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值