Forense em Máquinas Virtuais

Desde a publicação do VMware vSphere, precisamos considerar alguns aspectos da forense digital que são afetados pela virtualização e computação em nuvem.

[ Hits: 13.057 ]

Por: Luiz Vieira em 29/04/2011 | Blog: http://hackproofing.blogspot.com/


Introdução



Com o avanço da tecnologia, várias soluções surgiram para diminuir custos e aumentar a disponibilidade dos sistemas e serviços oferecidos pelo setor de TI. Uma dessas soluções, é a virtualização de sistemas operacionais completos, o que possibilitou uma incrível diminuição nos gastos com hardware para as organizações.

No entanto, com a virtualização, surge um novo paradigma computacional, completamente diferente do anterior, onde não podemos ter acesso à memória física de sistemas virtualizados que compartilham os mesmo dispositivos de hardware. Como tudo é virtualizado, os processos do sistema também são virtualizados, assim como os discos e mídias, que antes eram físicos.

E como atualmente muitos sistemas estão migrando para a web, mesmo clusters completos de servidores, a virtualização migrou junto. E nesse contexto, surge o que é conhecido como Cloud Computing, ou computação em nuvem.

Nesse novo paradigma, nem aos servidores com os sistemas virtualizados, temos acesso fisicamente. E como os crimes e comprometido não são prerrogativas apenas de sistemas tradicionais, essas mesmas questões também ocorrem em máquina virtualizadas e sistemas em nuvem.

O problema nesse caso, é que precisamos entender como essa tecnologia funciona, como podemos realizar a análise de seus dados e, principalmente, como utilizar essa tecnologia em benefício próprio como peritos forense.

Máquinas Virtuais

Desde a publicação do VMware vSphere, precisamos considerar alguns aspectos da forense digital que são afetados pela virtualização e computação em nuvem.

Agora, existem vários problemas com a forense digital dentro da nuvem e, portanto, com todo o ambiente virtual. São eles:
  • A aquisição de dados dentro da nuvem
  • Como coletar dados
  • Quais dados recolher
  • Como lidar com os dados que normalmente estão sempre em "movimento"
  • Como respeitar a privacidade dos outros host que não estão sob investigação

Como coletar dados:

O estado da arte para a coleta de dados forense é recolher pouco a pouco a duplicata de uma imagem de disco usando um duplicador ou ferramentas de duplicação via rede. Se desejamos as imagens da memória, isso requer um tempo ainda maior, de forma que possamos realizar a duplicação da memória antes de congelarmos a execução do host virtualizado.

É muito mais fácil criar uma duplicação forense de um disco virtual do que de um disco real.

Tomando por referencia uma duplicação post-mortem, a duplicação de um HD real pode ser tão simples quanto usar um software de aquisição forense diretamente na mídia desligada, ou então tão complicado quanto encarar um monte de discos em um RAID xxx.

Dessa forma, mesmo o caso mais simples dá um certo trabalho. Porém, quando se trata de duplicar um disco virtual, todo o trabalho se reduz em realizar a cópia e o hash do arquivo que representa o tal disco (um .vmdk para VMWare ou .vdi para VirtualBox).

Colocando de maneira bem simplificada, podemos fazer a aquisição post mortem e ter uma visão estática dos dados do HD, ou então podemos fazer uma aquisição conhecida como Live, onde o computador continua ligado. Essa segunda modalidade é mais rápida e tem o benefício de não precisar desligar a máquina, mas a visão dos dados é dinâmica.

Isso traz imediatas consequências, pois antes da aquisição chegar ao final, o conteúdo capturado do início da mídia já pode ter sido alterado. Com isso, o hash não será capaz de comprovar integridade com a mídia, por exemplo.

Nesse caso, a captura de uma imagem forense de uma máquina virtual oferece uma terceira opção. Ela funciona como uma semi-live. A ideia é bem simples, no fim das contas. Basta ir no gerenciador da máquina virtual e interromper a execução dela temporariamente.

Em geral, o comando que realiza essa tarefa é semelhante a uma pausa. Pode-se interromper e retornar a execução de uma máquina virtual a qualquer momento. Ao interromper, o arquivo de disco virtual pode ser copiado normalmente.

Ao fim da cópia, retorna-se a máquina ao estado de execução sem mais demoras. O maior benefício dessa técnica pode ser a possibilidade de ter novamente uma visão estática da mídia, além de permitir retornar a máquina bem mais rápido que no caso de uma aquisição post-mortem.

Cloud Computing

Levando em consideração que servidores cloud funcionam baseados em virtualização, o processo de extração e gerenciamento de dados normalmente é idêntico aos servidores virtualizados dentro da infraestrutura de uma empresa.

Portanto, a maior diferença, que torna um pouco mais difícil a aquisição de dados, é o fato de que não temos acesso físico ao servidor onde os servidores estão virtualizados, e normalmente eles estão do outro lado do mundo.

Entretanto, é possível, ainda assim, como nas máquinas virtualizadas dentro da infraestrutura, pausar o funcionamento dos servidores virtualizados na cloud e capturar o estado atual da máquina.

Normalmente, o gerenciamento de cada máquina virtualizada é feito através de um painel de controle via web, onde é permitido a criação, exclusão, duplicação, execução, pausa e desligamento de cada uma das máquinas disponíveis para uso.

De acordo com o exposto acima, podemos afirmar que a maioria das ferramentas utilizadas em um servidor real, também se aplicam à servidores virtualizados.

Porém, uma coisa a mais podemos acrescentar: a aquisição de dados em sistemas virtualizados é bem mais fácil e tranquila do que em um servidor real em produção, pois basta, na maior parte das vezes, duplicar a imagem do disco e remontá-lo em um ambiente virtualizado, sem prejuízos para o sistema em produção.

   

Páginas do artigo
   1. Introdução
Outros artigos deste autor

Metasploit Framework

Armitage: a nova interface gráfica do Metasploit

Distribuição CAINE Linux para forense digital: em Live-CD, pendrive, máquina virtual ou direto em seu Ubuntu 10.04

Certificações em Segurança: para qual estudar?

Boot Linux - o que acontece quando ligamos o computador

Leitura recomendada

Squid 3 - Instalação no Debian/Ubuntu

Autenticação de servidores CentOS/Red Hat 6 em Windows 2008

SSH: Métodos e ferramentas para invasão

Alta disponibilidade com CARP

Gerenciando logs do Linux pela WEB com o PHPSYSLOG-NG (parte 1)

  
Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts