23-16

恶意软件有哪些方案检测自己处于沙箱中

1. 基于环境特征的检测

沙箱为了快速分析大量样本,通常会使用标准化的、不完整的系统配置。恶意软件可以利用这些不寻常的特征来判断自己是否被分析

  • 硬件特征
    • CPU 指令:通过 cpuid 指令查询 CPU 供应商字符串。虚拟机通常会返回 VMwareVMware, KVMKVMKVMMicrosoft Hv 等特殊字符串,而真实的物理机则会返回 GenuineIntelAuthenticAMD
    • MAC 地址:检查网卡(MAC)地址。某些虚拟化厂商的 MAC 地址范围是公开的,例如 VMware 的 MAC 地址通常以 00-50-56 开头
    • 内存大小:沙箱为了节省资源,通常会分配较少的内存(例如 1GB 或 2GB)。恶意软件可以查询系统内存大小,如果远低于正常桌面系统的配置,就可能怀疑自己处于沙箱中
  • 文件系统和注册表
    • 特定文件:检查是否存在某些虚拟化工具或分析工具的特定文件,例如 C:windowsSystem32DriversVBoxGuest.sys (VirtualBox) 或 C:Program FilesVMwareVMware Toolsvmtoolsd.exe (VMware Tools)
    • 注册表项:查询与虚拟化相关的注册表键值,例如 HKEY_LOCAL_MACHINEHARDWAREDEVICEMAPScsiScsi Port 0Scsi Bus 0Target Id 0Logical Unit Id 0Identifier,其值可能会包含 VBOXVMware 等字符串