Эвристический анализатор AVZ

Антивирусная программа производит поиск вирусов и вредоносных объектов на основании сравнения исследуемой программы со своей базой данных с описаниями вирусов. При обнаружении соответствия антивирус может производить лечение найденного вируса, причем правила и методики лечения обычно хранятся в той же базе данных.
 
Однако эта база данных становится уязвимым местом антивируса - он может обнаруживать только вирусы, описанные в его базе данных. Частично устранить эту проблему позволяет эвристический анализатор - специальная подсистема антивируса, которая пытается обнаружить новые разновидности вирусов, не описанные в базе данных.  Кроме вирусов эвристический анализатор AVZ пытается обнаружить шпионское ПО, Hijacker и троянские программы.
 
Работа эвристического анализатора основана на поиске характерных для вирусов и шпионских программ особенностей  (фрагментов программного кода, определенных ключей реестра, файлов и процессов). Кроме того, эвристический анализатор пытается оценить степень похожести исследуемого объекта на известные вирусы.
 
Для поиска шпионского ПО, RootKit и Hijacker наиболее эффективен эвристический анализ не отдельно взятых файлов на диске, а всей системы в целом. При этом анализируется совокупность данных в реестре, файлов на диске, процессов и библиотек  в памяти, прослушиваемых TCP и UDP портов, активных сервисов и загруженных драйверов.
 
Особенностью эвристического анализа является достаточно высокий процент ошибок - эвристик может сообщить об обнаружении подозрительных объектов, но эта информация нуждается в проверке специалистами-вирусологами. В результате проверки объект признается вредоносным и включается в базы или фиксируется ложное срабатывание и в алгоритмы эвристического анализатора вводится поправка.  
 
В большинстве антивирусов (в том числе и в AVZ) имеется возможность регулировки чувствительности эвристического анализатора. При этом всегда возникает противоречие - чем выше чувствительность, тем выше вероятность обнаружения эвристикой неизвестного вредоносного объекта. Но при увеличении чувствительности возрастает вероятность ложных срабатываний, поэтому нужно искать некую "золотую середину".
Эвристический анализатор имеет несколько ступеней чувствительности и два особых режима:
·блокировка работы эвристического анализатора. При этом анализатор полностью выключается из работы. В AVZ кроме регулировки уровня чувствительности эвристического анализатора есть возможность включать и выключать эвристический анализ системы;
·"параноидальный" режим - в этом режиме включается максимально возможная чувствительность и предупреждения выводятся при малейшем подозрении. Этот  режим естественно неприемлем из-за очень высокого количества ложных срабатываний, но он иногда полезен.
 
Основные сообщения эвристического анализатора AVZ приведены в следующем списке:
·"Имя файла >>> подозрение на имя_вируса (краткие данные об объекте)" Подобное сообщение выдается при обнаружении объекта, который по мнению AVZ похож на известный вредоносный объект. Данные в скобках позволяют разработчику найти в базе антивируса запись, которая привела к выдаче данного сообщения;
·"Имя файла >>> PE файл с нестандартным расширением" - это означает, что обнаружен программный файл, но вместо типичного расширения EXE, DLL, SYS он имеет другое, нестандартное расширение. Это не опасно, но многие вирусы маскируют свои PE файлы, давая им расширения PIF, COM. Данное сообщение выводится в любом уровне эвристики для PE файлов с расширением PIF, COM , для остальных - только при максимальном уровне эвристики;
·"Имя файла >>> В имени файла больше 5 пробелов" - множество пробелов в имени файла - это редкость, однако многие вирусы применяют пробелы для маскировки реального расширения, создавая файлы с именами типа "photo.jpeg                             .exe";
·"Имя файла >>> Обнаружена маскировка расширения" - аналогично предыдущему сообщению, но выдается при обнаружении более 15 пробелов в имени;
·"Имя файла >>>  файл не имеет видимого имени" - выдается для файлов, не имеющих имени (т.е. имя файла имеет вид ".exe" или ".pif");
·"Процесс Имя файла может работать с сетью" - выводится для процессов, которые используют библиотеки типа wininet.dll, rasapi32.dll, ws2_32.dll - т.е. системные библиотеки, содержащие функции для работы с сетью или управления процессом набора номера и установления соединения. Данная проверка производится только при максимальном уровне эвристики. Факт использования сетевых библиотек естественно не является признаком вредоносности программы, но обратить внимание на непонятные процессы в этом списке стоит;
 
После сообщения может выводиться цифра, которая представляет собой степень опасности в процентах. На файлы, для которых выдана степень опасности более 30, следует обратить особое внимание.