VirtualBox 시스템을 완전히 격리

VirtualBox 시스템을 완전히 격리

VirtualBox를 사용하여 내 호스트 컴퓨터에 액세스할 수 없는 일부 소프트웨어를 설치하고 싶습니다(그 반대의 경우도 마찬가지). 그러나 나는 또한 제로데이 익스플로잇을 시도하고 그들이 무엇을 할 수 있는지 알아보는 것과 같은 더 "위험한" 일을 시도할 가능성도 상상합니다.

가상 머신은 호스트로부터 얼마나 격리되어 있나요? 나는 (또는할 수 있는나? ) 게스트와 호스트 사이에 방화벽을 설정하시겠습니까? 게스트 추가 기능에 보안 위험이 있습니까? 공유 디렉터리는 어떻습니까?

이제 게스트 컴퓨터는 GNU/Linux Debian 테스트를 실행하고 있습니다.

답변1

이 질문은 매우 광범위하고 독창적인 연구가 거의 없으며 이 답변을 그러한 질문에 대한 격려로 받아들여서는 안 된다는 점부터 시작하겠습니다. 대신, 이 답변은 맬웨어 분석을 막 시작한 사람들에게 매우 기본적인 보안 팁을 제공하기를 바랍니다.

이전에 연구된 알려진 맬웨어를 실행하고 있다고 가정할 때 환경을 격리하는 방법은 해당 맬웨어의 기능에 따라 크게 달라집니다. 다음에 적용되는 몇 가지 일반 규칙최대최신 악성 코드는 다음을 수행할 수 있습니다.

  • 가상 머신을 인터넷에서 격리하세요. 이는 게스트 시스템에 대한 인터페이스 전달을 설정하지 않고 악성코드가 예측할 수 없는 작업을 수행하도록 지시할 수 있는 잠재적인 명령 및 제어 노드와 통신하는 것을 방지하는 것만큼 간단할 수 있습니다.

  • 적절한 하이퍼바이저를 사용하십시오. VirtualBox, HyperV, QEMU, macOS 등을 포함하여 시장에 나와 있는 주요 제품 Hypervisor.framework중 일부는 맬웨어의 활성 대상이며 버전에 따라 게스트 컴퓨터에서 발생하는 맬웨어 발생에 취약할 수 있습니다.

  • 게스트 추가 기능을 절대 설치하지 마세요, 또는 다른 플랫폼의 이에 상응하는 것. 이러한 유형의 소프트웨어의 말 그대로 목표는 게스트와 호스트 간의 통합을 생성하여 둘 사이의 분리를 효과적으로 약화시키는 것입니다. 저는 맬웨어 연구자는 아니지만, 그러한 표면을 특별히 표적으로 삼는 맬웨어가 없다면 놀랄 것입니다.

일부 요점을 직접 해결하려면 다음을 수행하십시오.

가상 머신은 호스트로부터 얼마나 격리되어 있나요?

이 시점에서 가상 머신은 상당히 완전히 격리될 수 있지만 특정 기능은 여전히 ​​하이퍼바이저 보호가 거의 없이 호스트를 통해 직접 이동해야 합니다.KVM이 아닌 대부분의 가상 머신(예: VirtualBox)공유하지 않습니다호스트 운영 체제가 포함된 커널입니다. 이것만으로도 수많은 익스플로잇 클래스에 대한 차단기 역할을 할 수 있으며, 특히 호스트 커널에 대해 임의의 시스템 호출이 실행되는 것을 방지하는 기능이 있습니다(깨진 VM 계층 구현으로 인해 악성 프로그램이 덜 명확한 방식으로 작동할 수 있다는 점은 주목할 가치가 있습니다. 이 문제를 우회하세요).

그러나 가상 머신에는 여전히 호스트 하드웨어 내에 프로세스 공간이 있습니다.일반적으로 말하면최신 운영 체제는 우수한 프로세스 공간 격리를 제공하기 때문에 이는 위험하지만 여전히 매우 낮은 수준의 공격(예: 공격)을 악용하는 데 사용될 수 있습니다.망치, 프로세스는 자신이 소유하지 않은 인접한 메모리 블록을 읽을 수 있을 때까지 특정 방식으로 메모리에 순차적으로 기록합니다. 즉, 프로세스 간 메모리 누수를 효과적으로 허용합니다.

모든 종류의 I/O를 수행하려고 할 때 격리가 어느 정도 사라지는 경향이 있다는 점도 주목할 가치가 있습니다. 입력 및 출력은 필연적으로 패스스루를 의미하며, 이는 호스트 작업을 수행하는 데 사용할 수 있는 공격 표면을 노출시킵니다. 여기에는 마우스 및 키보드에 대한 HID 패스스루와 네트워크 패스스루 등이 포함됩니다. 하지만 일반적으로 이는 VM의 I/O 패스스루 구현에 따라 다릅니다.

게스트와 호스트 사이에 방화벽을 설정해야 합니까(또는 설정할 수 있습니까?)?

상황에 따라 다르지만 보통 나쁜 생각은 아닙니다. 하이퍼바이저 수준 방화벽은 대부분의 주요 플랫폼에서 지원됩니다. 이것들은 모두최대호스트의 방화벽만큼 허용적이며 그 반대도 마찬가지입니다.최대LAN이나 VLAN에는 방화벽만큼 허용됩니다. 이를 활용하려면 가상 네트워크 인터페이스 연결을 끊어 네트워크 액세스를 완전히 차단하는 것보다 선택한 악성 코드 대상이 어떤 포트와 호스트인지 조사하고 거기에서 이동하는 것이 좋습니다.

게스트 추가 기능에 보안 위험이 있습니까?

. 호스트와 게스트 간의 모든 종류의 통합을 허용하며, 무엇이 열려 있는지 확인할 수 있는 공개 사양이 항상 있는 것은 아닙니다.

공유 디렉터리는 어떻습니까?

어떻게 하느냐에 따라 다르지만 일반적으로 나쁜 생각입니다.. 많은 하이퍼바이저는 해당 디렉터리에 루트가 있는 게스트 컴퓨터에 설치된 가상 드라이브를 생성하여 이를 수행합니다. 이 메커니즘의 구현(프레임워크마다 약간 다를 수 있음)에 따라 테스트하려는 맬웨어에 따라 안전할 수도 있고 안전하지 않을 수도 있습니다.


제가 걱정하는 점은 여러분이 이에 대해 거의 조사하지 않아 결국 여러분의 컴퓨터나 데이터가 손상될 수 있다는 것입니다. 계속하기 전에 일반 운영 체제(KVM)의 다양한 격리 메커니즘과 이러한 메커니즘이 더 높은 수준의 가상화 프레임워크(),컨테이너() 및 chroot메커니즘() 등), 각 방법이 적절한 시기, 할 수 있는 것과 할 수 없는 것. 그러면 적절하게 격리된 환경에서 맬웨어를 안전하게 사용할 수 있는지 여부를 더 잘 판단할 수 있습니다.

마지막으로, 새롭거나 잘 알려지지 않은 악성 코드를 사용하려고 시도해서는 안 됩니다(숙련된 보안 연구원이 아닌 이상, 이 답변은 숙련된 보안 연구원을 대상으로 한 것이 아닙니다). 악의적인 행위자는극도로그들은 무엇을 착취하고 어떻게 활용하는지에 있어서 창의적입니다. 이를 이해하려면 최근 DEFCON 강연을 확인하세요.아니요사회 공학을 중심으로 하거나 기계적 수단을 통해 물리적 접근을 얻는 것입니다.

관련 정보