|
| 1 | +--- |
| 2 | +title: "Anti-VM/Anti-Sandbox: 在线恶意软件沙箱评测" |
| 3 | +date: 2020-05-13 11:17:36 +0800 |
| 4 | +categories: [Research] |
| 5 | +tags: [malware, sanbox, anti-vm, anti-sandbox, al-khaser, test] |
| 6 | +--- |
| 7 | + |
| 8 | +## 简介 |
| 9 | + |
| 10 | +恶意软件通常会嗅探虚拟沙箱环境以避免自动化行为分析,例如识别虚拟机的独特文件和进程,或执行虚拟机无法完全模拟的操作。因此,对于自动化行为分析系统而言,如何伪装虚拟环境而不被恶意软件检测到是一项非常重要的任务。本次测试选取了 10 个在线恶意软件沙箱分析平台,对其分析环境的模拟/伪装能力进行了测试和评估。 |
| 11 | + |
| 12 | +测试使用了 [al-khaser](https://github.com/LordNoteworthy/al-khaser),这是一个类似于 [Pafish](https://github.com/a0rtega/pafish) 的工具,但具有更新的反调试、反沙箱和反虚拟机检测技术。 |
| 13 | + |
| 14 | + {: .normal } |
| 15 | + |
| 16 | +## 测试内容 |
| 17 | + |
| 18 | +### 调试器检测 |
| 19 | + |
| 20 | +- IsDebuggerPresent API, PEB.BeingDebugged... |
| 21 | +- TLS 回调 |
| 22 | +- 硬/软件断点 |
| 23 | +- VirtualAlloc |
| 24 | +- ... |
| 25 | + |
| 26 | +### DLL 注入检测 |
| 27 | + |
| 28 | +- 检测是否有 DLL 注入到进程中以监控进程行为 (HOOK) |
| 29 | + |
| 30 | +### Virtual Box 检测 |
| 31 | + |
| 32 | +- 文件和注册表,包括 VBoxMouse.sys, VirtualBox Guest Additions 目录... |
| 33 | +- 检查注册表、进程、服务,如 VBoxControl.exe, VBoxService... |
| 34 | +- 检测硬件名称、MAC 地址等... |
| 35 | +- ... |
| 36 | + |
| 37 | +### VMware 检测 |
| 38 | + |
| 39 | +- 类似于 Virtual Box 检测 |
| 40 | + |
| 41 | +### 其他虚拟机检测 |
| 42 | + |
| 43 | +- Xen, QEMU, Wine, Paralles... |
| 44 | + |
| 45 | +### 分析工具进程检测 |
| 46 | + |
| 47 | +- 检测分析工具进程的存在,如 OD, ProcessMonitor, Autorun... |
| 48 | + |
| 49 | +### 通用沙箱/虚拟机检测 |
| 50 | + |
| 51 | +- 检测是否有特殊的进程名、模块名 |
| 52 | +- 通过 WMI 检测真实硬件状态,如硬盘大小、内存大小、CPU 风扇、型号、BIOS 序列号名称、电源电压、温度等... |
| 53 | + |
| 54 | +*关于测试项目的更多技术细节,请参考 al-khaser |
| 55 | + |
| 56 | +*原工具还有其他测试方法,如时序攻击 (Timing Attack),但由于时序攻击难以避免且难以测试,因此未包含在本次测试中。 |
| 57 | + |
| 58 | +## 测试厂商 |
| 59 | + |
| 60 | +| 厂商 | 链接 | |
| 61 | +| :----- | :---- | |
| 62 | +| Threat Book (微步) | https://s.threatbook.cn/ | |
| 63 | +| Tencent Habo (腾讯哈勃)| https://habo.qq.com/ | |
| 64 | +| Maldun (魔盾) | https://www.maldun.com/analysis/ | |
| 65 | +| Depthsec (微点) | https://sandbox.depthsec.com.cn/index.php/ | |
| 66 | +| Qianxin (奇安信) | https://sandbox.ti.qianxin.com/sandbox/page | |
| 67 | +| ANY.RUN | https://app.any.run/ | |
| 68 | +| HybridAnalysis (Falcon Sandbox)|https://www.hybrid-analysis.com/| |
| 69 | +| CAPE Sandbox| https://capesandbox.com/| |
| 70 | +| BD Sandbox Analyzer|https://www.bitdefender.com/business/enterprise-products/sandbox-analyzer.html| |
| 71 | +|Joe Sandbox|https://www.joesandbox.com/| |
| 72 | + |
| 73 | +## 测试标记 |
| 74 | + |
| 75 | +- \* 共 226 个测试点 |
| 76 | + |
| 77 | +- "P" 表示通过,即未被检测到; |
| 78 | + |
| 79 | +- "F" 表示失败,即被检测到;"N/A" 表示测试过程中崩溃,无结果。 |
| 80 | + |
| 81 | +- 注:删除了原工具中一些可能存在误报或不稳定的测试点。 |
| 82 | + |
| 83 | +## 测试结果 |
| 84 | + |
| 85 | +### 总结 |
| 86 | + |
| 87 | +按通过率排序,总百分比越高越好。绿色部分为完全通过,黄色部分为部分测试项通过,红色部分为无测试项通过。 |
| 88 | + |
| 89 | +{: .normal } |
| 90 | + |
| 91 | +### 详情 |
| 92 | + |
| 93 | +{: .normal } |
| 94 | +{: .normal } |
| 95 | +{: .normal } |
| 96 | +{: .normal } |
| 97 | + |
| 98 | +## 结论 |
| 99 | + |
| 100 | +通过 WMI 获取真实硬件状态是重灾区... 几乎没有虚拟机能完全通过这些测试项。 |
| 101 | + |
| 102 | +## 附件 |
| 103 | + |
| 104 | +[anti sandbox test.xls](/assets/file/malware-sandbox-evaluation/anti-sandbox-test.zip) |
0 commit comments