前言
想要入门 VT-X 传统的方式都是阅读 Intel SDM(Intel 64 and IA-32 Architectures Software Developer’s Manual) , 这是 Intel 官方 CPU 架构手册,VT-x 的全部细节都在这里
但这几千页的 pdf 着实让人头疼, 更是劝退了很多想要入门的人(包括笔者), 于是根据开源框架进行学习是个新的思路, 可以让你快速入门并见到效果, 有了正反馈在进行深入学习效率会大大提速, 下面推荐几款 github 上优秀的 vt-x 开源框架共大家参考:
1. SimpleVisor
- git地址: 5d4K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6Y4K9i4c8Z5N6h3u0Q4x3X3g2U0L8$3#2Q4x3V1k6A6L8$3&6W2M7$3y4#2x3o6l9%4i4K6u0r3f1$3W2E0M7r3I4W2g2X3W2K6L8%4t1`.
这个框架是 Windows 下的极简 Type-1 Hypervisor, 特点是代码量小(约几千行), 主要由C和汇编组成(开发过内核驱动的人来说非常友好), 框架内部有清晰演示 VMXON / VMCS 初始化流程, 可以学习到 VMXON 区初始化 \ VMCS 字段设置 \ VM-Exit 处理, 适合想从零理解 VT-x 工作流程的人 (后续笔者也会从这个框架开始入门学习)
1 | SimpleVisor 是一款简单易用、可移植的 Intel x64/EM64T VT-x 专用虚拟机管理程序,其目标有两个:尽可能减少汇编代码(仅 10 行),并尽可能减少与 VMX 相关的代码,以支持动态虚拟机劫持和反劫持(即从主机内部虚拟化主机状态),同时还支持 EPT 和 VPID 等高级功能。它目前可在 Windows 和 UEFI 环境下运行。
|
2. HyperPlatform
- git地址: 643K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6Y4K9i4c8Z5N6h3u0Q4x3X3g2U0L8$3#2Q4x3V1k6@1j5h3&6V1j5i4y4S2N6q4)9J5c8V1S2&6M7r3g2J5f1r3I4S2N6r3k6G2M7X3@1`.
这个框架为 Windows 内核驱动型 Hypervisor , 特点是结构清晰并且有大量注释, 重点会涉及EPT (Extended Page Table) \ MSR Hook \ CPUID Hook , 适合想研究 虚拟化监控 + 安全用途 的人
1 2 3 4 5 6 7 8 | 介绍
HyperPlatform 是一款基于 Intel VT-x 的虚拟机管理程序(又称虚拟机监视器),旨在为 Windows 系统上的研究提供一个轻量级平台。HyperPlatform 能够监视各种事件,包括但不限于对虚拟/物理内存和系统寄存器的访问、中断的发生以及特定指令的执行。
研究人员可以自由选择启用和/或禁用任何事件监控功能,并在 HyperPlatform 之上实现自己的逻辑。一些潜在的应用场景包括:
分析内核模式 rootkit
实施基于虚拟机的入侵防御系统(VIPS)
对 Windows 内核进行逆向工程
|
3.Xen
- git地址: 667K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6Y4K9i4c8Z5N6h3u0Q4x3X3g2U0L8$3#2Q4x3V1k6^5k6h3&6Q4x3X3c8H3M7X3!0B7k6h3y4@1i4K6u0r3P5r3g2F1
这是一个企业级 Type-1 Hypervisor框架, 支持 VT-x , 其特点是代码庞大(百万行级), 不适合入门,但适合理解工业架构, 在有基础的条件下有企业级需求以及想要深入学习细节的人接触
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | __ __ _ _ _
\ \/ /___ _ __ _ _ _ __ ___| |_ __ _| |__ | | ___
\ // _ \ '_ \ _____| | | | '_ \/ __| __/ _` | '_ \| |/ _ \
/ \ __/ | | |_____| |_| | | | \__ \ || (_| | |_) | | __/
/_/\_\___|_| |_| \__,_|_| |_|___/\__\__,_|_.__/|_|\___|
https://5e0K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4N6%4N6#2)9J5k6i4S2W2L8W2)9J5k6h3!0J5k6H3`.`./
Xen是什么?
============
Xen 是一款虚拟机监视器 (VMM),最初由……开发。
剑桥大学计算机系统研究组
实验室是英国工程与物理科学研究委员会 (EPSRC) 资助的 XenoServers 项目的一部分。Xen
是根据 GNU 协议发布的可自由分发的开源软件。
GPL。自最初公开发布以来,Xen 的用户群已大幅增长。由 xen.org ( https://c62K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4N6%4N6#2)9J5k6i4S2W2L8W2)9J5k6h3!0J5k6H3`.`. )
牵头的开发社区。
此文件包含一些在系统上安装 Xen 的快速入门说明。
您的系统。更多信息请访问https://d20K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4N6%4N6#2)9J5k6i4S2W2L8W2)9J5k6h3!0J5k6H3`.`./和
https://wiki.xen.org/
|
总结
以上内容为笔者为后续学习 VT-X 准备搜集的内容, 供大家参考学习讨论, 如有错漏 请留言
[培训]Windows内核深度攻防:从Hook技术到Rootkit实战!