본문으로 이동
메뉴 여닫기
환경 설정 메뉴 여닫기
개인 메뉴 여닫기
로그인하지 않음
지금 편집한다면 당신의 IP 주소가 공개될 수 있습니다.
Hypervisor
하드웨어 자원(CPU, 메모리, 네트워크, 저장장치)을 가상화해 여러 가상 머신(VM)이 한 물리 호스트에서 서로 격리된 채 동작하도록 중재하는 소프트웨어 계층. 가상 머신 모니터(VMM, Virtual Machine Monitor)라고도 한다

하이퍼바이저는 각 VM에 가상 하드웨어를 보여 주고, VM이 물리 자원에 접근하는 것을 중재하며, 실행 중인 VM 사이를 격리한다. 같은 호스트 안의 VM끼리 통신할 수 있도록 가상 네트워크(가상 스위치)를 제공하기도 한다(NIST SP 800-125A Rev. 1). 모든 VM이 하이퍼바이저에 의존하므로 하이퍼바이저는 가상화 환경 전체의 신뢰 컴퓨팅 기반에 해당한다.

가상화 레이어

편집 원본 편집
하이퍼바이저를 이용한 가상화 구조
SW SW SW SW
게스트 OS 게스트 OS
하이퍼바이저
호스트 OS

위 그림은 하이퍼바이저가 호스트 OS 위에서 동작하는 2형(호스티드) 구조이다. 1형(베어메탈)에서는 호스트 OS 칸이 없고 하이퍼바이저가 하드웨어 바로 위에 놓인다.

1형과 2형 비교

편집 원본 편집

NIST SP 800-125는 하이퍼바이저가 하드웨어 위에서 바로 동작하는 방식을 베어메탈(bare metal) 또는 네이티브(native) 가상화, 호스트 OS 위에서 동작하는 방식을 호스티드(hosted) 가상화라고 부른다.

구분 1형(Type 1, 베어메탈) 2형(Type 2, 호스티드)
동작 위치 하드웨어 바로 위. 펌웨어에 내장되기도 한다 Windows, Linux, macOS 같은 호스트 OS 위
예 Hyper-V, Xen, VMware ESXi, KVM VirtualBox, VMware Workstation, Parallels Desktop
성능 하드웨어에 직접 접근해 오버헤드가 작다 호스트 OS를 거쳐 오버헤드가 크다
공격 표면 하이퍼바이저와 관리 인터페이스로 한정 호스트 OS와 그 위의 모든 소프트웨어가 포함
관리 별도 관리 서버·콘솔로 원격 관리 호스트 OS의 응용 프로그램으로 관리
주 용도 데이터 센터, 클라우드 IaaS, 서버 통합 개인 PC, 개발·시험, 교육, 악성코드 분석

Hyper-V는 1형이지만 Windows가 실행되는 루트 파티션(root partition, 부모 파티션)을 반드시 두고, 이 파티션의 가상화 관리 스택이 하드웨어 장치에 직접 접근하며 게스트용 자식 파티션을 만든다. 따라서 루트 파티션의 보안이 곧 하이퍼바이저 보안에 포함된다. KVM은 리눅스 커널 모듈로 동작해 분류가 엇갈리지만 보통 1형으로 본다.

하드웨어 가상화 지원

편집 원본 편집
기술 역할
Intel VT-x, AMD-V CPU에 가상화 전용 실행 모드를 추가해 게스트 OS의 특권 명령을 하드웨어가 가로채도록 한다. Hyper-V는 이런 하드웨어 지원 가상화를 요구한다
확장 페이지 테이블(Intel EPT, AMD NPT/RVI) 게스트 메모리 주소를 물리 주소로 바꾸는 작업을 하드웨어가 처리해 성능과 메모리 격리를 높인다
IOMMU(Intel VT-d, AMD-Vi) 장치의 직접 메모리 접근(DMA)을 주소 변환·제한한다. 네트워크 카드나 GPU를 VM에 직접 할당할 때 그 장치가 다른 VM이나 하이퍼바이저 메모리를 읽지 못하게 한다
TPM과 보안 부팅 하이퍼바이저가 변조되지 않은 상태로 기동했는지 측정·검증한다

보안 고려 사항

편집 원본 편집
  • 하이퍼바이저 공격 표면: 가상 장치 에뮬레이션(디스크·네트워크·플로피 컨트롤러 등), 하이퍼콜 인터페이스, VM 간 공유 메모리가 주요 공격 지점이다. 쓰지 않는 가상 장치는 VM 설정에서 제거한다.
  • VM 탈출(VM escape): 게스트 안의 공격자가 하이퍼바이저 결함을 이용해 게스트를 벗어나 하이퍼바이저나 다른 게스트를 장악하는 것이다. 하이퍼바이저가 뚫리면 모든 게스트가 위험해지므로 하이퍼바이저는 단일 실패 지점이다(NIST SP 800-125). QEMU 가상 플로피 디스크 컨트롤러 결함 VENOM(CVE-2015-3456)이 대표 사례이다.
  • 관리 인터페이스: 하이퍼바이저를 관리하는 방법이 여러 가지라면 각 인터페이스를 모두 보호하고, 원격 관리 통신은 암호화한다. 관리망을 업무망과 분리하고 관리자 계정에 다중 인증을 적용한다.
  • 패치: 하이퍼바이저와 CPU 마이크로코드를 정기적으로 갱신한다. 스펙터, 멜트다운 같은 CPU 결함은 하이퍼바이저 수준 완화가 필요하다.
  • 물리 보안: 호스트를 재부팅할 수 있는 사람은 하이퍼바이저 설정을 바꿀 수 있으므로 1형도 물리 접근 통제가 필요하다(NIST SP 800-125).
  • 자세한 위협과 대책은 가상화 보안 문서를 참고한다.
  • 1형은 하드웨어 위, 2형은 호스트 OS 위에서 동작한다. 서버·클라우드는 1형, 데스크톱 시험 환경은 2형이 일반적이다.
  • 하이퍼바이저 침해는 모든 VM 침해로 이어진다. 가상화 환경에서 가장 중요한 보호 대상은 하이퍼바이저와 관리 콘솔이다.
  • VM 탈출은 격리 실패이다. 대책은 패치, 불필요한 가상 장치 제거, 보안 등급이 다른 VM의 호스트 분리이다.
  • IOMMU는 장치 직접 할당 시 DMA를 이용한 격리 우회를 막는 하드웨어 통제이다.
  • 2형은 호스트 OS의 취약점까지 공격 표면에 포함된다는 점이 흔한 출제 포인트이다.