Como o software antivírus sabe que determinado arquivo é um vírus? Existem várias maneiras de determinar que um software é um arquivo malicioso, também conhecido como malware ou, mais popularmente, vírus.

Vejamos os principais métodos de detecção:

A detecção por assinatura. 

A detecção de vírus por assinatura usa um método muito simples de ser compreendido por leigos. Após receber uma cópia do arquivo e verificar o que ele faz no computador (suas ações, APIs que executam, processos que iniciam) e encontrar indícios, um laboratório de análise de vírus determina que aquele arquivo ou programa é malicioso.

Então, o laboratório de vírus tira um hash do arquivo, uma identificação única do mesmo (como uma assinatura eletrônica) e adiciona esse hash à lista de definições da aplicação antivírus.  Uma vez assinado, podemos alterar o nome do arquivo e sua extensão, mas o hash será sempre o mesmo. Portanto, se um arquivo malicioso utilizar várias extensões diferentes, para o antivírus não importa. Se for classificado como malware, será detectado independentemente da extensão, pois o que vale é a sua assinatura.

As empresas usam algoritmos próprios que aceleram a detecção de potenciais arquivos maliciosos. Além disso, é feita uma otimização do processo de varredura de arquivos; em milissegundos, o sistema de detecção deve comparar o hash dos arquivos em um diretório com milhões de assinaturas conhecidas. Algoritmos próprios evitam o mais terrível dos problemas: falsos positivos.

Quando uma empresa detecta “por engano” um arquivo válido, situações muito ruins podem acontecer. Imagine detectar o “explorer.exe” como vírus? O computador nem vai entrar em operação, devido à remoção do arquivo. Pense em um administrador de rede com 10.000 máquinas com o “explorer.exe” indo para a quarentena devido a um erro. Chega a ser mais problemático do que o vírus em si.

Heurística

A palavra “heurística” tem origem no grego; escrita originalmente como “Εὑρίσκω”, seu significado é “descoberta”, porém o vocábulo mais comumente usado nesse sentido é “eureka” (que tem a mesma origem etimológica).

Todos os antivírus comerciais têm sua máquina de detecção heurística, que pode ter maior ou menor importância dentro da aplicação; também conhecida com “heuristic engine”, ela é a maior causadora de um velho e conhecido problema dos antivírus – deixa o PC novinho em folha, porém mais lerdo que uma carroça. Por que isso acontece?

Diferentemente da detecção por assinatura, que usa um hash único para um código malicioso conhecido, a Heurística compara assinaturas conhecidas usando dados genéricos sobre elas.
Por exemplo: A detecção heurística detecta dois vírus “genéricos”, sem assinatura conhecida. Através da comparação com um código conhecido de vírus consegue determinar se aquele arquivo ou programa pode ser um vírus.

Essa estratégia é muito eficaz, já que boa parte dos códigos maliciosos encontrados na Internet não são únicos e nem originais – e sim cópias de códigos feitos por especialistas, editados para mudar seu conteúdo e, consequentemente, gerando um novo hash para os vírus.  Portanto, ao descobrir um malware, podem ser descobertos também muitos “irmãos” deles, sem nunca nem tê-los visto; somente comparando-os através da heurística computacional. Apesar no nome incomum essa técnica nada mais é do que a comparação entre elementos que já existem.

Detecção por comportamento ou Behavior Detection

Softwares antivírus tiveram grandes avanços tecnológicos nos últimos 20 anos, desde que o os vírus começaram a se espalhar em uma “era” pré-Internet. Quem tem 15 anos ou mais de Informática deve lembrar que era uma correria danada para conseguir o disquete com o novo DAT do antivírus mais atualizado ou compartilhar um novo executável das grandes empresas de segurança contra malwares.

Sem dúvida, estávamos na “era do gelo” da proteção antivírus. Com o passar do tempo, além da verificação de arquivos (processo popularmente chamado de scan), outras ferramentas foram acrescentadas, como a proteção residente, proteção de e-mails, proteção on-line, etc.

Como os novos antivírus fazem isso?

É de conhecimento público o comportamento que boa parte dos vírus toma ao infectar uma máquina qualquer com o sistema operacional Windows. Os desenvolvedores de vírus, principalmente os de cavalos de troia e droppers, usam a mesma sequência de processos e chaves dentro do Windows para fazer a varredura de senhas, downloads, zumbis etc. Então, a detecção por comportamento verifica a sequência de processos e determina se aquele processo monitorado é ou não um vírus.

Para resumir imagine que você está está desconfiado de que uma pessoa é um ladrão de carros. Então:

  • Se essa pessoa tiver ficha na polícia por furto/roubo de carros, certamente é um ladrão de carros. Isso é detecção por assinatura, pois, graças a um furto anterior, você deduziu e determinou que ele rouba carros;
  • Se ela não tem ficha na polícia, mas existe um conhecido ladrão com o nome muito parecido e com o mesmo endereço e tipo físico, provavelmente eles são a mesma pessoa: detecção heurística. Suas características são tão parecidas que permitem determinar que ele é a mesma pessoa de quem você está desconfiado;
  • Se não tem ficha na polícia nem nenhum indício que comprove que ele é um ladrão de carros, mas a pessoa comporta-se como tal, andando com chaves variadas, olhando seu carro com jeito estranho, sabe tudo de alarmes de carros e de como desativá-los: detecção por comportamento, por não termos assinatura (ficha) nem heurística (dados semelhantes), mas, devido seu comportamento, determinamos que ele é mesmo um ladrão de carros.

É desnecessário dizer que a detecção por comportamento pode dar muitos falsos positivos e que a possibilidade de detectar algo errado é bastante alta. Por isso, essa tecnologia não é usada pela maioria dos antivírus e somente empresas que sabem muito bem o que estão fazendo incluem essa tecnologia em seus produtos.

Conheça o ranking dos melhores antivírus do 2º semestre de 2013 clicando AQUI.

Antivírus – Como eles atuam?

Post navigation


Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

*