跳到主体内容
Technology

模拟器

模拟器在安全的虚拟环境中逐一执行对象的指令,收集工件并将其传递给启发式分析器以检测二进制文件或脚本的恶意行为特征。


关于代码模拟技术

用于检测恶意软件的代码模拟方法通过在虚拟(模拟)环境中模拟文件的执行来扫描文件的行为。通常,此方法类似于沙盒中的恶意软件检测,但是,模拟与功能齐全的沙盒在设计和应用细节上有所不同。我们来看一下区别。

与模拟器不同,功能齐全的沙盒是一种“重型”方法。它模拟整个环境,并在安装了实际操作系统 (OS) 和应用程序的虚拟机中运行扫描的样本。因此,该方法需要较高的计算性能,并且对主机系统构成了兼容性限制。因此,沙盒在集中式本地和云解决方案中最有效。它不适合在用户主机和其他常规计算机上检测恶意软件。

模拟器仅模拟样本本身的执行。它会临时创建与样本进行交互的对象:恶意软件将要窃取的密码、它将试图停止内存的反病毒软件、系统注册表,等等。这些对象不是操作系统或软件的真实组成部分,而是由模拟器执行的模拟。由于能够控制模拟环境,仿真器可以采用快进的方式执行,见证将来的文件行为并防止恶意软件出现延时规避。

模拟器可确定扫描文件的基本行为特征,且使用的资源比沙盒少得多,它适用于用户主机。通常会推迟未知文件的执行,直到使用模拟器扫描它们为止。模拟方法不是新方法,但某些模拟器非常先进,并且在恶意软件检测中所占的份额很大。如今的模拟器已通过基于云的声誉服务提供支持,而机器学习可提高模拟器的效率。

Kaspersky 模拟器

我们的解决方案包括使用模拟器作为多层保护方法中的一道防线。它可模拟二进制文件和脚本,并且,随着基于脚本的无文件攻击的日益普及,对后者的模拟的重要性也越来越高。

针对有限的计算机资源对模拟进行了优化。与沙盒相比,每个对象占用的 RAM 要少得多,并且可以同时扫描许多对象,而无需实际加载系统。由于硬件加速,模拟可以安全地使用处理器将扫描加速约 20 倍。

我们的解决方案可在用户请求磁盘扫描时“按需”开始模拟扫描,或在“访问时”开始模拟扫描,此时,系统会在访问或执行对象之前,自动扫描对象。模拟可以与其他检测方法(例如,对云中的进程声誉发起的请求)并行启动。

Kaspersky 的端点解决方案、网关级解决方案(例如代理和电子邮件服务器)以及虚拟化环境保护中都实施了模拟器。在 Kaspersky 的基础架构中,强大的模拟器是对象分类管道的一部分。

模拟器任务:

  • 模拟 Windows 环境中任何可执行文件 (PE) 的执行:*.exe、*.dll、*.sys 和其他文件。
  • 处理 JavaScript、VBScript 和 AutoIT 脚本类型、独立脚本(作为文件下载)。
  • 扫描通过 Web 链接(网页上、电子邮件中、消息中)接收的脚本(嵌入在 PDF 和 MS Office 文件中)。

更新

模拟技术在实施中提供了模拟核心和检测记录,这些记录分析了核心提供的数据。记录在 Kaspersky 内部创建,解决方案每小时下载一次更新。一条检测记录可以检测到具有不同二进制内容、但行为相似的许多不同恶意软件样本。

恶意软件检测工作流程

  1. 模拟器从安全解决方案的另一个组件接收对象(可执行文件或脚本)扫描请求。
  2. 模拟器在虚拟环境中从对象的入口点开始安全地逐个执行对象的指令。如果指令与环境(操作系统、注册表、其他文件、Web、内存等)进行交互,则模拟器会模拟这些对象的响应。
  3. 模拟器会收集工件,并将其传递给启发式分析器。分析器将基于这些工件的裁定传递给请求执行分析的组件。
  4. 当有足够的工件可以检测到恶意软件时,或由于超时,将停止模拟。

模拟器收集的工件

对于可执行文件(二进制文件):

  • API 调用日志
  • 文件系统、系统注册表中的所有更改
  • 内存转储

对于脚本:

  • 字符串操作的参数和返回
  • 嵌入式函数以及环境提供的函数的调用
  • 活动
  • 放到文件系统和子脚本中

防止规避

高级恶意软件编写者为其恶意软件配备了防止模拟检测的功能。我们的模拟器可跟踪并对抗这些新的规避技术。示例:

规避方法 A:执行前,恶意软件需要解包。这需要大量计算时间,通常足以通过模拟超时来规避检测。

反规避方法 A:模拟器可识别打包的文件并相应地调整模拟深度。硬件加速为模拟器提供了足够的性能来进行解包。

规避方法 B:恶意软件在执行其恶意内容之前,可能会访问 Web 资源或环境参数(例如计算机名称、磁盘大小),并检查它们是否可用且有意义。如果没有看到有意义的响应,恶意软件将不会执行有效负载,并将规避检测。

反规避方法 B:根据扫描文件的请求,模拟器可模拟与环境和系统资源有关的信息,使其尽可能地有意义。例如,它会随机化处理计算机名称,因此恶意软件可能不会使用特定的计算机名称作为在模拟中运行的信号

相关产品

ARTICLE

A Modern Hypervisor as a Basis for a Sandbox


ARTICLE

“The evolution of technologies used to...

独立基准测试结果

相关技术

多层安全方法

真正的网络安全应基于各种保护技术的协同作用,从经典的 AV 记录,到具有深度学习模型的、基于行为的检测。

沙盒

我们的沙盒可以在本地、云端和 Kaspersky 恶意软件分析基础架构中运行,可以应用各种反规避技术,同时,它们的检测性能将获得 Kaspersky Security Network 提供的威胁情报支持。

针对定向攻击的高级防御:KATA 平台

为了检测和应对包括 APT 在内的最复杂的威胁,需要对整个企业基础架构中聚合的事件和对象应用先进的技术(例如机器学习、沙盒和自动/主动式威胁搜寻)。