나는이 질문이 매우 광범위하고 독창적 인 연구를 거의 보여주지 않으며,이 답변이 그러한 유형의 질문을 장려하는 것으로 여겨져서는 안된다는 것부터 시작하겠습니다. 대신이 답변은 맬웨어 분석으로 시작하는 사람들에게 매우 기본적인 안전 팁을 제공하기를 희망합니다.
알려진 이전에 검색된 맬웨어를 실행하고 있다는 가정하에 환경을 격리하는 방법은 맬웨어의 기능에 따라 크게 다릅니다. 에 적용되는 일부 일반 규칙 대부분의 현대적인 악성 코드에 수 있습니다 :
인터넷에서 VM을 분리하십시오. 이는 게스트 컴퓨터에 인터페이스 전달을 설정하지 않는 것만 큼 간단 할 수 있으며 맬웨어가 예상치 못하게 작동하도록 지시 할 수있는 잠재적 명령 및 제어 노드와 통신하지 못하게합니다.
적절한 하이퍼 바이저를 사용하십시오. VirtualBox, HyperV, QEMU 및 macOS를 포함하여 시장에 몇 가지 주요 사항이 있습니다 Hypervisor.framework
. 이들 중 일부는 맬웨어의 공격을 적극적으로 받고 있으며 버전에 따라 게스트 컴퓨터에서 침입하는 맬웨어에 취약 할 수 있습니다.
게스트 추가 또는 다른 플랫폼의 아날로그를 설치하지 마십시오 . 이러한 종류의 소프트웨어의 문자 적 목표는 게스트와 호스트 사이의 통합을 설정하여 이들 사이의 분리를 효과적으로 약화시키는 것입니다. 나는 악성 코드 연구자가 아니지만, 이런 종류의 표면을 겨냥한 악성 코드가 없다면 놀랄 것입니다.
일부 요점을 직접 해결하려면 :
호스트에서 가상 머신을 얼마나 격리시킬 수 있습니까?
이 시점에서 VM은 완전히 격리 될 수 있지만 일부 기능은 하이퍼 바이저 보호 기능이 거의 없어도 호스트를 직접 직접 통과해야합니다. VirtualBox와 같은 대부분의 비 VMVM 가상 머신 은 호스트 OS와 커널을 공유하지 않습니다 . 이것만으로도 수많은 익스플로잇 클래스에 대한 차단 역할을하며, 호스트 커널에 대해 임의의 syscall을 실행하는 기능을 차단합니다.
VM에는 여전히 호스트 시스템의 하드웨어 내에 프로세스 공간이 있지만, 현대 OS는 적절한 프로세스 공간 격리를 제공하기 때문에 일반적 으로 위험 하지는 않지만 , 행 해머 와 같은 매우 낮은 수준의 공격을 악용하는 데 여전히 사용될 수 있습니다 . 여기서 프로세스는 소유하지 않은 인접 메모리 블록을 읽을 수있을 때까지 프로세스가 특정 방식으로 메모리에 순차적으로 기록되므로 프로세스 간 메모리 누수가 효과적으로 발생합니다.
또한 본질적으로 모든 종류의 I / O를 수행하려는 경우 격리가 다소 사라지는 경향이 있습니다. 입력 및 출력은 반드시 통과를 의미하며 호스트 작업을 수행하는 데 활용할 수있는 공격 영역을 노출시킵니다. 여기에는 네트워크 패스 스루와 같은 마우스 및 키보드와 같은 HID 패스 스루가 포함됩니다. 비록 일반적으로 VM에서 I / O 패스 스루가 얼마나 잘 구현되었는지에 달려 있습니다.
게스트와 호스트간에 방화벽을 설정해야합니까 (또는 할 수 있습니까?)?
그것은 달려 있지만 일반적으로 나쁜 생각은 아닙니다 . 대부분의 주요 플랫폼은 하이퍼 바이저 수준의 방화벽을 지원합니다. 이들은 대부분에서 차례로 당신의 호스트 시스템에 방화벽, 등의 허용으로 가장에서 당신의 LAN 또는 VLAN의 방화벽으로 허용한다. 가상 네트워크 인터페이스의 연결을 끊어 네트워크 액세스를 완전히 차단하는 대신이 기능을 활용하려면 선택한 멀웨어가 대상으로하는 포트와 호스트를 조사한 후 그 위치로 이동하는 것이 좋습니다.
게스트 애드온은 보안 상 위험합니까?
예 . 호스트 시스템과 게스트 시스템 간의 모든 종류의 통합을 허용하며 열려있는 항목을 볼 수있는 개방형 사양을 항상 제공하지는 않습니다. 위 참조.
공유 디렉토리는 어떻습니까?
그것은 당신이 어떻게하고 있는지에 달려 있지만, 종종 나쁜 생각 입니다. 많은 하이퍼 바이저는 루트가 해당 디렉토리에있는 게스트 머신 내에 마운트 된 가상 드라이브를 작성하여이를 수행합니다. 프레임 워크마다 약간 다를 수있는 메커니즘의 구현에 따라 테스트하려는 맬웨어에 따라 안전하거나 안전하지 않을 수 있습니다.
내 우려는 당신이 이것에 대해 거의 연구를 수행하지 않았으며 결국 당신의 컴퓨터 나 데이터를 손상시킬 수 있다는 것입니다. 계속하기 전에 일반적인 OS (KVM)의 다른 격리 메커니즘, 상위 가상화 프레임 워크 ( 가상 시스템 ), 컨테이너 ( 컨테이너 ) 및 chroot
메커니즘 ( chroot )과 이름 을 통합하는 방법을 살펴 보는 것이 좋습니다. 몇), 각각이 적절할 때, 그들이 할 수있는 것과 할 수없는 것. 이 시점에서 적절하게 격리 된 환경에서 맬웨어를 안전하게 처리 할 수 있는지 판단 할 수 있습니다.
마지막으로, 노련한 보안 연구원이 아니라면이 답변이 노련한 보안 연구원을 목표로하지 않는 한, 새로운 또는 알려지지 않은 맬웨어로 작업하려고 시도해서는 안됩니다. 악의적 인 행위자는 자신이 악용하는 것과 악용하는 방법에 있어 매우 창의적입니다. 이에 대한 아이디어를 얻으려면 사회 공학에 중점을 두지 않거나 기계적 수단을 통해 물리적 접근을 얻지 않은 최근의 DEFCON 대화를 살펴보십시오 .