| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | ||||
| 4 | 5 | 6 | 7 | 8 | 9 | 10 |
| 11 | 12 | 13 | 14 | 15 | 16 | 17 |
| 18 | 19 | 20 | 21 | 22 | 23 | 24 |
| 25 | 26 | 27 | 28 | 29 | 30 | 31 |
- file upload
- 모의해킹
- sql injection
- Error based sql injection
- 웹개발
- 증적 사진
- 뇌피셜
- Los
- JS
- MySQL
- ISMS
- CTF
- 보안 패치
- sql injection point
- cookie 탈취
- FridaLab
- 보고서
- 게시판 만들기
- 문제 풀이
- blind sql injection
- XSS
- 세션
- 웹 개발
- 웹 해킹
- csrf
- php
- 로그인페이지
- lord of sql injection
- ISMS-P
- union sql injection
- Today
- Total
Backouts_ Logbook
VM 구조에 대한 이해 본문
서론
이 글은 학습과정에서 이해한 내용에 대한 개인적인 이해입니다.
최근에 ESXi 취약점을 이용해
VMware의 가상화를 탈출했다는 기사를 보았습니다.
https://www.huntress.com/blog/esxi-vm-escape-exploit
ESXi Exploitation in the Wild | Huntress
Huntress outlines a complex, multi-step attack designed to break out of guest VMs and target the ESXi hypervisor, using potential zero-day vulnerabilities and sneaky VSOCK communication.
www.huntress.com
기사와 huntress라는 보안기업의 블로그를 보다가
VMware와 관련된 여러 용어들이 이해가 가지 않아 공부하고 정리하려고 합니다.
기왕 하는김에 VM의 전체적인 구조도 얕게 알아봤습니다.
1. 자원 가상화 계층
가상화 계층은 실제 하이퍼바이저 코어에 포함되어 있지만,
내용이 너무 크기 때문에 나눠두었습니다.
자원 가상화는 크게 보면 두 가지로 나눌 수 있습니다.
- CPU, RAM 과 같은 연산에 직접 사용되는 자원을 가상화하는 영역
- 네트워크, HDD/SSD 와 같은 I/O 처리를 담당하는 자원을 가상화하는 영역
가상화 환경에서는
이 두 자원을 논리적으로 분리해 VM에 할당해서
하나의 물리 서버에서
여러 운영체제를 동시에 실행할 수 있게 됩니다.
ex) ESXi(VMware)
2. 하이퍼바이저 코어
코어는 가상화된 자원을 이용해 VM끼리의 격리와 통제를 담당합니다.
- 격리
- 스케줄링(CPU time slice 관리)
- 메모리 보호/매핑(실제 RAM과 VM 메모리의 연결)
- VM Exit/Entry 같은 실행 통제
- I/O 요청을 어디로 넘길지 결정
코어는 가상화를 성립시키기 위한 정책으로 통제하는 시스템입니다.
ex) ESXi(VMware)
3. VM 실행 및 제어 계층
이 계층은 VM을 실제로 실행하고 관리하는 영역입니다.
하이퍼바이저 코어가 통제 시스템이라면,
이 계층은 그 위에서 VM을 생성하고 켜고 끄고 설정을 적용하는 관리 계층입니다.
예를 들면 아래와 같은 기능이 포함됩니다.
- VM 생성 / 삭제
- VM 부팅 / 종료 / 일시정지
- 리소스 설정(vCPU, vRAM, vDisk 할당량)
- 스냅샷 생성 및 복구
- VM 복제, 템플릿
- VM 마이그레이션
- VM 로그/상태 확인 및 모니터링
즉, 운영자가 VM을 다루기 위한 인터페이스 + 관리 기능을 담당합니다.
ex) VMX(VMware)
4. 게스트 / 호스트 통합 채널
가상화 환경은 서로 격리된 환경을 만드는 것이 목적이지만,
현실적으로는 게스트와 호스트가 일부 기능을 공유해야 편리해집니다.
이 계층은 VM 내부(OS)와 호스트 사이를 연결하는 통합 기능을 의미합니다.
대표적으로는 이런 기능들이 있습니다.
- 시간 동기화
- 화면/마우스/키보드 입력 통합
- 클립보드 공유
- 드래그 앤 드롭, 파일 공유
- 게스트 상태를 호스트에서 모니터링
- 네트워크/디바이스 최적화 드라이버 설치
ex) VMware Tools
즉, 이 계층은 VM을 그냥 분리된 컴퓨터로 쓰는 게 아니라,
호스트 환경과 자연스럽게 연결해 주는 편의기능에 가깝습니다.
ex) VMCI(VMware)
5. 내부 통신 채널
가상화 환경에서는 VM이 외부 네트워크로 통신하는 것뿐만 아니라,
같은 호스트 내부에서만 통신하는 전용 채널이 존재하기도 합니다.
이 채널은 일반 네트워크(TCP/IP)통신처럼 보이더라도,
물리 NIC를 거치지 않고 호스트 내부에서 빠르게 연결되는 경우가 많습니다.
이러한 통신 채널이 필요한 이유는 다음과 같습니다.
- VM ↔ VM 통신을 더 빠르게 처리
- VM ↔ 호스트 서비스 간 통신
- 관리 트래픽(모니터링, 로그, 제어 메시지)
- 네트워크 밖으로 노출되지 않는 내부 전용 경로 구성
다만 내부 통신 채널은 편리한 만큼
공격자가 악용할 수 있는 경로가 되기도 합니다.
특히 게스트 탈출(VM Escape) 관점에서는
이런 내부 통신 경로가 하나의 공격 표면이 되기도 합니다.
ex) VSOCK(VMware)
후기
오늘은 보안기사를 보다가
알기만하지 정확히 몰랐던 용어들이
정확히 뭘 의미하는지,
어떤 경우에 사용되는지를 알아봤습니다.
아무래도 기사에 나온 사건이 VMware 취약점을 이용한 사례였던 만큼
VMware와 관련된 용어인 ESXi, VMX, VMCI, VSOCK을 위주로 알아봤습니다.
또한 하이퍼바이저 기술은 대부분
이름만 다른 비슷한 원리로 동작하는 구성요소들이 있다는 것도 알게 되었습니다.
정리하면, 결국 VM 구조는
- 자원 가상화 및 제공
- 통제
- 운영
- 편의 통합
- 내부 통신
로 나눠볼 수 있고,
VM Escape는 이 경계가 무너질 때 발생한다고 이해할 수 있습니다.
나중에 한번 Java로 기능만 흉내 낸 미니 하이퍼바이저를 만드는 실습을 해보고 싶네요.
'로그북 > 뇌피셜' 카테고리의 다른 글
| [ISMS 2영역] 보호대책 요구사항에 대한 정리 2 (0) | 2026.01.10 |
|---|---|
| [ISMS 2영역] 보호대책 요구사항에 대한 정리 1 (0) | 2026.01.09 |
| [ISMS 1영역] 관리체계 수립 및 운영에 대한 정리 (0) | 2026.01.08 |
| 카데고리 설명 (0) | 2026.01.08 |
