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虚拟机, 系统编程, 网络安全, 虚拟化技术, 课程资料, 通知系统, 隐私保护, 高性能计算