Виды антивирусов

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

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

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

Рисунок 3 - Виды антивирусных программ

Сканеры:

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

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

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

К достоинствам сканеров всех типов относится:

- Универсальность

К недостаткам:

- Малейшие модификации вируса могут сделать его невидимым для сканера: программный код не будет полностью совпадать с описанием в базе данных. К примеру, существует много вариантов вируса «Чернобыль», и почти для каждого из них антивирусным кампаниям приходилось выпускать отдельное обновление антивирусной базы данных. Другим аспектом данной проблемы являются т.н. полиморфные вирусы, т.е. вирусы, не имеющие постоянного программного кода: заражая очередной файл, они при помощи шифрования самостоятельно изменяют свой вид, при этом сохраняя свою функциональность.
- Время между появлением вируса и выходом соответствующего обновления пользователь остается практически незащищенным от атак новых вирусов. Сейчас скорость доставки противоядия сведена до минимума, в некоторых случаях исчисляясь минутами. Но и этого не достаточно, поэтому даже современную скорость разработки и доставки защиты от новых вирусов нельзя считать достаточной. Именно поэтому еще в начале 90-х, эксперты придумали и внедрили в сканеры оригинальный способ обнаружения неизвестных вирусов – эвристический анализатор, т.е. анализ последовательности команд в проверяемом объекте, аккумуляция статистики и принятие решения о возможности присутствия в нем неизвестного компьютерного вируса. Однако, данный метод характеризуется наличием ложных срабатываний, недостаточно высоким уровнем надежности и отсутствием гарантии эффективного удаления обнаруженных вирусов. Для борьбы же с полиморфными вирусами были изобретены другие приемы: алгоритмические языки, описывающие все возможные варианты кода и системы автоматической дешифрации кода (эмуляторы).
- Антивирусный сканер проверяет файлы, только когда пользователь “попросит” его это сделать, т.е. запустит программу. Это требует постоянного внимания и концентрации. Очень часто пользователи забывают проверить сомнительный файл, загруженный, например, из интернета и, в результате, собственноручно заражают свой компьютер. Таким образом, сканер способен определить факт заражения постфактум, т.е. уже после того, как в системе появится вирус.
- Большой размер антивирусных баз, которые сканерам приходится «таскать за собой»
- Требовательность к системным ресурсам
- Небольшая скорость поиска вирусов

Мониторы:

На данный момент различаются три основных типа: файловые мониторы, мониторы для почтовых программ и мониторы для специальных приложений.

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

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

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

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

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

Ревизоры диска:

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

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

CRC-сканеры, использующие анти-стелс алгоритмы, являются довольно сильным оружием против вирусов: практически 100% вирусов оказываются обнаруженными почти сразу после их появления на компьютере. Однако у этого типа антивирусов есть врожденный недостаток, который заметно снижает их эффективность. Этот недостаток состоит в том, что CRC-сканеры неспособны поймать вирус в момент его появления в системе, а делают это лишь через некоторое время, уже после того, как вирус разошелся по компьютеру. CRC-сканеры не могут детектировать вирус в новых файлах (в электронной почте, на дискетах, в файлах, восстанавливаемых из backup-a или при распаковке файлов из архива), поскольку в их базах отсутствует информация об этих файлах. Более того, периодически появляются вирусы, которые используют эту «слабость» CRC-сканеров, заражают только вновь создаваемые файлы и остаются, таким образом, невидимыми для них.

К достоинствам наиболее продвинутых ревизоров изменений стоит отнести исключительно высокую скорость работы, низкие требования к аппаратной части компьютера, высокий процент восстановления файлов и загрузочных секторов, поврежденных вирусами, в том числе неизвестными. Их подход к лечению зараженных объектов основывается не на знании как выглядит вирус, а на знании как выглядит «чистый» файл или сектор: все, что «портит чистоту» рассматривается как изменение, достойное внимания ревизора, который способен вернуть объект к исходному состоянию. Именно поэтому ревизоры не требуют громоздкой антивирусной базы данных, довольствуясь лишь описаниями способов внедрения вирусов, которые занимают, в зависимости от продукта, всего от 300 до 500 килобайт. Зная эти способы, программа может быстро и эффективно удалить вирус вне зависимости от того, где находится его код: начале, середине, конце или же вообще разбросан в виде небольших кусков по всему зараженному объекту.

Иммунизаторы:

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

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

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