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

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

Классификация вирусов

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

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

Главные направления профилактики заражения вирусами:

1. Периодическая проверка на наличие вирусов с использованием свежих версий антивирусных программ;

2. Проверка поступающих извне данных;

3. Копирование информации и жесткое разграничение доступа.

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

По «среде обитания» вирусы делятся на файловые , системные , загрузочные , файлово-загрузочные, макровирусы и сетевые .

Файловые вирусы в основном заражают исполняемые файлы с расширением имени.com и.exe; системные вирусы – модули операционной системы, драйверы устройств, таблицы размещения файлов и таблицы разделов; загрузочные внедряются в сектор начальной загрузки. Многофункциональные вирусы – файлово-загрузочные – повреждают загрузочные секторы дисков и файлы.

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

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

По “степени воздействия” вирусы подразделяются на: безвредные, неопасные, опасные и разрушительные.

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

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

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

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

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

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

Классификация антивирусных программ

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

По выполняемым функциям антивирусные программы подразделяют на следующие типы: детекторы; доктора; ревизоры; фильтры или сторожа; вакцины или иммунизаторы.

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

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

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

Программы-доктора обнаруживают и лечат зараженные объекты путем «выкусывания» тела вируса. Программы этого типа подразделяются на фаги и полифаги (обнаружение и уничтожение большого количества разнообразных вирусов).

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

Программа-полифаг Doctor Web (разработчик: И. Данилов ) выполняет поиск и удаление известных ему вирусов из памяти и с дисков компьютера. Наличие интеллектуального эвристического анализатора позволяет обнаружить новые, ранее неизвестные вирусы и модификации известных. Антивирус Dr.Web проверяет почту, приходящую по протоколу POP3, до обработки ее почтовым клиентом, а также проверяет почту, исходящую по протоколу SMTP. Антивирусный сторож (монитор ), работая автоматически, проверяет файлы «на лету» при обращении к ним из какой-либо программы, оповещает пользователя при обнаружении инфицированных и подозрительных файлов. В программе используется интеллектуальная технология контроля вирусной активности, заключающаяся в анализе действий, которые совершают программы. Анализ построен таким образом, что практически полностью исключает «ложную тревогу» и вместе с тем позволяет пресечь любые действия, которые может совершить вредоносная программа. Антивирусный сканер позволяет обнаруживать зараженные объекты на всех носителях и в оперативной памяти компьютера, а также обезвреживать вирусы.

AVP (AntiVirus Protect, разработчик – Лаборатория Касперского ) позволяет лечить и проверять упакованные и архивные файлы, сетевые диски. Благодаря уникальной технологии сканирования она обнаруживает и удаляет вирусы в архивированных и сжатых файлах более чем 700 различных форматов. Кроме этого в архивах формата ZIP Антивирус Касперского способен удалять из зараженного сжатого файла вредоносные коды и лечить файлы. Интегрированный модуль Office Guard™ создает максимально защищенное пространство для приложений Microsoft Office. Благодаря этому Антивирус Касперского Personal Pro обеспечивает полный контроль над всеми офисными документами и гарантирует стопроцентную защиту даже от неизвестных макровирусов.

Norton AntiVirus автоматически защищает от вирусов, злонамеренных программ ActiveX, апплетов Java при пользовании Internet и работе с дискетами, CD или сетью, проверяет входящие приложения в самых распространенных программах электронной почты, обнаруживает вирусы и лечит сжатые файлы. Беспрепятственно пропускает незараженные файлы, но задерживает файлы с вирусами еще до того, как они могут войти в вашу систему и нанести ей вред. Norton AntiVirus 2003 автоматически удаляет опасные программные коды, а также защищает от вирусов вложения в сообщениях и электронных письмах, гарантирует максимальный уровень безопасности благодаря возможности постоянного автоматического обновления антивирусных баз и созданию всесторонней защиты пользователей от проникновения опасных программных кодов. Уникальная эвристическая технология способна выявлять почтовых «червей», подобных Nimda и Badtrans, и останавливать их еще до того, как они получат возможность для дальнейшего распространения с исходящей почтой.

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

Panda Titanium Antivirus 2004 (разработчик Panda Software ) – антивирусная программа последнего поколения с улучшенной технологией обнаружения и удаления вирусов любого типа, обеспечивает защиту от любой программы, документа или электронного письма, которые могут нанести вред системе компьютера. Благодаря эффективным эвристическим технологиям программное обеспечение Panda особенно эффективно в борьбе против новых неизвестных вирусов, которые могут появиться в будущем, автоматически обнаруживает и удаляет все типы вирусов во время получения/отправки электронной почты, загрузки файлов или работы в Internet, защищает от «дозвонщиков» – программ, которые незаметно подключают модем к платным номерам, утилит скрытого управления, опасных скрытых файлов, программ с опасными скрытыми файлами и других угроз безопасности. Программа выявляет и уничтожает ошибки в программном обеспечении, установленном на компьютере, и проводит самодиагностику, чтобы гарантировать бесперебойную и продуктивную работу антивируса.

Рассмотрим работу программы Kaspersky Anti-Virus при проверке на наличие вирусов личной дискеты и папки Мои документы .

1. Загрузите программуKaspersky Anti-Virus Scanner командой Пуск Программы Kaspersky Аnti-Virus Kaspersky Anti-Virus Scanner.

2. Для отображения проверяемых объектов в окне Kaspersky Anti-Virus Scanner в левой части выберите категорию Объекты, щелкните на кнопке[Эксперт] и установите флажки для диска А : и папки Мои документы (вложенные папки можно открыть так же, как в Проводнике ).

3. В правой области окна укажите порядок действий программы в случае обнаружения вируса. Рекомендуется отметить флажками следующие пункты:

· Лечить, а если лечение невозможно, то удалять объект.

· Сканировать файлы следующих типов: все файлы.

· Сканировать составные файлы: здесь отметить все пункты.

4. Запустите сканирование, выбрав команду Сканирование Начать сканирование .

5. Для наблюдения за процессом проверки на вирусы и лечения дисков нажмите кнопку [Статистика].

Проверим на наличие вирусов личную дискету и папку Мои документы с помощью программы Norton AntiVirus Professional Edition.

1. Загрузите Norton AntiVirus Professional Edition командой Пуск Программы Norton AntiVirus Norton AntiVirus 2003 Professional Edition

2. Установите параметры проверки.

3. Перейдите на вкладку Scan for Virus для задания объектов проверки: для проверки дискеты щелкните на кнопке .

4. Внизу окна в области Actions выберите .

5. Для проверки папки Мои документы дважды щелкните на кнопке и в открывшемся окне выберите нужную папку и нажмите кнопку .

На вкладке Reports просмотрите в виде отчетов результаты проверки.

Классификация антивирусных программ

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

1. вакцины;

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

3. ревизоры;

4. сторожа;

5. мониторы;

6. полифаги;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

вредоносный программа антивирусный заражение

Для своей успешной работы вирусам необходимо проверять, не является ли файл уже зараженным (этим же вирусом). Так они избегают самоуничтожения. Для этого вирусы используют сигнатуру. Большинство обычных вирусов (включая и макровирусы) использует символьные сигнатуры. Более сложные вирусы (полиморфные) используют сигнатуры алгоритмов. Независимо от типа сигнатуры вируса антивирусные программы используют их для обнаружения «компьютерных инфекций». После этого антивирусная программа пытается уничтожить обнаруженный вирус. Однако этот процесс зависит от сложности вируса и качества антивирусной программы. Как уже говорилось, наиболее сложно обнаружить троянских коней и полиморфные вирусы. Первые из них не добавляют свое тело к программе, а внедряют внутрь нее. С другой стороны, антивирусные программы должны потратить достаточно много времени, чтобы определить сигнатуру полиморфных вирусов. Дело в том, что их сигнатуры меняются с каждой новой копией.

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

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

1. Стабильность и надежность работы.

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

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

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

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

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

7. Процент ложных срабатываний программы (ошибочное определение вируса в «чистом» файле).

8. Кроссплатформенность (наличие версий программы под различные операционные системы).

Классификация антивирусных программ:

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

Универсальные - используют в своей работе проверку неизменности файлов путем подсчета и сравнения с эталоном контрольной суммы;

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

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

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

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

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

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

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

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

5. Программы-вакцины (иммунизаторы) - это резидентные программы, предотвращающие заражение файлов. Вакцины применяют, если отсутствуют программы-доктора, «лечащие» этот вирус. Вакцинация возможна только от известных вирусов Безруков Н. Компьютерная вирусология: Учебник [Электронный ресурс]: http://vx.netlux.org/lib/anb00.html..

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

Основные методы определения вирусов

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

Первые антивирусные алгоритмы строились на основе сравнения с эталоном. Речь идет о программах, в которых вирус определяется классическим ядром по некоторой маске. Смысл алгоритма заключается в использовании статистических методов. Маска должна быть, с одной стороны, маленькой, чтобы объем файла был приемлемых размеров, а с другой — достаточно большой, чтобы избежать ложных срабатываний (когда «свой» воспринимается как «чужой», и наоборот).

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

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

Принцип эмуляции процессора демонстрируется на рис. 1 . Если обычно условная цепочка состоит из трех основных элементов: ЦПУ®ОС®Программа, то при эмуляции процессора в такую цепочку добавляется эмулятор. Эмулятор как бы воспроизводит работу программы в некотором виртуальном пространстве и реконструирует ее оригинальное содержимое. Эмулятор всегда способен прервать выполнение программы, контролирует ее действия, не давая ничего испортить, и вызывает антивирусное сканирующее ядро.

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

В данном случае принятие решения основывается на статистических подходах. А соответствующая программа называется эвристическим анализатором.

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

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

Классификация антивирусных программ

лассифицируются антивирусные программы на чистые антивирусы и антивирусы двойного назначения (рис. 2).

Чистые антивирусы отличаются наличием антивирусного ядра, которое выполняет функцию сканирования по образцам. Принципиальным в этом случае является то, что возможно лечение, если известен вирус. Чистые антивирусы, в свою очередь, по типу доступа к файлам подразделяются на две категории: осуществляющие контроль по доступу (on access) или по требованию пользователя (on demand). Обычно on access-продукты называют мониторами, а on demand-продукты - сканерами.

Оn demand-продукт работает по следующей схеме: пользователь хочет что-либо проверить и выдает запрос (demand), после чего осуществляется проверка. On access-продукт — это резидентная программа, которая отслеживает доступ и в момент доступа осуществляет проверку.

Кроме того, антивирусные программы, так же как и вирусы, можно разделить в зависимости от платформы, внутри которой данный антивирус работает. В этом смысле наряду с Windows или Linux к платформам могут быть отнесены Microsoft Exchange Server, Microsoft Office, Lotus Notes.

Программы двойного назначения - это программы, используемые как в антивирусах, так и в ПО, которое антивирусом не является. Например, CRC-checker - ревизор изменений на основе контрольных сумм - может использоваться не только для ловли вирусов. Разновидностью программ двойного назначения являются поведенческие блокираторы, которые анализируют поведение других программ и при обнаружении подозрительных действий блокируют их. От классического антивируса с антивирусным ядром, распознающего и лечащего от вирусов, которые анализировались в лаборатории и которым был прописан алгоритм лечения, поведенческие блокираторы отличаются тем, что лечить от вирусов они не умеют, поскольку ничего о них не знают. Данное свойство блокираторов позволяет им работать с любыми вирусами, в том числе и с неизвестными. Это сегодня приобретает особую актуальность, поскольку распространители вирусов и антивирусов используют одни и те же каналы передачи данных, то есть Интернет. При этом антивирусной компании всегда нужно время на то, чтобы получить сам вирус, проанализировать его и написать соответствующие лечебные модули. Программы из группы двойного назначения как раз и позволяют блокировать распространение вируса до того момента, пока компания не напишет лечебный модуль.

Обзор наиболее популярных персональных антивирусов

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

Антивирус Касперского

Personal Pro v. 4.0

Разработчик: «Лаборатория Касперского». Web-сайт: http://www.kaspersky.ru/ . Цена 69 долл. (лицензия на 1 год).

Антивирус Касперского Personal Pro (рис. 3) — одно из наиболее популярных решений на российском рынке и содержит целый ряд уникальных технологий.

Поведенческий блокиратор модуль Office Guard держит под контролем выполнение макросов, пресекая все подозрительные действия. Наличие модуля Office Guard дает стопроцентную защиту от макровирусов.

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

Эвристический анализатор дает возможность защитить компьютер даже от неизвестных вирусов.

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

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

Антивирусный сканер Scanner дает возможность проводить полномасштабную проверку всего содержимого локальных и сетевых дисков по требованию.

Перехватчик скрипт-вирусов Script Checker обеспечивает антивирусную проверку всех запускаемых скриптов до того, как они будут выполнены.

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

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

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

Norton AntiVirus 2003 Professional Edition

Разработчик: Компания Symantec. Web-сайт: http://www.symantec.ru/ .

Цена 89,95 евро.

Программа работает под управлением Windows 95/98/Me/NT4.0/2000 Pro/XP.

Цена 39,95 долл.

Программа работает под управлением Windows 95/98/Me/NT4.0/2000 Pro/XP.

Самыми популярными и эффективными антивирусными программами являются антивирусные сканеры, CRC-сканеры (ревизоры). Существуют также антивирусы блокировщики и иммунизаторы.

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

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

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

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

К достоинствам сканеров всех типов относится их универсальность, к недостаткам – размеры антивирусных баз, которые сканерам приходится хранить и пополнять, и относительно небольшая скорость поиска вирусов.

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

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

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

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

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