Вирусы и средства борьбы с ними

         

Цели и задачи


Каждым антивирусным средством можно управлять непосредственно: либо локально, либо, как в случае с продуктами под Novell Netware, Linux, Unix - удаленно при частичной помощи штатных средств этих операционных систем. Любые задачи по настройке и выполнению определенных операций могут быть решены таким образом.

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

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

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

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

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

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

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

Пример. В линейке продуктов Лаборатории Касперского роль системы администрирования исполняет Kaspersky Administration Kit. Аналогичные по назначению системы имеются у большинства производителей антивирусного программного обеспечения.


Диагностика


Диагностика состояния и результатов функционирования антивируса проявляется в двух плоскостях:

Уведомления пользователюВедение журналов

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

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

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

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

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

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

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

На практике реализация такого рода диагностики выглядит как добавление в стандартный инструмент Windows - Performance Monitor- дополнительных счетчиков, как и в случае средств для защиты шлюзов или почтовых серверов. Как правило, счетчики включают:

Количество проверенных объектовКоличество обнаруженных вирусовКоличество вылеченных вирусовКоличество проверенных архивов

и т. п. статистические данные



Файловая система


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

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

Как уже отмечалось в классификации антивирусов, средства проверки файловой системы бывают двух видов:

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

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

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

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

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

Пример. Входящая в состав Windows XP утилита shutdown.exe может с пользой применяться для выключения компьютера по расписанию. Эта же утилита может использоваться в составе вредоносной программы для принудительной перезагрузки без уведомления пользователя. Например, помещение этой утилиты в автозапуск может надолго воспрепятствовать нормальной работе неискушенного пользователя.

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



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

Стоит сказать, что современные вирусы крайне редко пытаются записать данные в загрузочные сектора или в BIOS. Эпоха загрузочных вирусов давно прошла. Вследствие этого, антивирусные функции также постепенно исчезают из BIOS.

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

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


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

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

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

Пример. В эпоху классических вирусов под Windows и еще раньше в эпоху вирусов под DOS были широко распространены так называемые программы-ревизоры, которые как раз и выполняли расчет и сравнение контрольных сумм файлов на дисках, а также выполняли простейший анализ зафиксированных изменений. Среди продуктов Лаборатории Касперского такой программой был Kaspersky Inspector. Несколько большей известностью пользовался AdInf производства компании "ДиалогНаука". В настоящее время подобные программы исчезли из линеек продуктов всех ведущих производителей.

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


Интернет


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

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

С угрозами первых двух типов успешно справляется средство проверки файловой системы при доступе - загруженный файл будет проверен в момент записи на диск. Кроме этого могут использоваться и другие технологии.

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

Пример. В Антивирусе Касперского для Windows Workstations имеется возможность запускать проверку по требованию через интерфейс командной строки, передавая параметры проверки при помощи ключей командной строки. Аналогичная возможность реализована и в других версиях Антивируса Касперского: Personal, Personal Pro, для Windows File Servers.

Для защиты от использования на веб-страницах вредоносных скриптов, инициирующих несанкционированную загрузку и выполнение программ может использоваться специальный компонент проверки скриптов.
Как известно, для выполнения скриптов, написанных на языках VBScript и JavaScript в ОС семейства Windows используется специальный компонент - Windows Script Host, допускающий интеграцию внешних фильтров. В некоторых антивирусах реализован отдельный модуль, проверяющий все скрипты, выполняемые посредством Windows Script Host, обеспечивая защиту не только от веб-страниц, но также от содержащих скрипты писем в html-формате и просто от сохраненных на диске скриптов.

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

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

Пример. В Антивирусе Касперского Personal реализован частичный функционал персонального брандмауэра - защита от сетевых атак, специально предназначенный для блокирования атак на известные уязвимости в службах ОС Windows. Кроме этого в линейке продуктов Лаборатории Касперского имеется специализированное решения для защиты от сетевых атак - Kaspersky Anti-Hacker и интегрированное решение, объединяющее в себе антивирус, персональный брандмауэр и персональное средство защиты от спама - Kaspersky Internet Security.Все эти средства являются персональными, т.к. Антивирус Касперского для Windows Workstations ориентирован на использование в корпоративных сетях, где прямой доступ из Интернет обычно контролируется межсетевым экраном и/или прокси-сервером.

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


Эксплуатационные требования и характеристики


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



Эксплуатационные требования и соответствующие им решения


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

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



Классы рабочих станций


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

Сегодня рабочими станциями могут быть компьютеры, работающие под управлением таких операционных систем:

Microsoft WindowsLinux/UnixMacOS

В силу существенных архитектурных различий рабочие станции Windows обычно делят на два дополнительных подкласса:

Microsoft Windows 9x/MEMicrosoft Windows NT/2000/XP

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

Пример. Среди продуктов Лаборатории Касперского имеется два предназначенных для защиты рабочих станций - Антивирус Касперского для Windows Workstations и Антивирус Касперского для Linux Workstations. Кроме этого, продукт для защиты рабочих станций Windows может поставляться в различных дистрибутивах - для установки на Windows 98/ME и для установки на Windows NT/2000/XP. Между всеми этими продуктами есть функциональные различия.

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

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

Пример. Помимо корпоративной версии Антивируса Касперского для Windows Workstations, в линейке продуктов Лаборатории Касперского присутствуют две персональные версии - Антивирус Касперского Personal и Антивирус Касперского Personal Pro.
Первый продукт ориентирован на массовую аудиторию и сделан максимально простым в использовании, второй предназначен для опытных пользователей и предоставляет больше возможностей для тонкой настройки. Аналогичные по позиционированию продукты есть у большинства антивирусных производителей.

Продукты для защиты рабочих станций Linux/Unix или MacOS нередко вовсе не имеют сетевых (корпоративных) вариаций. Причина та же - количество таких рабочих станций, как правило, невелико.

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

Пример. Антивирус Касперского для Linux Workstations не управляется при помощи системы Kaspersky Administration Kit. Такой подход является характерным для индустрии в целом. Тем не менее, с учетом роста популярности Linux-платформы, а также понимая важность унификации подходов, планы развития включают распространение системы Kaspersky Administration Kit на продукты под Linux.


Надежность


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


В отношении надежности АПО для защиты серверов должно обладать теми же характеристиками, что и АПО для защиты рабочих станций:

Быстрая реакция на новые угрозыЗащита от случайного или преднамеренного отключения антивирусной защитыЗащита от необдуманных и неквалифицированных действий пользователейПредотвращение потери данных

При этом задействуются все те же технологии.

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

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



Недопущение потери данных


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

Пример. В Антивирусе Касперского для Windows Workstations реализован такой механизм, как резервное хранилище. Это специальный каталог, в который по умолчанию помещаются копии всех объектов, модифицируемых антивирусом, т. е. объектов подлежащих лечению или удалению. Объекты хранятся там в зашифрованном виде.

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

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

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

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

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



Обновление


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

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

Пример. Лаборатория Касперского на сегодняшний день выпускает обновления ежечасно (являясь в этом отношении лидером индустрии). Такой же интервал — 1 час — является минимальным и рекомендованным для выполнения задачи обновления Антивируса Касперского.

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

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



Основные требования к системе администрирования


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

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

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

    Требования к подсистеме диагностики Поддержка нескольких каналов доставки уведомлений: электронная почтасетевые уведомления (NET SEND, аналогичные средства Novell Netware и т. п.)SNMPзапись в журналы Windowsпересылка на сервер управления

    Централизованный сбор и хранение информации о событияхГибкая настройка регистрируемых типов событий и текста уведомленийПоддержка режима тестирования доставки уведомленийАнализ частоты заражений и генерация события типа "вирусная атака" с отправкой уведомления администратору антивирусной безопасностиАнализ событий при помощи фильтровГенерация сводных отчетов, как правило: отчет о наиболее распространенных вирусахотчет о наиболее заражаемых клиентахотчет о версиях антивирусных базотчет об используемых версиях АПОотчет о защите сетиотчет об использовании лицензийотчет об ошибках

    Желательно - генерация отчетов по расписанию

    Требования к подсистеме внедрения Автоматическое обнаружение незащищенных узловПоддержка различных методов удаленной установки: форсированная установка через RPCустановка через сценарии запуска (login script)другие способы - желательно



Почта


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

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

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

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

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

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

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

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

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

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


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

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

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

Интеграция с почтовыми клиентамиПерехват соединений по почтовым протоколам

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

Каждый из способов имеет свои преимущества и недостатки. Интеграция обычно поддерживается с очень ограниченным числом почтовых клиентов, например, только с клиентом Microsoft Outlook. С другой стороны, способ перехвата соединений также ограничен в числе поддерживаемых протоколов - как правило, это только протоколы SMTP и POP.

Пример. Учитывая ограничения каждого из способов реализации модуля проверки почтовых сообщений, в Антивирусе Касперского для Windows Workstations применяются одновременно оба способа: интеграция с Microsoft Outlook и перехват сообщений, отправляемых по протоколу SMTP и получаемых по протоколу POP v3.


Подсистема диагностики


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

Как и в случае одиночного антивируса средства диагностики можно разделить на несколько классов:

УведомленияЖурналыОтчеты

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

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

Отправка почтового уведомленияОтправка уведомления по сетиЗапись в журнал на сервереИспользование SNMP-последовательностейЗапуск третьих приложений (внешние системы доставки уведомлений)Пример. В Kaspersky Administration Kit имеется возможность отправлять уведомления по всем перечисленным каналам, кроме использования SNMP-последовательностей

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

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

Пример. В Kaspersky Administration Kit для всех типов событий можно указать необходимость записи их в базу данных на Сервере администрирования для последующего анализа

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


Пример. В Kaspersky Administration Kit реализованы следующие типы сводных отчетов:

Отчет о версиях антивирусных баз - позволяет определить клиенты с устаревшими антивирусными базамиОтчет об ошибках - позволяет выявить клиентов с большим количеством сбоев в работе АПООтчет о лицензионных ключах - позволяет проконтролировать соответствие количества защищенных компьютеров и количества лицензийОтчет о наиболее заражаемых клиентских компьютерах - указывает на наиболее проблемные с точки зрения антивирусной защиты компьютерыОтчет об уровне антивирусной защиты - предоставляет информацию о наличии в сети незащищенных компьютеровОтчет о версиях установленных приложений Лаборатории Касперского - позволяет выяснить, какие версии АПО используются в сетиОтчет о вирусной активности - определяет вирусы, проявляющие наибольшую активность в сети (наиболее часто обнаруживаемые)

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

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

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


Подсистема обновления


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

Однако, следует учитывать, что при выполнении задачи обновления передается большее количество данных, чем при распространении настроек или при выполнении других задач управления. Следовательно, основная проблема обновления в больших сетях - проблема загрузки сети. У многих производителей антивирусного ПО регулярные обновления антивирусных баз могут составлять несколько сотен килобайт или даже несколько мегабайт. Если представить, что все клиенты одновременно обратятся к внешнему источнику обновления - серверу обновлений производителя - канал доступа в Интернет будет перегружен. Более того, при таком размере обновлений могут быть перегружены даже каналы локальной сети.

Пример. Пусть размер регулярных обновлений составляет в среднем 1 Мб, и пусть в сети имеется 1000 клиентов, которые требуется обновить. Следовательно, в процессе обновления через канал доступа к Интернет должно быть передано 1000 Мб информации. Если предположить, что канал доступа имеет пропускную способность 2 Мбит/с можно вычислить, что на обновление всей сети потребуется

т. е. больше одного часа.

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

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

Путей решения у этой проблемы фактически два:

Уменьшать размер обновлений - путь экстенсивный, поскольку защищаемая сеть может иметь и 10000 и даже большее количество узлов, а пропускная способность сети на некоторых участках может быть и 256 кбит/с и даже 64.
Таким образом, проблема все равно будет возникатьИспользование промежуточных источников обновления - позволяет эффективно сократить количество обращений к каждому источнику путем введения дополнительных промежуточных источников обновления в необходимом количестве

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

В общем случае система обновления может иметь такие типы структур:

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

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



В рассмотренных схемах обновления не конкретизирована структура источников. На практике встречаются следующие их типы:

Внутренний FTP- или HTTP-серверОбщая папка в сети Microsoft (или Novell)Специализированный источник обновления на базе клиентского антивируса либо агента управленияПолностью специализированный сервер обновления

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

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

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

Пример. В Антивирусе Касперского для Windows Workstations (и для Windows File Servers) имеется опция загружать копию источника обновлений антивирусных баз в отдельный каталог для ретрансляции. В дальнейшем к этому каталогу можно представить доступ в рамках сети Microsoft, либо по протоколам FTP или HTTP. Тем не менее, проконтролировать, какая версия антивирусных баз хранится в источнике обновлений, возможности нет.

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

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

Пример. В Kaspersky Administration Kit Сервера администрирования могут выполнять также и функции серверов обновления: загружать обновления из источника верхнего уровня и распространять их среди подключенных клиентов.


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

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

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

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

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


Подсистема управления


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

Система управления строится на базе трех компонентов:

Сервера управленияКонсоли управленияАгента

Функции компонентов распределены следующим образом:

Консоль управления - является интерфейсом для доступа к функциям сервера управления и транзитом через сервер управления и агент - к функциям локально установленных антивирусных средств, допускает удаленное подключение к серверу управленияСервер управления - предоставляет возможности удаленной настройки отдельных клиентов и их групп, формирования задач для групп клиентов и централизованного хранения их настроек, помимо этого хранит информацию о подключенных к нему узлахАгент - выполняет посредническую функцию между сервером управления и антивирусными комплексами, установленными на узлах, применяя локально переданные настройки и выполняя локальный запуск задач

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

Пример. В Kaspersky Administration Kit структура решения полностью совпадает с описанной, имеются:

Сервер администрированияКонсоль администрированияАгент администрирования

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

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

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

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

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

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



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

Таким образом, складывается структура элементов управления:

Узлы - т. е. отдельные компьютеры, защищенные антивирусным ПОГруппы - объединения узлов

Для чего вообще имеет смысл объединять компьютеры в группы? По сути, цели две:

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

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

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

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

При отклонении настроек антивирусного ПО на узле от политики группы, агент формирует событие, о котором извещается администратор антивирусной безопасностиАнтивирусное ПО либо агент обладает механизмом блокирования изменения настроек АПО, т.


е. при такой схеме отклонение попросту невозможно

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

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

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

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


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

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

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

Структура групп, настройки групповых задач и политик, а также нередко и данные диагностики - вся эта информация должна так или иначе храниться на сервере и быть доступной для анализа и обработки. Как правило, для этих целей используется внешний сервер баз данных, по сути - четвертый компонент системы управления. Чаще всего в системах управления применятся бесплатная модификация Microsoft SQL Server 2000 - Microsoft SQL Server Desktop Engine 2000 или коротко MSDE 2000

Пример. В Kaspersky Administration Kit также используется внешний сервер баз данных и именно MSDE 2000. Это ПО входит в поставку Kaspersky Administration Kit и включает в себя встроенный Service Pack 3, устраняющий уязвимость, используемую для распространения червем Slammer



Поддерживается в Kaspersky Administration Kit и работа с полноценным Microsoft SQL Server 2000

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

Чтобы избежать этой ситуации используются следующие методы:

Иерархия серверов управленияОграничения на связь между сервером управления и подключенными к нему агентами

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

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

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

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

Пример. Иерархия Серверов администрирования реализована и в Kaspersky Administration Kit. Подчиненные Сервера входят в качестве элементов в состав групп главного Сервера, причем входят вместе со всей своей логической подсетью.


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

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

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

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

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

Пример. Kaspersky Administration Kit позволяет создавать иерархию Серверов администрирования любой глубины. В этом случае один и тот же Сервер администрирования может выступать в роли подчиненного и в роли главного. Каждый Сервер администрирования может иметь только один главный Сервер и сколько угодно подчиненных.

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

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


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


Пример. В Kaspersky Administration Kit используется третья схема реализации. Выделяется две группы пользователей - администраторы и операторы логической сети, первые имеют неограниченные права, вторые могут только просматривать настройки и создавать отчеты

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


Производительность


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

Если нет смысла проверять один и тот же объект два раза подряд (что очевидно), то возникает вопрос: каков допустимый интервал между двумя последовательными проверками одного и того же объекта? Ответ лежит на поверхности: до тех пор, пока состояние системы с точки зрения проверки этого объекта не изменилось. Важными параметрами в данном случае будут:

Состояние объекта — если объект изменился, существует вероятность, что это произошло под влиянием вируса, и значит объект подлежит повторной проверкеСостояние антивирусного средства — если изменилась версия антивирусных баз, антивирусного ядра или самого антивируса, существует вероятность, что потенциальный вирус внутри объекта, не обнаруженный ранее, будет обнаружен теперь и значит объект должен быть перепроверен

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

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

Пример. В Антивирусе Касперского для Windows Workstations (и в других версиях Антивируса Касперского под Windows) применяются уникальные технологии iStreams и iChecker. Обе они основываются на вычислении контрольных сумм проверенных объектов и отличаются только в том, где хранятся контрольные суммы.

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

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

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

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

Пример. В Антивирусе Касперского пользователю на выбор предлагается три подхода к определению проверяемых объектов:

Проверять все объектыПроверять заражаемые объекты по форматуПроверять заражаемые объекты по расширению

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


Например, EXE-файл, переименованный в файл с расширением TXT, будет корректно опознан как исполняемый и проверен.

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

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

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

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

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

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

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

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


Рабочие станции под управлением других ОС


В отличие от рабочих станций Windows, вредоносных программ, угрожающих заражением непосредственно рабочим станциям под управлением Unix или MacOS крайне мало. В большинстве своем это либо так называемые proof-of-concept (доказательство возможности) вирусы, либо вирусы, использующие весьма специфические уязвимости. Первые не встречаются в "диком виде" и на практике опасности не представляют. Что касается вторых, то они способны поражать только системы с очень специфическим набором свойств (например, с установленным прикладным ПО определенной версии) и, как правило, не угрожают актуальным версиям ОС и соответствующих программ.

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

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

Пример. В линейке антивирусных продуктов Лаборатории Касперского имеется Антивирус Касперского для Linux Workstations, в состав которого входит сканер по требованию, а также утилита обновления и средства управления. У других производителей имеющиеся продукты такого класса обладают близким функционалом.

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



Рабочие станции Windows


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

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



Сервера Microsoft Windows


Для серверов Windows актуальны все те же угрозы, что и для рабочих станций под Windows NT/2000/XP. Отличия заключаются только в преимущественном способе эксплуатации серверов, что выражается в ряде дополнительных атак, нехарактерных для рабочих станций.

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

Пример. Антивирус Касперского для Windows File Servers в отличие от Антивируса Касперского для Windows Workstations лишен модуля поведенческого анализа выполняемых макросов при работе с документами Microsoft Office и модуля проверки получаемой и отправляемой почты. Это не значит, что в продукте отсутствует защита от макровирусов и почтовых червей - как уже отмечалось, в конечном счете, все открываемые файлы проверяются модулем постоянной защиты файловой системы - просто специфика эксплуатации серверов не требует дополнительных средств защиты, как это было в случае с рабочими станциями.

С другой стороны на серверах Windows значительно чаще, чем на рабочих станциях могут использоваться такие службы как Microsoft SQL Server и Microsoft IIS. Как и сами операционные системы производства Microsoft (и не только Microsoft), эти службы могут содержать уязвимости, чем в свое время неоднократно пользовались авторы вирусов.

Пример. В 2003 году появился и буквально пронесся по Интернету червь Net-Worm.Win32.Slammer, использовавший уязвимость в Microsoft SQL Server 2000. Slammer не сохранял свои файлы на диск, а выполнялся непосредственно в адресном пространстве приложения SQL Server. После этого в бесконечном цикле червь выполнял атаку на случайные IP-адреса в сети, пытаясь использовать для проникновения ту же уязвимость. В результате активности червя были до такой степени перегружены сервера и каналы связи Интернет, что целые сегменты сети были недоступны.
Особенно пострадала от эпидемии Южная Корея. Стоит отметить, что никаких других действий, кроме размножения червь не выполнял.

Пример. Еще раньше, в 2001 году, уязвимость в Microsoft IIS 5.0 была использована для распространения червем Net-Worm.Win32.CodeRed.a. Последствия эпидемии были не столь внушительны, как в случае с червем Slammer, но зато при помощи компьютеров, зараженных CodeRed.a, была произведена небезуспешная попытка DDoS атаки на сайт Белого Дома США (www.whitehouse.gov). CodeRed.a также не сохранял файлы на дисках пораженных серверов.

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

Актуальными для серверов Windows остаются и черви, атакующие уже непосредственно уязвимые службы операционной системы, такие как Lovesan, Sasser, Mytob и др. Защита от них должна обеспечиваться комплексными мерами - использованием брандмауэров, установкой заплат, применением проверки при доступе (упомянутые черви при успешной атаке сохраняют свои файлы на жестком диске).

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


Сервера Novell Netware


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

Соответственно, антивирус для сервера Novell Netware фактически не предназначен для защиты этого сервера. В чем же тогда его функции? В предотвращении распространения вирусов. Сервера Novell Netware в большинстве своем используются именно как файловые сервера, пользователи Windows-компьютеров могут хранить на таких серверах свои файлы или же запускать программы, расположенные на томах Novell Netware. Чтобы предотвратить проникновение вирусов на общие ресурсы сервера Novell, либо запуск/чтение вирусов с таких ресурсов и нужен антивирус.

Соответственно, основные средства, применяемые в антивирусе для Novell Netware - проверка при доступе и проверка по требованию.

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



Сервера Unix


Про сервера Unix можно сказать все то же, что и про сервера Novell Netware. Антивирус для Unix-серверов решает не столько задачу защиты самих серверов от заражения, сколько задачу недопущения распространения вирусов через сервер. Для этого применяются все те же два основных средства:

Проверка файлов по требованиюПроверка файлов при доступеПример. Антивирус Касперского для Unix/Linux File Servers включает модуль проверки при доступе, тогда как в Антивирусе Касперского для Linux Workstations такого модуля нет. Связано это с различными функциями рабочих станций и серверов Linux - в сети построенной исключительно (или большей частью) на Linux-станциях опасность заражения вирусами практически отсутствует, и поэтому острой необходимости в модуле, контролирующем все файловые операции, нет. Напротив, если Linux-компьютер активно используется для хранения и передачи файлов (особенно в Windows-сети), то он является, по сути, сервером и требует средств постоянного контроля файлов.

Многие известные черви под Linux используют для распространения уязвимости не в самой операционной системе, а в системном и прикладном ПО - в ftp-сервере wu-ftpd, в веб-сервере Apache. Понятно, что такие приложения используются чаще на серверах, чем на рабочих станция, что является дополнительным аргументом в пользу усиленных мер по защите серверов.

В отличие от серверов Novell, где поддержка сетей Microsoft является встроенной функцией, сервера Unix по умолчанию не приспособлены для передачи файлов по протоколу SMB/CIFS. Для этой цели используется специальный программный пакет - Samba, позволяющий создавать совместимые с Microsoft-сетями общие ресурсы.

Если обмен файлами происходит только по протоколам SMB/CIFS, то очевидно, не имеет смысла контролировать все файловые операции, достаточно проверять только файлы, передающиеся с использованием Samba-сервера.

Пример. В линейке продуктов Лаборатории Касперского есть специальное решение - Антивирус Касперского для Samba Server, предназначенное именно для защиты общих папок, созданных на Unix-серверах при помощи ПО Samba. В составе этого продукта нет модуля, контролирующего файловые операции, вместо него используется фильтр, встраиваемый в Samba и перехватывающий все передаваемые файлы.



Система администрирования


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



Специфические угрозы и способы противодействия


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



Специфические угрозы и технологии противодействия


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



Средства внедрения


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

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

Форсированная установка через RPC - используется возможность удаленного запуска приложений на Windows NT-подобных операционных системах для удаленного выполнения установки (агента, антивируса). Преимущества - полная независимость процесса установки от локального пользователя. Недостатки - ограничение на Windows NT-подобные ОС, необходимость знать реквизиты пользователя с правами локального администратора на удаленном компьютереУстановка при помощи сценариев запуска - пользователям домена назначается сценарий запуска, который загружает и запускает программу установки. Сценарий запускается при регистрации пользователя в сети. Преимущества - возможность удаленной установки на Windows 98/Me, пользователю не требуется выполнять никаких активных действий. Недостатки - необходимость в наличии домена, необходимость в наличии у пользователя прав локального администратора (для проведения установки)Установка через объекты групповых политик - использует возможности групповых политик Active Directory для установки приложений, может применяться как форсированно, так и с участием пользователя. Преимущества - имеет форсированный режим установки, не требующий участия пользователя. Недостатки - необходимость в наличии домена, необходимость настраивать политики вручнуюУстановка по электронной почте - пользователям рассылается письмо с программой установки и инструкциями по ее запуску. Преимущества - нет ограничений по операционным системам. Недостатки - необходимость разбивать большую программу установки на несколько писем, необходимость вовлечения пользователя в процесс установкиУстановка через веб- или любой другой сервер - пользователю по электронной почте или по другим каналам присылается ссылка на внутренний ресурс с которого нужно загрузить программу установки и запустить ее.
Преимущества - нет ограничений по операционным системам, нет проблем с разбиением программы установки для отправки по почте. Недостатки - необходимость вовлечения пользователя в процесс установки

Из всех описанных методов только форсированная установка через RPC является интерактивной и позволяет непосредственно после запуска выяснить, успешно она прошла или нет. Все остальные методы требуют ожидания действий пользователя - запуска программы установки, входа в систему. Даже форсированный режим установки через объекты групповых политик выполняет установку не тут же, а при регистрации компьютера в Active Directory. Т. е. на включенный компьютер такая установка произведена быть не может - требуется предварительная перезагрузка.

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

Пример. В Kaspersky Administration Kit применяются два способа установки:

Форсированная установкаУстановка при помощи сценариев запуска

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


Структура системы администрирования


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

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

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

Пример. В версии 4.5 Kaspersky Administration Kit удаленная установка была отделена от всех остальных функций системы управления и представляла собой отдельный инструмент, выполненный в виде независимого программного модуля, который, впрочем, считался частью Kaspersky Administration Kit.

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

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

Все же наиболее удачным выглядит решение, объединяющее в себе все необходимые подсистемы. Таким решением является Kaspersky Administration Kit. Аналогичной универсальностью характеризуются продукты для управления от Symantec, McAfee и Trend Micro.



Структура уровня


Уже глядя на название, можно сделать вывод о некоторой неоднородности третьего уровня КСАЗ с точки зрения используемых средств защиты. Если общность угроз позволяет объединить сетевые сервера и рабочие станции в один уровень, то существенно разные профили использования выражаются в различных требованиях к эксплуатационным характеристикам АПО. Как следствие, достаточно часто для защиты сетевых серверов и рабочих станций используются разные продукты.

Пример. В линейке продуктов Лаборатории Касперского для защиты рабочих станций и серверов Windows предназначены соответственно Антивирус Касперского для Windows Workstations и Антивирус Касперского для Windows File Servers. Аналогично для защиты серверов и станций под управлением Linux предназначены Антивирус Касперского для Linux Workstations и Антивирус Касперского для Linux File Servers. При этом в первом случае разделение более чем принципиально: невозможно установить продукт для защиты рабочих станций Windows на серверную операционную систему и наоборот.

Принимая во внимание вышесказанное, естественным выглядит выделение на третьем уровне КСАЗ двух подсистем:

Подсистема защиты сетевых серверовПодсистема защиты рабочих станций

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

Как показывает практика, ничего лучше для решения указанной проблемы, чем создание отдельной подсистемы управления, пока придумать не удалось. Таким образом третий уровень КСАЗ - уровень защиты сетевых серверов и рабочих станций - в общем случае состоит из трех подсистем:

Подсистема защиты сетевых серверовПодсистема защиты рабочих станцийПодсистема управления

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

Пример. В качестве решения, играющего роль подсистемы управления, в линейке продуктов Лаборатории Касперского выступает Kaspersky Administration Kit. Первоначально эта система охватывала только средства защиты серверов и рабочих станций Windows. В настоящее время в рамках Kaspersky Administration Kit реализовано управление Антивирусом Касперского для Microsoft Exchange Server. В планах развития - охватить единой системой управления все продукты Лаборатории Касперского.

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


Требование к антивирусам для серверов


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

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

    Контроль в реальном режиме времени файлов, расположенных в общих ресурсах - проверка при обращении к этим файламПроверка в реальном режиме времени всей файловой системы (обязательно - Microsoft Windows, желательно - Novell Netware, Unix/Linux)Проверка любых объектов файловой системы по требованиюОбнаружение вирусов в составных файлах - архивах, файлах почтовых форматов и т. п.Возможность выбора различных действий при обнаружении вируса, штатно: блокирование доступа к файлузапись в журналудалениепереименование или помещение на карантинлечениежелательно - блокирование доступа с рабочей станции

    Лечение зараженных файловЖелательно - лечение файлов в архивах

    Требования к управлению

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

    Требования к обновлению

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

    Требования к диагностике

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

    Требования к производительности

    Желательно - поддержка многопроцессорности



Требования к антивирусам для рабочих станций


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


Как и раньше требования будут делиться на несколько категорий:

    Общие требования — надежность, производительность, удобство в использовании, дешевизна - нет смысла лишний раз повторятьсяОсновные требования — как следствие главной задачи: Проверка всех файлов на локальных дисках, к которым идет обращение - на чтение, на запись, на запуск - с целью выявления и нейтрализации компьютерных вирусовПроверка сменных и сетевых дисковПроверка памятиПроверка входящих и исходящих писем на предмет наличия вирусов, проверяться должны как сами сообщения, так и вложения к нимПроверка скриптов и других активных элементов веб-страницПроверка макросов в документах Microsoft Office и файлах других приложенийПроверка составных файлов - архивов, самораспаковывающихся архивов, упакованных исполняемых файлов, постовых баз данных, файлов почтовых форматов, OLE-контейнеровВозможность выбора различных действий над зараженными файлами, штатно: блокирование (при проверке в реальном режиме времени)запись в журнал (при проверке по требованию)удалениеперемещение на карантинлечениезапрос действия у пользователя

    Лечение зараженных файловЛечение зараженных файлов в архивахЖелательно - обнаружение потенциально нежелательных программ (рекламных и шпионских модулей, хакерских утилит, и т. п.)

    Требования к управлению

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

    Требования к обновлению

    Поддержка различных источников обновления, штатно: HTTP- или FTP-ресурсЛокальная или сетевая папкаЦентрализованная система обновления (в корпоративных версиях)

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

    Требования к диагностике

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




Категории требований будут теми же, но сами требования будут менее жесткими по описанным ранее причинам:

    Общие требования - практически без изменений: надежность, производительность, дешевизна. Удобство использования в Unix-системах традиционно оценивается по несколько другим критериям, чем в Windows-системах, хотя такое положение дел и начинает постепенно меняться в сторону унификации требованийОсновные требования - исходя из назначения: Проверка по требованию произвольных файлов и каталогов на предмет наличия вирусовЖелательно, но не критично - проверка определенных каталогов в режиме реального времени при доступе к файлам. Если такой функционал действительно необходим, значит речь идет не столько о рабочей станции, сколько о сервере - в Unix-системах явного различия между ними нетОбнаружение вирусов в составных объектах - архивах, самораспаковывающихся архивах, упакованных исполняемых модулях, постовых базах данных, файлах почтовых форматов, OLE-контейнерах - не ограничиваясь форматами, распространенными в Unix-средеВозможность выбора действия при обнаружении зараженных файлов, штатно: удалятьперемещать или переименовыватьлечитьзаписывать информацию в отчетзапросить действие у пользователя (при проверке по требованию)

    Лечение инфицированных файловЖелательно - возможность лечения в архивах

    Требования к управлению

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

    Требования к диагностике

    Ведение журналов работыУведомление администратора антивирусной безопасности



Управление


Реализация управления связана с двумя аспектами - структурой инструментов управления и организацией доступа к этим инструментам. К инструментам управления относятся настройки и задачи.

Настройки — это значения параметров, определяющих характер выполнения тех или иных действий

Задачи — это именованные действия, связанные с используемыми в антивирусе средствами и характеризующиеся индивидуальными настройками выполнения

Пример. В Антивирусе Касперского для Windows Workstations существуют следующие типы задач:

Задачи постоянной защитыЗадачи проверки по требованиюЗадачи обновления (включая откат обновления)

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

С точки зрения доступа к инструментам управления выделяются следующие средства:

Графический интерфейс — характерен для продуктов под Windows, все настройки и задачи доступны в виде диалоговых окон связанных с главным окном антивирусаКонфигурационные файлы — средство редактирования настроек, при котором все параметры и их значения хранятся в удобном для редактирования формате в отдельных файлах или даже в одном файле. Подход более характерен для продуктов под Unix, но может применяться и в продуктах под Windows. В последнем случае роль конфигурационных файлов нередко играет реестр WindowsИнтерфейс командной строки — средство управления задачами или, в отсутствие таковых, выполнения отдельных действий, подход также более характерен для антивирусов под Unix, но встречается и в антивирусах под Windows, главным образом для побеспечения возможности выполнения антивирусной проверки из-под третьих программВеб-интерфейс — способ доступа к настройкам и задачам антивируса через браузер, предполагает наличие встроенного в антивирус HTTP-сервера или же использования внешнего (IIS, Apache). Чаще всего такой подход применяется в антивирусах для Unix в виде замещения графического интерфейса


Можно отметить, что для антивирусов под Windows штатным способом управления является локальный - через графический интерфейс. Развитых средств удаленного доступа в ОС Windows нет, а точнее эти средства применяются преимущественно в серверных системах, а в пользовательских версиях Windows эти средства если и есть, то очень ограничены (речь идет об инструменте Remote Desktop).

В антивирусах для Unix-систем, напротив, используется преимущественно удаленный доступ: либо через веб-интерфейс, либо через telnet- или ssh-клиент.

Пример. В Антивирусе Касперского для Windows Workstations имеется графический интерфейс и интерфейс командной строки. Настройки продукта в целом и отдельных задач хранятся в xml-файлах, которые подписаны и не предназначены для непосредственного редактирования. В реестр Windows вынесены лишь некоторые настройки антивирусного ядра, не касающиеся антивирусных функций

В Антивирусе Касперского для Linux Workstations используются конфигурационные файлы, интерфейс командной строки и веб-интерфейс.


Вопросы терминологии


Третий уровень КСАЗ — это уровень защиты серверов и рабочих станций. Иногда для ясности говорят "файловых серверов и рабочих станций", чтобы не включать в категорию защищаемых объектов, например, почтовые сервера. Такая подмена не вполне оправдана.

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

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

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

Учитывая, что большинство современных вирусов попадают на компьютеры по сети, для обозначения третьего уровня КСАЗ используют также формулировку: уровень защиты сетевых серверов и рабочих станций. Несмотря на то, что такое определение уже гораздо точнее, оно тоже не является безупречным. Гипотетически можно предположить компьютер, использующий операционную систему серверного класса, предназначенный для обработки классифицированной информации и по этой причине отключенный от сети. Такой компьютер тоже необходимо защищать в рамках третьего уровня КСАЗ, поскольку поступающие через сменные носители непроверенные данные представляют собой угрозу с точки зрения вирусного заражения, а с учетом особой важности обрабатываемой информации, суммарный риск будет слишком большим, чтобы его игнорировать.

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


Третий уровень КСАЗ — это уровень защиты серверов и рабочих станций. Иногда для ясности говорят "файловых серверов и рабочих станций", чтобы не включать в категорию защищаемых объектов, например, почтовые сервера. Такая подмена не вполне оправдана.
Важно понимать, что два предыдущих уровня КСАЗ — уровень защиты шлюзов и уровень защиты почтовых систем - выполняют задачу перехвата вирусов на стадии распространения (проникновения) и никак не участвуют в защите от вредоносных программ на этапе их - программ - активации. Напротив, задача третьего уровня защиты, в первую очередь, - воспрепятствовать активации вируса и выполнения им заложенных функций.
В связи с этим отличаются и принципы, по которым определяется состав защищаемых на третьем уровне узлов. Если на уровнях защиты шлюзов и почтовых систем защищаемые узлы определялись по признаку назначения и выполняемых функций (обработка соответствующего потока информации), то на третьем уровне одним из основных признаком для включения узла в класс защищаемых является существование вредоносных программ, которые могут быть запущены (активированы) на узле.
Соответственно, третий уровень КСАЗ охватывает далеко не только сервера, выполняющие функции файловых хранилищ. К подлежащим защите на этом уровне вполне могут относиться номинальные почтовые сервера или сервера баз данных, если они используют операционную систему семейства Microsoft Windows.
Учитывая, что большинство современных вирусов попадают на компьютеры по сети, для обозначения третьего уровня КСАЗ используют также формулировку: уровень защиты сетевых серверов и рабочих станций. Несмотря на то, что такое определение уже гораздо точнее, оно тоже не является безупречным. Гипотетически можно предположить компьютер, использующий операционную систему серверного класса, предназначенный для обработки классифицированной информации и по этой причине отключенный от сети. Такой компьютер тоже необходимо защищать в рамках третьего уровня КСАЗ, поскольку поступающие через сменные носители непроверенные данные представляют собой угрозу с точки зрения вирусного заражения, а с учетом особой важности обрабатываемой информации, суммарный риск будет слишком большим, чтобы его игнорировать.
Впрочем, описанная гипотетическая ситуация достаточно редко встречается в реальных автоматизированных системах, и для практических целей можно было удовлетвориться формулировкой: третий уровень КСАЗ - это уровень защиты сетевых серверов и рабочих станций. Сетевых в данном случае означает - подключенных к сети.

Защита от действий пользователя


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

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

К таковым могут относиться:

Полный запрет или установка защиты паролем на выгрузку антивирусных средствПолный запрет или установка защиты паролем на деинсталляцию антивирусных средствВыборочная либо полная защита (паролем либо безусловная) от изменения параметров работы антивирусных средствПример. В Антивирусе Касперского для Windows Workstations применяется подход с двумя интерфейсами - интерфейсом пользователя и интерфейсом администратора. Разграничение определяется паролем (Windows 98/Me) либо правами пользователя в системе (Windows NT/2000/XP). В режиме администратора доступны все настройки и действия по отношению к антивирусу, тогда как в режиме пользователя настройки недоступны вовсе, а из действий доступно только выполнение некоторых задач - проверки всего компьютера, проверки сменных дисков, проверки произвольных объектов, обновления антивирусных баз и, возможно, выполнение других разрешенных администратором задач.

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



Защита от вредоносного кода


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

Среди технологий, призванных противостоять таким действиям вирусов, можно выделить несколько основных:

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



Защита серверов


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