tandasat/Hypervisor-101-in-Rust
GitHub: tandasat/Hypervisor-101-in-Rust
一套使用 Rust 语言教授硬件虚拟化技术和高性能模糊测试的完整课程资料,涵盖 Hypervisor 开发与 UEFI 安全测试。
Stars: 1179 | Forks: 77
# Rust 入门虚拟机 101
这是在 [Global Cybersecurity Camp 2023 Singapore](https://gcc.ac/gcc_2023/) 举办的“Rust 入门虚拟机 101”课程的资料。本仓库包含一个针对 Intel/AMD 处理器上 UEFI 的模糊测试虚拟机(fuzzing hypervisor)、讲座和动手练习资料,以及样本语料库和目标文件。
请访问 https://tandasat.github.io/Hypervisor-101-in-Rust/ 阅读课程内容。
## 目录结构
- 📖[course/](course/) 课程资料
- 🦀[hypervisor/](hypervisor/) 模糊测试虚拟机的源代码及详细描述
- ⚙️[BUILDING.md](BUILDING.md) 构建和运行虚拟机的说明,包含 [tests/](tests/) 下的样本文件
## 课程形式
这些课程资料是为交互式课堂教学设计的,由于解释较少,可能不太适合自学。不过,我们决定将其发布,相信对某些人仍有帮助。如果您有兴趣参加作者的互动课程,请在 [System Programming Lab](https://tandasat.github.io/) 查看下一次公开课程的时间表。
## 支持的平台
- 主机(课堂和开发)环境
- 📎Windows + WSL
- 🍎macOS
- 🐧Ubuntu
- 也支持基于 Apple Silicon 的 macOS、基于 ARM64 的 Windows 和 Ubuntu。无需 x64 系统。
- 测试(目标)环境
- 硬件
- Bochs
- VMware Fusion 或 Workstation Pro(如果主机具有 Intel 或 AMD 处理器)
- 特定裸机型号
- 使用 UEFI
## 致谢
- Andrew Burkett (@drewkett) 和 Rich Seymour (@rseymour) 指导我学习 Rust
- Karsten König (@gr4yf0x) 和 Amir Bazine 鼓励我研究利用虚拟机进行模糊测试
- Brandon Falk (@gamozolabs) 及其富有启发性的工作 Falkvisor
标签:AMD-V, DNS解析, Fuzzing, Hypervisor, Intel VT-x, Rust语言, UEFI安全, VMM, 二进制分析, 云安全运维, 可视化界面, 固件安全, 安全培训, 开源项目, 硬件辅助虚拟化, 类型1虚拟机, 系统编程, 网络安全, 虚拟化技术, 课程资料, 通知系统, 隐私保护, 高性能计算