hypervisor

1 개의 포스트

figma

서버 사이드 샌드박 (새 탭에서 열림)

VM은 게스트 운영체제마다 CPU·메모리·디스크를 제공해 강한 격리 경계를 만드는 샌드박싱 방식이다. 하지만 보안은 VM 자체만으로 완성되지 않으며, 하이퍼바이저의 취약점으로 인한 VM 탈출과 VM 권한을 악용한 데이터 유출을 함께 고려해야 한다. Figma는 취약점을 완전히 제거하기보다 서버 측 샌드박싱으로 침해 발생 시 피해 범위를 줄이는 접근을 취한다. ## 서버 측 샌드박싱의 목적 - 신뢰할 수 없는 작업이나 악성 작업을 별도의 실행 환경에 격리한다. - 목표는 모든 보안 취약점을 예방하는 것이 아니라, 취약점이 악용되어도 호스트와 다른 시스템으로 피해가 확산되지 않도록 하는 것이다. - 서버 측 샌드박싱의 대표적인 접근 방식으로 VM, 컨테이너, seccomp가 소개된다. - VM은 컨테이너나 seccomp보다 무겁지만, 별도의 게스트 운영체제를 제공해 더 강한 격리 모델을 구성할 수 있다. ## VM의 보안 모델 VM 보안은 크게 하이퍼바이저 경계와 VM 권한이라는 두 요소로 나뉜다. - **VM과 호스트의 분리** - 하이퍼바이저는 물리 서버의 자원을 관리하고 여러 VM을 동시에 실행한다. - 게스트 VM과 호스트 시스템, 그리고 서로 다른 게스트 VM 사이의 접근을 차단한다. - **VM 탈출** - 게스트 내부의 악성 프로그램이 하이퍼바이저 취약점을 이용해 호스트 시스템에 접근하는 공격이다. - VM 탈출이 성공하면 호스트 장악, 다른 VM과의 상호작용, 다른 게스트의 정보 획득 등이 가능해질 수 있다. - **하이퍼바이저의 공격 표면** - 하이퍼바이저는 운영체제와 하드웨어 작업을 폭넓게 중재하므로 코드와 기능이 복잡하다. - 따라서 VM 격리는 강력하지만, 하이퍼바이저 자체가 중요한 보안 경계이자 공격 대상이 된다. - 클라우드 IaaS 사업자 대부분이 테넌트 격리에 VM을 사용하므로, 베어메탈 인스턴스를 사용하지 않는다면 사실상 하이퍼바이저 보안에 의존하게 된다. ## VM 권한과 피해 범위 VM 탈출이 발생하지 않더라도 악성 작업은 VM에 부여된 권한을 이용해 피해를 일으킬 수 있다. - VM 내부 프로세스가 네트워크에 접근하면 민감한 데이터를 외부로 유출할 수 있다. - VM의 인증 정보로 다른 서비스나 시스템 API를 호출할 수도 있다. - 따라서 VM 내부에 작업을 넣는 것만으로는 충분하지 않다. - 네트워크 접근, 서비스 자격 증명, 파일 및 시스템 권한 등을 제한해 침해 시 **blast radius**를 줄여야 한다. - 하이퍼바이저를 직접 수정하기 어려운 환경에서는 VM의 기능과 권한을 세밀하게 구성하는 방어가 특히 중요하다. ## 엔지니어링 관점의 고려사항 - VM은 강한 격리를 제공하지만 컨테이너나 seccomp보다 실행 비용과 운영 복잡성이 크다. - 하이퍼바이저를 직접 개발하거나 공격 표면을 깊이 분석해야 하는 시스템은 구현 난도가 높다. - 보안 설계 시 “VM에서 탈출할 수 있는가?”뿐 아니라 “탈출하지 않고도 어떤 시스템에 접근할 수 있는가?”를 함께 검토해야 한다. - 격리 기술 선택은 보안 강도, 성능, 비용, 운영 편의성, 클라우드 인프라의 신뢰 모델 사이의 절충이다. VM을 사용할 때는 최신 하이퍼바이저 보안 패치와 격리 설정을 유지하는 동시에, 네트워크·자격 증명·서비스 권한을 최소화하는 다층 방어를 적용하는 것이 좋다. VM은 강력한 첫 번째 경계이지만, 권한 제한 없이는 완전한 보안 대책이 될 수 없다.