Виды антивирусных подпрограмм
Антивирусные программы представляют собой пакеты специализированных подпрограмм, способных при совместном их использовании поставить заслон практически любому виду вредоносных программ.
Типовой перечень функций, которые должны выполнять антивирусные программы:
· сканирование памяти и содержимого дисков по расписанию;
· сканирование памяти компьютера, а также записываемых и читаемых файлов в реальном режиме времени с помощью резидентного модуля;
· выборочное сканирование файлов с измененными атрибутами;
· распознавание поведения, характерного для компьютерных вирусов;
· блокировка и/или удаление выявленных вирусов;
· восстановление зараженных информационных объектов;
· принудительная проверка подключенных к корпоративной сети компьютеров;
· удаленное обновление антивирусного программного обеспечения и баз данных с информацией о вирусах, в том числе автоматическое обновление баз данных по вирусам через Интернет;
· фильтрация трафика Интернета на предмет выявления вирусов в передаваемых программах и документах;
· выявление потенциально опасных Java-апплетов и модулей ActiveX;
· ведение протоколов, содержащих информацию о событиях, касающихся антивирусной защиты.
Для реализации этих функций существуют следующие виды антивирусных подпрограмм: сканеры, программы-детекторы, программы-доктора (фаги), программы-ревизоры, программы-фильтры (сторожа), вакцины (иммунизаторы).
Сканер
Принцип работы антивирусного сканера состоит в том, что он просматривает файлы, оперативную память и загрузочные секторы дисков на предмет наличия вирусных масок, то есть уникального программного кода вируса. Вирусные маски (описания) известных вирусов содержатся в антивирусной базе данных сканера, и если он встречает программный код, совпадающий с одним из этих описаний, то он выдает сообщение об обнаружении соответствующего вируса.
Программы-детекторы
Программы-детекторы обеспечивают поиск и обнаружение вирусов, при этрм используют проверку неизменности файлов путем подсчета и сравнения с эталоном контрольной суммы.. Различают детекторы универсальные и специализированные. Недостаток универсальных детекторов связан с невозможностью определения причин искажения файлов. Специализированные детекторы выполняют поиск известных вирусов по их сигнатуре (повторяющемуся участку кода). Недостаток таких детекторов состоит в том, что они неспособны обнаруживать все известные вирусы.
Детектор, позволяющий обнаруживать несколько вирусов, называют полидетектором.
Недостатком таких антивирусных программ является то, что они могут находить только те вирусы, которые известны разработчикам таких программ.
Программы-доктора (фаги).
Программы-докторане только находят зараженные вирусами файлы, но и "лечат" их, т.е. удаляют из файла тело программы вируса, возвращая файлы в исходное состояние. В начале своей работы фаги ищут вирусы в оперативной памяти, уничтожая их, и только затем переходят к "лечению" файлов. Среди фагов выделяют полифаги, т.е. программы-доктора, предназначенные для поиска и уничтожения большого количества вирусов.
Учитывая, что постоянно появляются новые вирусы, программы-детекторы и программы-доктора быстро устаревают, и требуется регулярное обновление их версий.
Программы-ревизоры.
Программы-ревизоры запоминают исходное состояние программ, каталогов и системных областей диска тогда, когда компьютер не заражен вирусом, а затем периодически или по желанию пользователя сравнивают текущее состояние с исходным. Обнаруженные изменения выводятся на экран монитора. Как правило, сравнение состояний производят сразу после загрузки операционной системы. При сравнении проверяются длина файла, код циклического контроля (контрольная сумма файла), дата и время модификации, другие параметры.
Программы-ревизоры имеют достаточно развитые алгоритмы, обнаруживают стелс-вирусы и могут даже отличить изменения версии проверяемой программы от изменений, внесенных вирусом.