主要观点:一些恶意软件会通过检查特定硬件组件(如 CPU 风扇)来确定是否在虚拟机中运行,以增加安全研究人员的分析难度。计算机通过读取 SMBIOS 数据知道有 CPU 风扇,可通过dmidecode
工具获取 SMBIOS 数据。在 Xen 中设置自定义 SMBIOS 数据较复杂,需注意smbios_firmware
选项的限制,可能需伪造多个表,如类型 27 和 28 的数据;而在 QEMU/KVM 中设置自定义 SMBIOS 数据更简单,可直接使用-smbios
选项,且无需处理结构大小。
关键信息:
- 恶意软件检查 CPU 风扇的方式:通过 WMI 中的
Win32_Fan
类,Win32_Fan
实例由Windows\System32\wbem\cimwin32.dll
提供,会读取 SMBIOS 数据获取风扇设备信息。 - SMBIOS 类型 27 定义为“冷却设备”,可通过
dmidecode
工具获取其数据。 - 在 Xen 中设置自定义 SMBIOS 数据需将
smbios_firmware
选项设置为包含 SMBIOS 数据的文件路径,注意结构大小要求,若要伪造类型 28 数据也需按要求添加。 - 在 QEMU/KVM 中设置自定义 SMBIOS 数据可使用
-smbios
选项,无需处理结构大小,也可直接使用主机的 SMBIOS 数据。
重要细节:
- 恶意软件避免在虚拟机中运行的原因是使安全研究人员的分析过程更复杂。
- 可通过谷歌找到计算机知道有 CPU 风扇是通过读取 SMBIOS 数据的信息。
- 介绍了在 Xen 中设置自定义 SMBIOS 数据的过程及遇到的问题和解决方案,包括补丁被拒绝等。
- 给出了 Xen 和 QEMU/KVM 中设置自定义 SMBIOS 数据的相关参考文档。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。