对于恶意软件不可检测的沙箱制造技术

技术编号:36496445 阅读:18 留言:0更新日期:2023-02-01 15:15
实施例旨在防止沙盒环境被潜在恶意软件应用检测到。为此,应用的执行被监控,并向强化学习机器学习模型提供有关执行的信息。该模型生成对执行中的应用所做的建议的修改。该模型被提供了指示应用是否成功执行的信息,并且该信息被用来训练针对其他修改的模型。通过在执行过程中修改潜在恶意软件的执行,可以防止沙盒环境的检测,并更好地理解潜在恶意软件应用特征的分析。特征的分析。特征的分析。

【技术实现步骤摘要】
【国外来华专利技术】对于恶意软件不可检测的沙箱

技术介绍

[0001]动态恶意软件分析观察在受控分析环境(沙盒)中引爆(执行)每个潜在恶意软件的样本时可疑代码的行为。可疑代码的动作然后被研究。这些研究的结果可以包含妥协指标(IOC)。此外,执行期间可疑代码的行为被用来确定代码是否是恶意的。IOC的提取的数据将用于:
[0002]·
扩展对未来变种的防御,
[0003]·
阻止其他相关的恶意活动,
[0004]·
剖析感兴趣的恶意软件族以了解其操作,
[0005]·
打击负责的恶意软件行动者
[0006]许多沙盒被实现为虚拟化系统,一旦分析完成其可以轻松回滚到干净状态。然而,这些虚拟化系统可能无法在一个或多个方面实际地模拟真实用户的机器。考虑到沙盒的使用来标识恶意软件威胁,攻击者已采用多种技术来检测此类虚拟环境的存在,并基于此检测更改恶意软件应用行为的行为。此外,现今的一些恶意软件被设计成使用多种不同的规避技术来绕过引爆。大量时间和精力被恶意被软件研究人员花费在标识这些规避技术和修补引爆环境上,以避免此类检查。
附图说明
[0007]图1是实施一个或多个所公开实施例的示例系统的概览图。
[0008]图2是实施一个或多个所公开实施例的示例系统的概览图。
[0009]图3是在一个或多个所公开的实施例中实现的示例沙盒体系结构内的示例数据流的数据流图。
[0010]图4示出了由一个或多个所公开实施例实现的沙箱体系结构的另一实施例。
[0011]图5示出了根据本公开的一些示例的示例机器学习模块。
[0012]图6是用于修改应用的执行的方法的流程图。
[0013]图7是用于修改应用的执行的方法的流程图。
[0014]图8图示了示例机器800的框图,其中可以执行本文讨论的任何一种或多种技术(例如,方法)。
具体实施方式
[0015]所公开的实施例提供了恶意软件引爆的改进方法和系统。如上所述,许多安全研究人员依靠沙箱环境来分析恶意软件应用并更好地理解其行为。这种理解用于多种目的,包含开发更有效的恶意软件检测技术,标识现有软件中的安全漏洞,并提供签名或行为配置文件以改进恶意软件应用的运行时检测。
[0016]随着恶意软件变得越来越复杂,技术被恶意软件作者引入来检测恶意软件何时在沙箱环境中运行。一旦检测到这一点,恶意软件就会抑制其功能中的一个或多个,使收集取证更加困难和/或不可能。例如,一些恶意软件监视执行恶意软件的系统的CPU的数目。由于
许多沙箱环境都是虚拟化的,因此由操作系统报告的CPU数目通常很少,例如一(1)个。相比之下,许多常见的台式计算机包含多个CPU码,通常报告更多数字。在某些实施例中,恶意软件使用少量CPU作为其可能在沙箱环境中运行的证据。另一种技术是为恶意软件分析“文档”文件夹。如果文档日期中包含的文件数目和/或所述文档的修改日期对于真正的用户计算机来说不是典型的,一些恶意软件会将其视为沙盒环境的证据。因此,出现了一个技术问题,即在沙盒测试环境中引爆恶意软件可能变得越来越困难,其中有关恶意软件的信息可以经由分析和基于分析采取的缓解措施来被获取。
[0017]为了解决这个技术问题,并使沙盒环境对于被分析的潜在恶意软件不太可见,公开的实施例拦截恶意软件的程序执行,以掩盖沙盒环境的某些特征,并使恶意软件执行与真实的非沙盒环境一致的分析。如果恶意软件不能检测到沙盒,它通常会正常工作,允许对其操作方法进行全面分析。
[0018]为了防止检测到沙盒环境,一些实施例拦截或以其他方式挂钩可疑恶意软件应用的编程执行。在一些实施例中,每个单独的指令,例如汇编级指令或机器级指令、字节码、预编译码(p码)、其他中间码指令,甚至在某些实施例中的源码级指令,都被拦截并提供给强化学习模型。强化学习模型被训练,以基于拦截的汇编指令提供修改指令。修改指令指示对可疑恶意软件应用的程序执行的一个或多个修改。例如,在各种实施例中的修改指令指示以下一项或多项:修改寄存器值、修改函数返回值、修改功能输入参数、修改恶意软件代码中的条件评估或修改恶意代码中的分支指令。
[0019]一些实施例不拦截由上述可疑恶意软件执行的指令,而是拦截对一个或多个外部应用(多个)编程接口(多个)API的函数调用。例如,一些实施例拦截JavaScript库API调用和/或操作系统API调用。在拦截API调用时,与API调用相关的信息将被提供给强化学习模型。与API调用相关的信息可以包含传递给API调用的输入参数、可疑恶意软件应用的调用堆栈,以及在某些情况下,临近于API调用的可疑应用的代码的指示。如上所述,强化学习模型被配置为根据所提供的信息提供程序执行修改指令。在各种实施例中,强化学习模型指示修改API的返回值、API的输出参数、API的输入参数、对可疑恶意软件应用自身中的条件评估的修改、对可疑恶性软件应用自身中的分支指令的修改或其他修改。
[0020]图1是实施一个或多个所公开实施例的示例系统100的概览图。系统100包含网页爬虫计算机102,其经由防火墙106访问网络104(例如,互联网)。网页爬虫计算机102经由网络104(例如,通过网站)标识可用的数据,并标识尝试在下载数据的计算机上运行的应用。例如,在某些示例中,网页爬虫标识的网站尝试在下载中机器上下载并安装可执行文件,和/或由下载中计算机提供的浏览器环境中运行脚本语言应用。在一些实施例中,这些标识的应用由网页爬虫计算机102提供给沙箱环境108。在一些实施例中,潜在的恶意软件应用被手动标识。沙箱环境108尝试执行这些应用。沙箱环境108至少部分地与系统100内的其他环境隔离,以减轻这些标识的应用的执行可能造成的任何潜在损害。
[0021]在沙箱环境108中执行的分析结果之一是恶意软件应用的标识,或在特定计算机上执行时具有恶意意图的应用。恶意软件应用可以有多种目标,包含数据销毁、数据收集或对其能够访问的网络进行持续监视。一些恶意软件应用利用其主机作为其他邪恶活动的代理。例如,一些服务攻击的拒绝是由大量其他无辜的计算机策划的,这些计算机已经感染了恶意软件自动程序,其被配置为在接收到来自中央控制器的命令后实施服务攻击的拒绝,
在某些情况下,这些计算机位于海外难以管理的管辖区。
[0022]恶意软件应用被标识后,在一些实施例中,它存储在恶意软件数据存储110中。然后,在各种实施例中恶意软件数据储存110被使用来改进对恶意软件应用的保护。例如,在一些实施例中,存储在恶意软件数据存储110中的恶意软件被进行了研究,以标识可由保护大多数现代计算系统的动态威胁评估应用检测到的行为模式。至少在一些实施例中,还将存储在恶意软件数据存储110中的恶意软件用于标识广泛使用的计算机操作系统和/或应用的设计和/或体系结构中的漏洞。
[0023]图2是执行一个或多个所公开实施例的示例系统200的概览图。系统200包含浏览器应用202和第一潜在恶意软件应用204。浏览器应用202和第一潜在恶本文档来自技高网
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】1.一种系统,包括:硬件处理电路装置;以及存储指令的一个或多个硬件存储器,所述指令当被执行时配置所述硬件处理电路装置执行操作,所述操作包括:拦截执行中的应用的指令序列;向机器学习模型提供所述指令序列;从所述机器学习模型接收基于所提供的所述指令序列的、对所述执行中的应用的修改的指示;以及执行所指示的所述修改。2.根据权利要求1所述的系统,其中所述执行中的应用是在沙箱环境中执行的潜在恶意软件应用。3.根据权利要求1所述的系统,其中所述指令序列包含函数调用指令,所述操作进一步包括:确定所述执行中的应用在所述函数调用指令处的调用堆栈;确定所述函数调用的参数;以及将所述调用堆栈和所述参数提供给所述机器学习模型,其中所述修改的所述指示进一步基于所提供的所述调用堆栈和所述参数。4.根据权利要求3所述的系统,进一步包括:确定第二函数调用的第二参数,以及向所述机器学习模型提供所述第二函数调用的所述第二参数,其中所述修改的所述指示进一步基于所提供的所述第二参数。5.根据权利要求3所述的系统,其中所述修改是对所述函数调用的输出的修改。6.根据权利要求5所述的系统,进一步包括:从所述函数调用的返回值列表中选择返回值,以及将所述输出设置为所选择的所述返回值。7.根据权利要求3所述的系统,进一步包括:标识所述执行中的应用的控制流指令,其中所述修改是对所述控制流指令的修改。8.根据权利要求3所述的系统,进一步包括:捕获所述执行中的应用的可执行代码的、在所述函数调用的预定义邻近度内的部分,并且将所述部分提供给所述机器学习模型,其中所述修改的所述指示基于所提供的所述部分。9.根据权利要求3所述的系统,进一步包括:捕获所述执行中的应用的函数调用序列,以及向所述机器学习模型提供指示所述函数调用序列的数据,其中所述修改的所述指示基于所指示的所述函数调用序列。10.根据权利要求1所述...

【专利技术属性】
技术研发人员:J
申请(专利权)人:微软技术许可有限责任公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1