본문으로 이동
메뉴 여닫기
환경 설정 메뉴 여닫기
개인 메뉴 여닫기
로그인하지 않음
지금 편집한다면 당신의 IP 주소가 공개될 수 있습니다.
Virtualization Security; 가상화 보안, 가상 머신 보안
하이퍼바이저와 그 위에서 동작하는 가상 머신(VM, Virtual Machine), 가상 네트워크, 관리 도구를 하나의 공격 표면으로 보고 격리(isolation)를 지키고 관리 계층을 보호하는 보안 활동

가상화는 물리 서버 한 대에 여러 운영체제를 올려 자원을 나눠 쓰게 한다. 효율은 높아지지만 서로 다른 보안 등급의 시스템이 같은 하드웨어를 공유하게 되고, 하이퍼바이저와 관리 콘솔이 모든 VM을 한꺼번에 좌우하는 단일 실패 지점이 된다. NIST SP 800-125는 공격자가 게스트 OS를 벗어나 하이퍼바이저나 다른 게스트에 접근하는 것을 탈출(escape)이라 부르며, 하이퍼바이저가 뚫리면 그 위의 모든 게스트가 높은 위험에 놓인다고 설명한다. 따라서 가상화 보안의 핵심은 게스트 사이, 게스트와 호스트 사이의 격리를 유지하고, 그 격리를 관리하는 계층(하이퍼바이저, 관리 서버, 관리망)을 일반 업무 시스템보다 더 엄격히 보호하는 것이다.

클라우드 IaaS의 기반이 대부분 가상화이므로, 이 문서의 내용은 사업자 쪽 책임 영역(하이퍼바이저와 물리 호스트)과 이용자 쪽 책임 영역(게스트 OS, 가상 네트워크 설정) 양쪽에 모두 해당한다.

하이퍼바이저 유형

편집 원본 편집

NIST SP 800-125는 전가상화(full virtualization)를 하이퍼바이저가 하드웨어 위에서 바로 동작하는 베어메탈(bare metal, native) 방식과 호스트 OS 위에서 동작하는 호스티드(hosted) 방식으로 나눈다. 흔히 1형과 2형으로 부른다.

구분 1형(Type 1, 베어메탈) 2형(Type 2, 호스티드)
위치 하드웨어 바로 위 일반 호스트 OS 위의 응용 프로그램
예 Hyper-V, Xen, ESXi, KVM 데스크톱용 가상화 제품(VirtualBox, VMware Workstation 등)
공격 표면 작다. 하이퍼바이저와 관리 인터페이스가 핵심 크다. 호스트 OS의 모든 취약점이 VM 보안에 영향을 준다
주 용도 데이터 센터, 클라우드, 서버 통합 개발·시험, 교육, 악성코드 분석
물리 보안 호스트 재부팅으로 설정이 바뀔 수 있으므로 필요 키보드·마우스에 접근하는 사람이 관리 소프트웨어를 조작할 수 있어 더 중요

주요 취약점과 대책

편집 원본 편집
취약점 내용 대책
VM 탈출(VM escape) 게스트 안의 코드가 가상 장치나 하이퍼바이저의 결함을 이용해 호스트나 다른 게스트를 장악한다. 예: QEMU 가상 플로피 디스크 컨트롤러 결함인 VENOM(CVE-2015-3456)은 게스트 사용자가 임의 코드를 실행할 수 있게 했다 하이퍼바이저와 가상 장치 패치, 쓰지 않는 가상 장치 제거, 보안 등급이 다른 VM을 같은 호스트에 두지 않음
VM 스프롤(VM sprawl) 이미지를 몇 분 만에 만들 수 있어 관리되지 않는 VM이 늘어난다. 각 VM이 공격 지점이자 패치 대상이 된다 VM 생성 승인 절차, 자산 목록과 소유자 지정, 수명 종료 시 폐기, 형상 관리
게스트 간 사이드 채널 같은 물리 CPU·캐시·메모리를 공유하는 VM이 접근 시간, 캐시 상태 같은 물리적 특성을 관찰해 다른 VM의 암호 키 등을 추정한다. 스펙터, 멜트다운 같은 CPU 취약점이 대표적이다 마이크로코드·하이퍼바이저 패치, 민감한 VM 전용 호스트 배치, 코어 공유 제한
스냅숏(snapshot)과 이미지 노출 스냅숏과 정지된 VM 이미지에는 디스크뿐 아니라 메모리 내용(암호 키, 세션 정보)이 담길 수 있다. 파일 하나만 복사하면 서버 전체를 가져가는 셈이다. 오래된 스냅숏으로 되돌리면 패치와 설정이 함께 되돌아간다 스냅숏 저장소 접근통제와 암호화, 보존 기간 설정, 복원 후 패치 상태 재확인
가상 네트워크 가시성 부족 같은 호스트의 VM끼리는 가상 스위치(virtual switch)를 통해 통신하므로 패킷이 물리 네트워크를 지나가지 않는다. 물리 IDS·방화벽이 이 트래픽을 보지 못한다 가상 스위치 수준의 방화벽과 미러링, VLAN 분리, 마이크로 세그멘테이션
관리 콘솔 침해 관리 서버(vCenter 등)를 장악하면 VM 생성·삭제·복제와 스냅숏 반출을 모두 할 수 있다 관리망 분리, 다중 인증, 특권 계정 관리, 관리 작업 감사 로그
하이퍼바이저 패치 지연 하이퍼바이저 재시작은 모든 VM에 영향을 주어 패치가 미뤄지기 쉽다 라이브 마이그레이션으로 VM을 옮긴 뒤 호스트 단위 순차 패치, 패치 관리 일정에 포함
휴면 VM 꺼져 있던 VM은 패치와 백신 갱신을 받지 못한 채 다시 켜진다 기동 전 패치 상태 점검, 장기 휴면 VM 정리

마이크로 세그멘테이션과 가상 네트워크

편집 원본 편집

가상 환경에서는 같은 VLAN 안의 VM이 동서 방향(east-west)으로 자유롭게 통신하기 쉽다. 하나의 VM이 감염되면 측면 이동이 바로 가능하다. NIST SP 800-125B는 VM 보호를 위한 가상 네트워크 구성 영역으로 네트워크 분할, 경로 이중화, 방화벽을 이용한 트래픽 제어, VM 트래픽 모니터링을 다룬다. 마이크로 세그멘테이션은 VM 또는 워크로드 단위로 허용 통신만 정의하는 방식으로, 하이퍼바이저나 가상 스위치에서 정책을 적용하므로 VM이 다른 호스트로 옮겨 가도 정책이 따라간다. 관리망, 저장소망(iSCSI 등), 라이브 마이그레이션망, 업무망은 서로 분리하는 것이 기본이다.

관리 계층 보호

편집 원본 편집
  • 관리 인터페이스 접근을 인가된 관리자로 제한하고, 원격 관리 통신은 FIPS 승인 암호 모듈 등으로 기밀성을 보호한다(NIST SP 800-125 권고).
  • 하이퍼바이저 관리 권한과 게스트 OS 관리 권한을 분리해 직무 분리를 적용한다.
  • 하이퍼바이저와 관리 서버는 보안 기준선을 정해 강화하고, 불필요한 서비스를 끈다.
  • VM 생성·복제·스냅숏·이동 같은 작업을 로그로 남겨 SIEM으로 보낸다.
  • AI 학습용 GPU를 VM에 할당하는 환경에서는 장치 직접 할당(pass-through) 시 IOMMU로 DMA 범위를 제한해야 게스트가 호스트 메모리에 접근하지 못한다.

가상 머신과 컨테이너 비교

편집 원본 편집
구분 가상 머신 컨테이너
격리 경계 하이퍼바이저(하드웨어 가상화) 호스트 커널의 네임스페이스·cgroup 등 운영체제 수준 기능
커널 VM마다 자체 게스트 커널 호스트 커널을 공유
탈출 시 영향 하이퍼바이저 장악 시 모든 VM 커널 취약점 하나로 호스트와 모든 컨테이너
이미지 수 GB 단위 OS 이미지, 스프롤 문제 작은 이미지가 많고 레지스트리·공급망 관리가 핵심
수명 수개월~수년 수분~수일, 변경 대신 재배포
주요 지침 NIST SP 800-125 계열 NIST SP 800-190
대표 통제 하이퍼바이저 패치, 관리 콘솔 보호, 스냅숏 통제 이미지 스캔, 루트 권한 실행 금지, 런타임 감시(컨테이너 보안)

격리 강도가 필요한 다중 테넌트 환경에서는 컨테이너를 VM 안에서 실행하거나 경량 VM 기반 런타임을 쓰기도 한다. MITRE ATT&CK은 컨테이너나 가상화 환경에서 호스트로 빠져나가는 기법을 Escape to Host(T1611)로 분류한다.

  • 하이퍼바이저는 모든 VM의 단일 실패 지점이다. "가상화 환경에서 가장 먼저 보호할 대상"을 물으면 하이퍼바이저와 관리 콘솔을 고른다.
  • 1형은 하드웨어 위, 2형은 호스트 OS 위에서 동작한다. 2형은 호스트 OS 취약점까지 공격 표면에 포함된다.
  • VM 탈출과 VM 스프롤을 구분한다. 탈출은 격리 실패, 스프롤은 관리(자산·패치) 실패이다.
  • 같은 호스트의 VM 사이 트래픽은 물리 보안 장비가 보지 못한다. 대책은 가상 스위치 수준 통제와 마이크로 세그멘테이션이다.
  • 스냅숏은 메모리 내용까지 담을 수 있는 민감 자산이다. 백업처럼 접근통제·암호화·보존 정책을 적용한다.
  • 보안 등급이 다른 VM을 같은 호스트에 섞지 않는다. 흔한 오답: "VM은 서로 완전히 격리되므로 추가 분리는 불필요".