论文阅读笔记-Does Every Second Count? Time-based Evolution of Malware Behavior in Sandboxes

NDSS
Does Every Second Count? Time-based Evolution of Malware Behavior in Sandboxes
https://www.ndss-symposium.org/wp-content/uploads/ndss2021_4C-5_24475_paper.pdf

这篇文章主要是说使用沙箱对恶意软件进行行为分析的时候,时间阈值设置两分钟就可以了,且恶意软件运行的时间要么很短要么很长,其中有一部分是因为主机的版本设置啥的不符合恶意软件运行要求导致的

第一章:
1.作者指出了在使用沙箱解析恶意软件时,时间阈值设置的问题,太低,样本可能没有时间表现出其恶意行为,从而降低 了收集数据的数量和质量,设置时间过长的话会导致结果分析文件异常庞大
2.文中提到在软件运行的前2分钟内主要的代码就会被执行

第二章
1.文中提到了,这个两分钟的阈值在2007年就被提到了,“我们发现,执行恶意软件两分钟会产生最准确 的结果,并允许恶意软件二进制文件有足够的时 间与系统交互,从而将自身复制到另一个位置、 产生新进程或连接到远程服务器,等等。 ”在2017年也有过测试恶意软件多久展现其恶意行为的时间,在3220个样本中 82% 的样本需要执行不到一分钟,53% 的样本已经在前 20 秒内就暴露了恶意行为。

第三章
1.作者指出对程序行为建模的常用方法是观察其 API或系统调用调用,。然而,系统调用在程序的整个生命周期中都会执行,仅仅观察新的系统调用并不一定是观察到“新”行为的标志。如勒索软件样本可以打开大量文件,一遍又一遍地读取和写入其加密内容。
2.作者使用三种方法来测量运行样本的行为。首先,查看系统调用列表和新的高级操作类别(例如,网络流量、文件 系统活动或注册表操作)的出现次数。其次,收集在沙箱中执行的实际代码,以捕获每个系统执行调用的上下文。 虽然勒索软件样本中的 NtOpenFile 系统调用可能源自同一段二进制代码,但可能是由不同的代码段触发的。
3.除了系统调用和二进制代码,作者尝试使用机器学习来找出第三个特征。使用了三个指标,第一个是相对系统调用覆盖率。在时间 t 的样本执行的相对覆盖率(表示为观察到的系统调用的数量或执行的代码量)相对于在整个样本中观察到的所有执行代码量。第二类指标是绝对代码覆盖率,用于统计在整个示例代码中执行了多少代码,第三个指标是机器学习分类器的准确率
4.作者指出恶意软件会使用Sleep 和 SleepEx 函数来阻止执行或作为反分析技巧,不过可以通过timewarp 忽略任何睡眠操作
5.样本来源-VirusTotal

第四章
1.作者在实验中使用的阈值为15分钟
2.作者提到为了记录和检索时间信息,使用了了 KUSER_SHARED_DATA 结构及其偏移量 0x14 处的 SystemTime 字段。该字段存 储当前系统时间(表示为自 1601 年 1 月 1 日 00:00:00 以来的偏移量,以 100 纳秒为单位)并且其在 内存中的值会定期更新。
3.作者具体介绍了反制恶意软件休眠的方法,通过监测Kernel32.dll 中 的 Sleep 和
SleepEx 函数来检测此类情况。每当调用这两个函数之一时,将睡眠时间添加到系统时间来反制这种情况。 此外还通过监测CreateProcessInternalW 、CreateProcessWithLogonW 和 CreateProcessWithTokenW等函数将自定义的dll文件注入到子进程中
4.具体数据如下
在这里插入图片描述
作者对于系统调用定义了一组函数来捕获有意义的活动(例如,磁盘操作或网络
相关活动)的迹象,要求至少调用 50 个这些函数。
对于基本块,采用了 4,000 个基本块块作为成功执行的最低阈值。 2.恶意软件执行时间,进本在200秒的时候大部分恶意软件已经执行完成了
在这里插入图片描述

总结
1.样本,无论是良性的还是恶意的,往往会运行很短的时间 (在模拟器中不到两分钟)或很长时间(超过10分钟)。相隔时间越久的恶意软件样本,执行时间也倾向于越短,因为在执行的时候虚拟机设置不符合版本要求,比如缺失某个网络组件啥的,所以会提前执行出错终止。
2.虽然可以在程序的整个持续时间内定期收集新的系统调用, 但代码覆盖率在执行的前一两分钟会很快达到稳定状态,。
3.代码停滞函数是一种反分析技术。然而,它最常见的形式(依赖于调用睡眠功能之一)只影响了2-3% 的样本。现在很多商业化沙箱都有针对这种反分析技术的反制措施,且反制成功率很高。
4,在沙箱中执行二进制文件通常会暴露 10% 到 40% 的代码。 实际值以及每个样本执行的时间量取决于恶意软件的类别。
5.机器学习分类器的实验表明,对恶意软件进行分析收集数据的数量, 还有收集数据的“质量”(就对样本进行分类的有用程度而言),主要集中在执行的前两分钟。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值