Эвристический анализ — это метод обнаружения вирусов путём проверки кода на наличие подозрительных свойств. 1 Он используется для выявления новых или модифицированных угроз, которые ещё не добавлены в базу сигнатур. 5
Один из методов эвристического анализа — статический. 1 Он включает декомпиляцию подозрительной программы и проверку её исходного кода. 1 Затем этот код сравнивается с уже известными вирусами, находящимися в эвристической базе данных. 1 Если определённый процент исходного кода совпадает с чем-либо в эвристической базе данных, код помечается как возможная угроза. 1
Другой метод — динамическая эвристика. 1 Он изолирует подозрительную программу или фрагмент кода внутри специализированной виртуальной машины — или «песочницы» — и даёт антивирусной программе возможность протестировать код и смоделировать, что произойдёт, если разрешить запуск подозрительного файла. 1 Антивирус проверяет каждую команду при её активации и ищет любые подозрительные действия, такие как саморепликация, перезапись файлов и другие действия, характерные для вирусов. 1
Эвристический анализ не обеспечивает гарантированной защиты от новых вирусов, так как в качестве объекта анализа используются сигнатуры ранее известных вирусов. 24 Кроме того, этот метод поиска базируется на эмпирических предположениях, поэтому полностью исключить ложные срабатывания нельзя. 34