恶意软件有哪些方案检测自己处于沙箱中
1. 基于环境特征的检测
沙箱为了快速分析大量样本,通常会使用标准化的、不完整的系统配置。恶意软件可以利用这些不寻常的特征来判断自己是否被分析
- 硬件特征:
- CPU 指令:通过
cpuid
指令查询 CPU 供应商字符串。虚拟机通常会返回VMwareVMware
,KVMKVMKVM
或Microsoft Hv
等特殊字符串,而真实的物理机则会返回GenuineIntel
或AuthenticAMD
- MAC 地址:检查网卡(MAC)地址。某些虚拟化厂商的 MAC 地址范围是公开的,例如 VMware 的 MAC 地址通常以
00-50-56
开头 - 内存大小:沙箱为了节省资源,通常会分配较少的内存(例如 1GB 或 2GB)。恶意软件可以查询系统内存大小,如果远低于正常桌面系统的配置,就可能怀疑自己处于沙箱中
- CPU 指令:通过
- 文件系统和注册表:
- 特定文件:检查是否存在某些虚拟化工具或分析工具的特定文件,例如
C:windowsSystem32DriversVBoxGuest.sys
(VirtualBox) 或C:Program FilesVMwareVMware Toolsvmtoolsd.exe
(VMware Tools) - 注册表项:查询与虚拟化相关的注册表键值,例如
HKEY_LOCAL_MACHINEHARDWAREDEVICEMAPScsiScsi Port 0Scsi Bus 0Target Id 0Logical Unit Id 0Identifier
,其值可能会包含VBOX
或VMware
等字符串
- 特定文件:检查是否存在某些虚拟化工具或分析工具的特定文件,例如