Como Agem os Anti-Vírus
Os programas anti-vírus agem, principalmente, lançando mão de 4 formas
diferentes, para conseguir detectar o máximo de vírus possível.
- Escaneamento de vírus conhecidos
Este é o método mais antigo, e ainda hoje um dos principais métodos
utilizados por todos os programas anti-vírus do mercado.
Envolve o escaneamento em busca de vírus já conhecidos, isto é aqueles
vírus que já são conhecidos das empresas de anti-vírus.
Uma vez que as empresas recebem uma amostra de um vírus eles o
desassemblam para que seja separada uma string (um grupo de caracteres
seqüenciais) dentro do código viral que só seja encontrada nesse vírus,
e em nenhum programa normal à venda no mundo. Essa string, uma espécie
de impressão digital do vírus, passa a ser distribuída semanalmente
pelos fabricantes, dentro de suas vacinas.
O "engine" do anti-vírus usa esse verdadeiro banco dedados de strings
para ler cada arquivo do disco, um a um, do mesmo modo que o sistema
operacional lê cada arquivo para carregá-lo na memória e/ou executá-lo.
Se ele encontrar alguma das strings, identificadoras de vírus, o
anti-vírus envia um alerta para o usuário, informando da existência do
vírus.
Esse método não pode, entretanto, ser o único que o anti-vírus deva
utilizar. Confiar apenas no conhecimento de vírus passados, pode ser
pouco, deixando o usuário totalmente à descoberto quanto a novos vírus.
Assim os fabricantes de anti-vírus passaram a utilizar de métodos
adicionais, que permitissem detectar vírus novos, onde o escaneamento
citado neste tópico não está ainda disponível.
Os programas anti-vírus agora lançam mão do sensoreamento heurístico,
isto é, a análise do código de cada programa que esteja sendo executado
em memória (lembrete: todos os programas são executados em memória
RAM!), ou quando um escaneamento sob demanda for solicitado pelo
usuário. O "engine" varre os programas em busca de códigos assembler que
indicam uma instrução que não deva ser executada por programas normais,
mas que um vírus pode executar.
Um exemplo seria a descoberta de uma instrução dentro de um arquivo que
faça uma chamada para a gravação dentro de um arquivo executável.
Este é um processo muito complexo, e sujeito a erros, pois algumas vezes
um executável precisa gravar sobre ele mesmo, ou sobre outro arquivo,
dentro de um processo de reconfiguração, por exemplo. O próprio programa
anti-vírus deve pesar muito bem o risco/autenticidade desse tipo de
instrução, antes de soar o alarme. Além disso, ou por culpa disso, o
usuário deve compreender que em algumas situações poderá receber falsos
alarmes - o que no jargão do mercado é chamado de FALSO POSITIVO (um
aviso de vírus é dado, mas ele na verdade é falso - isto é: não é
verdadeiro).
Os anti-vírus devem monitorar constantemente as operações que são
executadas a cada instante no computador, visualizando acessos a
arquivos e sinais de atividades suspeitas, tal como um arquivo tentando
se auto-copiar em outros arquivos.
Embora sujeitas a erros, como aliás nós ficamos quando vemos uma pessoa
desconhecida se aproximar de uma criança. Como avaliar com certeza se
essa pessoa tem ou não boas intenções nesse acesso à criança?
Alguns programas anti-vírus usam uma tática diferente das anteriores,
através da aplicação de algoritmos descritos em suas vacinas.
Vamos dar um exemplo. A busca à string 0A071A20 para detectar um vírus
fictício:
SE este é arquivo de extensão COM
E SE ele tem mais de 900 bytes
E SE há uma instrução de salto para 597 bytes antes do final do arquivo
E SE a string 0A071A20 aparece nesta localização
ENTÃO abra uma janela de alerta "Vírus XXYYZZ.597 foi encontrado"
Esse método é mais eficaz que o primeiro método, porém leva a um código
muito maior para as vacinas e engines, além de consumir maior tempo para
escanear todo o computador.
Além dos métodos de escaneamento existem outras técnicas possíveis, tal
como a técnica de checagem de integridade. Essa técnica cria um
banco-de-dados, com o registro dos dígitos verificadores para cada
arquivo existente no disco, que é salvo no disco para comparações
posteriores.
Mais tarde, quando executada novamente esta checagem, o banco-de-dados é
utilizado para conferir que nenhuma alteração, nem mesmo de um único
byte, seja encontrada. Em se encontrando algum arquivo que o novo digito
verificador não bata com o gravado anteriormente, é dado o alarme da
possível existência de um arquivo contaminado.
Obviamente o usuário deverá aquilatar se o real motivo dessa alteração
seja devido a uma atividade suspeita, ou se foi causada simplesmente por
uma nova configuração, efetuada recentemente, e portanto legítima.
Todos esses métodos têm bom e maus pontos de vista. Para bloquear
qualquer possibilidade de atividade de vírus, os programas de anti-vírus
têm de fazer seu computador até mesmo inconveniente de utilizar.
Mesmo assim você ainda não terá NUNCA a certeza absoluta da garantia da
segurança 100%.
Além disso os vírus, e seus companheiros trojans e worms, não são a
única explicação das causas de perdas de dados e/ou programas em seu
micro. Assim é ESSENCIAL que você utilize freqüentemente - se possível
diariamente - um bom programa de backup. A única maneira de você poder
ter seus arquivos de volta, com certeza mesmo.
|