1 / 20

系统虚拟化技术

系统虚拟化技术. Virtual Machine is a fully protected and isolated copy of the underlying physical machine’s hardware --IBM. 姜辉 2011-1-4. 提纲. 虚拟化技术简介 回顾 x86 体系结构 虚拟化技术分类 虚拟化在网络安全领域的应用. 虚拟化技术简介. 诞生于 60 年代的 IBM system/360 Model 40 VMM 1999 年 Vmware 展示了第一款基于 X86 体系结构的虚拟机

marla
Download Presentation

系统虚拟化技术

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 系统虚拟化技术 Virtual Machine is a fully protected and isolated copy of the underlying physical machine’s hardware --IBM 姜辉 2011-1-4

  2. 提纲 • 虚拟化技术简介 • 回顾x86体系结构 • 虚拟化技术分类 • 虚拟化在网络安全领域的应用

  3. 虚拟化技术简介 • 诞生于60年代的IBM system/360 Model 40 VMM • 1999年Vmware展示了第一款基于X86体系结构的虚拟机 • 2005年Intel 和 AMD公司分别在芯片上提供了对虚拟化的支持

  4. 回顾x86体系结构 • X86体系结构回顾 • 系统分为四个特权级 • 用户指令和系统指令 • 用户指令:计算 • 系统指令:资源管理 • 操作系统结构回顾 • 将内存空间分为用户态和内核态 • 用户态使用特权级3,内核态使用特权级0

  5. 回顾x86体系结构 • Goldberg和Popek论证了可虚拟化的3条件 • 等效性。除一些例外,虚拟机上的任何程序的执行行为必须和它在硬件上直接运行时相同 • 高效性。所有的无害必须在本地硬件上直接执行而不需要VMM的干预(注:对于系统管理不产生影响,即非特权指令) • 资源控制。VMM拥有对所有资源的控制。任何客户软件都不能改变VMM对它分配的资源份额。 • 高效VMM必须满足的条件 • 敏感指令集是特权指令集的子集

  6. 回顾x86体系结构 • X86体系结构虚拟化的挑战 • 指令:处理器不支持虚拟化 • 部分敏感指令不属于特权指令 • I/O设备:PC机上设备多样性 • 内存:减少多级页表查询的时间开销

  7. 回顾x86体系结构 • 敏感指令的一个例子(popf) • 作用是在内存栈顶弹出一个值,将堆栈指针加2,并将值存储到EFLAGS寄存器的低16位 • 用户态运行没有任何操作 • 内核态运行产生实际的操作

  8. 虚拟化技术分类 • 全虚拟化技术 • 操作系统辅助的全虚拟化 (VMware Workstation) • 硬件辅助的虚拟化技术(xen3.0之后、VMware ESX) • 纯指令模拟的虚拟化技术(Qemu) • 半虚拟化技术 • Xen , VMware ESX Server 3.5 之后支持半虚拟化

  9. 操作系统辅助的全虚拟化 • 指令的虚拟化 • 用户指令直接运行 • 敏感指令翻译执行 • 特权指令异常处理 • 存储器的虚拟化 • SPT(影子页表) • I/O设备的虚拟化 • 利用操作系统帮助来处理外部设备

  10. 操作系统辅助的全虚拟化之内存虚拟化 • SPT(影子页表) • Guest OS Logic Address -> Physical Address • VMM Physical Address -> Machine Address • TLB(旁路转换缓冲)用来减少地址转换中对内存的访问

  11. 操作系统辅助的全虚拟化之I/O设备的虚拟化 • 宿主操作系统支持的I/O设备的虚拟化 • VMM拦截Guest OS 的I/O操作 • VMApp在主操作系统代替Guest OS执行I/O操作 • VMM接收到的中断信号转到主操作系统下处理 • VMDriver控制VMM和主操作系统之间的切换

  12. 硬件辅助的全虚拟化 • 指令的虚拟化 • 用户指令直接在硬件上执行 • 部分特权指令直接执行(VMX non-root) • 部分特权指令转到VMM模式下执行(VMX root) • 存储器的虚拟化 • 影子页表(硬件上没有提供支持的内存虚拟化技术) • NPT(AMD硬件支持的存储器虚拟化)EPT(Intel硬件支持的存储器虚拟化) • I/O设备的虚拟化 • 指令模拟(使用QEMU的模拟技术) • Intel VT-d和AMD IOMMU

  13. 硬件辅助的全虚拟化之指令虚拟化 • Guest OS内核运行在Ring 0,应用程序运行在Ring 3 • 运行部分指令由硬件自动产生异常 • 一些指令无条件产生异常 • 根据VMCS中配置来产生异常(一些指令和事件) • VMCS控制VMX root与VMX non-root之间的切换

  14. 半虚拟化 • 指令的虚拟化 • 将敏感指令替换为超级调用 • 将在用户态运行产生异常指令由VMM代替执行 • 存储器虚拟化 • SPT(影子页表) • I/O设备虚拟化 • 事件通道

  15. 半虚拟化之设备虚拟化 • Domain0直接访问硬件资源的操作系统 • DomainU通过前端驱动访问设备 • VMM为DomainU和Domain0建立事件通道

  16. 虚拟技术总结 • 指令虚拟化 • 软件模拟QEMU • 混合使用 • 硬件辅助的虚拟化 • 内存虚拟化 • SPT • EPT或NPT • I/O设备虚拟化 • 仿真设备模型(Qemu,Xen) • 直接分配模型(硬件帮助) • 虚拟设备模型 • 宿主操作系统辅助

  17. 虚拟化在安全方面的应用 • 虚拟机满足安全的2个条件 • 隔离 • 隔离不安全的域 • 容错性较高 • 管理(分级来实现) • 高特权

  18. Qubes操作系统的设计 • VM被分为2类 • AppVMs:被用来运行用户应用程序。如浏览器 • SystemVMs:用来提供系统范围的服务。如网络和存储

  19. Ether:恶意代码行为分析系统 • Ether相比于其它分析系统的特点 • 特权级高 • 透明性较好 (D(E)=D(PA)  T(P)=T(PA))

  20. 讨论和指正 谢谢 !

More Related