Since virtual machines under KVM are implemented as Linux processes, KVM uses the standard Linux security model to provide isolation and resource controls. The Linux kernel includes Security-Enhanced Linux (SELinux) 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 enable 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 likely target for attackers, as a compromised hypervisor can lead to the all virtual machines running on the host system. Integrating SELinux into virtualization technologies helps improve hypervisor security against malicious virtual machines trying to gain access to the host system or other virtual machines.
The following image represents SELinux isolating guests, which limits the ability for a compromised hypervisor (or guest) to launch further attacks, or to extend to another instance:
Figure 4.1. Attack path isolated by SELinux