SubVirt: Implementing malware with virtual machines Samuel T. King Peter M. Chen Yi-Min Wang Chad Verbowski Helen J. Wang Jacob R. Lorch University of Michigan Microsoft Research Motivação • Atacantes e sistemas de defesa lutam por controle – Atacantes monitoram e perturbam a execução do sistema • Para evitar a detecção por parte dos sistemas de defesa – Sistemas de defesa detectam e removem o atacante – Controle das camadas mais baixas Atacantes App1 App2 Sistema operacional Hardware Sistemas de defesa Virtual-machine based rootkits (VMBRs) • VMM roda abaixo do sistema operacional – Efetivamente um novo nível de privilégio do processador • Fundamentalmente mais controle • Sem estados ou eventos visíveis • Fácil desenvolver serviços maliciosos Virtual-machine based rootkits (VMBRs) App1 App2 Sistema de ataque App1 Sistema alvo Sistema alvo VMM Hardware Hardware Antes da infecção App2 Após a infecção Resumo do Trabalho • Instalar o VMBR • Manter o controle • Rodar serviços maliciosos • Defesa contra VMBR Perspectiva do atacante Perspectiva do sistema de defesa • Implementação de prova de conceito Instalação do VMBR • Assume que o atacante possui privilégio de kernel – Exploit remoto tradicional – Subornar empregado – CD-Rom bootável malicioso • Instalação durante o shutdown – Poucos processos rodando – Esforços para evitar detecção da atividade de instalação do VMBR Instalação do VMBR • Modificação da sequência de boot Master Boot boot BIOS record sector OS Instalação do VMBR • Modificação da sequência de boot BIOS VMBR loads Master boot Boot BIOS record sector OS Manutenção do Controle • VMBR perde controle em caso de reset do hardware – Ilusão de reset para não perder o controle – Reboot fácil, shutdown difícil BIOS VMBR loads Master boot Boot BIOS record sector OS Manutenção do Controle • ACPI BIOS usada para entrar em modo low power – Desliga os discos – Coloca monitor em modo low power – Altera LED power • Ilusão de desligamento, emulação de shutdown • Controle sobre o botão power • Funcionalidade do sistema não modificada Serviços Maliciosos • Vantagens de dois lados (alto nível e baixo nível) – Prover implementação de baixo nível – Ainda assim torna fácil a implementação de serviços • Uso de um attack OS em separado App App1 Attack OS App2 Target OS VMM Hardware Serviços Malicisos • Serviços com interação zero – phishing web server • Monitoramento passivo – keystroke logger, file system scanner • Modificação ativas da execução – Evitar técnicas de detecção de VMM • Todos fáceis de implementar Defesa contra VMBRs • Detecção de VMBRs – Perturbações geradas • Onde rodar o software de detecção Perturbações geradas pelo VMBR • Inerentes – Tempo de execução – Espaço ocupado pelo VMBR Díficil de esconder • Hardware – Diferenças entre dispositivos – Processador não completamente virtualizado • Software – Ícone da VM – Nomes dos dispositivos Fácil de esconder Sistemas de defesa (rodando acima do VMBR) • Estado do atacante não é visível – Só pode detectar efeitos adversos (ex. timing) • VMBR pode manipular a execução – – – – Relógio controlado pelo VMBR Evitar a execução de serviços de defesa Desligar a rede Desabilitar notificação de intrusão Sistemas de defesa (rodando abaixo do VMBR) • Mais controle, acesso direto aos recursos – Pode detectar estados ou eventos do VMBR • VMM segura e/ou hardware seguro • Boot de uma mídia segura – Desplugar máquina da energia elétrica Prova de conceito • VMware / Linux host • Virtual PC / Windows XP host • OS atacante é o sistema hospedeiro • Imagem do malware de ~100MB (comprimida) • ISA não completamente virtualizada – Evitar degradação de desempenho • Dispositivos emulados por software – Sistema hospedeiro possui muitos drivers Prova de Conceito • Quatro serviços maliciosos implementados – – – – Phishing web server Keystroke logger + password parser File system scanner Contramedida a sistema de detecção • Scripts de instalação and modules do kernel • Emulação de ACPI shutdown – Sleep states e botão power Conclusão • Ameaça realista – Quantitativamente mais controle – Ainda assim fácil de implementar o malware – Prova de conceito pode ser detectada – Melhorias de hardware podem tornar VMBR mais efetiva • Defesa é possível – Melhor maneira é controlar camadas mais baixas