sábado, 11 de agosto de 2007

O que é Heurística ?


As heurísticas foram consideradas durante muito tempo modelos cognitivos por excelência, elas constituem-se como regras baseadas na experiência e no planejamento substituindo as anteriores baseadas na procura algorítmica que chega às soluções corretas depois de ter combinado o problema com todas as soluções possíveis. Os métodos heurísticos procuram um grau tão grande quanto possível de uma ação a uma situação. Assim ela engloba estratégias, procedimentos, métodos de aproximação tentativa/erro, sempre na procura da melhor forma de chegar a um determinado fim. Os processos heurísticos exigem muitas vezes menos tempo que os processos algorítmicos, aproximam-se mais da forma como o ser humano raciocina e chega às resoluções dos problemas, e garantem soluções eficientes.

As pesquisas por heurísticas é uma pesquisa realizada por meio da quantificação de proximidade a um determinado objetivo. Diz-se que se tem uma boa (ou alta) heurística se o objeto de avaliação está muito próximo do objetivo; diz-se de má (ou baixa) heurística se o objeto avaliado estiver muito longe do objetivo. Etimologicamente a palavra heurística vem da palavra grega Heuriskein, que significa descobrir (e que deu origem também ao termo Eureca).

Um algoritmo aproximativo (ou algoritmo de aproximação) é heurístico, ou seja, utiliza informação e intuição a respeito da instância do problema e da sua estrutura para resolvê-lo de forma rápida.

Entretanto, nem todo algoritmo heurístico é aproximativo, ou seja, nem toda heurística tem uma razão de qualidade comprovada matematicamente ou prova formal de convergência. Por este motivo, em várias referências bibliográficas distingue-se os termos algoritmo aproximativo e heurística:

Aproximativo é a denominação do algoritmo que fornece soluções dentro de um limite de qualidade absoluto ou assintótico, assim como um limite assintótico polinomial de complexidade (pior caso) comprovado matematicamente;

Heurística e método heurístico são denominações para o algoritmo que fornece soluções sem um limite formal de qualidade, tipicamente avaliado empiricamente em termos de complexidade (média) e qualidade das soluções.

A heurística é um conjunto de regras e métodos que conduzem à descoberta, à invenção e à resolução de problemas. Também é uma ciência auxiliar da História que estuda a pesquisa das fontes.

Abordagens Heurísticas

  • Se não puder compreender um problema, monte um esquema;
  • Se não puder encontrar a solução, tente fazer um mecanismo inverso para tentar chegar à solução (engenharia reversa);
  • Se o problema for abstrato, tente propor o mesmo problema num exemplo concreto;
  • Tente abordar primeiro um problema mais geral (o paradoxo do inventor: o propósito mais ambicioso é o que tem mais possibilidade de sucesso).

Técnicas das empresas de antivírus

Nos últimos anos, as empresas de antivírus precisaram se esforçar ao máximo para criar novas tecnologias de detecção de vírus. Os antivírus dos anos 80/90 utilizavam técnicas muito diferentes dos atuais. Um exemplo é o modo como são pesquisados os arquivos. Antes, o espaço em disco era limitado a 32 MB, e isso forçava o usuário a possuir poucos dados. Com isto, os antivírus não tinham tanta preocupação em otimizar suas pesquisas, pois rapidamente faziam uma pesquisa completa no HD. Outra peculiaridade era que a contaminação de arquivos estava limitada a poucos tipos de arquivos, tais como .COM e .EXE, e outros poucos métodos de infecção, como o boot e o MBR.

A evolução foi inevitável. Os discos passaram a suportar dezenas de gigabytes, e diversos outros formatos de arquivos puderam ser vítimas de infecções como, por exemplo, .DOC, .XLS, .VBS, etc. Isto fez com que os antivírus mudassem radicalmente os métodos de pesquisa, já que precisariam melhorar a performance e dar suporte a identificação e remoção de vírus em diversos formatos de arquivos. Um exemplo simples de otimização foi a necessidade de separar os tipos de vírus e os tipos de infecções, pois não existe necessidade, por exemplo, de um vírus que infecta arquivos .EXE ser procurado em arquivos do Word ou Excel, e vice-versa.

Atualmente, a maioria dos vírus ainda é detectada através de assinaturas binárias - pequenos blocos de dados utilizados para identificar um determinado vírus. Entretanto, com a maior abrangência dos vírus, foi necessário o desenvolvimento de novas técnicas para identificação, nos casos em que uma pesquisa por assinaturas não era possível. A pesquisa por assinatura é variável conforme o antivírus mas, em geral, são usados de 2 a 255 bytes para identificar um determinado vírus.

Solução Heurística

A heurística é uma técnica utilizada para estudar o comportamento, a estrutura e as características de um arquivo, para defini-lo como suspeito ou não. Ela pode fazer com que o antivírus emita muitos falsos-positivos, mas é uma técnica que se mostrou bastante útil para evitar vírus desconhecidos. Em geral, um vírus que infecta arquivos .EXE age da seguinte forma:

Um arquivo .EXE possui um pequeno cabeçalho, um Entry Point - o ponto onde começa a execução de um programa, e o programa propriamente dito. Após uma infecção, o Entry Point é alterado, de forma que passe a apontar para o código do vírus. Após a execução do vírus, este pula para o Entry Point original do programa, fazendo-o funcionar normalmente. Como a grande maioria dos vírus que infectam .EXE trabalha desta forma, a pesquisa heurística poderia ajudar, bastaria verificar se o Entry Point está fora da seção do código do programa ou se o Entry Point é um JMP. Mas em alguns casos, falsos-positivos são emitidos, pois existem programas comerciais, protetores e compactadores de executáveis que trabalham da mesma forma. Então a heurística, pode ser definida como um complemento da pesquisa, que ajuda na detecção de vírus desconhecidos, mas que não sabe, com certeza, se um arquivo está contaminado ou não, ou seja, heurística não é uma ciência exata.

A heurística consegue identificar de 70% a 90% dos vírus conhecidos e desconhecidos. Podemos dizer que é uma técnica excelente, considerando a complexidade do problema.

Fonte: http://www.istf.com.br/

0 comentários:

by TemplatesForYou
SoSuechtig,Burajiru