Сергей Яремчук
Чем уникальна общественная система предотвращения атак Prevx1
В течение многих лет пользователи доверяли защиту своих компьютеров антивирусным программам, но многочисленные эпидемии показали, что сравнение сигнатур часто не спасает и необходим принципиально иной подход. Появление на рынке программ, работающих по новому принципу, может пошатнуть позиции антивирусных компаний.
В журнале уже шла речь о проактивных системах защиты [1] и узловой системе остановки атак CORE FORCE [2]. Назначение у них одно – защита персонального компьютера от вирусов, известных и неизвестных уязвимостей, червей, шпионских и троянских программ. В том числе они способны среагировать на так называемые атаки нулевого дня, которые, как правило, не обнаруживаются традиционными средствами. Но эти системы отличаются принципом работы. Первые самостоятельно составляют безопасный профиль системы и работающих программ, а CORE FORCE использует профиль, заранее подготовленный сообществом пользователей. Недостатки есть у обеих систем. На составление автоматического профиля (обучение) уходит некоторое время, в течение которого решение о допуске программы, как правило, принимает пользователь. И хотя подобные системы сегодня все меньше и меньше задают вопросов, от пользователя требуется некий уровень понимания происходящего в системе, хотя бы такого, чтобы появление нового процесса вызвало подозрение. На составление и тестирование профиля для CORE FORCE требуется время, кроме того, в списке известных программ может не оказаться нужной утилиты. Хотя эта проблема также решаема, пользователь сам может составить профиль или попросить помощи у сообщества, быстрота реакции которого – вещь труднопрогнозируемая. При правильно составленном профиле пользователь может и не участвовать в отражении атаки, но следует учесть, что вручную профили составляются только для заведомо хороших программ. Вирус и шпионский модуль будут пойманы, только при попытке выполнить какое-то неизвестное системе защиты действие. А ресурсы, затраченные для автоматической генерации профиля в проактивных системах, остаются неизвестными сообществу, к тому же для них характерны ложные тревоги. Истина, как известно, где-то посередине. Возможно, создателям общественной системы предотвращения атак (Community Intrusion Prevention System – CIPS) Prevx 1 удалось ее найти.
Что представляет собой Prevx 1?
Английская компания Prevx Limited, имеющая 5-летний опыт по разработке систем предотвращения атак, выпустила в феврале 2004 года совершенно новый тип IPS, названный Prevx Home. Уникального в представленной системе было много. Так, в отличие от антивирусных систем, использующих для определения злонамеренных файлов сигнатуры, или некоторых IDSсистем, использующих список разрешенных приложений, в новой системе применялись правила, описывающие поведение и контрольные суммы программ. Причем в список попадали как заведомо хорошие программы, так и плохие, что позволяло быстро определить характер новой программы или процесса на компьютере. Но не это главное. В системе используется единая база данных (Community Watch), являющаяся наиболее мощным источником информации, определяющим существование, распространение и деятельность как благоприятного, так и злонамеренного программного обеспечения. База данных прослеживает и анализирует в реальном времени поведение и распространение каждой программы, выполняемое обществом. Агенты безопасности, расположенные на клиентских компьютерах, отслеживают ситуацию в защищаемой системе. При установке нового приложения либо появлении нового неизвестного локальной базе процесса соединялись с центральной (общественной) базой через Интернет и на основании полученной информации делали вывод (рис. 1).
Рисунок 1. При попытке установки нового, неизвестного локальной базе ПО запрашивается информация из центральной базы данных
Если в центральной базе данных не было информации о новой программе, новый модуль заносится в нее и помечается как неизвестный, пользователь в таком случае предупреждается о возможном риске. В отличие от антивирусов, требующих некоторое время, необходимое на анализ специалистами, Community Watch в большинстве случаев сам способен определить характер программы, основываясь на поведенческих характеристиках. Для этого используется методика, названная «Four Axes of Evil» (четыре оси зла), определяющая характер программы по четырем составляющим: скрытность, поведение, происхождение и распространение. В результате создается ее описание, содержащее около 120 параметров, позволяющих ее идентифицировать в будущем. То есть если неизвестная базе утилита выполняет те же действия, что и уже известная зловредная программа, то ее назначение очевидно. Если данных, собранных агентом, все-таки недостаточно для принятия однозначного решения, то база данных может потребовать копию программы для прогона. По заявлению разработчиков только небольшой процент случаев требует ручного вмешательства специалистов. При первом запуске база данных содержала информацию об одном миллионе событий, через 20 месяцев в базе уже была информацию об 1 миллиарде событий. Такой принцип фактически устраняет ложные позитивные и отрицательные срабатывания. Как результат – появление нового поколения программы Prevx 1, бета-тестирование которой началось с 16 июля 2005 года. Результат превысил все ожидания – 100 тысяч разбросанных по всему миру компьютеров с установленными на них Prevx 1 оказались способны противостоять новым угрозам в реальном времени. В настоящее время оптимизированная база данных содержит более 10 миллионов уникальных событий с 220 тысячами вредных объектов. А система автоматически обнаруживает и нейтрализует ежедневно свыше 400 вредных и около 10 тысяч программ различного назначения, антивирусным программам не угнаться за такой производительностью. Prevx1 может использоваться как автономно, защищая компьютер самостоятельно, так и может быть усилена другими продуктами: межсетевым экраном, антивирусом, программами для поиска шпионских модулей и пр. Программа проходит тестирование на совместимость, только межсетевые экраны могут закрывать доступ к базе, но это легко решается. Для установки агентов потребуются Windows 2000/XP/2003, установленные на компьютер с 256 Мб ОЗУ, и процессор с частотой 600 Мгц. Замечу, что при такой минимальной конфигурации система явно притормаживает, поэтому для комфортной работы желательно более мощное оборудование.
Семейство Prevx 1
Каждая копия установленного Prevx 1 состоит из двух основных частей: консоли (pxconsole.exe) и агента (pxagent.exe). Консоль может работать в трех режимах, выбираемых пользователем самостоятельно, кроме того, возможно использование трех лицензий. В зависимости от этого пользователю будут доступны различные параметры и настройки.
По умолчанию консоль устанавливается в режим Prevx1 ABC. Это самый простой режим, предназначенный для неподготовленного (и ленивого) пользователя. Выводится минимум информации, внешне работа системы будет заметна только в случае возникновения внештатной ситуации, контролируется меньшее число параметров программ, запуск, остановку и другие действия программ можно контролировать в сплывающих окнах (рис. 2).
Рисунок 2. В режиме Pro и Expert пользователь будет получать информацию о работе программ
Вариант Pro рассчитан на продвинутых пользователей, которые хотят получать более подробную информацию о работе и остановке программ, попытке выхода в Интернет и других действиях. Кроме того, пользователь получает доступ к большему числу настроек и в результате может самостоятельно принимать решение об установке программ, загрузке данных из Интернета и другой деятельности.
Некоторым пользователям настроек Pro было мало, так как они не могли тонко сконфигурировать систему, вот для них и предназначена версия Expert, дающая в руки наиболее полное управление системой. Агенты проверяют большее количество параметров, даже по сравнению с версией Pro. Учитывая возможность вмешательства пользователя в режимах Pro и Expert, в таком варианте система Prevx1 может работать автономно, без доступа к внешней базе данных, так как информация о новых процессах будет выводиться пользователю.
Теперь о лицензиях. Лицензия Individual стоимостью 19,95 у.е., как видно из названия, предназначена для защиты одного персонального компьютера. При наличии 5 персональных компьютеров лучше использовать лицензию Family стоимостью 39,95 у.е. Кроме меньшей стоимости лицензии в пересчете на один компьютер, в варианте Family Prevx1 умеет отправлять почтовые сообщения о состоянии безопасности компьютеров семейства при возникновении угроз, установке нового ПО, загрузке подозрительного контента и пр.
Самой мощной является лицензия Enterprise. Кроме оповещений доступных в версии Famile, в этом варианте использован более мощный End Point Security агент. При попытке установки нового ПО или попытке запуска неизвестной программы агент производит запрос к центральной базе данных на предмет санкционированного использования в предприятии. Если такое ПО не разрешено, то попытка выполнения блокируется. Если код известен, благоприятен и разрешен, тогда программа выполняется, и ее данные добавляются к локальной базе данных. В течение выполнения агент или база данных может аннулировать право выполнения, если код ведет себя с некоторой степенью анормальности.
Таким образом, при помощи Prevx1 можно не только защищать компьютеры предприятия от известных и неизвестных атак, но и контролировать установку программного обеспечения. Enterprise можно свободно установить на 100 компьютеров и тестировать в течение 3 месяцев, что позволяет полностью оценить качество продукта и выявить слабые места в компьютерной сети предприятия.
Кроме этого пользователям предлагается свободная версия продукта, имеющая литеру «R» в названии [3]. Здесь поступили очень просто: вместо обычного в таких случаях ограничения функциональности продукта пользователям предоставляется самая последняя тестовая версия, имеющая полную функциональность. Таким образом, не только привлекаются новые пользователи, добавляющие свои сигнатуры в базу данных сообщества, но и тестируется непроверенное программное обеспечение.
Установка Prevx1
Установка Prevx1 не представляет собой ничего сложного, но обязательно при активации и верификации требуется подключение к Интернету. После запуска исполняемого файла (5,45 Мб) предстоит пройти четыре этапа:
- Installation – приложение копируется в заданный каталог и устанавливается.
- Activation – указывается файл лицензий или использование тестового варианта.
- Disk Scan – происходит сканирование жесткого диска в поиске исполняемых файлов и создание локальной базы данных. Эта операция производится один раз, при последующей эксплуатации системы, программы определяются при попытке запуска, поэтому периодическое сканирование не требуется.
- Verification – происходит сверка с общественной базой данных, определение характера найденных программ и завершение создания локальной базы данных. На тестовом компьютере с полусотней установленных программ такая сверка заняла около 600 Кб входящего и исходящего трафика.
После чего компьютер считается защищенным и пользователю выводится результирующая информация (рис. 3).
Рисунок 3. После установки пользователю будет выведен результат
Кроме того, о состоянии защиты вам подскажет индикатор в трее. Если он горит зеленым, то с защитой все в порядке, красным – на компьютере найдены вредные программы, желтый цвет индикатора показывает на наличие неизвестных программ, в этом случае пользователь должен быть внимателен. Все вредные программы будут помещены в песочницу, имеющую три варианта (рис. 4):
Рисунок 4. Вредные программы попадают в песочницу
- Holding Cell – программы остаются на своих местах, но они заблокированы, и запустить их невозможно, сюда программы попадают сразу после обнаружения.
- On Probation – программа может быть запущена, даже если Prevx1 определил ее как вредную.
- Jail – программы перемещаются в другую папку, переименовываются, и запустить их невозможно.
Список всех активных программ доступен в окне «Status». Работу любой программы можно проконтролировать при помощи монитора (Programm Monitor). В результате пользователь может собрать полную информацию о ключах реестра, к которым осуществлялся доступ, сетевой и другой активности. Ее можно вывести в двух формах: список событий и тип событий (Event Type). Последний очень удобен при ручном составлении правил. Но, к сожалению, экспортировать полученный список в окно правил нельзя. Для переключения в режимы Pro и Expert необходимо активировать «Advanced Mode» во вкладке «Preferences» и затем в появившейся вкладке «Advanced» выставить требуемый режим. При желании настройки в «Preferences» можно защитить паролем.
В моем случае даже не пришлось долго ждать, чтобы протестировать работу системы. В процессе верификации базы данных решил обновиться веб-браузер Firefox. После его перезапуска консоль Prevx1 выдала сообщение о том, что происходит запуск неизвестной программы и требуется проверка с базой данных сообщества (рис. 5). Хотя пользователь может запустить ее и без подтверждения, выбрав вариант установки нового программного обеспечения.
Рисунок 5. Для подтверждения запуска обновленного браузера Firefox требуется сверка с базой сообщества
Выводы
Несомненно, Prevx1 является передовым и интересным по принципу своей работы продуктом. Использование многочисленных компьютеров как некоей распределенной системы обнаружения атак позволяет вовремя обнаруживать неизвестные угрозы, а применяемые для их описания алгоритмы практически полностью автоматизируют процесс занесения их в базу данных. Возможность контроля над устанавливаемыми приложениями в версии Enterprice и оповещение делает ее хорошим помощником администратора. Минусы тоже есть. Необходим постоянный и устойчивый канал в Интернете, к тому же такая система во время установки потребует некоторый трафик, который при большом количестве компьютеров может стать большим. Возможность использования централизованной базы данных (даже в кэширующем варианте), расположенной на предприятии, снизила бы нагрузку на внешний канал, упростила администрирование и сделала такую систему менее зависимой от внешней базы. Таким образом, повысилась бы надежность всей схемы. Но очевиден отход от классических схем определения атак и в будущем, вероятно, подобные системы будут более распространены.
Литература, ссылки:
- Яремчук С. Проактивные системы защиты, или Есть ли жизнь без антивируса? – Журнал «Системный администратор», №7, 2005 г. – 9-13 с (http://www.samag.ru/cgi-bin/go.pl?q=articles;n=07.2005;a=04).
- Яремчук С. Защита Windows-систем при помощи CORE FORCE – Журнал «Системный администратор», №1, 2006 г. – 54-59 с (http://www.samag.ru/cgi-bin/go.pl?q=articles;n=01.2006;a=09).
- Свободная версия Prevx1R – http://free.prevx.com.