Estou procurando uma explicação técnica um pouco mais detalhada, ou um site que explique esses detalhes. Sei que existem outras técnicas de digitalização (por exemplo, heurística, etc.), mas estou interessado apenas na abordagem de assinatura de vírus neste momento.
Sempre pensei que uma assinatura de vírus era essencialmente um "vírus" codificado para que o software de AV soubesse qual cadeia de bytes estava procurando em arquivos que ele examinou. Se um software de AV fosse capaz de detectar 100.000 vírus, pensei que (em geral) teria 100.000 assinaturas de vírus em seu banco de dados.
Ontem à noite, escaneei meu PC - ele percorreu 500.000 arquivos em menos de 80 minutos! Se você tem 100.000 assinaturas de vírus, como você pesquisa cada uma contra cada arquivo tão rapidamente?
Percebo que as assinaturas de vírus provavelmente são organizadas em algum tipo de hierarquia de árvore binária para que você realmente não precise procurar por cada assinatura de vírus em cada arquivo - e é claro, se a assinatura de vírus tem 3.000 bytes e o arquivo a ser pesquisado é menor, não há nenhum ponto em escaneá-lo. (Lembre-se, estou considerando apenas o caso geral - sem criptografia complicada, segmentação, etc.)
Minhas hipóteses sobre como isso funciona estão corretas? Você pode explicar como as assinaturas são organizadas quando a varredura é aplicada?
Gostaria de encontrar um site que tenha boas explicações sobre isso, mas até agora só obtive resultados irrelevantes ao pesquisar no Google.
Obrigado pelo seu contributo!