Novas técnicas de infecção e de investigação

A grande maioria dos vírus, desde o ?Brain? de 1986, pode ser dividido em dois grandes grupos em função do tipo de infecção aplicada aos arquivos hospedeiros vítimas de um ataque:appending, onde o código do vírus fica anexo ao fim do arquivo infectado, que é a mais comum, principalmente depois da chegada dos sistemas de 32 bits, e ?prepending, que é a adesão do código do virus antes do código original do arquivo infectado, característica de um grupo de vírus criados na longínqua era do DOS.
Outros métodos menos convencionais de desenvolvimento de vírus, mas também criados por diversos autores, foram os de ?overwriting, onde o código do vírus sobregrava parte do código original do arquivo infectado, e o de ?spawning? ou ?companion, que consiste em substituir o programa original com uma cópia do virus que, ao ser executada, se encarregará de executar a aplicação hóspede previamenre renomeada e escondida aos olhos do usuário afetado.
A origem desta técnica de infecção – que geralmente conserva intacto e íntegro o código dos arquivos originais pode ser encontrada na hierarquia de execução prevalecente no sistema operacional DOS, na qual um arquivo com extensão .COM com nome igual a um com extensão .EXE tem prioridade de execução. Assim, dadas as circunstâncias em que o usuário executa PROGRAMA sem especificar extensão alguma -e existem arquivos com os nomes de programa.exe e programa.com, este ultimo é o primeiro na ordem de execução.
Aproveitando-se desta característica, os vírus ?companion? mais antigos eram primários porque procuravam por aquivos de um determinado tipo de extensão e os renomeava, criando uma cópia de seu próprio código com o nome original do arquivo afetado, de forma que o código do vírus era executado cada vez que o usuário fosse executar um programa, que acabava sempre por executar o próprio virus em vez do programa original.
Anos mais tarde, quando esta primitiva técnica já estava defasada, aqueles que escreviam vírus encontraram uma maneira de trabalhar esta tecnologia de forma inédita. Um dos programadores do virus ?Stream, o tcheco Benny, já havia evoluído há meses esta técnica para o “Install”, que foi o primeiro virus para Windows 2000.
A adaptação do mecanismo ?companion? posta em prática no vírusStream? foi batizada como ?Stream companion, de onde o virus herdou o nome. Trata-se de um método de infecção válido única e exclusivamente para sistemas de gerenciamento de arquivos pelo método NTFS, em máquinas Windows NT e Windows 2000.
O motivo para isso é que estas plataformas possuem a seguinte característica: cada arquivo pode passar um fluxo de dados data stream para outro arquivo, na qual se pode associar outros elementos análogos, acessíveis mediante seu nome pessoal, e que responde pelo seguinte formato:
?nome_arquivo:nome_fluxo.
A associação de um fluxo de dados com seu arquivo é permanente e assim resulta a impossibilidade de se acessar ou modificar este arquivo sem prévia referência a seu ?companheiro? que permanece ?atrelado. Inclusive, se este arquivo é renomeado ou apagado, complica a detecção do virus ?Stream? por deixar de existir hierarquias e o sistema ficar impossibilitado de editar ou visualizar os fluxos de dados deste arquivo.
Apesar de se tratar de uma técnica de implementação trabalhosa, o tamanho do código é tão insignificante quanto irrelevante, principalmente por ter sido compactado pelo software compressor de arquivos ?Petite, que reduz o tamanho do ?Stream? para somente 4 Kbytes. Por ser um virus experimental, seu poder de disseminação é diretamente proporcional ao tamanho do virus.
Sua rotina de ataque limita-se a infectar todos os arquivos do diretório corrente. Em caso de falha, a seguinte mensagem é exibida:
[ Win2k.Stream by Benny/29A & Ratter ]
This cell has been infected by [Win2k.Stream] virus!
[ OK ]
A rotina de contaminação se limita a acessasr cada um dos arquivos encontrados no diretório corrente e copiar o código original num novo fluxo de dados com o nome ?STR, substituindo-o no ?Stream? principal por uma cópia do virus que deverá ser executada e que se encarregará de depois ceder o controle para o arquivo hospedeiro, acessível pelo caminho ?nome_arquivo:STR. Ressaltamos o estranho fato de que por motivos até agora desconhecidos apesar da técnica ?stream companion? ser perfeitamente compatível com a plataforma Windows NT, os autores do ?Stream? terem incluído em seu código a criação de uma rotina que o impede de executar em qualquer plataforma diferente da Windows2000, reduzindo ainda mais o raio de alcance deste vírus, caso o mesmo seja liberado no mundo.
