sandboxing VM - o que acontece?

2

Como exatamente a sandbox da VM? Certamente ainda está usando os mesmos recursos de hardware e o mesmo sistema operacional subjacente? Não entendo por que várias VMs em um sistema operacional são seguras, mas vários aplicativos / processos podem ser inseguros?

O que há de tão especial na arquitetura da VM?

    
por Laimi 04.10.2012 / 15:01

1 resposta

2

O sandbox funciona como um proxy. Em vez de o aplicativo ou SO ser executado diretamente na CPU, o sandbox pode ver o que o aplicativo deseja fazer e interceptar as instruções para fazê-las fazer outra coisa. Isso pode ser usado para impedir que ele faça coisas que não deveriam ou que interferem em outros aplicativos.

Por exemplo, digamos que o programa A queira criar um arquivo chamado document.txt

Normalmente, esse arquivo seria criado diretamente no disco rígido. Mas e se o programa B também quiser usar document.txt para outra coisa?

Dentro de um sandbox, o disco rígido não existe realmente. Tudo o que existe é uma interface que finge ser um disco rígido. O aplicativo pode ler a partir dele, e o aplicativo pode gravar nele e, do ponto de vista do aplicativo, parece que é o único programa que usa document.txt .

Mas como o sandbox pode ver e interceptar tudo que um aplicativo faz, os dados que o programa A grava em document.txt são armazenados com segurança pelo sandbox em um arquivo especial reservado apenas para o programa A. Quando o programa A lê de document.txt , o sandbox alimenta os dados do arquivo especial do programa A.

Uma VM é semelhante, mas em um nível inferior e em uma escala maior. Quando uma caixa de proteção de aplicativo altera as interfaces usadas por um aplicativo para interagir com o host, uma VM é capaz de criar um ambiente de segurança inteiro, que espera ter todo o seu próprio hardware. Isso requer virtualização de uma placa gráfica, memória, CPU, discos rígidos, dispositivos USB, redes, tudo. No entanto, como a VM monitora e intercepta tudo o que o sistema operacional tenta fazer, ela pode impor e impor limites artificiais que evitam conflitos.

Uma maneira mais fácil de pensar sobre isso é assim:

Normalmente, o Windows informa ao computador o que fazer. Com o Windows dentro de uma VM como um "sistema operacional convidado", o Guest-Windows informa à VM o que fazer e, se a VM achar que está tudo bem, a VM irá se virar e instruir o computador a fazer a mesma coisa. Se a VM não gostar do que o Guest-Windows tentou fazer, ela irá bloqueá-lo. Devido à maneira como isso é implementado, o Guest-Windows não sabe ao certo se está sendo executado em uma VM ou não, e como a VM sempre tem o controle completo , o Guest-Windows deve vive dentro das regras impostas pela VM.

    
por 04.10.2012 / 19:32