Программы-детекторы: что это такое в сфере антивирусной защиты? Антивирусы Всегда ли детектор распознает зараженную программу

ПРОГРАММЫ ОБНАРУЖЕНИЯ И ЗАЩИТЫ ОТ ВИРУСОВ

Для обнаружения, удаления и защиты от компьютерных вирусов разработано несколько видов специальных программ, которые позволяют обнаруживать и уничтожать вирусы. Такие программы называются антивирусными.

Различают следующие виды антивирусных программ (рис. 11.11):

§ программы-детекторы;

§ программы-доктора или фаги;

§ программы-ревизоры;

§ программы-фильтры;

§ программы-вакцины или иммунизаторы.

Рис. 11.11. Виды антивирусных программ

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

Программы-доктора или фаги, а также программы-вакцины не только находят зараженные вирусами файлы, но и "лечат" их, т.е. удаляют из файла тело программы вируса, возвращая файлы в исходное состояние. В начале своей работы фаги ищут вирусы в оперативной памяти, уничтожая их, и только затем переходят к "лечению" файлов. Среди фагов выделяют полифаги, т.е. программы-доктора, предназначенные для поиска и уничтожения большого количества вирусов. Наиболее известными полифагами являются программы Aidstest, Scan, Norton AntiVirus и Doctor Web.

Учитывая, что постоянно появляются новые вирусы, программы-детекторы и программы-доктора быстро устаревают, и требуется регулярное обновление их версий.

Программы-ревизоры относятся к самым надежным средствам защиты от вирусов. Ревизоры запоминают исходное состояние программ, каталогов и системных областей диска тогда, когда компьютер не заражен вирусом, а затем периодически или по желанию пользователя сравнивают текущее состояние с исходным. Обнаруженные изменения выводятся на экран видеомонитора. Как правило, сравнение состояний производят сразу после загрузки операционной системы. При сравнении проверяются длина файла, код циклического контроля (контрольная сумма файла), дата и время модификации, другие параметры. Программы-ревизоры имеют достаточно развитые алгоритмы, обнаруживают стелс-вирусы и могут даже отличить изменения версии проверяемой программы от изменений, внесенных вирусом. К числу программ-ревизоров относится широко распространенная в России программа ADinf фирмы "Диалог-Наука".

Программы-фильтры или "сторожа" представляют собой небольшие резидентные программы, предназначенные для обнаружения подозрительных действий при работе компьютера, характерных для вирусов. Такими действиями могут являться:



§ попытки коррекции файлов с расширениями СОМ и ЕХЕ;

§ изменение атрибутов файлов;

§ прямая запись на диск по абсолютному адресу;

§ запись в загрузочные сектора диска;

При попытке какой-либо программы произвести указанные действия "сторож" посылает пользователю сообщение и предлагает запретить или разрешить соответствующее действие. Программы-фильтры весьма полезны, так как способны обнаружить вирус на самой ранней стадии его существования до размножения. Однако они не "лечат" файлы и диски. Для уничтожения вирусов требуется применить другие программы, например фаги. К недостаткам программ-сторожей можно отнести их "назойливость" (например, они постоянно выдают предупреждение о любой попытке копирования исполняемого файла), а также возможные конфликты с другим программным обеспечением. Примером программы-фильтра является программа Vsafe, входящая в состав пакета утилит операционной системы MS DOS.

Вакцины или иммунизаторы - это резидентные программы, предотвращающие заражение файлов. Вакцины применяют, если отсутствуют программы-доктора, "лечащие" этот вирус. Вакцинация возможна только от известных вирусов. Вакцина модифицирует программу или диск таким образом, чтобы это не отражалось на их работе, а вирус будет воспринимать их зараженными и поэтому не внедрится. В настоящее время программы-вакцины имеют ограниченное применение.

Своевременное обнаружение зараженных вирусами файлов и дисков, полное уничтожение обнаруженных вирусов на каждом компьютере позволяют избежать распространения вирусной эпидемии на другие компьютеры.

Антивирусный комплект АО "Диалог-Наука"

Среди обилия современных программных средств борьбы с компьютерными вирусами предпочтение следует отдать антивирусному комплекту АО "Диалог-Наука", в который входят четыре программных продукта: полифаги Aidstest и Doctor Web (сокращенно Dr.Web), ревизор диска ADinf и лечащий блок ADinf Cure Module. Рассмотрим кратко, как и когда надо применять эти антивирусные программы.

Программа-полифаг Aidstest. Aidstest – это программа, которая умеет обнаруживать и уничтожать более 1300 компьютерных вирусов, получивших наиболее широкое распространение в России. Версии Aidstest регулярно обновляются и пополняются информацией о новых вирусах.

Для вызова Aidstest следует ввести команду:

AIDSTEST []

где path - имя диска, полное имя или спецификация файла, маска группы файлов:

* – все разделы жесткого диска,

** – все диски, включая сетевые и диски CD ROM;

options - любая комбинация следующих ключей:

/F - исправлять зараженные программы и стирать испорченные;

/G – проверять все файлы подряд (не только СОМ, ЕХЕ и SYS);

/S – медленная работа для поиска испорченных вирусов;

/X – стирать все файлы с нарушениями в структуре вируса;

/Q – спрашивать разрешение на удаление испорченных файлов;

/В – не предлагать обработку следующей дискеты.

Пример 11.27. Aidstest для проверки и "лечения" диска В:. Обнаруженные зараженные программы будут исправлены. Проверке подлежат все файлы диска. Если файл исправить не удастся, то программа будет просить разрешение на его удаление:

aidstest b: /f /g /q

Программа-полифаг Doctor Web. Эта программа предназначена прежде всего для борьбы с полиморфными вирусами, которые сравнительно недавно появились в компьютерном мире. Использование Dr. Web для проверки дисков и удаления обнаруженных вирусов в целом подобно программе Aidstest. При этом дублирования проверки практически не происходит, так как Aidstest и Dr. Web работают на разных наборах вирусов.

Программа Dr. Web может эффективно бороться со сложными вирусами-мутантами, которые оказываются не под силу программе Aidstest. В отличие от Aidstest программа Dr. Web способна обнаруживать изменения в собственном программном коде, эффективно определять файлы, зараженные новыми, неизвестными вирусами, проникая в зашифрованные и упакованные файлы, а также преодолевая "вакцинное прикрытие". Это достигается благодаря наличию достаточно мощного эвристического анализатора.

В режиме эвристического анализа программа Dr.Web исследует файлы и системные области дисков, пытаясь обнаружить новые или неизвестные ей вирусы по характерным для вирусов кодовым последовательностям. Если таковые будут найдены, то выводится предупреждение о том, что объект, возможно, инфицирован неизвестным вирусом.

Предусмотрены три уровня эвристического анализа. В режиме эвристического анализа возможны ложные срабатывания, т.е. детектирование файлов, не являющихся зараженными. Уровень "эвристики" подразумевает собой уровень анализа кода без наличия ложных срабатываний. Чем выше уровень "эвристики", тем выше процент наличия ошибок или ложных срабатываний. Рекомендуются первые два уровня работы эвристического анализатора.

Третий уровень эвристического анализа предусматривает дополнительную проверку файлов на "подозрительное" время их создания. Некоторые вирусы при заражении файлов устанавливают некорректное время создания, как признак зараженности данных файлов. Например, для зараженных файлов секунды могут иметь значение 62, а год создания может быть увеличен на 100 лет.

В комплект поставки антивирусной программы Dr. Web могут входить также файлы-дополнения к основной вирусной базе программы, расширяющие ее возможности.

Работать с программой Dr. Web можно в двух режимах:

§ в режиме полноэкранного интерфейса с использованием меню и диалоговых окон;

§ в режиме управления через командную строку.

Для разового нерегулярного применения более удобен первый режим, но для регулярного применения с целью систематического входного контроля дискет лучше применять второй режим. При использовании второго режима соответствующая команда запуска Dr. Web должна быть включена либо в меню пользователя операционной оболочки Norton Commander, либо в специальный командный файл.

Командная строка для запуска Dr. Web выглядит следующим образом:

DrWeb [диск: [путь] ] [ключи]

где диск:

X: - логическое устройство жесткого диска или физическое устройство гибкого диска, например F: или А:,

* - все логические устройства на жестком диске,

путь - это путь или маска требуемых файлов.

Наиболее важные ключи:

/AL - диагностика всех файлов на заданном устройстве;

/CU[P] - "лечение" дисков и файлов, удаление найденных вирусов;

Р - удаление вирусов с подтверждением пользователя;

/DL - удаление файлов, корректное лечение которых невозможно;

/НА[уровень] - эвристический анализ файлов и поиск в них неизвестных вирусов, где уровень

может принимать значения 0, 1, 2;

/RР[имя файла] – запись протокола работы в файл (по умолчанию в файл REPORT.WEB);

/CL - запуск программы в режиме командной строки, при тестировании файлов и

системных областей не используется полноэкранный интерфейс;

/QU - выход в DOS сразу после тестирования;

/? – вывод на экран краткой справки.

Если в командной строке Dr.Web не указано ни одного ключа, то вся информация для текущего запуска будет считываться из файла конфигурации DRWEB.INI, расположенного в том же каталоге, что и файл DRWEB.EXE. Файл конфигурации создается в процессе работы с программой Dr. Web с помощью команды сохранения параметров, необходимых для тестирования.

Пример 11.28. Запуск антивирусной программы Dr.Web для проверки и лечения диска В:. Обнаруженные зараженные файлы будут "вылечены". Проверке подлежат все файлы диска. Если файл "вылечить" не удастся, то программа будет просить разрешение на его удаление. Для поиска вирусов должен использоваться эвристический уровень анализа 1. Программа должна выполняться только в режиме командной строки с выходом в DOS после завершения тестирования:

DrWeb В: /AL /CUP /HA1 /QU / CL

Методы защиты.

Определение антивирусных программ и их классификация.

Каким бы ни был вирус, пользователю необходимо знать основ­ные методы защиты от компьютерных вирусов.

Для защиты от вирусов можно использовать:

Общие средства защиты информации, которые полезны также как и страховка от физической порчи дисков, неправильно работа­ющих программ или ошибочных действий пользователя;

Профилактические меры, позволяющие уменьшитьвероят­ность заражения вирусом;

Специализированные программы для защиты от вирусов. Имеются две основные разновидности общих средств защиты информации, обеспечивающие:

Копирование информации - создание копий файлов и сис­темных областей дисков;

Разграничение доступа, которое предотвращает несанкциони­рованное использование информации, в частности защиту от изме­нений программ и данных вирусами, неправильно работающими программами и ошибочными действиями пользователей.

Для обнаружения, удаления и защиты от компьютерных вирусов разработано несколько видов специальных программ, которые по­зволяют обнаруживать и уничтожать вирусы. Такие программы на­зываются антивирусными. Различают следующие виды антивирус­ных программ:

Программы-детекторы;

Программы-доктора или фаги;

Программы-ревизоры;

Программы-фильтры;

Программы-вакцины или иммунизаторы.

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

Программы-доктора или фаги, а также программы-вакцины не только находят зараженные вирусами файлы, но и «лечат» их, т. е. удаляют из файла тело программы-вируса, возвращая файлы в ис­ходное состояние. В начале своей работы фаги ищут вирусы в опе­ративной памяти, уничтожая их, и только затем переходят к «лече­нию» файлов. Среди фагов выделяют полифаги, т. е. програм­мы-доктора, предназначенные для поиска и уничтожения большого количества вирусов. Наиболее известные из них: Aidstest, Scan, Nor­ton AntiVirus, Doctor Web.

Учитывая, что постоянно появляются новые вирусы, програм­мы-детекторы и программы-доктора быстро устаревают, и требуется регулярное обновление версий.

Антивирусы-полифаги - наиболее распространенные средства по борьбе с вредоносными программами. Исторически они появи­лись первыми и до сих пор удерживают несомненное лидерство в этой области.

В основе работы полифагов стоит простой принцип - поиск в программах и документах знакомых участков вирусного кода (так называемых сигнатур вирусов). В общем случае сигнатура - это та­кая запись о вирусе, которая позволяет однозначно идентифициро­вать присутствие вирусного кода в программе или документе. Чаще всего сигнатура - это непосредственно участок вирусногокода или его контрольная сумма (дайджест).



Первоначально антивирусы-полифаги работали по очень про­стому принципу - осуществляли последовательный просмотр фай­лов на предмет нахождения в них вирусных программ. Если сигна­тура вируса была обнаружена, то производилась процедура удаления вирусного кода из тела программы или документа. Прежде чем на­чать проверку файлов, программа-фаг всегда проверяет оперативную память. Если в оперативной памяти оказывается вирус, то про­исходит его деактивация. Это вызвано тем, что зачастую вирусные программы производят заражение тех программ, которые запуска­ются или открываются в тот момент, когда вирус находится в актив­ной стадии (это связано со стремлением экономить на усилиях по поиску объектов заражения). Таким образом, если вирус останется активным в памяти, то тотальная проверка всех исполняемых фай­лов приведет к тотальному заражению системы.

В настоящее время вирусные программы значительно усложни­лись. Например, появились так называемые «stealth-вирусы». В основе их работы лежит тот факт, что операционная система при обращении к периферийным устройствам (в том числе и к жестким дискам) использует механизм прерываний. Здесь необходимо сде­лать небольшое отступление на тему «Как работает механизм пре­рываний». При возникновении прерывания управление передается специальной программе - «Обработчику прерываний». Эта про­грамма отвечает за ввод и вывод информации в/из периферийного устройства. Кроме того, прерывания делятся на уровни взаимодей­ствия с периферией (в нашем случае - с жесткими и гибкими дис­ками). Есть уровень операционной системы (в среде MS DOS - прерывание 25h), есть уровень базовой системы ввода/вывода (уровень BIOS - прерывание 13h). Опытные системные программисты могут работать и напрямую, обращаясь к портам ввода/вывода устройств. Но это довольно серьезная и трудная задача. Столь мно­гоуровневая система сделана, прежде всего, с целью сохранения пе­реносимости приложений. Именно благодаря такой системе, ска­жем, оказалось возможным осуществлять запуск DOS-приложений в многозадачных средах типа MS Windows или IBM OS/2.

Но в такой системе изначально скрыта и уязвимость: управляя обработчиком прерываний, можно управлять потоком информа­ции от периферийного устройства к пользователю. Stealth-вирусы, в частности, используют механизм перехвата управления при воз­никновении прерывания. Заменяя, оригинальный обработчик пре­рывания своим кодом, stealth-вирусы контролируют чтение дан­ных с диска.

В случае, если с диска читается зараженная программа, вирус «выкусывает» собственный код (обычно код не буквально «выкусы­вается», а происходит подмена номера читаемого сектора диска). В итоге пользователь получает для чтения «чистый» код. Таким об­разом, до тех пор, пока вектор обработчика прерываний изменен вирусным кодом, сам вирус активен в памяти компьютера, обнару­жить его простым чтением диска средствами операционной систе­мы невозможно. Схожий механизм маскировки используется и за­грузочными вирусами, о которых будет сказано дальше. В целях борьбы со stealth-вирусами ранее рекомендовалось (и, в принципе, рекомендуется и сейчас) осуществлять альтернативную загрузку си­стемы с гибкого диска и только после этого проводить поиск и уда­ление вирусных программ. В настоящее время загрузка с гибкого диска может оказаться проблематичной (для случая с Win32 - ан­тивирусными приложениями запустить их не удастся). Ввиду всего вышесказанного, антивирусы-полифаги оказываются максимально эффективными только при борьбе с уже известными вирусами, то есть с такими, чьи сигнатуры и методы поведения знакомы разра­ботчикам.

Только в этом случае вирус со 100%-ной точностью будет обна­ружен и удален из памяти компьютера, а потом - и из всех прове­ряемых файлов. Если же вирус неизвестен, то он может достаточно успешно противостоять попыткам его обнаружения и лечения. По­этому главное при пользовании любым полифагом - как можно чаще обновлять версии программы и вирусные базы.

Особняком тут стоят так называемые эвристические анализато­ры. Дело в том, что существует большое количество вирусов, алго­ритм которых практически скопирован с алгоритма других вирусов.

Как правило, такие вариации создают непрофессиональные про­граммисты, которые по каким-то причинам решили написать вирус. Для борьбы с такими «копиями» и были придуманы эвристические анализаторы. С их помощью антивирус способен находить подоб­ные аналоги известных вирусов, сообщая пользователю, что у него, похоже, завелся вирус. Естественно, надежность эвристического анализатора не 100 %, но все же его коэффициент полезного дейст­вия больше 50 %. Вирусы, которые не распознаются антивирусны­ми детекторами, способны написать только наиболее опытные и квалифицированные программисты.

Эвристическим анализатором кода называется набор подпрог­рамм, анализирующих код исполняемых файлов, памяти или загру­зочных секторов для обнаружения в нем разных типов компьютер­ных вирусов. Основной частью эвристического анализатора являет­ся эмулятор кода. Эмулятор кода работает в режиме просмотра, то есть его основная задача - не выполнять код, а выявлять в нем все­возможные события, т. е. совокупность кода или вызов определен­ной функции операционной системы, направленные на преобразо­вание системных данных, работу с файлами, или обнаруживать час­то используемые вирусные конструкции. Грубо говоря, эмулятор просматривает код программы и выявляет те действия, которые эта программа совершает. Если действия этой программы укладываются в какую-то определенную схему, то делается вывод о наличии в программе вирусного кода.

Конечно, вероятность, как пропуска, так и ложного срабатыва­ния весьма высока. Однако, правильно используя механизм эвристи­ки, пользователь может самостоятельно прийти к верным выводам. Например, если антивирус выдает сообщение о подозрении на ви­рус для единичного файла, то вероятность ложного срабатывания весьма высока. Если же такое повторяется на многих файлах (а до этого антивирус ничего подозрительного в этих файлах не обнару­живал), то можно говорить о заражении системы вирусом с вероят­ностью, близкой к 100 %. Наиболее мощным эвристическим анали­затором в настоящее время обладает антивирус Dr.Web.

Использование эвристического анализатора, помимо всего вы­шеперечисленного, позволяет также бороться с вирус-генераторами и полиморфными вирусами.

Классический метод определения вирусов по сигнатуре в этом "случае вообще оказывается неэффективен. Вирус-генераторы - это специализированный набор библиотек, который позволяет пользо­вателю легко сконструировать свой собственный вирус, даже имея слабые познания в программировании. К написанной программе, подключаются библиотеки генератора, вставляются в нужных мес­тах вызовы внешних процедур - и вот элементарный вирус превра­тился в достаточно сложный продукт. Самое печальное, что в этом случае сигнатура вируса будет каждый раз другая, поэтому отследить вирус оказывается возможным только по характерным вызовам внешних процедур - а это уже работа эвристического анализатора. Полиморфный вирус имеет еще более сложную структуру. Само тело вируса видоизменяется от заражения к заражению, при этом сохраняя свое функциональное наполнение.

В простейшем случае - если разбросать в теле вируса случай­ным образом ничего не исполняющие, пустые операторы (типа «mov ax, ax» или «пор»), то тело вирусного кода претерпит значи­тельные изменения, а алгоритм останется прежним. В этом случае на помощь также приходит эвристический анализатор.

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

Иммунизаторы выделяются двух видов: иммунизаторы, оповещающие о заражении, и иммунизаторы, не допускающие заражение каким-либо вирусом. Первые чаще всего записываются в конце файлов и каждый раз при запуске файла проверяют его на изменение. Второй тип иммунизации охраняет систему от поражения вирусом какого-то определенного вида.

Программы-фильтры

Программы-фильтры, которые тоже называются резидентными сторожами и мониторами, всегда находятся в оперативной памяти и перехватывают заданные прерывания для того, чтобы проверить их на подозрительные действия. Также они способны блокировать «опасные» действия или выдавать запрос пользователю.

Действия, подлежащие контролю, могут быть следующими: модификация главной загрузочной записи (MBR) и загрузочных записей логических дисков и ГМД, запись по абсолютному адресу, низкоуровневое форматирование диска, оставление в оперативной памяти резидентного модуля и др. Так же как и ревизоры, фильтры часто являются «навязчивыми» и создают определенные неудобства в работе пользователя.

Все виды антивирусных программ направлены, прежде всего, на защиту компьютера от посягательства вирусов.

Каждый человек, устанавливая антивирусную программу, стремиться достичь определённых результатов. Для одних главной задачей является предотвращение утечки информации. Другие уделяют внимание целостности информации. Для третьих на первом месте стоит безотказная работа информационных систем. Были случаи, когда вирусы блокировали работу организаций и предприятий. Более того, несколько лет назад был зафиксирован случай, когда компьютерный вирус стал причиной гибели человека - в одном из госпиталей Нидерландов пациенту была введена летальная доза морфия по той причине, что компьютер был заражен вирусом и выдавал неверную информацию.

Для обнаружения, удаления и защиты от компьютерных вирусов существует несколько разновидностей программ. Такие программы называются антивирусными. Различают следующие виды антивирусных программ:

1. вакцины;

2. детекторы;

3. ревизоры;

4. сторожа;

5. мониторы;

6. полифаги;

7. эвристические анализаторы.

В последнее время, разработчики антивирусных программ, предлагают пользователям комплексные решения, которые включают в себя большую часть или даже все вышеуказанные программы.

Вакцины – это программы, предназначенные для предотвращения заражения файлов от какого-либо одного, конкретного вируса. Вакцины применяются, если отсутствуют программы, могущие обезвредить данный вирус. Вакцинация возможна только от известных вирусов, которые можно обнаружить, но по какой-либо причине невозможно обезвредить. Программа-вакцина модифицирует защищаемую программу или диск таким образом, чтобы это не отражалось на их работе, но при этом настоящий вирус считал защищаемую программу зараженной и поэтому не внедрялся в ее исполняемый код.

Действия программ-вакцин основано на одном из базовых свойств компьютерных вирусов, – не заражать повторно уже инфицированную программу. Для этих целей, при заражении программ, вирусы используют так называемую «черную метку», которая бы позволяла отличать уже инфицированные программы от неинфицированных. Это может быть, например, установка времени создания файла в 24 часа 1 минуту и 62 секунды. Т.к. нормальные программы не могут иметь подобного времени создания, то, обнаружив, что файл создан в это время, вирус считает, что он заражен и не пытается инфицировать его повторно.

Таким образом, программа вакцина просто создает «черную метку» конкретного вируса на защищаемой программе, не изменяя её исполняемого кода, а вирус, обнаруживая такую метку, уже не пытается заразить данный файл.

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

«Ревизоры» - это программы, которые относятся к самым надёжным средствам защиты от вирусов.

Заражая компьютер, вирус делает изменения на жестком диске: дописывает свой код в заражаемый файл, изменяет системные области диска и т.д. На обнаружении таких изменений основывается работа антивирусных программ, называемых «ревизорами».

Они построены на принципе, обратном принципу построения сканеров. Ревизоры не знают в лицо конкретные вирусы, но они запоминают информацию о каждом конкретном логическом диске и по изменению этой информации, позволяют надежно обнаруживать как известные, так и новые, неизвестные вирусы.

В случае обнаружения изменения сведений об имеющихся на диске данных, вся соответствующая информация об измененном объекте предоставляется пользователю. А тот уже сам должен принять решение: стоит ли, например, проверять данный файл на вирус (если это исполняемый файл) или проигнорировать сообщение, если файл изменялся самим пользователем.

Как правило, сравнение состояний производится сразу после загрузки операционной системы. При сравнении проверяются длина файла, его контрольная сумма, дата и время модификации, и некоторые другие параметры. Программы-ревизоры имеют достаточно развитые алгоритмы, позволяющие обнаруживать даже вирусы таких классов как «стелс» - вирусы и «полиморфные» вирусы, а некоторые даже могут восстановить исходную версию проверяемой программы, удалив изменения, внесенные вирусом.

Преимуществом ревизоров являются – высочайшая скорость проверки дисков (во много десятков раз превышающая скорость работы сканеров) и высокая надежность обнаружения даже неизвестных вирусов.

«Сторожа» - это небольшие резидентные программы, предназначенные для обнаружения подозрительных действий, возникающих при работе пользователя на компьютере, и характерных для вирусов. К числу таких действий могут относиться:

1. попытки коррекции файлов с расширениями COM, EXE, DLL и т.д., обычно неизменяемых;

2. изменение атрибутов файла;

4. запись в загрузочные сектора диска;

При попытке какой-либо программы произвести указанные действия «сторож» посылает пользователю сообщение и предлагает запретить или разрешить соответствующее действие.

Одним из самых крупных недостатков программ этого класса является то, что при неправильной (а иногда даже и при правильной) настройке, они буквально «засыпают» пользователя предупреждениями, в результате чего их обычно отключают.

«Мониторы» (или программы-фильтры) – это антивирусные программы, основанные по принципу полифага, и использующие для обнаружения вирусов базу данных их сигнатур. Антивирусный монитор располагается резидентно в памяти компьютера, и проверяет на наличие вирусов только те программы, над которыми производит какие-либо манипуляции пользователь, или операционная система.

Обычно антивирусные мониторы проверяют все файлы, над которыми производятся следующие манипуляции:

1. запуск программы на выполнение;

2. изменение атрибутов файла;

3. открытие документ (Microsoft Office);

4. копирование или перемещение файла;

5. редактирование файла;

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

«Полифаги» - это программы, которые способны благополучно удалить вирус и восстановить работоспособность испорченных программ.

Для каждого вируса, путем анализа его кода, способов заражения файлов и т.д. выделяется некоторая, характерная только для него, последовательность байт. Эта последовательность называется сигнатурой данного вируса. Поиск вирусов, в простейшем случае, сводится к поиску их сигнатур. После обнаружения вируса в теле программы (или загрузочного сектора, который тоже, впрочем, содержит программу начальной загрузки), полифаг обезвреживает его. Для этого разработчики антивирусных средств тщательно изучают работу каждого конкретного вируса: что он портит, как он портит, где он прячет то, что испортит и т.д.

Сканирование является наиболее традиционным методом поиска вирусов. Оно заключается в поиске сигнатур, выделенных из ранее обнаруженных вирусов. Вирусные базы современных сканеров содержат более 40000 масок вирусов.

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

Эвристические анализаторы – программы, выполняющие под своим контролем, проверяемые программы и обнаруживающие действия, характерные для вирусов. Благодаря этому эвристические анализаторы способны находить «полиморфные» вирусы также легко, как и обычные вирусы, не использующие механизма маскировки, кроме того, они могут обнаруживать вирусы, ранее неизвестные авторам антивирусной программы.

Для выявления указанных маскирующихся вирусов используются специальные методы. К ним можно отнести метод эмуляции процессора. Метод заключается в имитации выполнения процессором программы и подсовывания вирусу фиктивных управляющих ресурсов. Обманутый таким образом вирус, находящийся под контролем антивирусной программы, расшифровывает свой код. После этого, сканер сравнивает расшифрованный код с кодами из своей базы данных сканирования.

Антивирусные программы делятся на: программы-детекторы, программы-доктора, программы-ревизоры, программы-фильтры, программы-вакцины.

· Программы-детекторы. Их назначение – лишь обнаружить вирус. Детекторы вирусов могут обнаружить загрузочные вирусы в загрузочных секторах дискет, выполнять сканирование файлов на магнитных дисках, а также поступающие по электронной почте сообщения (файлы) с целью обнаружения сигнатур известных вирусов. После выявления вируса детектор предлагает перейти к полному сканированию дисков и «лечению» зараженных файлов. Такие программы в чистом виде в настоящее время редки, но функция детектирования вирусов в фоновом режиме имеется практически во всех комплексных антивирусных программах.

Различают детекторы универсальные и специализированные.

· Универсальные детекторы в своей работе используют проверку неизменности файлов путем подсчета и сравнения с эталоном контрольной суммы. Недостаток универсальных детекторов связан с невозможностью определения причин искажения файлов.

· Специализированные детекторы выполняют поиск известных вирусов по их сигнатуре (повторяющемуся участку кода). Недостаток таких детекторов состоит в том, что они неспособны обнаруживать все известные вирусы.

Детектор, позволяющий обнаруживать несколько вирусов, называют полидетектором .

Недостатком таких антивирусных программ является то, что они могут находить только те вирусы, которые известны разработчикам таких программ.

· Программы-доктора (фаги). Фаг – это программа, которая способна не только обнаружить, но и уничтожить вирус, т.е. удалить его код из зараженных файлов и восстановить их работоспособность.

Очень мощными и эффективными антивирусными средствами являются фаги Doctor Web (созданный И. Даниловым) и KAV (автор Е. Касперский).

Детекторы этих фагов не просто сканируют файлы в поисках одной из известных вирусных сигнатур, но и реализуют эвристический метод поиска вирусов, могут находить и обезвреживать так называемые полиморфные вирусы, проверять файлы, находящиеся в архивах. Среди фагов выделяют полифаги, т.е. программы-доктора, предназначенные для поиска и уничтожения большого количества вирусов.

Учитывая, что постоянно появляются новые вирусы, программы-детекторы и программы-доктора быстро устаревают, и требуется регулярное обновление их версий.

· Программы-ревизоры. Программа-ревизор контролирует возможные пути распространения программ-вирусов и заражения компьютеров. Программы-ревизоры относятся к самым надежным средствам защиты от вирусов. Ревизоры основаны на средствах, позволяющих следить за целостностью и изменениями файлов и системных областей магнитных дисков, передачу информации компьютером в интернет.

Программы-ревизоры имеют достаточно развитые алгоритмы, обнаруживают стелс - вирусы и могут даже отличить изменения версии проверяемой программы от изменений, внесенных вирусом.

· Программы - фильтры (сторожа). Сторож – это резидентная программа, постоянно находящаяся в памяти компьютера, контролирующая операции компьютера.Предназначена для обнаружения подозрительных действий при работе компьютера, характерных для вирусов. Такими действиями могут являться:

· Попытки коррекции файлов с расширениями СОМ и ЕХЕ;

· Изменение атрибутов файлов;

· Прямая запись на диск по абсолютному адресу;

· Запись в загрузочные сектора диска.

При попытке какой-либо программы произвести указанные действия "сторож" посылает пользователю сообщение предлагает запретить или разрешить соответствующее действие. Программы-фильтры весьма полезны, так как способны обнаружить вирус на самой ранней стадии его существования до размножения. Однако они не "лечат" файлы и диски. Для уничтожения вирусов требуется применить другие программы, например фаги. К недостаткам программ-сторожей можно отнести их "назойливость" (например, они постоянно выдают предупреждение о любой попытке копирования исполняемого файла), а также возможные конфликты с другим программным обеспечением.

· Вакцины (иммунизаторы) - это резидентные программы, предотвращающие заражение файлов. Вакцины применяют, если отсутствуют программы-доктора, "лечащие" этот вирус. Вакцинация возможна только от известных вирусов.

Вакцина модифицирует программу или диск таким образом, чтобы это не отражалось на их работе, а вирус будет воспринимать их зараженными и поэтому не внедрится. В настоящее время программы-вакцины имеют ограниченное применение.

Существенным недостатком таких программ является их ограниченные возможности по предотвращению заражения от большого числа разнообразных вирусов.