호스트 시스템이 바이러스에 감염된 가상 시스템과 완전히 분리되어 있습니까?


52

VMWare 또는 VirtualBox (또는 기타)를 사용하여 Windows 7 호스트에서 Windows 7 가상 머신을 실행하고 있고 가상 머신에 바이러스 및 기타 악성 소프트웨어가 완전히 오버로드 된 경우 호스트 머신에 대해 걱정해야합니까?

호스트 컴퓨터에 바이러스 백신 프로그램이 있으면 문제가 있습니까?

답변:


57

지금까지 놓친 것은 네트워크 연결 및 파일 공유보다 많은 공격 경로가 있지만 가상 하드웨어의 다른 모든 부분, 특히 하드웨어 가상화와 관련하여 공격 벡터가 더 많다는 것입니다. 게스트 OS가 에뮬레이트 된 가상 COM 포트를 사용하여 VMware 컨테이너에서 벗어날 수있는 좋은 예가 아래에 나와 있습니다 (2 참조).

거의 모든 최신 프로세서에서 일반적으로 포함되고 때로는 기본적으로 사용되는 다른 공격 경로는 x86 가상화 입니다. VM에서 네트워킹을 사용하도록 설정하는 것이 가장 큰 보안 위험 (실제로 고려해야 할 위험)이라고 주장 할 수 있지만, 이로 인해 바이러스가 다른 모든 컴퓨터에서 네트워크를 통해 전송되는 방식으로 바이러스가 전송되는 것을 막을 수 있습니다. 안티 바이러스 및 방화벽 소프트웨어가 사용됩니다. 그 말은 ...

실제로 가상 머신의 "브레이크 아웃"할 수 있습니다 바이러스의 발생이 있었다 있다 (참고 문헌 1 및 세부 / 예 아래 2 참조) 과거에 기록되어. 논쟁의 여지가있는 솔루션은 x86 가상화를 비활성화하고 (가상 시스템을 실행하는 성능에 영향을 미치는) 최신의 바이러스 백신 소프트웨어 제한된 이유로 이러한 바이러스로부터 사용자를 보호 할 수 있어야합니다. 심지어 DEP바이러스를 어느 정도 보호 할 수 있지만 VM이 아닌 실제 OS에서 바이러스가 실행될 때는 그 이상입니다. 아래의 참고 사항을 참고하여 맬웨어가 네트워크 어댑터 나 명령어 가상화 / 번역 (예 : 가상 COM 포트 또는 기타 에뮬레이트 된 하드웨어 드라이버)을 제외하고 가상 시스템에서 벗어날 수있는 다른 많은 방법이 있습니다.

가장 최근에는 DMA 를 허용하는 대부분의 새 프로세서 에 I / O MMU 가상화 가 추가되었습니다 . 컴퓨터 과학자는 CPU에서 직접 코드를 실행할 수있을뿐만 아니라 바이러스 직접 메모리 및 하드웨어 액세스 권한이있는 가상 시스템을 허용하는 위험을 파악하지 않아도됩니다.

이 답변은 다른 모든 사람들이 파일 로부터 자신을 보호해야한다고 생각한다고 주장 하지만 바이러스 코드가 프로세서에서 직접 실행되도록 허용하면 내 의견으로는 훨씬 더 큰 위험이 있기 때문에이 답변 을 제시합니다. 일부 마더 보드는 기본적으로 이러한 기능을 비활성화하지만 일부는 그렇지 않습니다. 이러한 위험을 완화하는 가장 좋은 방법은 실제로 필요하지 않은 한 가상화를 비활성화하는 것입니다. 필요한지 확실하지 않은 경우 비활성화하십시오 .

일부 바이러스는 가상 머신 소프트웨어의 취약점을 대상으로 할 수 있지만 프로세서 또는 하드웨어 가상화, 특히 추가 호스트 측 에뮬레이션이 필요한 바이러스를 고려하면 이러한 위협의 심각성이 크게 증가합니다.


  1. Themida (Zhenxiang Jim Wang, Microsoft)의 가상화 된 x86 지침을 복구하는 방법

  2. COM1을 통한 VMware Workstation 탈출 (Kostya Kortchinsky, Google 보안 팀)


2
감사합니다. 지금까지 가장 완벽하고 완벽한 답변을 얻었습니다 (주제 및 주제에 대한 이론적 근거 포함). 감사합니다.
Diogo

4
"과거에 문서화되었습니다"라는 텍스트와 연결된 기사 는 VM을 분리하는 것과 관련없습니다 . 멀웨어 난독 화를위한 x86 가상화 및 이와 관련된 리버스 엔지니어링에 관한 내용
Hugh Allen

@ HughAllen은 기사를 읽고 정확히 똑같은 것을 언급하려고했습니다. 응답자가 자신이 무엇을 말하는지 알고 있다고 확신하지는 않습니까?
developerbmw

@HughAllen이 문제가 실제로 실제임을 보여주는 새로운 예를 추가했습니다. 이 경우이 익스플로잇은 VMWare를 다루지 만 다양한 보안 웹 사이트에서 다른 공개를 쉽게 찾을 수 있습니다.
획기적인

@Brett OP가 통역사 / 번역기 자체가 남용되어 어떤 명령어가 호스트 측에서 실행되고 있는지 조작하기 위해 시각화 기사를 언급했다고 생각합니다. 또한 전체 기사가 아니라 기사 자체의 요약 / 요약 일뿐입니다. 정식 버전을 찾을 수 없지만 사본을 찾으면 여기에 게시합니다.
획기적인

17

공유 폴더를 사용하거나 VM과 호스트간에 네트워크 상호 작용이있는 경우 잠재적으로 염려 할 사항이 있습니다. 잠재적으로 악성 코드가 실제로 수행하는 작업에 따라 다릅니다.

공유 폴더를 사용하지 않고 어떤 종류의 네트워킹도 활성화되어 있지 않으면 괜찮을 것입니다.

호스트 시스템의 바이러스 백신은 공유 항목이없는 한 VM 내에서 어떠한 종류의 검사도 수행하지 않습니다.


1
OP가 안티 바이러스가 호스트를 감염시키는 원인을 감지했는지 여부를 묻는 것 같아요.이 경우 AV가 감지 할 수있는 경우 해야합니다 . 격리 된 경우 안전하다는 점에서 VM 내부의 존재를 감지 할 수있는 소프트웨어 (VM 도구는 하나이지만 VM은“redpill vm”도 찾을 수 있음)가 있으며 점프 할 수있는 작업 (및 실제 맬웨어도 가능)이 있습니다. VM에서 "bluepill vm"을 찾습니다.
Synetech

7
이것이 사실이지만 x86 가상화를 활성화했을 때 어떤 일이 발생했는지 잊어 버렸습니다. VM에 네트워크 컨트롤러가 설치되어 있는지 여부에 관계없이 이러한 방식으로 가상 시스템에서 벗어날 수있는 바이러스가 있습니다.
cp2141

또한 가상 머신은 네트워크 연결 (예 : 에뮬레이트 된 가상 COM 포트를 통해 VM에서 분리) 보다 훨씬 더 많은 에뮬레이션 / 가상화 를 수행하여 호스트 시스템을 제어하기 위해 더 많은 벡터를 제공합니다.
획기적인

7

VM이 VMWare 도구와 같은 VM 소프트웨어를 악용하는 바이러스에 감염된 경우, 벗어날 수는 있지만 현재로서는이 기능이 가능한 것으로 생각하지 않습니다. 호스트가 취약한 경우 네트워크를 통해 호스트를 악용 할 수도 있습니다.

호스트 시스템의 바이러스 백신은 공유 폴더에 있지 않으면 VM에서 바이러스를 볼 수 없습니다.


4
이 작업을 수행하는 소수의 익스플로잇이 있습니다. 하나는 혼자 VM웨어 보안 권고를 통해 파고 몇 가지를 찾을 수 : vmware.com/security/advisories 다른 업체도 문제가있다.
브래드

@Brad, 풍경 이 너무 작습니다. 물론 VMware 고유의 바이러스가있을 수 있으므로 전체 파이를 스스로 가져 와서 바이러스를 요구하고 있습니다.
Pacerier

1

초기 감염 기간이 지나면 파일 공유에 대한 액세스를 끄고 VM 내부의 nic을 종료하십시오.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.