현재 RHEV 2.2에는 sVirt라는 기술이 들어가 있지 않다.
RHEV 2.3에서 제공할 것이라고 했었지만 현재 RHEV 2.3 버젼업이 불투명하고 아마 3.0이 바로 나올 것으로 기대된다.
3.0에서 제공될 것이다.
그러나 RHEL 6 기반의 KVM에서는 이를 제공한다.
그러면 sVirt라는 것은 무엇일까?
우선 sVirt = SELinux policy + libvirt driver 라고 할 수 있겠다
SELinux는 MAC기반의 가상화 정책및 기술이고, libvirt는 가상머신을 관리하고,관련한 기능들을 제공해 주는 기술이다.
이 libvirt는 가상화 API 라이브러리, 데몬(libvirtd) 그리고 유틸리티 (virsh)로 구성되어 있다.
Hypervisor위에서 보통 root계정으로 돌고 있는 VM들을 libvirt를 통해 제어하여 만약 Hypervisor 영역에 Attack가 들어온다면
같은 user space영역에 있는 vm들간에 취약성이 나타나게 된다.
이를 SELINUX를 이용하여 MAC기반으로 막은 것이 바로 sVirt이다.
KVM 하이퍼 바이져가 제공하는 가장 강력한 보안기술이다. 현재 다른 vmware나 다른 하이퍼바이저 솔루션은 sVirt와 같은 기능이
없어 이에 대한 대응책이 필요할 듯하다.
제공하는 기능은 아래와 같다.
Supports MAC security schemes (SELinux, SMACK)
VM간 또는 VM host간 격리
MCS framework:system_u:object_r:virt_image_t:c<UUID>
쉽게 그림으로 설명된 첨부 파일 읽어보세요.


위의 그림을 설명하자면 그림과 같이 Hypervisor에 selinux가 동작하기 때문에 가상 머신이 하나의 Hypervisor위에 같은 userspace에서 동작하고 있어도(libvirt로 관리) 상위 권한을 획득하거나 같은 물리적 메모리의 userspace에 access할 수 있는 상황을
막을 수 있다는 것이다.쉽게 예를 들면 BUFFEROVERFLOW 같은 문제(ATTACK)로 인한 메모리 침탈.
이는 SELINUX를 조금이라도 안다면 쉽게 위의 그림을 이해할 수 있을 것이다.
같은 영역에 있어도 SELINUX의 CONTEXT 도메인을 달리하여 각 VM들을 완전히 분리할 수 있다는 것이다.
sVirt Project
MAC in process-based virtualization (KVM, OpenVZ, etc...)
Isolate guests using MAC security policy
Contain hypervisor breaches
Supports MAC security schemes (SELinux, SMACK)
Provides:
Strong isolation between active VMs
Improved control over access to VM resources
Improved control over access to shared resources
Fine-grained interaction with the host
MAC containment of Vms
Interface with label networking/CIPSO
Heavy usage of the MCS framework:
system_u:object_r:virt_image_t:c<UUID>
MAC and SE Linux
Mandatory Access Control (MAC) is a kind of access control defined
by the Trusted Computer System Evaluation Criteria
“[...] restricting access to objects based on the sensitivity of the
information contained in the objects and the formal authorization
(i.e., clearance) of subjects to access information of such
sensitivity". (from Wikipedia)
The most used MAC system in Linux is Security Enhanced Linux (SE
Linux)
Developed initially by NSA (National Security Agency)
Several contributors, such as Red Hat, Tresys, IBM, ....
Certified Common Criteria (EaL4+) and used by military
When used in “stricted” mode is even more secure
Based on policies that confine user programs and system
services to the minimum amount of privilege they require to do
00.sVirt_DevConf2011.pdf
00.svirt_KVM-Security_en_관련자료.pdf
their jobs