sábado, 6 de outubro de 2007
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. Abaixo resumimos - de forma bem resumida - esses métodos.
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-de-dados 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.
Sensoreamento Heurístico
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?
Busca Algorítmica
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.
Checagem de Integridade
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.
Fonte: http://www.pypbr.com/infovir/anti-virus.asp
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-de-dados 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.
Sensoreamento Heurístico
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?
Busca Algorítmica
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.
Checagem de Integridade
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.
Fonte: http://www.pypbr.com/infovir/anti-virus.asp
Assinar:
Postagens (Atom)