VMI是什么:虚拟机自省技术
VMI:VM introspection,虚拟机自省技术,一种用于探索虚拟机的强大技术。 这种技术可以直接作用于虚拟机管理程序,并且可以隐蔽且精确地控制虚拟机状态,也就是CPU上下文和内存。 基本上,VMI的一个常见用法是首先在地址上设置断点,然后等待中断,最后读取虚拟内存。
VMI学习总结 - Virtualmachine introspection_vmi实验总结-CSDN博客
揭秘Icebox虚拟机自检解决方案实现Windows内存自省的原理-安全客 - 安全资讯平台
一、概述
虚拟机自省(Virtual Machine Introspection,VMI)是一种用于探索虚拟机的强大技术。这种技术可以直接作用于虚拟机管理程序,并且可以隐蔽且精确地控制虚拟机状态,也就是CPU上下文和内存。
基本上,VMI的一个常见用法是首先在地址上设置断点,然后等待中断,最后读取虚拟内存。例如,如果我们想要在Windows上监视用户的文件写入活动,只需要在内核区域的NtWriteFile
函数上设置一个断点即可。在触发断点后,我们就可以检索相关的进程,并捕获对应的调用堆栈。所有这些操作最终都需要访问虚拟机的虚拟内存。
听起来,访问这个内存似乎很简单。但事实证明,在Windows上的实际情况要更复杂一些。大家可能都已经了解分页机制,简而言之,分页机制包括在磁盘上备份物理内存页面,以使其可用于进一步访问,从而以某种方式增加物理内存空间。在默认情况下,Windows也将这些备份的页面存储到页面文件中(默认情况下为pagefile.sys
,也称为交换文件)。因此,当遇到断点时,可能无法直接访问进程虚拟内存的全部内容,因为某些页面可能已经被调出。
禁用页面文件是Windows中的一个功能,是一种可以将所有页面保存到物理内存中的简单方式。但是很遗憾,正如我们在本文中即将看到的,这种技术还不足够。实际上,Windows在处理物理内存的过程中还做了一些优化。
本文的第一部分主要介绍Windows虚拟地址转换机制,描述了物理内存页面描述中涉及的所有软件状态。
然后,在第二部分中,我们将重点介绍IceBox如何在其初始化阶段自动配置操作系统,以提供Windows虚拟机的完整物理内存访问。
from:揭秘Icebox虚拟机自检解决方案实现Windows内存自省的原理-安全客 - 安全资讯平台