This course introduces virtualization fundamentals with an emphasis on virtual-machine extensions (VMX) on modern Intel processors. We will discuss what made traditional virtualization on older processors a challenge and how hardware extensions resolve these issues. We will review relevant x86/64-bit architecture and implement code in C and assembly through a series of labs to demonstrate the following concepts:
- VMX root and non-root operation
- Allocating and managing VM control structures
- Virtual Interrupts/Exceptions
- VM-exit controls
- Read shadows
The course also provides students with an introduction to active research in the area with applications to reverse engineering, debugging, operating systems, and Bluepill/Vitriol. Students taking this class will gain a much better understanding of the core functioning of commercial/open source products like Xen, VMware, KVM/QEMU and alternative virtualization approaches such as binary translation.
Learning Objectives
- Develop hands-on core virtualization technology using Intel hardware extensions.
- Create a breadth of knowledge on virtualization fundamentals and encourage research and application to sponsor projects.
- Develop a deep understanding of a technology at the core of today's security solutions.
Framework Connections
The materials within this course focus on the NICE Framework Task, Knowledge, and Skill statements identified within the indicated NICE Framework component(s):
Specialty Areas
- Technology R&D
Feedback
If you would like to provide feedback on this course, please e-mail the NICCS team at NICCS@mail.cisa.dhs.gov. Please keep in mind that NICCS does not own this course or accept payment for course entry. If you have questions related to the details of this course, such as cost, prerequisites, how to register, etc., please contact the course training provider directly. You can find course training provider contact information by following the link that says “Visit course page for more information...” on this page.