Антивирус для корпоративных сетей
Алексей Доля
Вирусная атака — это наиболее частая угроза корпоративной сети (см.,
например, статистику Computer Security Institute, отчет Computer Security
Issues & Trends, vol. VIII, №1, весна 2002). Именно из-за этой угрозы
крупные и средние компании несут колоссальные потери как в мировом, так и в
индивидуальном масштабах.
Согласно опросу Института Компьютерной Безопасности за 2002 г. (в опросе
приняло участие 503 специалиста в области безопасности компьютерных систем),
около 80% из всех опрошенных компаний признали, что в той или иной форме
понесли убытки, связанные с посягательствами на информационную
безопасность. Общая сумма потерь, скалькулированная по сведениям от 44%
респондентов, пожелавших дать конкретные цифры, составила 455,8 млн долл.
Для сравнения, в отчете 2001 г. эта сумма равнялась 378 млн, а в 2000 г.
соответственно 265 млн долл.
Если подразделять потери по конкретным категориям, то за 2001 г. около
170,8 млн убытков пришлось на кражи конфиденциальных данных корпораций;
115,7 млн — на финансовые мошенничества; 50 млн — на всевозможные
злоупотребления доступом в Интернет со стороны сотрудников фирм; 49,9 млн —
на вредоносные действия компьютерных вирусов и червей.
Антивирусное решение для защиты информационной сети должно быть
комплексным, учитывающим масштаб сети и ее гетерогенность. Инфраструктура
современной корпорации представляет собой сложный механизм, в котором
одновременно используются сотни компьютеров, работающих на разных
операционных системах, причем часто многие станции территориально удалены.
Важную роль играет разнородность представленных в корпоративной сети узлов:
рабочие станции, файловые и веб-серверы, межсетевые экраны, почтовые шлюзы.
Наконец, не стоит упускать из виду тот факт, что защита сети крупного
предприятия — это безопасность сотен рабочих мест людей. И никто не должен
ощущать дискомфорта из-за установленной защиты: не должна существенно
увеличиваться общая нагрузка на производительность сети, а продукт своим
присутствием не должен мешать рядовым сотрудникам выполнять их обычную
работу.
Таким образом, уже становятся видны общие требования, которым должны
удовлетворять антивирусные решения. Прежде всего они обязаны обеспечить
безопасность всех основных элементов корпоративной сети, включая рабочие
станции, файловые серверы, почтовые шлюзы, межсетевые экраны и мобильные
компьютеры (КПК). Важно также, чтобы используемый комплекс антивирусных
технологий поддерживал все популярные операционные среды. Другим главным
требованием является то, чтобы решение не увеличивало общую нагрузку на
производительность информационной сети. Остальные параметры (легкость в
управлении, централизованное администрирование и пр.) носят хотя и важный,
но все же не решающий характер.
Технологии, применяемые для защиты файловых серверов
Под файловыми серверами мы также будем понимать еще и любую рабочую
станцию, с помощью которой сотрудники компании могут осуществлять обмен
файлами по маршруту «переносной носитель — сеть — переносной
носитель». В общем же случае файловый сервер — это просто хранилище данных,
на котором не происходит обмен файлами.
Для защиты файловых серверов от вирусов применяются следующие основные
технологии: резидентный монитор и файловый сканер, ревизор изменений, а
также некоторые другие технологии, используемые в тех или иных конкретных
ситуациях. К безопасности файловых серверов следует подходить с
максимальным вниманием, так как это один из узлов, через который возможно
проникновение в сеть вредоносного кода.
Заглянем глубже в применяемые в этой области технологии. Сканер — это
самая старая и, тем не менее, самая действенная технология на сегодняшний
день. Сканер является сердцем любого антивирусного решения, именно от
эффективности его действий зависит общий уровень безопасности, поддерживаемый
всем антивирусным комплексом (речь идет пока лишь о защите файловых
серверов). При рассмотрении других технологий мы не раз будем к нему
возвращаться.
Сканер — это программа, которая проверяет тот или иной файл на предмет
заражения вирусом. В современном мире применяется две технологии
сканирования: сигнатурный поиск и эвристический анализ. Для сигнатурного
поиска обязательным условием является наличие антивирусной базы. Каждая
вредоносная программа, занесенная в такую базу, имеет определенную
сигнатуру, т. е. те признаки, которые позволяют однозначно идентифицировать
ее во всем множестве других программ. Сигнатурами являются части кода
вируса, присущие только ему и ничему более. Именно их поиск и есть основная
задача сканирования по сигнатурам. Следует отметить, что технология
сигнатурного сканирования применяется еще с 1980-х гг. Пожалуй, лучшим
доказательством того, что она не утратила своей актуальности, является тот
факт, что подавляющее число антивирусных решений, входящих в мировую пятерку,
ничего, кроме этой технологии, вообще не использует (речь по-прежнему идет
лишь о защите файловых серверов).
Сигнатурный поиск позволяет находить огромное число вредоносных кодов.
Антивирусные базы часто содержат десятки или сотни тысяч сигнатур. Тем не
менее между появлением нового вредоносного кода и попаданием информации о
нем в данную базу проходит определенный промежуток времени. Именно этих
нескольких минут (а у некоторых компаний и часов) может хватить вирусу,
чтобы нанести непоправимый ущерб. Поэтому защиту файловых серверов нельзя
ограничить лишь одной технологией сигнатурного поиска.
Более дорогостоящей и сложной в реализации, чем сканирование по
сигнатурам, технологией является эвристический анализ. Его конкретная цель
— поиск новых вирусов. Сам анализ осуществляется следующим образом:
антивирус в достаточной мере эмулирует аппаратное обеспечение ПК и
операционную систему. В этих лабораторных условиях и «запускается»
подозрительный на вирус объект. Последний никогда не заметит подмены и будет
вести себя так, как запрограммирован. На основе поведения в таких
«лабораторных» условиях испытуемого файла и принимается решение о его
виновности/невиновности. Для того чтобы эвристический анализатор вынес
верное решение, в нем должны быть реализованы функции искусственного
интеллекта. Именно поэтому многие антивирусные компании предпочитают не
связываться с данной технологией вообще. Можно привести некоторые цифры,
показывающие, как эвристический поиск влияет на общую эффективность работы
сканера. Одна из лучших в мире реализаций эвристического сканирования
принадлежит «Лаборатории Касперского». Антивирус Касперского, например,
благодаря применению этой технологии способен идентифицировать 90%
абсолютно новых вредоносных программ.
Современный сканер чаще всего умеет не только находить зараженные
объекты, но и лечить их. Следует отметить, что лечению поддаются не все
вирусы — многое зависит от алгоритмов их работы. Если вирус запишет свое
тело, не модифицировав при этом заражаемую программу, то лечение возможно
почти всегда. В противном случае восстановить утерянные данные невозможно.
Легко лечатся многие макро- и исполняемые вирусы, Java-апплеты и
ActiveX-компоненты. Что же до троянцев, бекдоров (утилита
несанкционированного удаленного администрирования) и почтовых червей, то
они не лечатся вообще, так как весь файл является вредоносным. Более
подробно на лечении зараженных файлов мы остановимся при рассмотрении
технологии «ревизор изменений».
Одним из основных средств антивирусной защиты является резидентный
монитор. Его основная задача — проверять файлы на наличие вирусов в
фоновом режиме. От пользователя не требуется никаких «антивирусных»
действий, монитор абсолютно автономен и производит все действия «на лету».
Проверка всех файлов в этом случае осуществляется еще до того, как
операционная система запустит их на исполнение. Задача монитора сводится к
перехвату управления при доступе к файлу и вызову сканирующего ядра для его
проверки. Обратите внимание, монитор не лечит инфицированные объекты, а
всего лишь обеспечивает связь между сканером, пользователем и системой. Для
эффективной работы монитору также необходима база вирусных сигнатур.
В английском языке монитор и сканер называются соответственно on-access
scanner и on-demand scanner, т. е., сканер, запускающийся при попытке
доступа к файлу, и сканер, вызываемый лично пользователем. Это лишь
подчеркивает общую природу двух технологий.
Поведенческий блокиратор — это более новая технология. Хотя идеи ее
создания витали уже давно, эффективная реализация стала возможна лишь
несколько лет назад. Суть поведенческого блокиратора в следующем:
специальный антивирусный модуль, в котором реализована данная технология,
анализирует действия (в обобщенном смысле — поведение) других программ (в
качестве испытуемого объекта может служить не только исполняемый файл, но
и, например, макрос в документе Microsoft Word), с целью выявить, допустима
ли та или иная операция. Если какое-либо действие признается опасным, то
оно просто блокируется. Отсюда и происходит название технологии.
Алгоритм работы поведенческого блокиратора описать довольно просто.
Прежде всего, такой антивирусный модуль должен знать, какие действия
программам производить запрещено (или наоборот — можно). Каждая попытка
претворить в жизнь недопустимую операцию сразу же блокируется.
Нельзя путать эвристический анализатор с поведенческим блокиратором.
Первый эмулирует операционную среду (подозрительный объект исследуется в
лабораторных условиях), а потом анализирует поведение файла в общем (но не
по действиям), чтобы вынести вердикт о зараженности испытуемого.
Поведенческий блокиратор, наоборот, всегда работает в реальных условиях и
проводит дискретное изучение (т. е. по операциям) поведения файла.
Результатом действий поведенческого блокиратора может стать блокирование
той или иной операции, но никак не общее решение о зараженности объекта.
Важно также уяснить, что в задачи поведенческого блокиратора не входит
лечение инфицированных объектов. Это по-прежнему остается на совести
сканера и следующей технологии (ревизор изменений).
Хотя алгоритм работы поведенческого блокиратора выглядит достаточно
простым, реализация его на практике — почти непосильное дело. Основная проблема
заключается в том, что в общем виде действия любой программы невозможно
разбить на группы «можно/нельзя». В каких-то обстоятельствах обращение к
файлам, содержащим конфиденциальную информацию, или пересылка определенных
данных через сеть могут быть недопустимыми операциями (если они проводятся
без ведома пользователя). А в каком-то другом случае это вполне легальные
действия. Из-за огромного числа факторов, которые надо учитывать при
описании всех формальных действий, невозможно создать систему, автоматически
блокирующую все вредоносные операции (или их б€ольшую часть). Возможным
выходом из создавшегося положения является диалог с пользователем.
Теоретически идея спросить у человека, является то или иное действие
допустимым в данный момент, выглядит здраво. Ведь пользователь всегда
знает, инициатором каких процессов, происходящих в настоящий момент в
системе, является он сам. Человеческий интеллект способен сам принять
решение о легальности действия, а антивирусный модуль всегда подскажет,
какая программа и какую подозрительную операцию пытается осуществить.
Однако на практике пользователю придется отвечать на массу таких вопросов,
так как подозрительные действия происходят непрерывно. В этом случае
рушится критерий прозрачности работы антивируса и его использование
становится просто нецелесообразным. Именно поэтому данная — безусловно,
перспективная — возможность не реализована в общем виде.
Определенную популярность снискали специализированные поведенческие
блокираторы. «Лаборатории Касперского», например, удалось в 1999 г. создать
модуль Office Guard, позволяющий гарантировать 100%-ную защиту от
макровирусов при работе в среде Microsoft Office (всех версий) и других
приложений, использующих язык VBA. Разработчикам удалось локализовать набор
допустимых макрокоманд, таким образом, стало возможно создание модуля,
автоматически следящего за выполнением макросов. При написании макросов в
среде Microsoft Office используется специальный язык — Visual Basic for
Applications (VBA). Он позволяет реализовать в коде макросов почти все
возможные операции (не стоит забывать, что макровирус не уступает по своим
потенциальным возможностям обычным файловым вирусам). Именно функции VBA и
служат теми самыми операциями, которые анализирует Office Guard. При
анализе всех существующих сегодня почтовых червей, написанных на VBA,
удалось установить, что более 90% из них первым делом пытаются получить
доступ к адресной книге Microsoft Outlook. Чтобы «прижиться» на компьютере
пользователя и «пустить корни», почти каждый макровирус использует один и
тот же алгоритм: в какой-нибудь стандартный автомакрос (таковыми являются
макросы, автоматически запускаемые средой Microsoft Office при выполнении
стандартных команд, например, Save, Save As, Open и т. д.) записывается
код, заражающий основной файл шаблонов (normal.dot) и каждый вновь
открываемый документ. Таким образом, действия макровируса полностью
формализованы и изучены. Хотя Office Guard и имеет в своих настройках
возможность диалога с пользователем, в нем нет никакого смысла — антивирусный
модуль действительно гарантирует 100%-ную безопасность без всякого
вмешательства пользователя. Дополнительным бонусом Office Guard является
тот факт, что он анализирует команды VBA, т. е. для его эффективной работы
вовсе не нужна антивирусная база, а, следовательно, и обновление. Данный
антивирусный модуль дает полный иммунитет к макровирусам.
Следует еще раз обратить внимание, что поведенческий блокиратор,
следовательно, и Office Guard, не занимается излечением инфицированных
объектов, он лишь блокирует вредоносное действие и не дает вирусу шанса
распространиться и выкрасть или повредить информацию. Также интересно, что
до сих пор Office Guard не имеет аналогов в мире.
Следующей очень важной технологией является ревизор изменений. Модуль,
реализующий данную технологию, следит за всеми изменениями файловой
системы, загрузочной области жесткого диска и важных файлов. Принцип работы
ревизора изменений можно описать так: при первом запуске он создаст некий
образ вашего диска, в котором будет храниться информация обо всех каталогах
и файлах. Основное внимание уделяется размеру и контрольной сумме
(параметр, позволяющий установить, был ли файл модифицирован, даже если его
размер не изменился) файлов. Теперь в зависимости от настроек либо при
каждой перезагрузке, либо раз в день, либо по требованию пользователя будет
запущен ревизор изменений, который создаст новый образ вашего диска и
покажет все изменения. Если модификации подверглись важные системные файлы
или произведенные изменения «похожи на действия вируса» (в большинстве
случаев ревизор сам определяет, вызваны ли изменения вирусом или
пользователем), то будет выдано сообщение об опасности. После этого
пользователь может, используя сканер, провести детальное исследование
подозрительных объектов. Заметьте, что сам по себе ревизор не лечит
инфицированные данные, он лишь служит для подстраховки действий монитора.
Ревизор также не использует базу вирусных сигнатур.
Важным аспектом использования ревизора изменений является то, что он
сохраняет информацию о файлах защищаемой системы. Если какой-то объект
окажется все же инфицированным, но данные о нем сохранятся в базе
инспектора, то вероятность излечения файла окажется очень и очень высокой.
Поэтому ревизор целесообразно использовать на тех компьютерах, которые
содержат важные данные.
Перечисленные выше технологии являются классикой. Однако за последний
год на рынке появились абсолютно новые уникальные решения, реализующие
собой три новых технологии. В «Лаборатории Касперского» они получили
название iChecker, iStream и iCache. Разработка таких технологий стала
ответом антивирусной индустрии на недовольство клиентов тем, что
антивирусные решения понижают производительность компьютеров из-за
необходимости фоновой проверки больших объемов данных. Благодаря интеграции
технологий обработки файлов iChecker, iStream и iCache антивирус работает в
среднем в три раза быстрее. При этом уровень защиты антивируса не
уменьшился, а скорость проверки увеличилась. В основе этих технологий лежит
интеллектуальное ядро распознавания целостности файла и взаимодействия с
кэш-менеджером операционной системы. Это позволяет избежать избыточного
сканирования заведомо чистых файлов и максимально использовать ресурсы
операционной системы для увеличения производительности антивируса.
Остановимся подробно на технологии iChecker. Суть данного подхода
состоит в объединении антивирусного сканера и ревизора изменений. Это
позволяет ощутимо увеличить производительность защищаемого компьютера. В
некоторых случаях даже в несколько десятков раз (хотя в среднем, как уже
говорилось, в 3 раза). Ревизор изменений запоминает уникальные данные
(вроде отпечатков пальцев) о каждом файле, который может быть заражен. В
качестве такой информации берется контрольная сумма, размер, дата последних
изменений, адреса точек входа в процедуры и т. д. Далее, он каждый раз
сравнивает параметры проверяемого файла с теми, что записаны в его базе
данных. Если есть какие-либо несовпадения, то исследуемый файл проверяется
сканером. За счет чего же достигается выигрыш во времени? Суть в том, что
резидентный монитор использует в своей работе сканер. А сканер, в свою
очередь, интегрирован с ревизором изменений, который хранит базу
проверенных объектов. Таким образом, можно вообще не проверять уже
проверенные файлы (на проверку которых в фоновом режиме расходуется много
времени). Если говорить о системных файлах, которые используются (и,
следовательно, проверяются монитором) очень часто, то такая экономия
позволяет увеличить производительность минимум в несколько раз.
Следует отметить, что пока данные технологии iStream и iCache
реализованы только в продуктах «Лаборатории Касперского». Аналог технологии
iChecker (также представленной в линейке продуктов «Лаборатории») имеется в
портфеле британской компании Sophos.
Окончание следует…
Об авторе:
Доля Алексей Владимирович — независимый эксперт.
|