Сравнение строк / подписей антивирусов - PullRequest
1 голос
/ 06 октября 2011

Соответствует ли антивирусное ПО на основе сигнатур каждому сканируемому в настоящее время файлу всем строкам / сигнатурам, существующим в базе данных? Нужно ли проходить через все подписи, чтобы сравнить их с файлом? Сравнение выполняется из «базы данных в файл», а не из «файла в базу данных», это правда?

Второй вопрос: возможно ли сначала извлечь из файла строку / подпись (НЕ хэш для всего файла) AV-движком, а затем посмотреть, находится ли эта строка в базе данных или нет? Есть ли у кого-нибудь известный AV такой способ?

1 Ответ

2 голосов
/ 06 октября 2011

Как правило, это делается для того, чтобы база данных известных вирусных сигнатур использовалась для создания конечного автомата (часто что-то очень похожее на алгоритм поиска строк Aho-Corasick ).Затем каждый проверяемый файл запускается через конечный автомат.Это оказывается удивительно быстрым, так как все соответствующие сигнатуры вирусов могут быть найдены за один проход через файл.

...