Определение. Антивирус — программное средство, предназначенное для борьбы с вирусами
Как следует из определения, основными задачами антивируса является:
Препятствование проникновению вирусов в компьютерную систему
Обнаружение наличия вирусов в компьютерной системе
Устранение вирусов из компьютерной системы без нанесения повреждений другим объектам системы
Минимизация ущерба от действий вирусов
Технологии обнаружения вирусов
Технологии, применяемые в антивирусах, можно разбить на две группы:
Технологии сигнатурного анализа
Технологии вероятностного анализа
Определение. Сигнатурный анализ — метод обнаружения вирусов, заключающийся в проверке наличия в файлах сигнатур вирусов
Сигнатурный анализ является наиболее известным методом обнаружения вирусов и используется практически во всех современных антивирусах. Для проведения проверки антивирусу необходим набор вирусных сигнатур, который хранится в антивирусной базе.
Определение. Антивирусная база — база данных, в которой хранятся сигнатуры вирусов
Ввиду того, что сигнатурный анализ предполагает проверку файлов на наличие сигнатур вирусов, антивирусная база нуждается в периодическом обновлении для поддержания актуальности антивируса. Сам принцип работы сигнатурного анализа также определяет границы его функциональности — возможность обнаруживать лишь уже известные вирусы — против новых вирусов сигнатурный сканер бессилен.
С другой стороны, наличие сигнатур вирусов предполагает возможность лечения инфицированных файлов, обнаруженных при помощи сигнатурного анализа. Однако, лечение допустимо не для всех вирусов — трояны и большинство червей не поддаются лечению по своим конструктивным особенностям, поскольку являются цельными модулями, созданными для нанесения ущерба.
Грамотная реализация вирусной сигнатуры позволяет обнаруживать известные вирусы со стопроцентной вероятностью.
Технологии вероятностного анализа в свою очередь подразделяются на три категории:
Эвристический анализ
Поведенческий анализ
Анализ контрольных сумм
Определение. Эвристический анализ — технология, основанная на вероятностных алгоритмах, результатом работы которых является выявление подозрительных объектов
В процессе эвристического анализа проверяется структура файла, его соответствие вирусным шаблонам. Наиболее популярной эвристической технологией является проверка содержимого файла на предмет наличия модификаций уже известных сигнатур вирусов и их комбинаций. Это помогает определять гибриды и новые версии ранее известных вирусов без дополнительного обновления антивирусной базы.
Эвристический анализ применяется для обнаружения неизвестных вирусов, и, как следствие, не предполагает лечения.
Данная технология не способна на 100% определить вирус перед ней или нет, и как любой вероятностный алгоритм грешит ложными срабатываниями.
Определение. Поведенческий анализ — технология, в которой решение о характере проверяемого объекта принимается на основе анализа выполняемых им операций
Поведенческий анализ весьма узко применим на практике, так как большинство действий, характерных для вирусов, могут выполняться и обычными приложениями. Наибольшую известность получили поведенческие анализаторы скриптов и макросов, поскольку соответствующие вирусы практически всегда выполняют ряд однотипных действий. Например, для внедрения в систему, почти каждый макровирус использует один и тот же алгоритм: в какой-нибудь стандартный макрос, автоматически запускаемый средой Microsoft Office при выполнении стандартных команд (например, « Save », « Save As», «Open», и т.д.), записывается код, заражающий основной файл шаблонов normal.dot и каждый вновь открываемый документ.
Средства защиты, вшиваемые в BIOS, также можно отнести к поведенческим анализаторам. При попытке внести изменения в MBR компьютера, анализатор блокирует действие и выводит соответствующее уведомление пользователю.
Помимо этого поведенческие анализаторы могут отслеживать попытки прямого доступа к файлам, внесение изменений в загрузочную запись дискет, форматирование жестких дисков и т. д.
Поведенческие анализаторы не используют для работы дополнительных объектов, подобных вирусным базам и, как следствие, неспособны различать известные и неизвестные вирусы — все подозрительные программы априори считаются неизвестными вирусами. Аналогично, особенности работы средств, реализующих технологии поведенческого анализа, не предполагают лечения.
Как и в предыдущем случае, возможно выделение действий, однозначно трактующихся как неправомерные — форматирование жестких дисков без запроса, удаление всех данных с логического диска, изменение загрузочной записи дискеты без соответствующих уведомлений и пр. Тем не менее, наличие действий неоднозначных — например, макрокоманда создания каталога на жестком диске, заставляет также задумываться о ложных срабатываниях и, зачастую, о тонкой ручной настройке поведенческого блокиратора.
Определение. Анализ контрольных сумм — это способ отслеживания изменений в объектах компьютерной системы. На основании анализа характера изменений — одновременность, массовость, идентичные изменения длин файлов — можно делать вывод о заражении системы
Анализаторы контрольных сумм (также используется название «ревизоры изменений») как и поведенческие анализаторы не используют в работе дополнительные объекты и выдают вердикт о наличии вируса в системе исключительно методом экспертной оценки. Большая популярность анализа контрольных сумм связана с воспоминаниями об однозадачных операционных системах, когда количество вирусов было относительно небольшим, файлов было немного и менялись они редко. Сегодня ревизоры изменений утратили свои позиции и используются в антивирусах достаточно редко. Чаще подобные технологии применяются в сканерах при доступе — при первой проверке с файла снимается контрольная сумма и помещается в кэше, перед следующей проверкой того же файла сумма снимается еще раз, сравнивается, и в случае отсутствия изменений файл считается незараженным.
Подводя итоги обзора технологий, применяемых в антивирусах, отметим, что сегодня практически каждый антивирус использует несколько из перечисленных выше технологий, при этом использование сигнатурного и эвристического анализа для проверки файлов и именно в этом порядке является повсеместным. В дальнейшем средства, реализующие комбинацию сигнатурного и эвристического анализа, мы будем называть антивирусными сканерами.
Вторая группа технологий более разнородна, поскольку ни один из применяемых подходов не дает гарантии обнаружения неизвестных вирусов. Очевидно, что и совместное использование всех этих технологий не дает такой гарантии. На сегодняшний день лучшим способом борьбы с новыми угрозами является максимально быстрое реагирование разработчиков на появление новых экземпляров вирусов выпуском соответствующих сигнатур. Также, учитывая наличие активных вредоносных программ, необходимо не менее быстро реагировать на обнаружение новых уязвимостей в операционных системах и устанавливать соответствующие заплаты безопасности.
Режимы работы антивирусов
Помимо используемых технологий, антивирусы отличаются друг от друга условиями эксплуатации. Уже из анализа задач можно сделать вывод о том, что препятствование проникновению вредоносного кода должно осуществляться непрерывно, тогда как обнаружение вредоносного кода в существующей системе — скорее разовое мероприятие. Следовательно, средства, решающие эти две задачи должны функционировать по-разному.
Таким образом, антивирусы можно разделить на две большие категории:
Предназначенные для непрерывной работы — к этой категории относятся средства проверки при доступе, почтовые фильтры, системы сканирования проходящего трафика Интернет, другие средства, сканирующие потоки данных
Предназначенные для периодического запуска — различного рода средства проверки по запросу, предназначенные для однократного сканирования определенных объектов. К таким средствам можно отнести сканер по требованию файловой системы в антивирусном комплексе для рабочей станции, сканер по требованию почтовых ящиков и общих папок в антивирусном комплексе для почтовой системы (в частности, для Microsoft Exchange)
Как показывает практика, предотвратить возникновение проблемы гораздо проще, чем пытаться впоследствии ее решить. Именно поэтому современные антивирусные комплексы в большинстве своем подразумевают непрерывный режим эксплуатации. Тем не менее, средства периодической проверки гораздо эффективнее при борьбе с последствиями заражения и поэтому не менее необходимы.
Антивирусный комплекс
Определение. Антивирусное ядро — реализация механизма сигнатурного сканирования и эвристического анализа на основе имеющихся сигнатур вирусов
Определение. Антивирусный комплекс — набор антивирусов, использующих одинаковое антивирусное ядро или ядра, предназначенный для решения практических проблем по обеспечению антивирусной безопасности компьютерных систем. В антивирусный комплекс также в обязательном порядке входят средства обновления антивирусных баз
Помимо этого антивирусный комплекс дополнительно может включать в себя поведенческие анализаторы и ревизоры изменений, которые вовсе не используют антивирусное ядро.
В качестве вспомогательной утилиты антивирусный комплекс может содержать (и на практике обычно содержит) планировщик заданий.
Исходя из текущей необходимости в средствах защиты выделяют следующие типы антивирусных комплексов:
Антивирусный комплекс для защиты рабочих станций
Антивирусный комплекс для защиты файловых серверов
Антивирусный комплекс для защиты почтовых систем
Антивирусный комплекс для защиты шлюзов.
Антивирусный комплекс для защиты рабочих станций
Предназначен для обеспечения антивирусной защиты рабочей станции, на которой он установлен. Состоит, как и указывалось ранее из средств непрерывной работы и предназначенных для периодического запуска, а также средств обновления антивирусных баз.
К средствам непрерывной работы относятся:
Антивирусный сканер при доступе — антивирусный сканер, осуществляющий проверку файлов, к которым обращается операционная система (напрямую, либо опосредованно через пользователя). Для ускорения процесса работы сканера часто применяется возможность отключения средств эвристического анализа
Антивирусный сканер локальной почтовой системы — антивирусный сканер, предназначенный для автоматической проверки всей входящей и исходящей из системы почтовой корреспонденции до получения ее пользователем/исходящим почтовым сервером. Этот тип сканеров появился сравнительно недавно, его разработка обусловлена тем, что большинство вирусов использует для распространения электронную почту. Выделяют два вида сканеров локальной почтовой системы — использующие и не использующие привязку к почтовому клиенту. Первый тип характеризуется большим числом поддерживаемых почтовых протоколов, однако возможности практического применения сужаются необходимостью использовать конкретный почтовый клиент. Второй тип, напротив, поддерживает более ограниченный набор протоколов (обычно, SMTP и POP3), однако делает это для любых почтовых клиентов. Возможно использование обоих типов сканеров в рамках одного антивирусного комплекса.
Средства периодического запуска:
Антивирусный сканер по требованию — антивирусный сканер, осуществляющий проверку файлов по запросу пользователя либо третьей программы (например, планировщика)
На практике антивирусный комплекс для рабочей станции зачастую включает еще и поведенческие блокираторы, также относящиеся к средствам непрерывной работы.
Антивирусный комплекс для защиты файловых серверов
Предназначен для обеспечения антивирусной защиты сервера, на котором установлен. Указание на файловый сервер в названии является скорее данью истории, корректней будет звучать термин «сетевой». Определение того, насколько нуждается в антивирусной защите сервер, осуществляется не только исходя из его назначения (является сервер файловым, почтовым, либо выполняет другую функцию), а и из используемой на нем платформы. Более того, зачастую именно платформа является определяющей характеристикой при выборе средств защиты сетевого сервера. Речь об этом пойдет ниже.
Отличия в составе антивирусного комплекса для файлового сервера, в сравнении с антивирусным комплексом для рабочей станции, происходят из различного назначения этих типовых узлов сети, а точнее из главного различия: рабочая станция обычно является АРМ сотрудника, тогда как сервер в качестве АРМ не используется.
Исходя из этого, антивирусный комплекс для защиты файловых серверов обычно состоит из двух ярко выраженных представителей средств непрерывного работы и периодического запуска:
Антивирусного сканера при доступе — аналогичен сканеру при доступе для рабочей станции
Антивирусного сканера по требованию — аналогичен сканеру по требованию для рабочей станции,
А также средства обновления антивирусных баз.
Сканер локальной почтовой системы отсутствует по описанной выше причине.
Антивирусный комплекс для защиты почтовых систем
Еще один казус, связанный с общепринятой терминологией. Безусловно, антивирусный комплекс не предназначен для защиты почтовой системы от поражения вирусами, его назначение — препятствовать доставке зараженных сообщений пользователям сети. Как уже указывалось ранее, сегодня одним из главных средств доставки вирусов в локальную сеть является именно электронная почта. Поэтому, при наличии в локальной сети специализированного узла, обрабатывающего входящую и исходящую из сети почтовую корреспонденцию (почтового сервера), логично будет использовать средство централизованной проверки всего почтового потока на наличие вирусов. Тем не менее, термин «для защиты почтовых систем» является устоявшимся и повсеместно применяется при указании практических реализаций этого типа комплексов. Дабы не вводить читателя в противоречие с ежедневно потребляемой информацией, в дальнейшем здесь также будет использоваться приведенное выше название. Аналогичный комментарий, с поправкой на специфику работы, применим и к антивирусным комплексам для защиты шлюзов.
Антивирусный комплекс для защиты почтовых систем, как и другие антивирусные комплексы включает антивирусы обоих типов.
Средства непрерывной работы:
Фильтр почтового потока — осуществляет проверку на наличие вирусов всего принимаемого и отправляемого почтового потока сервера, на котором установлен комплекс
Сканер общих папок (баз данных) — осуществляет проверку на наличие вирусов баз данных и общих папок пользователей в режиме реального времени (в момент обращения к этим папкам или базам). Может составлять единое целое с фильтром почтового потока в зависимости от реализации технологии перехвата сообщений/обращений к папкам и передачи на проверку
Средства периодического запуска:
Антивирусный сканер по требованию — осуществляет проверку на наличие вирусов почтовых ящиков пользователей и общих папок в случае использования таковых на почтовом сервере. Проверка осуществляется по требованию администратора антивирусной безопасности либо в фоновом режиме. Если проверка выполняется в фоновом режиме, сканер также относится к средствам периодического запуска, поскольку ничем не отличается от сканера по требованию в комплексе для рабочей станции
Также, антивирусный комплекс для защиты почтовых систем обязательно включает средство обновления антивирусных баз. Дополнительно, для снижения нагрузки на сервер могут выделяться отдельные средства для проверки баз во время репликаций. Такие средства также относятся к средствам периодического запуска.
Антивирусный комплекс для защиты шлюзов
Антивирусный комплекс для защиты шлюза, как следует из названия, предназначен для проверки на наличие вирусов данных, через этот шлюз передаваемых.
На практике основными каналами доставки вирусов в локальную сеть являются SMTP, HTTP и FTP-потоки, следовательно, антивирусный комплекс для защиты шлюзов преимущественно включает средства непрерывной работы. Антивирусы периодического запуска используются редко, преимущественно для защиты файловой системы сервера, на котором установлен комплекс:
Сканер HTTP-потока — предназначен для проверки данных, передаваемых через шлюз по протоколу HTTP
Сканер FTP-потока — предназначен для проверки данных, передаваемых через шлюз по протоколу FTP. В случае использования FTP over HTTP FTP-запросы будут проверяться сканером HTTP-потока
Сканер SMTP-потока — предназначен для проверки данных, передаваемых через шлюз по SMTP
Естественно, как и в предыдущих случаях в комплекс в обязательном порядке входит средство для обновления антивирусных баз.