• Online, Self-Paced
Course Description

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