|
Estaremos publicando uma série de matérias técnicas à respeito das assinaturas de vírus. Esses textos servem para informar os usuários o funcionamento interno dos softwares antivírus bem como ajudar no entendimento do assunto em si. Essa matéria é uma continuação de outra no qual expliquei o funcionamento interno de detecção dos antivírus e pode ser lida clicando aqui. Este vírus de MS-DOS contém apenas 284 bytes de tamanho (os dados serão apresentados usando base hexadecimal para facilitar a visualização e o entendimento) e seu conteúdo original é: Para encontrar as assinaturas foi desenvolvido um programa especial, que denominei DISSECADOR, o qual tentará localizá-las independentemente do antivírus a ser utilizado. A técnica utilizada pelo dissecador é simples: vai zerando os bytes do vírus e fazendo a pesquisa com o antivírus. Se depois de zerado um byte o vírus ainda for encontrado, significa que aquele byte não é necessário na assinatura, caso contrário, ele manterá o byte, pois ele faz parte da assinatura. Isto será feito do início ao fim do vírus e fará com que fiquem somente as partes necessárias para identificá-los. Veja o funcionamento do dissecador: Agora apresento as assinaturas identificadas após o processamento do dissecador: Um pequeno resumo das assinaturas, para melhor visualização: Como se pode notar, as assinaturas variam de antivírus para antivírus (o que a maioria das pessoas desconhecem) e são escolhidas de forma que sigam as seguintes regras:
A maior preocupação em escolher uma assinatura ideal é, sem dúvida, o problema de detecção de falsos-positivos. E o que vem a ser os falsos-positivos? Falsos-positivos são arquivos sadios, mas que são apresentados como contaminados. Isto costuma ocorrer quando os antivírus escolhem mal suas assinaturas ou que a assinatura escolhida tenha partes idênticas em um arquivo sadio. Quanto menor a assinatura escolhida, maior a probabilidade de ocorrer um falso-positivo. Um teste ideal para evitar falsos-positivos é ter milhares de arquivos sadios e após escolher uma assinatura, fazer um teste de verificação nos mesmos, para tentar identificar algum vírus, ou seja, algo que não pode acontecer. Veja um exemplo real de um falso-positvo: Tenho um arquivo chamado ONDE.COM, que serve pra ajudar ao usuário a encontrar arquivos. É um programa para MS-DOS muito antigo, com apenas 418 bytes e seu conteúdo é: O antivírus Kaspersky AVP identifica-o como HLLP.Toadie.7800.a: Vamos usar o dissecador para identificar sua assinatura: A assinatura usada pelo Kaspersky AVP para identificar o vírus HLLP.Toadie.7800.a possui 64 bytes e possivelmente deve ter o mesmo conteúdo do arquivo sadio ONDE.COM. Ou seja, mesmo uma assinatura de 64 bytes poderá fazer com que um arquivo sadio seja confundido com um vírus. Qual a solução para este problema? Simples, escolher uma nova assinatura. Um único byte modificado numa assinatura poderá fazer com que o antivírus não detecte o vírus. Este método é usado por muitos escritores de vírus, para criar novas variantes de seus vírus e burlar os antivírus. Uma maneira utilizada para reduzir os problemas de falsos-positivos é separar as assinaturas conforme o tipo de arquivo, com isso, uma assinatura separada para um arquivo .DOC do Word por exemplo, não será pesquisada em um arquivo .EXE e vice-versa. |
ComenteVocê não está logado! Clique aqui para fazer o login e poder enviar seu comentário. Ainda não há comentários sobre o Assinaturas de vírus - Parte I. |