基于虚拟机的Rootkit技术研究
基于Windows平台下的R00tkit进程检测技术研究

基于Windows平台下的R00tkit进程检测技术研究
尹浩然
【期刊名称】《消费电子商讯》
【年(卷),期】2012(000)07X
【摘要】最早Rootkit用于善意用途,但随着科学技术水平的不断发展,Rootkit 被黑客恶意地用在攻击他人的计算机系统,且潜伏较深,不易检测。
本文主要针对基于Windows平台下的Rootkit原理以及对检测隐藏进程技术进行研究。
.【总页数】1页(P109-109)
【作者】尹浩然
【作者单位】中国人民公安大学,北京102623
【正文语种】中文
【中图分类】TP316.7
【相关文献】
1.基于Windows平台下的网络监听检测技术研究 [J], 张昊;杨静
2.利用HOOK实现基于Windows平台的进程管理 [J], 徐琼;王闵;李广鑫
3.Windows平台下Rootkit进程检测 [J], 张登银;陈召国
4.基于Windows平台的嵌入式仿真适配技术研究 [J], 陈可可; 杜承烈; 梁文豫; 顾青; 纪组赑
5.基于Windows平台的运维操作审计技术研究 [J], 艾斯卡尔·阿不都哈地尔;陶天优
因版权原因,仅展示原文概要,查看原文内容请购买。
Anti MBR—Rootkit技术研究

Anti MBR—Rootkit技术研究【摘要】对磁盘主引导记录MBR和Windows操作系统的启动过程进行了阐述,对Rootkit和MBR-Rootkit技术特点进行了总结,对MBR-Rootkit结构和实例的行为特点进行了深入研究和剖析,针对WinXP操作系统的MBR-Rootkit实例,提出了检测和清除方法。
【关键词】MBR;Rootkit;内核驱动1.前言基于Windows启动过程的Rootkit作为目前最前沿的Rootkit技术,把存放地由传统的操作系统磁盘文件扩展到了硬盘主引导扇区等位置,同时将自身的启动提前到了Windows系统内核启动相同的级别,甚至还要更早的阶段。
这样基于Windows启动过程的Rootkit就能较早的取得对计算机的控制权,从而实现较强的隐藏和控制功能[1]。
基于MBR的Rootkit技术是通过感染MBR实现的,这种Rootkit会在操作系统还没运行的时候先获得控制权,这种技术在磁盘中会留下感染痕迹,通常安全软件也是利用这个弱点,首先检测MBR是否被篡改了,如果是则修复这个被篡改的MBR,当修复成功后,下次计算机重启过程中Rootkit 失去作用。
2.磁盘主引导记录MBRMBR(Master Boot Record),即主引导记录,它是由FDISK等磁盘分区命令写在硬盘绝对0扇区的一段数据,它由主引导程序、硬盘分区表及扇区结束标志字(55AA)这3个部分组成。
位于整个硬盘的0柱面0磁道1扇区,共占用63个扇区,但实际只使用1个扇区(512字节)。
在总共512字节的主引导记录中,引导代码占用446字节,分区表占用64字节,结束标志55AA占用两个字节。
引导代码的作用是让硬盘具备可以引导的功能,如果引导代码丢失,分区表还在,那么这个硬盘作为从盘所有分区数据都还在,只是这个硬盘自己不能够用来启动进系统。
如果要恢复引导代码,可用DOS下命令:FDISK/MBR;这个命令只是用来恢复引导代码,不会引起分区改变丢失数据[2]。
Linux下基于可执行路径分析的内核 rootkit检测技术研究

Linux下基于可执行路径分析的内核 rootkit检测技术研究王松涛;吴灏
【期刊名称】《计算机工程与应用》
【年(卷),期】2005(041)011
【摘要】如何检测系统是否被入侵者安装了rootkit是计算机安全领域中的重要问题.该文描述了一种基于可执行路径分析(EPA)的检测内核级rootkit的新技术,该技术利用处理器的单步执行模式,来测定系统内核中执行指令的数量,从而达到检测rootkit的目的.
【总页数】3页(P121-123)
【作者】王松涛;吴灏
【作者单位】信息工程大学信息工程学院,郑州,450002;信息工程大学信息工程学院,郑州,450002
【正文语种】中文
【中图分类】TP393
【相关文献】
1.基于Linux系统调用的内核级Rootkit技术研究 [J], 石晶翔;陈蜀宇;黄晗辉
2.一种基于内核定时器和工作队列的Linux rootkit [J], 王立志;刘建辉
3.KVM环境下内核级Rootkit检测及防护技术研究 [J], Liu Gang;Xu Zheng;Cui Shiwei
4.KVM环境下内核级Rootkit检测及防护技术研究 [J], 刘刚; 徐峥; 崔士伟
5.基于可执行路径分析(EPA)的Windows rootkit检测方法 [J], 张悦
因版权原因,仅展示原文概要,查看原文内容请购买。
利用可信赖执行技术防范基于hypervisor的rootkit

利用可信赖执行技术防范基于hypervisor 的rootkit宋晓龙1,张立航1,陈大勇2(1中国信息安全测评中心,北京,100085;2华中科技大学,湖北 武汉 430074)【摘 要】虚拟化技术的发展和应用,给虚拟机的安全带来了新的威胁和挑战。
论文深入研究和分析了针对虚拟机的rootkit攻击以及虚拟机监控软件(hypervisor)面临的安全风险,提出了检测和防范rookit攻击的方法。
结合可信赖执行技术(TXT)的特点,给出了防范基于hypervisor的rootkit的方法和步骤,并探讨了虚拟机安全的发展趋势和下一步的研究方向。
【关键词】rootkit;可信计算;虚拟机监控软件;策略【中图分类号】TP309.2 【文献标识码】A 【文章编号】1009-8054(2009) 07-0076-03Preventing Hypervisor-based Rootkit with Trusted Execution TechnologySONG Xiao-Long 1, ZHANG Li-Hang 1, CHEN Da-Yong 2(1China Information Technology Security Evaluation Center, Beijing 100085, China;2Huazhong University of Science and Technology, Wuhan Hubei 430074, China)【Abstract 】Development and applications of virtualization technology have brought new threats and challenges to vir-tual machine security. In this paper, the rootkit attacks on virtual machine and the security risks faced by hypervisor are studied and analyzed in detail. And the methods for detecting and analyzing rookit attacks are proposed. In combination with Trusted Execution Technology(TXT) characteristics, the methods and procedures in preventing hypervisor-based rootkit are given. Finally, the development trends of virtual machine security and its further research directions are discussed.【Keywords 】rootkit; trusted computing; hypervisor; policy0 引言虚拟化技术的应用为数据中心、开发者和使用者提供了很多便利,它的产生及快速普及带来了许多安全方面的隐患,基于虚拟计算机的病毒、恶意软件、rootkit[1]也大量出现。
Anti_Rootkit技术

概述当今rootkit技术被广泛应用于恶意软件的开发中,恶意软件利用此技术来做一些应用程序做不到的事情,如文件的隐藏,注册表键值的隐藏,对抗防护软件等。
于是对于rootkit程序的检测与清除技术(anti-rootkit(以下简称ark))得以发展。
作为rootkit技术的天敌,ARK技术具有与其对手一样的特性。
但是ark作为一种检测技术有着比起对手更宽裕的时间来占领内核制高点。
ARK基础知识概述(1)WDM内核模块开发WDM(windows driver model)技术为windowsNT系列操作系统的内核扩展模块开发模型,,windowsNT系列系统包括windowsNT,windows2000, windowsXP 与windows vista, windows7WDM模型主要采用分层的方法,模仿面向对象的技术,按照微软一贯的思路,先进行逻辑上的“分层”,然后将标准的实现和低层细节“封装”起来,形成“基类”,客户程序通过“继承”的方式来扩展“基类”的功能,完成所需要的实现。
在微软的技术文献中,称Windows NT和Windows 2000为“基于对象”(object-based)的系统,和操作系统一样,WDM驱动程序模型也是“基于对象”的系统程序。
WDM使用了分层的驱动程序结构,而且WDM是基于对象的。
为了便于对硬件的管理,WDM里对每一个单一的硬件引入了一些数据结构,部分描述了一个DEVICE_OBJECT数据结构栈。
在数据结构栈中最低层的是物理设备对象(Physical Device Object),用于描述我们的设备与物理总线的关系,简称为PDO。
在PDO的上面,有功能设备对象(Function device Object),用来描述设备的逻辑功能,简称为FDO。
在数据结构栈的其他位置, FDO的上面或下面,有许多的过滤设备对象(Filter Device Objects),简称为FiDO。
Windows Rootkit实现及其检测技术分析

随操 作 系 统 启 动 的R o o t k i t 中 ,深 入 分 析 该条 目的前5 个 字符 ( w i n d o w s 支持m u t i l , 内核 劫持 、s v c h o s t 宿主 启动 、w i n l o g o n 事 S C S i ,S i g n a t u r e ) ,如 果是 S c S i ,就 会
R o o t k i t 1 最早 出现于U n i x 系统中 ,随着
计算机 技术的发展 ,现在 多种操作系 统平 台 中都出现 了R o o t k i t 。现在 的研 究表明恶意代 码 的R o o t k i t 技术化趋 势非常 明显 ,R o o t k i t
依 照w i n d o w s R o o t k i t 的启 动 实现 方 来 实现 内核 的劫持 , 当w i n d o w s 通 过N R L D R
Ke y w or d: Root l d t;vs hos t . e x e; BI OS Ro od & ; M BR Bo ot it k
1 . 介绍
2 . W i n d o w s R o o { k i t 的实现原理
利 用B o o t . i n i 文 件 中 的特殊 选项 S C S i
Re s e a r c h on de s i g ni ng a nd de t e c t i ng t e c hno l ogy o f R oot ki t
Abs t r a c t :R o o d d t i s u s e d t o h i d e i t s ma l i c i o u s s o f t w a r e a n d o t h e r s p e c i a l r e s o u r c e s a n d a c t i v i t i e s o f t h e p r o c e d u r e s s e t I n t h i s p a p e r ,s t a r i t n g wi h t w i n d o ws Ro o t l d t , Ro o d d t i s p i r o r t o he t o p e r a t i n g s y s t e m b o o t a n d wi h t he t o p e r a i t n g s y s t e m t o s t rt a he t t wo c l a s s ,t he s t a r t o f he t t wo k i n d s o f wi n d o ws Ro o t k i t ,t he r e a l i z a t i o n p r i n c i p l e nd a h i d i n g t e c h n o l o g y i s a n a l y z e di n d e t a i l ,a ndt h ep r i n c i p l e o f he t e x i s t i n gd e t e c t i o nme t h o d sa re na a l y z e d
Rootkit的基础知识和防御方法-电脑资料

Rootkit的基础知识和防御方法-电脑资料Rootkit的基础知识和防御方法好多人有一个误解,他们认为rootkit是用作获得系统root访问权限的工具,。
实际上,rootkit是攻击者用来隐藏自己的踪迹和保留root访问权限的工具。
通常,攻击者通过远程攻击获得root访问权限,或者首先密码猜测或者密码强制破译的方式获得系统的访问权限。
进入系统后,如果他还没有获得root权限,再通过某些安全漏洞获得系统的root权限。
接着,攻击者会在侵入的主机中安装rootkit,然后他将经常通过rootkit的后门检查系统是否有其他的用户登录,如果只有自己,攻击者就开始着手清理日志中的有关信息。
通过rootkit的嗅探器获得其它系统的用户和密码之后,攻击者就会利用这些信息侵入其它的系统。
一全面认识rootkit:Rootkit出现于二十世纪90年代初,在1994年2月的一篇安全咨询报告中首先使用了rootkit这个名词。
这篇安全咨询就是CERT-CC的CA-1994-01,题目是Ongoing Network Monitoring Attacks,最新的修订时间是1997年9月19日。
从出现至今,rootkit的技术发展非常迅速,应用越来越广泛,检测难度也越来越大。
rootkit介绍Rootkit是一种奇特的程序,它具有隐身功能:无论静止时(作为文件存在),还是活动时,(作为进程存在),都不会被察觉。
换句话说,这种程序可能一直存在于我们的计算机中,但我们却浑然不知,这一功能正是许多人梦寐以求的——不论是计算机,还是计算机取证人员。
可以在入侵后置入Rootkit,秘密地窥探敏感信息,或等待时机,伺机而动;取证人员也可以利用Rootkit实时监控嫌疑人员的不法行为,它不仅能搜集证据,还有利于及时采取行动。
二了解Rootkit的攻击原理:要了解Rootkit的攻击原理,就必须从系统原理说起,我们知道,操作系统是由内核(Kernel)和外壳(Shell)两部分组成的,内核负责一切实际的工作,包括CPU任务调度、内存分配管理、设备管理、文件操作等,外壳是基于内核提供的交互功能而存在的界面,它负责指令传递和解释。
Rootkit技术的主要原理

应用级->内核级->硬件级早期的rootkit主要为应用级rootkit,应用级rootkit主要通过替换login、ps、ls、netstat等系统工具,或修改.rhosts等系统配置文件等实现隐藏及后门;硬件级rootkit主要指bios rootkit,可以在系统加载前获得控制权,通过向磁盘中写入文件,再由引导程序加载该文件重新获得控制权,也可以采用虚拟机技术,使整个操作系统运行在rootkit掌握之中;目前最常见的rootkit是内核级rootkit。
内核级rootkit又可分为lkm rootkit、非lkm rootkit。
lkm rootkit主要基于lkm技术,通过系统提供的接口加载到内核空间,成为内核的一部分,进而通过hook系统调用等技术实现隐藏、后门功能。
非lkm rootkit主要是指在系统不支持lkm机制时修改内核的一种方法,主要通过/dev/mem、/dev/kmem设备直接操作内存,从而对内核进行修改。
非lkm rootkit要实现对内核的修改,首先需要获得内核空间的内存,因此需要调用kmalloc分配内存,而kmalloc是内核空间的调用,无法在用户空间直接调用该函数,因此想到了通过int 0x80调用该函数的方法。
先选择一个不常见的系统调用号,在sys_call_table中找到该项,通过写/dev/mem 直接将其修改为 kmalloc函数的地址,这样当我们在用户空间调用该系统调用时,就能通过int 0x80进入内核空间,执行kmalloc函数分配内存,并将分配好的内存地址由eax寄存器返回,从而我们得到了一块属于内核地址空间的内存,接着将要 hack的函数写入该内存,并再次修改系统调用表,就能实现hook系统调用的功能。
rootkit的常见功能:隐藏文件:通过strace ls可以发现ls命令其实是通过sys_getdents64获得文件目录的,因此可以通过修改sys_getdents64系统调用或者更底层的 readdir实现隐藏文件及目录,还有对ext2文件系统直接进行修改的方法,不过实现起来不够方便,也有一些具体的限制。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
科技信息1引言Rootkit是用来隐藏自身踪迹和保留系统访问权限的工具集。
当前的Rootkit受限于两个方面:首先,Rootkit较于入侵检测系统在系统的控制程度上没有明显的优势。
如果进攻者与防御者都运行在最高权限下,他们彼此之间没有优势可言,先感知到对方存在的一方将会获胜。
其次,当前的Rootkit在功能性与隐蔽性上无法兼得。
功能强大的恶意程序较简单的程序会留下更多的痕迹,容易被安全工具检测到。
一种名为虚拟机Rootkit(VMBR,virtual-machinebasedrootkit)的恶意程序,利用虚拟机技术突破了当前恶意程序的局限。
VMBR对系统具有更高的控制程度,能提供多方面的功能,并且其状态和活动对运行在目标系统中的安全检测程序来说是不可见的。
VMBR在正在运行的操作系统下安装一个虚拟机监视器(VMM,virtualmachinemonitor),并将这个原有操作系统迁移到虚拟机里,而目标系统中的软件无法访问到他们的状态,因此VMBR很难被检测和移除。
2虚拟机原理VMM是运行在硬件之上或运行在操作系统之中的软件层次。
VMM为使用仿真硬件的客户软件提供硬件抽象,VMM将捕获对硬件设备的访问,并利用软件方式进行仿真,使得客户操作系统与虚拟硬件的交互如同与真正的硬件交互一样。
VMM通过复用计算机的硬件以支持多个操作系统运行在同一个主机上,这些操作系统相互隔离,并拥有各自的应用程序。
VMM管理底层硬件的资源以及对一个或多个虚拟机进行抽象。
每一个虚拟机都能运行完整的客户操作系统和客户应用程序。
虚拟机(VM,virtualmachine)可分为两种类型,如图1。
图1虚拟机的两种类型类型I中VMM直接运行在硬件层之上,控制着物理硬件资源,为运行在VMs中的操作系统提供虚拟接口。
类型II中的虚拟化软件(如VMware)作为一个应用程序运行在操作系统中,这个操作系统被称作主机操作系统。
而运行在VM中的操作系统则被称为客户操作系统。
VMware作为主机系统的进程而运行并且为客户系统的I/O请求提供服务。
3虚拟机RootKit的实现VMM为恶意程序提供了一个强大的平台。
一个VMBR将目标系统迁移到虚拟机中,然后在VMM或另一个虚拟机中运行恶意程序,VMM将恶意程序与目标系统隔离开,这样目标系统上的安全检测软件就无法发现和修改恶意程序。
同时,VMM能够掌握目标系统上的所有事件和状态,当VMBR修改这些事件和状态时,由于它完全控制了面向目标操作系统和应用程序的虚拟硬件,目标系统将无法发现这些改动。
3.1软件虚拟化环境下的VMBRSubVirt是由微软和密歇根大学的研究人员开发的概念验证型VMBR,它依赖于商用的虚拟机软件(VMware或VirtualPC)来构建虚拟化环境,并且需要供其自身运行的主机操作系统。
3.1.1SubVirt的装载SubVirt需要运行在目标操作系统及其应用程序之下,并且将目标系统作为客户系统运行。
为了达到这个目的,SubVirt必须篡改系统启动顺序,以确保SubVirt先于目标操作系统装载。
如图2所示,SubVirt在注入前后的对比,灰色部分为VMBR的组件。
图2VMBR注入前后的对比攻击者在安装这个VMBR之前,必须先获得目标系统足够的访问权限,这样才能更改系统的启动顺序。
当目标系统是Windowsxp时,SubVirt存储在第一个活动分区的开始部分,并将该区域上的原有数据重定位到磁盘的其他空闲区,然后通过修改引导记录来更改系统启动顺序。
为了避免被检测磁盘引导扇区的安全软件检测到,SubVirt在系统关闭期间,大多数进程和内核子系统退出后才修改引导扇区,并且使用底层的磁盘驱动进行VMBR启动代码的复制,这样可以绕过文件系统层上的检测软件。
SubVirt利用内核组件注册了一个LastChanceShutdownNotification事件处理程序,它会在系统关闭时被调用,当调用发生时,SubVirt的启动代码将被拷贝到磁盘的活动分区中。
在下一次系统启动时,SubVirt将会先于目标系统载入,并安装主机系统和VMM,构建虚拟环境,然后载入目标系统,此时的目标系统已成为VM下的客户系统,处于Sub-Virt的控制之下。
在SubVirt安装之后,由VMM控制最底层,把目标系统对虚拟磁盘的访问转换为对应的物理磁盘的访问。
由于VMBR使用了与目标系统相隔离的主机系统,在此之上安装的任何恶意程序对目标系统来说都是不可见的。
而恶意程序则可以对目标系统进行攻击。
基于虚拟机的Rootkit技术研究沈阳工业大学孙迪杨大全[摘要]随着安全检测软件深入到系统内核,传统的内核级Rootkit逐渐丧失了隐藏自身和控制系统的优势。
但是一种利用虚拟机技术的虚拟机Rootkit又一次打破了平衡,它试图在虚拟化环境下躲避检测,并控制目标系统。
本文将介绍两种在不同虚拟化环境下的Roorkit的实现方式。
[关键词]隐藏虚拟机RootKit控制虚拟化环境HardwareGuestOS1GuestOS2VirtualMachine(VMM)(a)TypeⅠ(b)TypeⅡGuestOS1GuestOS2VirtualMachine(VMM)HardwareHostOSBeforeinfectionAfterinfectiontargetapplicationtargetapplicationtargetoperatingsystemhosthardwaretargetapplicationtargetapplicationtargetoperatingsystemhosthardwarevirtual-machinemonitor(VMM)maliciousservicemaliciousservicehostoperatingsystem作者简介:孙迪(1981-),男,辽宁沈阳人,沈阳工业大学硕士研究生,主要研究方向:计算机网络;杨大全(1948-),男,辽宁沈阳人,硕士,沈阳工业大学教授,硕士研究生导师,主要研究方向:计算机网络。
博士・专家论坛336——科技信息(上接第335页)教学与科研相结合的模式,明确实习基地建设指导思想,通过实习基地的建设,构建创新人才培养的教学环境,确保实践教学质量。
学生实践能力的形成和综合素质的提高是一个循环渐进的过程,是在不断的实践过程中积累,并通过有意识、有计划的培养逐步形成实现的。
实践证明,我院通过实习基地对学生实践技能的培养,以及学生职业工种的考取,弥补了目前大多数本科高校学生只有理论知识的缺陷,使学习具有双重能力,为他们的就业打下深厚的基础,增强了就业竞争力。
参考文献[1]任洁梅,程冬梅.加强实习基地建设培养学生实践能力[J].实验室科学,2008,2:12-13[2]张天华.高职院校实习基地建设与校企合作探索[J].辽宁高职学报,2007,9(4):60-62[3]孟婷婷.对加强校外实习基地建设的几点认识[J].文教资料,2008,15(5):165-166[4]吴国栋.高校实习基地建设模式研究与实践[J].华东交通大学学报,2007,24(12):117-1183.1.2维持控制权为了避免自身被移除,VMBR必须维持对系统的控制。
只要VMBR控制着系统,它就能阻止任何修改其状态的企图。
VMBR对系统失去控制的唯一时机是系统加电到VMBR加载这段时间,任何在这段时间里运行的代码都能访问到VMBR的状态。
而在此时间段内运行的代码是系统的BIOS,由BIOS启动VMBR,然后VMBR取得系统控制权。
但是如果BIOS通过其他媒介启动(如CD-ROM),并运行一段程序,这个程序将能访问到VMBR。
因此VMBR需要减少系统电源关闭的情况,通常造成电力循环的原因是系统重启和关闭,VMBR通过重启虚拟硬件而不是底层的物理硬件来处理重启操作,这样VMBR可以保持对系统的控制权。
同样,VMBR也可以利用APCI的休眠功能仿真系统关机操作,这个功能可以使硬件处于低能耗状态,如同系统关机状态一样,而实际上内存仍处于加电状态,当用户按下电源按钮时,系统从APCI的休眠状态中恢复,内存中的VMBR也重新取得系统的控制权。
在以上两种情况下,即使BIOS通过其他媒介启动系统,都将处于VMBR的控制下。
3.1.3性能评估(1)由于SubVirt在引导目标系统之前需要加载供自己运行的主操作系统和VMM,因此开机启动的时间要比目标系统正常启动的时间要长,并增加了系统资源的额外开销。
(2)SubVirt提供给目标系统的虚拟硬件较之物理硬件有一定的性能损失,如虚拟显卡无法实现物理显卡的3D应用等。
(3)SubVirt运行在X86环境下,并依赖商用的VMM,虚拟化并不完全,VMM只能捕获处于特权级别的处理器指令,无法捕获仿真非特权敏感指令(Sensitiveinstructions),如SIDT指令,利用这样的指令可以用来检测SubVirt的存在。
3.2硬件辅助虚拟化环境下的VMBRINTELVT-X与AMD-V实现了处理器对虚拟化的支持,通过新增加的指令来构建和维护虚拟环境。
不同于SubVirt,硬件辅助虚拟化环境下的VMBR不需要修改引导记录更改系统的启动顺序来加载自身,得到系统的控制权,而是通过相关的CPU指令将正在运行的系统迁移到VM中,达到监视控制目标系统的目的。
3.2.1AMD虚拟化技术AMD-V定义了一些新的CPU指令如:(1)VMRUN:实现一个客户系统(2)VMSAVE和VMLOAD:管理客户状态信息(3)#VMEXIT:退出VM返回到主机模式(4)VMMCALL:允许客户系统与VM管理程序交互还定义了一个名为虚拟机控制块(VMCB)的数据结构,处理虚拟化管理功能,该结构由两个区域构成。
第一个区域为控制位区。
第二个区域用来维护客户的状态。
AMD-V功能启动后,具有两种模式:主机模式和客户模式。
VM管理程序(Hypervisor)在主机模式,客户系统运行在客户模式。
在主机模式下的Hypervisor利用VMRUN指令来实现初始化客户系统的操作,并构造相应的VMCB。
在此之后,客户系统进入执行状态,直到产生了#VMEXIT事件的中断,控制权又回到Hypervisor,并处理这个中断,然后再次调用VM-RUN指令回到客户模式。
客户的状态以及产生#VMEXIT事件的原因将被记录在VMCB中。
整个系统就处于VMRUN与#VMEXIT不断循环的过程中。
3.2.2VMBR的装载为了将正在运行的目标操作系统迁移到VM中转变成客户系统,VMBR必须负责初始化Hypervisor。
VMBR以某种方式侵入到目标系统,利用驱动程序方式加载到系统内核,该驱动程序分配一个不分页的内存区域来存储Hypervisor的代码,当Hypervisor安装完毕后,驱动程序的卸载例程将卸载这个驱动并删除磁盘上的驱动文件。