Começarei dizendo que esta pergunta é muito ampla e mostra muito pouca pesquisa original, e que essa resposta não deve ser vista como um incentivo para esse tipo de pergunta. Em vez disso, essa resposta espera fornecer algumas dicas de segurança extremamente básicas para as pessoas que estão começando com a análise de malware.
Trabalhando sob a suposição de que você está executando um malware conhecido, pesquisado anteriormente, como você isola seu ambiente depende muito do que esse malware é capaz. Algumas regras gerais que se aplicam ao malware mais moderno podem ser:
Isole sua VM da Internet. Isso pode ser tão simples quanto não configurar o encaminhamento de interface para a máquina convidada e impede que o malware se comunique com possíveis nós de comando e controle que possam direcioná-lo a agir de forma imprevisível.
Use um hypervisor apropriado. Existem alguns dos principais no mercado, incluindo VirtualBox, HyperV, QEMU e macOS Hypervisor.framework
, para citar alguns; alguns deles são ativamente direcionados por malware e, dependendo da versão, podem estar vulneráveis ao rompimento do malware na máquina convidada.
Definitivamente, não instale adições de convidados ou qualquer outra plataforma analógica. O objetivo literal desse tipo de software é estabelecer a integração entre o convidado e o host, enfraquecendo efetivamente a separação entre eles. Eu não sou um pesquisador de malware, mas ficaria surpreso se não houvesse malware que vise especificamente esse tipo de superfície.
Para abordar alguns de seus pontos diretamente:
Quão isolada pode ser feita uma máquina virtual do host?
Nesse ponto, uma VM pode ser completamente isolada, mas algumas funções ainda precisam passar pelo host mais ou menos diretamente, com pouca proteção de hipervisor. Logo de cara, a maioria das máquinas virtuais que não são da KVM (como o VirtualBox) não compartilham um kernel com o sistema operacional host. Isso por si só serve como bloqueador de várias classes de exploração, mais notavelmente bloqueando a capacidade de executar chamadas arbitrárias no kernel do host (com o notável asterisco de que uma implementação de camada de VM quebrada pode permitir que o malware contorne isso de maneiras menos óbvias).
Porém, sua VM ainda possui um espaço de processo no hardware da máquina host - e, embora isso geralmente não seja um risco, porque os sistemas operacionais modernos oferecem um isolamento decente do espaço de processo, ainda pode ser usado para explorar ataques de nível extremamente baixo, como um martelo de linha , onde um processo grava seqüencialmente na memória de uma maneira específica até poder ler blocos de memória adjacentes que não são seus - permitindo efetivamente o vazamento de memória entre processos.
Também é importante notar que o isolamento tende a desaparecer um pouco quando você deseja fazer essencialmente qualquer tipo de E / S: entrada e saída significam necessariamente passagem, que expõe uma superfície de ataque que pode ser aproveitada para executar ações do host. Isso inclui a passagem HID como mouse e teclado, além de coisas como a passagem de rede - embora isso geralmente dependa de quão bem implementada a passagem de E / S é implementada na sua VM.
Devo (ou posso?) Configurar um firewall entre o convidado e o host?
Depende, mas geralmente não é uma má idéia . A maioria das principais plataformas suporta firewalls no nível do hipervisor. Eles são no máximo tão permissivos quanto o firewall em sua máquina host, o que é, no entanto , tão permissivo quanto o firewall em sua LAN ou VLAN. Se você deseja aproveitar isso em vez de interromper totalmente o acesso à rede, desconectando as interfaces de rede virtual, recomendo fazer uma pesquisa sobre quais portas e hospeda os destinos de malware selecionados e a partir daí.
Os complementos de convidado são um risco à segurança?
Sim . Eles permitem todos os tipos de integrações entre a máquina host e a máquina convidada e nem sempre apresentam especificações abertas, onde é possível ver o que está sendo aberto; Veja acima.
E os diretórios compartilhados?
Isso depende de como você está fazendo isso, mas geralmente é uma má ideia . Muitos hipervisores fazem isso criando uma unidade virtual montada na máquina convidada cuja raiz está nesse diretório. Dependendo da implementação desse mecanismo, que pode variar um pouco entre as estruturas, você pode ou não estar seguro, dependendo do malware que está tentando testar.
Minha preocupação é que você tenha realizado muito pouca pesquisa sobre isso e que possa acabar prejudicando sua máquina ou seus dados. Antes de continuar, aconselho a analisar os diferentes mecanismos de isolamento em sistemas operacionais comuns (KVMs, como eles se integram a estruturas de virtualização de nível superior ( máquina virtual ), contêineres ( contêiner ) e o chroot
mecanismo ( chroot ) para nomear alguns), quando cada um é apropriado e o que eles podem ou não fazer. Nesse ponto, você poderá avaliar melhor se pode ou não brincar com malware em um ambiente adequadamente isolado.
Por fim, você não deve tentar trabalhar com malware novo ou pouco conhecido (a menos que seja um pesquisador de segurança experiente, mas essa resposta não se destine a pesquisadores de segurança experientes). Atores maliciosos são extremamente criativos quando se trata do que eles exploram e de como o exploram. Para ter uma idéia disso, dê uma olhada nas conversas recentes do DEFCON que não estão centradas na engenharia social ou no acesso físico por meios mecânicos.