Антивирусная программа (антивирус) — изначально программа для обнаружения
и лечения программ, заражённых компьютерным вирусом, а также для предотвращения
заражения файла вирусом (например, с помощью вакцинации).
Многие современные антивирусы позволяют обнаруживать
и удалять также троянские программы и прочие вредоносные программы.
И напротив — программы, создававшиеся как файрволы, также обретают
функции, роднящие их с антивирусами (например Outpost Firewall), что со временем может
привести к ещё более очевидному распространению смысла термина на средства
защиты вообще. Можно также вспомнить сходство назначений ADinf
(позиционировавшийся как антивирус) и tripwire
(IDS).
Первые наиболее простые антивирусные программы
появились почти сразу после появления вирусов. Сейчас разработкой антивирусов
занимаются крупные компании. Как и у создателей вирусов, в этой сфере также
сформировались оригинальные приёмы — но уже для поиска и борьбы с
вирусами. Современные антивирусные программы могут обнаруживать десятки тысяч
вирусов.
Антивирусное программное обеспечение состоит из
компьютерных программ, которые пытаются обнаружить, предотвратить размножение и
удалить компьютерные вирусы и другие вредоносные программы.
Методы
обнаружения вирусов
Антивирусное программное обеспечение обычно
использует два отличных друг от друга метода для выполнения своих задач:
Сканирование файлов
для поиска известных вирусов, соответствующих определению в антивирусных
базах
Обнаружение
подозрительного поведения любой из программ, похожего на поведение
заражённой программы.
Антивирусы, использующие метод обнаружения
подозрительного поведения программ не пытаются идентифицировать известные
вирусы, вместо этого они прослеживают поведение всех программ. Если программа
пытается записать какие-то данные в исполняемый файл
(exe-файл),
программа-антивирус может пометить этот файл, предупредить пользователя и
спросить что следует сделать. В настоящее время, подобные превентивные методы
обнаружения вредоносного кода, в том или ином виде, широко применяются в
качестве модуля антивирусной программы, а не отдельного продукта.
Другие названия: Проактивная защита, Поведенческий
блокиратор, Host Intrusion Prevention System (HIPS). В отличие от метода поиска
соответствия определению вируса в антивирусных базах, метод обнаружения
подозрительного поведения даёт защиту от новых вирусов, которых ещё нет в
антивирусных базах. Однако следует учитывать, что программы или модули,
построенные на этом методе, выдают также большое количество предупреждений (в
некоторых режимах работы), что делает пользователя мало восприимчивым ко всем
предупреждениям. В последнее время эта проблема ещё более ухудшилась, так как
стало появляться всё больше не вредоносных программ, модифицирующих другие
exe-файлы, несмотря на существующую проблему ошибочных предупреждений. Несмотря
на наличие большого количества предупреждающих диалогов, в современном
антивирусном программном обеспечении этот метод используется всё больше и
больше. Так, в 2006 году вышло несколько продуктов, впервые реализовавших этот
метод: Kaspersky Internet Security, Kaspersky Antivirus, Safe’n’Sec, F-Secure
Internet Security, Outpost Firewall Pro - гомно, DefenceWall. Многие программы
класса файрволл издавна имели в
своем составе модуль обнаружения странного поведения программ.
Некоторые программы-антивирусы пытаются
имитировать начало выполнения кода каждой новой вызываемой на исполнение
программы перед тем как передать ей управление. Если программа использует самоизменяющийся
код или проявляет себя как вирус (то есть немедленно начинает искать
другие exe-файлы например), такая программа будет считаться вредоносной,
способной заразить другие файлы. Однако этот метод тоже изобилует большим
количеством ошибочных предупреждений.
Метод «Белого списка»
Общая технология по борьбе с вредоносными
программами — это «белый список». Вместо того, чтобы искать только известные
вредоносные программы, это технология предотвращает выполнение всех
компьютерных кодов за исключением тех, которые были ранее обозначены системным
администратором как безопасные. Выбрав этот параметр отказа по умолчанию, можно
избежать ограничений, характерных для обновления сигнатур вирусов. К тому же,
те приложения на компьютере, которые системный администратор не хочет
устанавливать, не выполняются, так как их нет в «белом списке». Так как у
современных предприятий есть множество надежных приложений, ответственность за
ограничения в использовании этой технологии возлагается на системных
администраторов и соответствующим образом составленные ими «белые списки»
надежных приложений. Работа антивирусных программ с такой технологией включает
инструменты для автоматизации перечня и эксплуатации действий с «белым
списком».
Другие методы обнаружения вирусов
Ряд других методов предлагается в исследованиях и
используется в антивирусных программах (см. также эвристическое
сканирование).
Важные замечания
Распространение
вирусов по электронной почте
(возможно наиболее многочисленных и вредоносных) можно было бы
предотвратить недорогими и эффективными средствами без установки
антивирусных программ, если бы были устранены дефекты программ электронной
почты, которые сводятся к выполнению без ведома и разрешения пользователя
исполняемого кода, содержащегося в письмах.
Обучение пользователей
может стать эффективным дополнением к антивирусному программному
обеспечению. Простое обучение пользователей правилам безопасного
использования компьютера (например не загружать и не запускать на
выполнение неизвестные программы из Интернета) снизило бы
вероятность распространения вирусов и избавило бы от надобности
пользоваться многими антивирусными программами.
Пользователи
компьютеров не должны всё время работать с правами администратора. Если бы
они пользовались режимом доступа обычного пользователя, то некоторые
разновидности вирусов не смогли бы распространяться (или, по крайней мере,
ущерб от действия вирусов был бы меньше). Это одна из причин, по которым
вирусы в Unix-подобных системах относительно редкое явление.
Метод обнаружения
вирусов по поиску соответствия в словаре не всегда достаточен из-за
продолжающегося создания всё новых вирусов, метод подозрительного
поведения не работает достаточно хорошо из-за большого числа ошибочных
решений о принадлежности к вирусам не заражённых программ. Следовательно,
антивирусное программное обеспечение в его современном виде никогда не
победит компьютерные вирусы.
Различные методы шифрования и
упаковки вредоносных программ делают даже известные вирусы не
обнаруживаемыми антивирусным программным обеспечением. Для обнаружения
этих «замаскированных» вирусов требуется мощный механизм распаковки,
который может дешифровать файлы перед их проверкой. К несчастью, во многих
антивирусных программах эта возможность отсутствует и, в связи с этим,
часто невозможно обнаружить зашифрованные вирусы.
Постоянное появление
новых вирусов даёт разработчикам антивирусного программного обеспечения
хорошую финансовую перспективу.
Некоторые антивирусные
программы могут значительно понизить быстродействие. Пользователи могут
запретить антивирусную защиту, чтобы предотвратить потерю быстродействия,
в свою очередь, увеличивая риск заражения вирусами. Для максимальной
защищённости антивирусное программное обеспечение должно быть подключено
всегда, несмотря на потерю быстродействия. Некоторые антивирусные
программы (как AVG for Windows) не очень сильно влияют на быстродействие.
Иногда приходится
отключать антивирусную защиту при установке обновлений программ, таких,
например, как Windows Service Packs. Антивирусная программа, работающая во
время установки обновлений, может стать причиной неправильной установки
модификаций или полной отмене установки модификаций. Перед обновлением Windows 98, Windows 98 Second Edition или Windows ME на Windows XP (Home или Professional), лучше
отключить защиту от вирусов, в противном случае процесс обновления может
завершиться неудачей.
Некоторые антивирусные
программы на самом деле являются шпионским ПО, которое под них
маскируется. Лучше несколько раз проверить, что антивирусная программа,
которую вы загружаете, действительно является таковой. Ещё лучше
использовать ПО известных производителей и загружать дистрибутивы только с
сайта разработчика.
Некоторые из
продуктов, используют несколько ядер для поиска и удаления вирусов и
спайваре. Например в разработке NuWave Software, используется 4 ядра (два
для поисков вирусов и два для поиска спайваре)
Классификация антивирусов
Касперский,
Евгений Валентинович[1]
использовал следующую классификацию антивирусов в зависимости от их принципа
действия (определяющего функциональность):
Сканеры
(устаревший вариант «полифаги») Определяют наличие вируса по БД[2],
хранящей сигнатуры (или их контрольные суммы) вирусов. Их эффективность
определяется актуальностью вирусной базы и наличием эвристического анализатора
(см. Эвристическое
сканирование).
Ревизоры
Запоминают состояние файловой системы, что делает в дальнейшем возможным анализ
изменений. (Класс близкий к IDS).
Сторожа (мониторы) Отслеживают потенциально опасные операции, выдавая
пользователю соответствующий запрос на разрешение/запрещение операции.
Вакцины
Изменяют прививаемый файл таким образом, чтобы вирус, против которого делается
прививка, уже считал файл заражённым. В современных (2007)
условиях, когда количество возможных вирусов измеряется десятками тысяч, этот
подход неприменим.
Касперский Е.
«Компьютерные вирусы в MS-DOS». Москва, «Эдель», 1992
несмотря на название
до сей поры автору правки не известны антивирусы, хранящие антивирусную
базу во внешней СУБД — используется внутренняя