가상화 기술의 핵심인 하이퍼바이저(hypervisor)를 샌드박스에 가두어 가상 머신 탈출(virtual machine escape)을 방어하는 연구가 Black Hat USA 2021에 채택되었습니다. Black Hat은 본 학회인 Black Hat USA와 지역 학회인 Black Hat Asia, Black Hat Europe으로 나누어지는데, 이제야 겨우 본 학회에 발을 들였네요. 그동안 계속 떨어지는 바람에 Asia와 Europe만 다녔거든요. 쿨럭...;; 네트워킹하기 좋은 기회인데 코로나 때문에 온라인으로 발표할 예정이라 많이 아쉽긴 합니다. ^^;;;

Black Hat USA 2021 - 발표 내용
Black Hat USA 2021 - 발표자 소개

가상 머신 탈출(virtual machine escape)은 가상 머신에서 동작하는 악성코드(malware)가 가상 머신을 빠져나와 시스템 전체, 즉 호스트(host)와 게스트(guest)에 영향을 미치고 악의적인 행위를 하는 것을 뜻합니다. 가상 머신 탈출은 특히나 Amazon과 같은 클라우드 사업자(cloud vendor)에게 치명적인데, 서비스의 특성상 가상 머신이 사용자에게 제공되고 임의의 코드가 내부에서 실행되기 때문입니다. 악의적인 사용자라면 가상 머신을 임대한 후, 가상 머신의 취약점을 이용해서 탈출할 수 있는 것이죠.

가상 머신 탈출은 이처럼 파급효과가 크기 때문에 #BlackHat 컨퍼런스에 단골로 등장하고 있습니다. 올해 5월에 열린 Black Hat Asia 2021에도 가상 머신 탈출 관련 발표가 있었구요. 앞으로도 문제가 있을 것 같아서 실용적으로 문제를 해결하고자 여러 가지 시도를 했는데, 많은 분들이 도와주셔서 좋은 결과가 나온 것 같습니다. 필드 적용성을 높이려고 현재 동작 중인 시스템은 최대한 수정하지 않았는데, 클라우드 사업자들에게 도움이 되면 좋겠네요. ^^)/

연구 내용이 조금 복잡해서 주요 내용만 간단히 소개해 드리면, 하이퍼바이저는 가상 머신과 직접적으로 연결되어 있습니다. 다수의 가상 머신을 통제하고 서비스를 제공해야 하기 때문이죠. 그런데, 하이퍼바이저는 꽤나 높은 권한에서 동작하므로, 하이퍼바이저에 취약점을 이용해서 가상 머신을 탈출할 수 있습니다. 이를 막고자 제가 만든 경량 하이퍼바이저로 샌드박스(sandbox)를 구성하고, 기존 하이퍼바이저의 권한을 낮춘 후 샌드박스에서 구동하는 것이 핵심 아이디어입니다. 샌드박스를 위해 중첩 가상화(nested virtualization)를 직접 구현했고, 발생하는 부하를 줄이기 위해 Intel 프로세서의 VPID, VMCS Shadowing 같은 기술도 같이 활용했는데... 이 부분은 Black Hat USA 2021 발표와 함께 자세히 말씀드리겠습니다.

끝으로, 항상 지지해 주시는 본부장님과 실장님을 비롯한 동료분들께 감사드립니다. 여러분들의 도움이 없었다면 아이디어도 발굴하지 못했을 겁니다. 앞으로도 많이 부탁드립니다. ^^)-b

ps) 발표는 아래에서 확인하실 수 있습니다.

https://www.blackhat.com/us-21/briefings/schedule/index.html?fbclid=IwAR3TWHTC1UXsa54x9VcdpG82Jdgd0QWgFYgAc5LWqUNxd6CWR6Hp9Dcpvqs#alcatraz-a-practical-hypervisor-sandbox-to-prevent-escapes-from-the-kvmqemu-and-kvm-based-microvms-22875 

 

Black Hat

Black Hat

www.blackhat.com

 

+ Recent posts