Product SiteDocumentation Site

Chapter 4. sVirt

4.1. Introduction
4.2. SELinux and Mandatory Access Control (MAC)
4.3. sVirt Configuration
4.4. sVirt Labeling
4.4.1. Types of sVirt Labels
4.4.2. Dynamic Configuration
4.4.3. Dynamic Configuration with Base Labeling
4.4.4. Static Configuration with Dynamic Resource Labeling
4.4.5. Static Configuration without Resource Labeling

4.1. Introduction

Since virtual machines under KVM are implemented as Linux processes, KVM leverages the standard Linux security model to provide isolation and resource controls. The Linux kernel includes SELinux (Security-Enhanced Linux), a project developed by the US National Security Agency to add mandatory access control (MAC), multi-level security (MLS) and multi-category security (MCS) through a flexible and customizable security policy. SELinux provides strict resource isolation and confinement for processes running on top of the Linux kernel, including virtual machine processes. The sVirt project builds upon SELinux to further facilitate virtual machine isolation and controlled sharing. For example, fine-grained permissions could be applied to group virtual machines together to share resources.
From a security point of view, the hypervisor is a tempting target for attackers, as a compromised hypervisor could lead to the compromise of all virtual machines running on the host system. Integrating SELinux into the virtualization technologies helps improve the security of the hypervisor against malicious virtual machines trying to gain access to the host system or other virtual machines.
Refer to the following image which represents isolated guests, limiting the ability for a compromised hypervisor (or guest) to launch further attacks, or to extend to another instance: