Lendas da engenharia de vírus: o começo da guerra

imagem

O final dos anos 80 foi uma época incrível para o país dos soviéticos. O descontentamento acumulado e crescente se espalha para um bastardo "perestroika". Na TV, a vergonhosa retirada das tropas soviéticas do Afeganistão, nas lojas - prateleiras vazias e cartões de compras. “Uma estrela chamada Sol” e “Eu quero uma mudança” soam de todos os ferro. Enquanto isso, nas entranhas do GVC Gosplan da URSS, Dmitry N. Lozinsky descobre em um dos computadores a razão de seu comportamento incomum, que acabou sendo um programa incomum. A ferramenta de neutralização foi escrita em uma noite e recebeu o nome do sistema de teste da Aids, que na mesma época eles gostavam de mencionar no rádio como uma grande conquista na medicina.

O vírus era um programa simples, cujo código não estava sujeito a nenhum processamento adicional e foi facilmente detectado usando um software especializado. Naquela época, ainda não havia um sistema único para nomear malware. No entanto, a esse respeito, quase nada mudou hoje, as empresas de antivírus não podem concordar entre si e a mesma “linhagem” de vírus pode ser chamada de maneira diferente em diferentes pacotes de antivírus. "Vienna.648" recebeu o nome do local da descoberta e tamanho inicial - 648 bytes.

Na mesma época, os primeiros a detectar o vírus foram Franz Freedom e Ralph Berger, embora não se saiba ao certo qual deles fez isso primeiro, pois cada um deles disse que havia recebido o vírus do outro. O programa teria permanecido famoso por sua primeira aparição na URSS e mais. Mas Ralph Berger, tendo publicado o código-fonte em seu livro (ISBN 1557550433), abriu o caixão de Pandora. Qualquer programador pode alterar o código fonte para criar um programa semelhante em sua base. Uma avalanche de garfos atingiu o mundo dos carros. Às vezes, entre eles, encontravam-se "bastardos" inveterados como Ghostballs e Chameleon. Alguns descendentes desse vírus ainda são encontrados no habitat "natural" (ao longo dos anos, programadores iniciantes e crianças em idade escolar fizeram mais de 60 variantes dessa infecção, provavelmente esse número pode ser facilmente multiplicado por 10, e não tenho certeza de que isso seja tudo).

“Vienna.648” é um vírus típico não-residente em arquivos, que, depois de ganhar o controle, infecta arquivos, na maioria das vezes no momento do lançamento da mídia infectada. Uma propriedade característica dos não residentes é o seu curto ciclo de vida, incluindo o lançamento, a busca e a infecção de suas vítimas. Existem vários algoritmos comuns para não residentes procurarem possíveis vítimas. Como muitos outros vírus antigos, ele foi escrito em linguagem assembly e arquivos COM executáveis ​​afetados (programas COM são geralmente pequenos aplicativos, utilitários de sistema ou pequenos programas residentes).

O “herói” de hoje foi o primeiro a usar o método de pesquisa “path” , um algoritmo de pesquisa bastante eficaz, um tipo de “know-how” que não requer um rastreamento completo de todos os diretórios de disco. O MS-DOS forneceu um mecanismo para criar uma lista de diretórios predefinidos, geralmente especificados no arquivo em lotes do sistema AUTOEXEC.BAT. Essas listas caíram no ambiente do sistema e ficaram disponíveis para todos os programas. Os diretórios contidos na linha PATH sempre continham arquivos executáveis. Depois que o vírus começou e encontrou a linha começando com o "caminho", o vírus separou os diretórios com o símbolo ";" e adicionou uma máscara de pesquisa de arquivos COM, após a qual ocorreu a transferência de infecção e controle.

O vírus foi atribuído ao final do arquivo do programa COM e, no início, inseriu o comando assembler para alternar para seu corpo, ao adicionar o código do vírus ao final do programa impossibilitou o uso do endereçamento direto às células da memória, pois os links diretos eram alterados e, portanto, era necessário complicar algoritmos usando endereçamento indireto com deslocamento. Essa complicação exigiu a introdução de código adicional que calcula o endereçamento. A presença desse código foi um importante sinal de assinatura da infecção do programa.

Dada a simplicidade do programa e a ignorância de seu criador até hoje, podemos assumir sua criação como um "colapso da caneta" ou como um experimento que ficou um pouco fora de controle. Essa simplicidade óbvia em combinação com assinaturas facilmente detectáveis ​​fala em favor dessa hipótese, mas elas não a provam conclusivamente. Apesar da aparente trivialidade, não se deve esquecer que “Vienna.648” também foi o primeiro vírus que foi detectado e destruído por um programa antivírus.

Existe uma versão em que o autor do programa é Berger, embora ele tenha negado qualquer envolvimento nisso. Seja como for, foi ele quem lançou o pêndulo da nova guerra digital . Assim começou o confronto de vírus e programas antivírus ...

Source: https://habr.com/ru/post/pt418721/


All Articles