[논문 리뷰] DuVisor: a User-level Hypervisor Through Delegated Virtualization
DuVisor는 가상화에서 커널 런타임 간섭을 제거하기 위해 새로운 하드웨어 확장인 위임 가상화 확장(DV-Ext)을 활용하는 사용자 수준 하이퍼바이저를 소개한다. VM 관리 전반—VM 탈출, 레지스터 설정, 스테이지-2 페이지 테이블, 가상 장치—를 사용자 공간으로 위임함으로써 DuVisor는 KVM 대비 최대 47.96% 높은 성능을 달성하면서도 공격 표면을 크게 줄였다.
Today's mainstream virtualization systems comprise of two cooperative components: a kernel-resident driver that accesses virtualization hardware and a user-level helper process that provides VM management and I/O virtualization. However, this virtualization architecture has intrinsic issues in both security (a large attack surface) and performance. While there is a long thread of work trying to minimize the kernel-resident driver by offloading functions to user mode, they face a fundamental tradeoff between security and performance: more offloading may reduce the kernel attack surface, yet increase the runtime ring crossings between the helper process and the driver, and thus more performance cost. This paper explores a new design called delegated virtualization, which completely separates the control plane (the kernel driver) from the data plane (the helper process) and thus eliminates the kernel driver from runtime intervention. The resulting user-level hypervisor, called DuVisor, can handle all VM operations without trapping into the kernel once the kernel driver has done the initialization. DuVisor retrofits existing hardware virtualization support with a new delegated virtualization extension to directly handle VM exits, configure virtualization registers, manage the stage-2 page table and virtual devices in user mode. We have implemented the hardware extension on an open-source RISC-V CPU and built a Rust-based hypervisor atop the hardware. Evaluation on FireSim shows that DuVisor outperforms KVM by up to 47.96\% in a variety of real-world applications and significantly reduces the attack surface.
연구 동기 및 목표
- 기존 하이퍼바이저에서 커널 구성 요소를 최소화함으로써 레지스터 전환 빈도와 성능 비용을 줄이는 데 초점을 맞춘 기본적인 보안-성능 트레이드오��� 문제를 해결하기 위해.
- 가상화에서 커널 드라이버의 런타임 참여를 제거하여 신뢰 기반(Trusted Computing Base, TCB)과 공격 표면을 줄이기 위해.
- 기존 하드웨어를 개조하여 새로운 하드웨어 확장(DV-Ext)을 도입함으로써 사용자 공간에서 전체 가상화 제어를 가능하게 하기 위해.
- 커널 모드 구성 요소 없이도 사용자 수준 하이퍼바이저가 고성능과 강력한 격리 성능을 유지도할 수 있음을 입증하기 위해.
- RISC-V 기반 프로토타입과 FireSim 평가를 통해 완전히 사용자 공간에 구축된 하이퍼바이저의 실현 가능성과 성능 이점을 검증하기 위해.
제안 방법
- VM 탈출 및 가상화 상태 처리를 사용자 모드에서 처리할 수 있도록 하기 위해 기존 가상화 하드웨어를 최소한의 수정으로 재사용하는 위임 가상화 확장(DV-Ext)을 설계 및 구현하기 위해.
- DV-Ext를 적용한 오픈소스 RISC-V CPU를 개조하여 하드웨어 가상화 인터페이스를 직접 사용자 공간에 노출시키기 위해.
- 모든 VM 운영—스테이지-2 페이지 테이블 관리, 가상 장치 I/O, 레지스터 설정—을 커널 모드로 트랩 없이 사용자 공간에서 관리하는 러스트 기반 사용자 수준 하이퍼바이저(DuVisor)를 구축하기 위해.
- 사용자 공간에서 가상화 자원을 안전하게 격리하고 제어하기 위해 사용자 수준 인터럽트와 물리 메모리 보호(PMP)를 활용하기 위해.
- VM 탈출 처리 및 자원 관리에서 커널 참여가 필요 없도록 함으로써 시스템 호출과 월드 스위치를 최소화하기 위해.
- 기존 하드웨어 가상화 기능(RISC-V SBI, 스테이지-2 번역 등)을 활용하면서도 사용자 모드 위임을 지원하도록 확장하기 위해.
실험 결과
연구 질문
- RQ1런타임 커널 참여 없이도 고성능과 강력한 보안을 유지하면서 완전히 사용자 수준 하이퍼바이저를 구축할 수 있는가?
- RQ2가상화 기능을 사용자 공간으로 위임함으로써 기존 커널 기반 드라이버 대비 성능에 어떤 영향을 미치는가?
- RQ3VM 탈출 처리 및 가상화 상태 관리를 사용자 공간으로 안전하고 효율적으로 위임하기 위해 필요한 하드웨어 확장은 무엇인가?
- RQ4런타임 운영에서 커널 드라이버를 제거함으로써 하이퍼바이저의 공격 표면을 얼마나 줄일 수 있는가?
- RQ5사용자 수준 하이퍼바이저의 성능이 KVM와 같은 주류 커널 기반 하이퍼바이저를 뛰어넘거나 이를 충족시킬 수 있는가?
주요 결과
- DuVisor는 FireSim에서 다양한 실세계 워크로드에서 KVM 대비 최대 47.96% 높은 성능을 보이며 뚜렷한 성능 향상을 입증했다.
- 커널 드라이버는 초기화 및 치명적 오류 처리 외에는 런타임 운영에 참여하지 않기 때문에 하이퍼바이저의 공격 표면이 극적으로 줄었다.
- DuVisor는 VM 탈출, 레지스터 설정, 스테이지-2 페이지 테이블 관리, 가상 I/O를 모두 사용자 공간에서 완전히 처리했다.
- 기존 하이퍼바이저에서 빈번한 커널 호출로 인해 발생하는 고비용의 레지스터 전환과 월드 스위치를 제거함으로써 높은 성능을 달성했다.
- 하드웨어 확장(DV-Ext)은 침입성이 낮으며, 기존 가상화 기능을 재사용하면서도 안전한 사용자 모드 제어를 가능하게 했다.
- 오픈소스 RISC-V CPU에 구현된 프로토타입은 위임 가상화 접근 방식의 실현 가능성과 실용성을 확인했다.
더 나은 연구,지금 바로 시작하세요
논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.