Rootkits Rootkits permitem que um agressor sustente acesso

Propaganda
Hi,
Por definição da Wikipedia, um rootkit é um software malicioso, criado para esconder ou
camuflar a existência de certos processos ou programas de métodos normais de detecção e
permitir acesso exclusivo e continuo a um computador e suas informações.
Rootkits Rootkits permitem que um agressor sustente acesso privilegiado em segredo a um
computador. Um rootkit pode ocultar processos, conexões de rede, arquivos e
diretórios para controlar remotamente o PC da vítima, instalar backdoors, capturar
pacotes de rede ou registrar as teclas pressionadas. Se o rootkit conseguir rodar no
kernel, ele pode filtrar e manipular valores de retorno de chamadas do sistema e
esconder arquivos, diretórios e processos com grande eficácia. Um rootkit com acesso
ao kernel consegue facilmente terminar aplicativos executados por qualquer usuário,
incluindo o root.
Em computação, virtualização é a simulação de uma plataforma de hardware,
sistema operacional, dispositivo de armazenamento ou recursos de rede. A
virtualização usa software para simular a existência de hardware e criar um sistema de
computadores virtual. Com isso, as empresas podem executar mais de um sistema
virtual, e vários sistemas operacionais e aplicativos, em um único servidor.
A virtualização essencialmente age como outra camada, com privilégios ainda mais
altos que o Kernel. Qualquer um que comprometa o ambiente de virtualização
praticamente controla todo o ambiente físico no qual o sistema roda. Malwares
escondidos nessa camada são ainda mais difíceis de descobrir e remover do que
qualquer outro tipo existente.
Pesquisadores da Universidade de Michigan e da Microsoft Research,
demonstraram um novo rootkit como prova de conceito inicial chamado SubVirt em
março de 2006, dando à luz assim a primeira geração de rootkits que exploram a
virtualização.
Depois de infectar um computador, o rootkit se instala sob o sistema já existente e
roda numa máquina virtual após a reinicialização. Para permitir que isso aconteça, o
SubVirt também modifica a sequência de inicialização para que a BIOS não carregue
mais diretamente o registro de inicialização (MBR) do sistema operacional, mas inicie
uma máquina virtual em seu lugar. A máquina virtual então executa a BIOS e inicia o
sistema operacional copiado para o ambiente virtual pela MBR. Pesquisadores de
segurança se referem a essa técnica como rootkit baseado em máquina virtual (VMBR,
na sigla em inglês).
Em 3 de Agosto de 2006, na conferência Black Hat Briefings, Joanna Rutkowska
apresentou o rootkit Bluepill. Originalmente baseado na plataforma de virtualização da
AMD­V (posteriormente reescrito para funcionar também no ambiente de virtualização da
Intel VT­x) ele foi implementado para o Kernel do Windows Vista. O nome Blue Pill faz referência ao filme Matrix de 1999.
Na época, Joanna Rutkowska havia dito que seu rootkit seria “indetectável” e foi desafiada
por um grupo de pesquisadores de segurança da Matasano, Root Labs e Symantec, que
afirmaram que o mesmo poderia sim ser detectado, ao contrário do que afirmava sua
criadora. O desafio, que deveria ter acontecido na conferencia da época, não ocorreu
devido as “condições” impostas por Rutkowska, mantendo assim, sua fama de
“indetectável”.
A Internet está cheia de discussões volumosas e controversas sobre a facilidade de se
identificar um rootkit de segunda geração (Bluepill, Vitriol, etc..). Evidentemente,
medições de tempo com comandos durante a execução são menos confiáveis, pois a
sobrecarga é menor (ou inexistente) graças ao sistema hospedeiro. Como Joanna
Rutkowska anunciou seu Blue Pill originalmente como um “malware indetectável”, as
pessoas se apressaram para provar que ela estava enganada. Muitas sugestões para
detectar o rootkit por meio de análises de tempo foram feitas. As técnicas conseguiram, no máximo, apenas confirmar que o sistema operacional
estava rodando num ambiente virtual, o que não necessariamente significa uma
infecção por rootkit. Para evitar a descoberta, Rutkowska e seu colega de laboratório,
Tereshkin, também desenvolveram um programa chamado Blue Chicken que detecta
análises de tempo no sistema e temporariamente remove o malware da memória
virtual, ocultando assim qualquer anomalia de tempo.
Em face da dificuldade para se identificar um rootkit após ele ser instalado, a
necessidade de monitorar o processo de inicialização se torna crítica. A melhor técnica
para o administrador é evitar uma infecção. Para prevenção de uma infecção desde
nível tão sofisticado e quase indetectável, do um ponto de vista técnico, os modelos
sugeridos pelo Trusted Computing Group (TCG) parecem um bom início. O
componente­chave é um Trusted Platform Module (TPM), um chip de hardware que
implementa o modelo TCG na placa­mãe do computador. O chip TPM oferece funções e operações criptográficas utilizáveis por meio da BIOS e
do sistema operacional para conferir a confiança de um sistema.
Essas técnicas permitem que o administrador verifique a integridade de todo o sistema
e processos de inicialização. O chip TPM e partes da BIOS agem como uma raiz de
confiança para medições. Quando o sistema inicia, o chip TPM ajuda a BIOS a
verificar suas próprias partes e guarda os valores de hash nos registradores de
configuração da plataforma TPM. Depois disso, a BIOS investiga a MBR do dispositivo
de inicialização e repassa o controle para o carregador de boot.
Este foi apenas um resumo bem simplificado do assunto sobre rootkits e virtualização
(VMBRs). Vou deixar alguns links para uma pesquisa mais avançada. Recomendo muito
pesquisarem sobre isso!
Mr.Trap
•
•
•
Excelente Materia sobre rootkit VMBRs: http://www.linuxnewmedia.com.br/images/uploads/pdf_aberto/LM47_62­66.pdf
GitHub Bluepill (não oficial): https://github.com/xdel/bluepillstudy
Invisible Things Lab (Joanna Rutkowska): http://theinvisiblethings.blogspot.com.br/2006/06/introducing­blue­pill.html
Download