Настройке систем безопасности посвящается...
Записи из дневника пользователя:
9.03 Предотвратил теракт на рабочем месте: перерезал два подозрительных кабеля.
9.05 Почему не работают мышь и клавиатура?
Пару раз переустановив покусанную вирусами систему, человек задумывается о защите. Форматируя диск в третий раз, он начинает подозревать, что антивируса недостаточно. С этого момента большинство пользователей (меньшинство продолжает упорно форматировать диски) увлекаются превращением своих ПК в крепости, выстраивая эшелонированную оборону: брандмауэры и антивирусы, поисковики троянов и системы обнаружения вторжений, анализаторы трафика, контроллеры целостности и спам-фильтры. Многочисленное воинство, капризничая и конфликтуя, требует постоянного внимания, ресурсов и времени, вскоре превращая задачу поддержания системы защиты на адекватном уровне в самоцель работы в Интернете. Она отбирает все больше и больше сил, причем отнюдь не гарантируя абсолютную безопасность.
Мало кто готов жертвовать редкими свободными часами для этой в принципе второстепенной задачи. Гораздо больше людей, ставя заплатку на операционную систему или обновляя антивирусные базы лишь от случая к случаю, мечтают о некой программе в виде большой красной кнопки на черном ящике, нажав на которую можно было бы раз и навсегда обезопасить себя от посягательств злоумышленников. Тем более что разработчики периодически взбадривают подобные ожидания сообщениями о новых беспрецедентных уровнях защиты, обеспечиваемых их продуктами. К сожалению, большинство подобных заявлений так и остается рекламой, хотя исключения все же встречаются.
В последнее время одним из наиболее перспективных направлений в развитии защитных систем стали программы—мониторы активности системных и пользовательских приложений. Иногда встречается и иное их название — «поведенческие анализаторы». Программы данного типа анализируют взаимодействия различных приложений между собой и системными сервисами в процессе работы пользователя. Одно из основных достоинств такой технологии — способность предотвращать еще неизвестные типы атак. Почему это важно, рассмотрим на примере.
Сначала создается вирус, затем на его основе — антивирус. В период времени между созданием вируса и соответствующим обновлением антивирусных баз или иной ликвидацией уязвимости, на которую нацелен вирус, все системы в зоне распространения эпидемии могут быть поражены. Обычно данный временной промежуток относительно небольшой, но ведь для заражения системы достаточно нескольких секунд. В описанном сценарии ясно прослеживается цепочка событий: сперва нападение, потом — защита от него.
Стоит отметить, что для некоторых пользователей и администраторов оценка периода времени между обнаружением уязвимости и установкой заплатки как относительно небольшого в корне неверна. Уязвимость сервера Microsoft SQL 2000 была описана в Microsoft Security Bulletin MS02-039 от 24 июля 2002 г. Тогда же была выпущена и «заплатка». Тем не менее, по данным журналов системы обнаружения вторжений Snort, червь SQL Slammer все еще активно бороздит просторы Интернета.
Монитор активности работает по другому принципу. Запрашивая пользователя о допустимости выполнения межпрограммных взаимодействий — к счастью, не всех, а только наиболее часто используемых при заражении вирусами — и запоминая ответы, он постепенно составляет картину «поведения» системы, буквально «запоминая всех в лицо». Следовательно, любое отклонение от привычных операций или несанкционированное появление «чужаков» сразу становится заметным. Причем неважно, являются ли чужаки заслуженными мэтрами вирусной сцены или новаторскими разработками неизвестного гения. Их деятельность, не вписывающаяся в картину повседневной активности, сразу выдаст лазутчиков с головой.
Системы защиты, построенные на описанном сценарии, получили название Intrusion Preventive Systems (IPS), т.е. «Системы предотвращения вторжений».
Казалось бы, долгожданная красная кнопка найдена, осталось только нажать на нее... Но прежде чем дать насладиться долгожданным покоем, следует отметить, что описанная модель действий поведенческого анализатора не более чем логическая конструкция, на которую практика накладывает определенные ограничения, например на глубину анализа. Чем больше анализируется различных типов операций, тем, очевидно, лучше, но вспомним, что конечным арбитром, на суд которого выносится разрешение о допустимости той или иной операции, является человек. Отдельные же вопросы способны поставить в тупик не только обычного пользователя, но и опытного администратора, поскольку требуют для своего решения серьезных изысканий. Значит, есть не нулевая вероятность, что раздраженный очередным сообщением о неком процессе с непроизносимым названием из одних согласных, инжектирующим программный код в другой процесс с таким же невнятным названием, но с одной гласной в имени, пользователь, у которого все это ассоциируется только с механизмом размножения мухи цеце, согласится на что угодно, лишь бы к нему больше не приставали. Отсюда и другое ограничение к применению — компетентность пользователя.
Так что наряду с логическими достоинствами у технологии мониторинга активности есть и потенциальные недостатки.
Теперь расскажу о примененных тестах. Контроль активности приложений уже давно используется в персональных программных брандмауэрах. Наблюдая за целостностью доверенных сетевых программ и сервисов, брандмауэры предотвращают утечку данных с защищаемого компьютера, когда программа-«злоумышленник», взломав или использовав иным образом доверенную программу, пытается получить доступ к сети. В качестве примера таких брандмауэров помимо Tiny PF упомяну ZoneAlarm Pro, Norton PF, Outpost Pro. Следовательно, отработаны и различные методики обхода защит брандмауэров, демонстрируемые собранной коллекцией тестов проницаемости (leak-тестов). Всячески вторгаясь в зону ответственности программы-монитора, программы-тесты внедряют свой код в другие приложения или запускают их различными способами, чтобы совершить несанкционированный «сброс» информации в Интернет. Более подробно о примененных тестах можно узнать из статьи «Методы тестирования брандмауэров» (см. «Мир ПК», № 1/05).
При работе тестов применялось правило: когда программа-монитор, зафиксировав запуск теста, запрашивала инструкцию, исполнение программы разрешалось. Все дальнейшие операции, следующие за ее запуском, запрещались. Если снифер (программа анализа сетевого трафика) фиксировал сетевую активность тестируемого компьютера, определенно вызванную тестом (соединения с указанными в тесте сетевыми адресами), тест считался пройденным.
Также заранее отвечу на возможные замечания оппонентов о нецелесообразности привлечения в качестве тестов программ DNStester и Yalta. Программа DNStester формирует рекурсивный DNS-запрос, а Yalta передает UDP-пакет на произвольный порт удаленного хоста. Общее между ними то, что они отправляют данные в сеть самостоятельно, без привлечения программ-посредников, следовательно, не вторгаются в зону компетенции программы-монитора, отслеживающего целостность процессов в памяти компьютера. Стоило ли вообще привлекать эти тесты? Стоило. Их применение наглядно показывает границы возможностей монитора, а также доказывает необходимость использования сетевого брандмауэра.
Поскольку с различными примечаниями и пояснениями уже покончено, перейдем к знакомству с программами, реализовавшими в себе элементы мониторинга активности (поведенческого анализа).
Для полноценного функционирования всех описанных в статье программ мониторинга активности приложений требуется платформа под управлением Windows 2000 c SP 2 или выше, Windows XP с SP 1 или выше, Windows Server 2003.
В качестве тестовой платформы был использован компьютер с операционной системой Windows XP Proffessional SP2.
Safe?n?Sec (S?n?S)
Разработчик: StarForce Technologies, Inc.
Программа предлагается в двух вариантах: Safe?n?Sec и Safe?n?Sec в паре с антивирусным модулем BitDefender. Тестировалась версия без антивируса.
Интерфейс программы логичен и прост, пожалуй, в нем будет сложно заблудиться. Стоит отметить три политики контроля активности приложений, различающиеся по числу наблюдаемых программ.
Принцип работы монитора следующий. При запуске какой-либо программы S?n?S блокирует ее выполнение, запрашивая ответ пользователя. Разрешение или запрет можно применить к текущему действию, указав: однократно; только для данной сессии; для каждого запуска. Или же установить разрешение/запрет для любой активности программы, также указав границы применения: для каждого запуска; только в данной сессии. Контролируются как запуск, так и модификации Реестра, загрузка дополнительных модулей — в целом все те действия, которые потенциально могут выполнить вирусы. Следует также отметить определенную лаконичность отчетов, детализацию которых, к сожалению, нельзя изменить. Фиксируются только факты запуска и обновления самой программы.
Продукт ориентирован для работы на одиночном компьютере — нет функций удаленного управления и съема/передачи статистики по сети.
S?n?S тестировался для каждой из трех политик контроля приложений. Например, запись в таблице результатов «WallBreaker -/-/+» означает, что тест проницаемости WallBreaker благополучно преодолел защиту S?n?S при двух установленных политиках контроля приложений: «Доверительная» и «Строгая», а также был успешно блокирован при работе S?n?S в режиме усиленного контроля приложений («Жесткая» политика).
Еще раз обращу ваше внимание на то, что S?n?S, как и некоторые другие рассмотренные ниже программы, должна комплексно дополняться антивирусом и брандмауэром. Например, при работе S?n?S в режиме «Жесткой» политики анализатор сетевого трафика зафиксировал несколько попыток взлома сетевых сервисов тестового компьютера, совершенных с различных хостов Интернета, а сама Safe?n?Sec на это никак не отреагировала.
System Safety Monitor (SSM)
Разработчик: Max Computing (MC).
С первых мгновений работы становится заметна гибкая возможность настройки контроля активности для каждой программы. Любому приложению можно указать, разрешены ли загрузка драйверов и запуск сторонних приложений, позволяется ли изменять чужие данные и совершать еще ряд тому подобных действий. Для программы также допустимо создать индивидуальный список событий, фиксируемых в журнале активности приложений.
SSM предоставляет удобный интерфейс для управления многими функциями операционной системы. Изменять параметры Реестра, системных сервисов или работающих процессов очень просто, и потому нужно предупредить о том, что не стоит сразу оптимизировать систему, лучше вначале разобраться, какими могут быть последствия этого шага.
Также программа ориентирована для работы на одиночном компьютере. Функций удаленного управления в рассмотренной версии нет. Кстати, предусмотрена возможность загрузки различных профилей конфигурации программы, что удобно при работе разных пользователей в одной системе.
SSM: зафиксирована попытка взлома |
При общем положительном впечатлении вызывает сожаление способ обработки информации, хранимой в журнале событий. После перезагрузки данные теряются. Если же их необходимо сохранить, то эту операцию приходится выполнять вручную. Предположив ситуацию, требующую восстановления событий, произошедших довольно давно, отмечу, что функция автосохранения данных была бы очень полезна. Вероятность того, что пользователи массово начнут вручную сохранять лог-файлы, я соотношу с возможностью выиграть океанскую яхту в благотворительной лотерее.
Результаты тестов у SSM хорошие, она блокировала все трюки скрытного использования сетевых программ. Непресеченными остались лишь те тесты, которые, не привлекая посредников, сразу сбрасывали данные в сеть (брандмауэр все-таки нужен).
Подводя итог опыту работы с System Safety Monitor, отмечу, что мне работать с ней было удобнее, чем с Safe?n?Sec.
ProcessGuard (PG)
Разработчик: Diamond Computer Systems Pty. Ltd.
Программа представлена в вариантах Free и Full, серьезно различающихся возможностями. Как легко догадаться, наиболее функциональна версия Full, за которую австралийские ребята хотят 29,95 долл. Так что тестировать пришлось PG Free. Увы, возложенные на нее надежды не оправдались. Программа-монитор смогла задержать всего лишь один тест, оставив гадать, что же может делать версия Full.Отметив у ProcessGuard автосохранение журнала событий и отсутствие удаленного управления, перейдем к следующему участнику нашего обзора.
Tiny Firewall Pro (Tiny FP)
Разработчик: Tiny Software, Inc.
Tiny FP: настройка параметров контроля приложений |
Вопреки своему названию (tiny в переводе с английского «крохотный») продукт системной безопасности основательно проработан компанией Tiny Software и примечателен по многим параметрам, особенно системой контроля пользовательских приложений, пожалуй, даже более гибкой и фундаментальной, чем у SSF. Осуществляется контроль за запуском приложений и их дочерних процессов; проверяется целостность файлов; пресекаются разнообразные попытки вторжения в адресное пространство стороннего процесса; отслеживается загрузка dll-библиотек; проводится анализ OLE и COM-объектов, а также мониторинг множества других операций. Подтверждением надежности системы контроля служат тесты. Ни один трюк не остался незамеченным.
Еще одной примечательной чертой Tiny FP стал модуль Tracklog Analyzer, ведущий журналирование наблюдаемых операций. По истории запуска процессов, загрузки dll-библиотек, модификаций Реестра, установления сетевых соединений и тому подобных действий можно быстро восстановить картину развития инцидентов. Данная возможность будет очень полезна системным администраторам, офицерам безопасности и даже обычным параноикам.
Как брандмауэр Tiny FP также довольно привлекательна. Она обеспечивает контроль на сетевом уровне и уровне приложений, и кроме того, включает в себя систему обнаружения сетевых вторжений, построенную на базе Snort IDS.
В целом Tiny FP очень интересная и качественная система защиты. Но с учетом обширности ее настроек и англоязычного интерфейса, пожалуй, работа с ней может вызвать сложности у неподготовленного пользователя.
Помимо Tiny FP хотел бы отметить еще одну разработку компании Tiny Software — Host Security Server 2005 (HSS), представляющую собой центр управления системами персональных защит (на базе Tiny FP) подчиненных рабочих станций. Также HSS выполняет функции сбора и обработки статистики. Это кроссплатформное приложение, написанное на Java. Так что работает оно не только в Windows, но и в Linux, Unix и Solaris. Требуется пакет Java 2 Standard Edition 1.4.2.
Небольшое примечание для экспериментаторов: в Windows пакет HSS устанавливается как сервис. Для его функционирования в список системных переменных необходимо внести запись «JAVA_HOME» со значением «c:j2sdk1.4.2_07jre» (путь к установленному пакету Java), а также добавить строку «%JAVA_HOME%in» к значению переменной Path.
После успешного запуска сервиса HSS управляется посредством веб-терминала. Для подключения к консоли администратора в адресной строке браузера надо набрать адрес «https://localhost/». По умолчанию имя входа — «admin», пароль — «admin».
Разработки специалистов Tiny Software, Inc. вызывают уважение своим профессионализмом, так же как и ценой: стоимость лицензии Host Security Server 2005 с поддержкой 20 клиентских систем — 1499 долл. Эта цена соизмерима с ценой серверного программного обеспечения компаний Microsoft и Symantec.
Windows XP SP 2
HSS: настройка клиентского места |
Работающим в ОС Windows XP будет интересно, какие элементы безопасности обеспечивает вторая «заплата». Запуск исполняемого файла блокируется до получения разрешения от пользователя на его исполнение. Затем действия программы уже не контролируются. Запущенное приложение может выполнять любые операции, не вызывающие подозрений у антивируса (который, кстати, не входит в состав SP2), получая в числе прочего доступ в Интернет. Напомню, что исходящие соединения пользовательских программ и системных сервисов встроенный в XP брандмауэр не контролирует. Брандмауэр Windows осуществляет лишь фильтрацию входящих соединений. Этого достаточно для предотвращения прямой атаки из сети, но не хватает, чтобы пресечь утечку данных или предупредить о распространении вируса с зараженной машины.
Можно ожидать, что в ближайшем будущем все большее число программных защит будут включать функции мониторинга программной активности. Надеюсь, что предложенную в SP 2 систему безопасности разработчики Microsoft рассматривают в качестве прототипа, а не конечного решения.
* * *
Поиск в Google помимо упомянутых программ дает еще около полудюжины ссылок на разработки аналогичной тематики, но рассматривать здесь мы их уже не будем из-за ограниченности объема журнальной статьи. Если у кого-либо возникнет интерес к обойденным нами программам-мониторам, то, использовав примененные методики тестирования или разработав свою индивидуальную систему проверки, вы можете самостоятельно оценить надежность выбранного продукта. Главное, поменьше из заявленных возможностей воспринимать на веру.
Обобщая опыт работы с вышеупомянутыми программами-мониторами, отмечу, что использовать все их возможности смогут, пожалуй, только очень терпеливые и квалифицированные люди. Каждая из них требует индивидуальной настройки. Для достижения высокого уровня защиты требуется кропотливая работа. Легко представить, что это отнюдь не устроит большинство пользователей, надеющихся получить большую красную кнопку, мгновенно решающую их проблемы. Вероятно, работая под защитой программы-монитора, они выберут минимальную глубину анализа операций, что не лучшим образом скажется на защищенности систем.
Завершая статью, отмечу, что описанные в ней программы-мониторы всего лишь инструменты, более или менее удобные. Главное же — это знания и аккуратность пользователя. Тщательно настроенная программа-монитор способна перехватить неизвестную атаку, а небрежная настройка даст лишь ложную уверенность.
Аксиома безопасности — защита должна быть комплексной
Xintegrity: проверка модификаций файловой системы |
Наряду с уже знакомыми многим антивирусами, брандмауэрами и представляемыми в данной статье мониторами активности приложений в нее следует включать программы—контролеры целостности файлов (пример: Tripwitre, Xintegrity, Abtrusion Protector). Их методы анализа помогут быстро выявить несанкционированные изменения файловой системы, вызванные действиями злоумышленников или вирусами. Кроме уже названных программ, являющихся коммерческим программным обеспечением, упомяну еще и бесплатную разработку — WinPatrol, отслеживающую не только изменения файлов, но и модификацию еще множества различных параметров операционной системы и наиболее важных приложений.
WinPatrol: список файловых типов |
Список упоминаемых проектов и ресурсов
Abtrusion Protector http://www.abtrusion.com/
BitDefender http://www.bitdefender.ru/
Firewall Leak Tester http://www.firewallleaktester.com/
Norton PF http://www.symantec.com/
Outpost Pro http://www.agnitum.ru/
PG http://www.diamondcs.com.au/
S?n?S http://www.star-force.ru/
SSM http://maxcomputing.narod.ru/
Snort IDS http://www.snort.org/
Tripwire http://www.tripwire.com/
Tiny FP, HSS http://www.tinysoftware.com/
WinPatrol http://www.winpatrol.com/
Xintegrity http://xintegrity.com/
ZoneAlarm Pro http://www.zonelabs.com/