Системы контроля целостности
Если, несмотря на использование "классических" систем обнаружения атак и другие предпринятые защитные меры, злоумышленник все-таки проник в защищаемую систему, то, как правило, он попытается установить программы типа "троянский конь", "поправить" системные файлы или отключить систему защиты. В абсолютном большинстве случаев все эти действия сводятся к изменению каких-либо файлов (исполняемых, конфигурационных, динамических библиотек, драйверов и т. п.).
Целевой анализ (target-based) (также известный как контроль целостности файлов) опирается на пассивные, не оказывающие заметного влияния на работу контролируемой системы методы для проверки целостности системы и файлов данных, а также объектов системы и их атрибутов (например, потоков данных, баз данных и ключей системного реестра). Системы контроля целостности используют криптографические проверки контрольных сумм, для того, чтобы получить доказательства подделки для наиболее важных системных объектов и файлов. Алгоритмы этих проверок обладают таким свойством, что даже незначительные изменения во входных данных функции создают большие различия в результате. Это означает, что несущественные отклонения в потоке входных данных приведут к тому, что алгоритм контроля целостности создает значительное расхождение в контрольной сумме, генерируемой алгоритмом. Данные алгоритмы являются криптографически стойкими, т.е. при заданном конкретном входном значении (величине) практически невозможно получить идентичный результат для любого другого входного значения. Это предотвращает наиболее распространенную атаку против сравнительно простых алгоритмов генерации контрольных сумм (CRС), при которых хакеры маскируют изменения в содержании файла, так что одинаковая контрольная сумма создается как для оригинального, так и для подделанного файла.
Системы контроля целостности работают по замкнутому циклу, обрабатывая файлы, системные объекты и атрибуты системных объектов с целью получения контрольных сумм; затем они сравнивают их с результатами, полученными на предыдущем цикле, отыскивая расхождения. Когда различие обнаружено, продукт посылает сообщение администратору безопасности, при этом фиксируя время, соответствующее времени вероятного изменения.
Контроль целостности позволяет реализовать стратегию эффективного мониторинга, сфокусированную на системах, в которых целостность данных и целостность процессов играет наиболее важную роль (например, системах управления базами данных). Этот подход дает возможность контролировать конкретные файлы, системные объекты и атрибуты системных объектов на происходящие изменения, обращая особое внимание скорее на конечный результат атаки, ане на подробности развития атаки. Подробная информация о преимуществах и недостатках систем контроля целостности содержится в табл. 6.9.
Таблица 6.9. Достоинства и недостатки систем контроля целостности
Достоинства | Недостатки |
Любая успешная атака, при которой были изменены файлы, даже если использовались rootkits или перехватчики сетевых пакетов, будет определяться независимо от того, задействован ли для определения атаки анализ сигнатур или статистический анализ. Поскольку нет зависимости от старых записей режимов работы, контроль целостности может обнаруживать атаки, которые другим методологиям выявить не по силам. Этот подход допускает надежное обнаружение как местоположения, так и наличия атак, которые видоизменяют систему (например, "троянских коней"). Из-за того, что собственные воздействия и влияния данного механизма являются незначительными, контроль целостности может быть полезным для мониторинга систем с умеренной полосой пропускания для обработки данных. Средства контроля целостности являются эффективными для определения того, какие файлы необходимо заменить с целью восстановления системы вместо переинсталляции всегда содержимого с оригинального источника или с резервной копии, как это часто делается | Поскольку современные реализации этого подхода стремятся работать в пакетном (batch) - режиме, они приводят к реагированию на атаки не в реальном масштабе времени. В зависимости от количества файлов, системных объектов и атрибутов объектов, для которых вычисляются контрольные суммы, рассматриваемые средства могут все же оказать заметное влияние на производительность системы. Эти средства не очень хорошо подходят для осуществления обнаружения в реальном масштабе времени, поскольку они контролируют результаты атак, а не сами атаки в процессе их развития |
Существует очень большое число систем контроля целостности, как распространяемых на коммерческой основе, так и условно-бесплатных. В качестве примера приведу только несколько таких систем — Tripwire, L5, AIDE.
Tripwire
Изначально система Tripwire (http://www.tripwiresecurity.com/)была разработана одним из американских университетов и являлась условно бесплатной.
Однако позже эта система стала развиваться компанией Tripwire Security и в настоящий момент представляет собой коммерческий продукт. Имеется несколько основных отличий данной системы от своих условно-бесплатных собратьев. Первое и основное отличие — поддержка архитектуры "клиент-сервер". Если все остальные системы работают в автономном режиме, Tripwire состоит из двух основных компонентов: HQ Connector и HQ Сonsole. Первый компонент устанавливается на удаленные узлы, работающие под управлением различных ОС, и осуществляет контроль целостности данных объектов. Второй компонент управляет удаленными агентами (НQConnector) и выполняет централизованный сбор данных от них, генерации отчетов и другие функции. Вторая особенность Tripwire, отсутствующая, у других аналогичных систем — поддержка платформы Windows (обычно системы контроля целостности совместимы с большим количеством клонов Unix, но "недолюбливают" продукцию Билла Гейтса). Tripwire поддерживает следующие ОС: Windows NT, Solaris, Linux, AIX, HP UX, IRIX и Tru64. Итретье отличительное свойство — наличие языка описания политики контроля целостности (Enhanced Policy Language).
Следуя желаниям пользователей, компания Tripwire Security выпустила в рамках проекта GNU свободно распространяемую версию системы Tripwire 3 ASR, которая отличается от коммерческого релиза следующими возможностями:
q отсутствием поддержки Windows NT;
q исключением уведомления об изменении контрольных сумм по электронной почте;
q меньшим числом контролируемых атрибутов (9 против 14);
q "слабой" системой генерации отчетов (нет сортировки и детализации);
q отсутствием централизованной графической консоли управления;
q изъятием возможности назначения приоритетов проверок и защиты своих файлов от НСД.
IDE и L5
По мнению некоторых специалистов, система AIDE (Advanced Intrusion Detection Environment), доступная по адресу http://www.cs.tut.fi/~rammer/Ie.HTMLи L5 (ftp://avian.org/src/hacks/) являются лучшими альтернативами свободно распространяемой версии системы Tripwire [Seifried l-00].
Gog&Magog
В отличие от рассмотренных выше средств, система Gog&Magog (tp://www.multimania.coin/cparisel/gog/)не только генерирует и проверяет контрольную сумму (по протоколу MD5) для выбранных файлов (в автоматическом режиме), но и контролирует другие параметры файлов (права доступа, владелец и т.д.).
Выводы
Различные категории систем обнаружения атак имеют свои достоинства и преимущества, а также свои слабые стороны. Совместное использование разноплановых средств позволит усилить достоинства одних и устранить недостатки других, тем самым помогая выстроить эффективную инфраструктуру обнаружения атак. Комбинирование всех этих технологий значительно улучшит стойкость корпоративной сети к атакам и злоупотреблениям, позволит ужесточить политику безопасности и внести большую гибкость в процесс эксплуатации сетевых ресурсов.
Глава 7