Антивирусный сканер
Это программа, предназначенная для проверки оперативной памяти и подключенных носителей. Сканер проверяет код, содержащийся в файлах, сравнивает его со своей антивирусной базой данных и сигнализирует об опасности в случае совпадения. Современные антивирусные сканеры находят и идентифицируют вирусы, даже если они находятся в файловых архивах. Для борьбы со стелс-вирусами они должны иметь собственные средства просмотра, независимые от операционной системы. На практике для этого используются процедуры, зашитые в BIOS.
Для борьбы с полиморфными вирусами сканер может использовать так называемые эвристические алгоритмы. Он имитирует запуск файла и прослеживает цепочки возможных ветвлений процессов, которые при этом образуются. Поскольку полиморфные вирусы занимаются перекодированием собственного кода, антивирусный сканер проходит по декодирующей цепочке, анализирует ее поведение и может, не добираясь до сути конечных операций, предсказать, что в файле не все так чисто, как кажется внешне. В ходе сканирования фиксируются различные «вирусоподобные» фрагменты программного кода, например выполняющие перехват векторов прерываний, запись в программные файлы, изменение загрузочных записей диска и т. д. Эвристические алгоритмы могут предупредить даже о неизвестном и доселе незарегистрированном вирусе. Недостатком эвристического анализа является то, что он может поставить под сомнение совершенно невинный файл, но это лишь теоретически. На практике процент ложных срабатываний намного ниже, чем подлинных.