Сторожевой
АрхивСистемы обнаружения вторжений IDS (Intrusion Detection Systems) подобны сторожевому псу: они следят не только за формальными параметрами, но и за поведением различных компонентов сети, невзирая на их статус и источник.
Предположим, вы счастливый обладатель загородного дома. Вполне естественно, что вам хочется максимально обезопасить свою собственность, установив надежный замок и укрепив двери и окна. На первый взгляд этого достаточно, но… стоит кому-то из домочадцев забыть закрыть окно или потерять ключи, и защите конец. С компьютерными сетями такая же история: можно поставить брандмауэр, периодически менять пароли и т. д., но, тем не менее, стоит какому-нибудь сотруднику принести на рабочее место зараженный трояном CD с новой игрушкой, как практически все обычные меры безопасности теряют смысл.
Предыстория
Системы обнаружения вторжений IDS (Intrusion Detection Systems) подобны сторожевому псу: они следят не только за формальными параметрами, но и за поведением различных компонентов сети, невзирая на их статус и источник.
Когда-то системные администраторы обнаруживали вторжения, сидя перед терминалом и анализируя журналы регистрации. Причем, как правило, обнаружение происходило либо постфактум, когда о причиненном ущербе становилось известно из других источников и нужно было найти виновника, либо совершенно случайно — например, сисадмин замечал, что пользователь, который вроде бы должен быть в отпуске, вошел в систему. В принципе, такая своеобразная IDS, построенная на человеческом интеллекте, и поныне довольно эффективна, но лишь для расследования уже нанесенного ущерба — ведь анализировать трафик в режиме реального времени человек не способен просто физически.
Естественно, стали появляться программные средства для анализа собранных данных, однако их функционирование требовало значительных вычислительных ресурсов. Поэтому программы обнаружения вторжений чаще всего запускались в пакетном режиме во время простоя основных вычислительных мощностей (ночью, в обеденный перерыв, в выходные), и о своевременном обнаружении атаки речь не шла.
Помимо практических изысканий появлялись и основательные теоретические разработки — одними из первых в этой области были статьи Джеймса Андерсона «Мониторинг угроз компьютерной безопасности» (1980) и Дороти Деннинг «О модели обнаружения вторжения» (1987). Эти авторы считаются основоположниками современной методологии обнаружения вторжений. Именно их труды вдохновили многих исследователей и заложили базис для создания коммерческих продуктов.
В начале 90-х годов прошлого века были наконец разработаны настоящие промышленные IDS, действующие в режиме реального времени и умеющие не только обнаруживать атаки в момент их совершения, но и своевременно реагировать на них либо путем привлечения внимания ответственных лиц, либо отражая атаку самостоятельно.
Надо сказать, что, несмотря на довольно продолжительный (по компьютерным меркам) период исследований и разработок, рынок IDS начал активно развиваться относительно недавно, где-то с 1997 года, когда компания ISS предложила свой продукт под названием Real Secure, а год спустя Cisco купила Wheel Group вместе с ее системой NetRanger.
Требования к IDS
Идеальная IDS должна помимо мгновенного (то есть буквально в течение нескольких секунд) обнаружения атаки предоставить администратору полную информацию о том, что в данный момент происходит с системой, к каким объектам злоумышленник пытается получить или уже получил доступ, время начала атаки, ее метод, активность и т. д., — а также все возможные данные об атакующем хосте, начиная с IP-адреса и заканчивая версией ПО на машине злоумышленника. По своей сути IDS являются одним из ключевых звеньев в обеспечении безопасности. Часто это последний рубеж, преодолев который, злоумышленник получит то, за чем пришел. Именно поэтому IDS должны удовлетворять целому набору строгих требований, которые можно рассмотреть на примере системы Bro12, разработанной Ливерморской национальной лабораторией (Lawrence Livermore National Laboratory, www.llnl.gov) Министерства энергетики США.
Контроль и неуязвимость к перегрузке
Система должна обрабатывать большие объемы данных, не снижая пропускной способности. Даже если злоумышленник попытается перегрузить сеть посторонними пакетами для вывода системы из строя, IDS должна остаться в работоспособном состоянии, пусть и пропуская часть трафика. В идеале система должна нормально работать из расчета максимально возможного трафика.
Работа в режиме реального времени
Анализ и оповещение об атаке должны происходить в момент ее совершения (а еще лучше — до атаки, в момент сбора информации). Ценность информации об уже проведенной атаке минимальна.
Масштабируемость и адаптируемость
Система должна поддерживать возможность увеличения мощностей и расширения функционала, например, для выявления новых видов атак и обслуживания более широкого канала связи.
Живучесть
Профессионально проводимые атаки обязательно подразумевают действия, направленные против существующей инфраструктуры безопасности. IDS должна быть устойчива к злонамеренным воздействиям, опознавать их и информировать персонал о таком виде атаки.
Системы выявления вторжений на базе хоста (host based)
Поговорим о плюсах и минусах отдельных видов IDS.
Механизм работы host-based-системы основан на добавлении специального программного обеспечения на самых важных и уязвимых хостах. Агент IDS располагается на той же машине (например, на сервере баз данных), в рамках той же операционной системы и проводит мониторинг поступающих на защищаемый объект запросов и данных системного журнала ОС. Помимо этого, IDS периодически проверяет целостность и аутентичность системных файлов и выполняемых процессов. В случае обнаружения несоответствия агент извещает оператора (по электронной почте, IM-сообщением, звуковым сигналом и т. п.) и протоколирует все аспекты активности.
Главное преимущество такой организации в том, что можно обнаружить некорректное использование ресурсов как внешними, так и внутренними пользователями — например, локальным клиентом, сидящим за терминалом этой системы, или пользователем локальной сети, трафик которого не прослушивается сниффером из-за особенностей сетевой топологии (пример такой топологии приведен на рис. 2: из-за неудачного расположения маршрутизатора IDS не имеет возможности прослушивать часть трафика внутри сети, между двумя крайними компьютерами). Этого не в состоянии сделать ни сетевые мониторы, ни брандмауэры. Высокие системные издержки накладывают некоторые ограничения на использования столь эффективной схемы — поэтому она применяется только там, где вероятность атаки очень велика, а угроза изнутри столь же вероятна, как и вторжение извне.
Классификация IDS По реакции на атаку По способу обнаружения атаки По уровню, на котором осуществляется работа По объекту мониторинга |
Сетевые системы выявления вторжений (network-based)
Сетевые IDS хотя и располагаются на определенном хосте локальной сети, но осуществляют мониторинг сетевого трафика, защищая целый сегмент или всю сеть (см. рис. 2). Главная их задача — своевременно распознать в прослушиваемом трафике некоторые отклонения, которые могут означать начало или проведение атаки. Таким образом, сетевой монитор должен распознать пакеты, соответствующие сценарию нападения, и принять необходимые меры — оповестить персонал и/или блокировать атакующего.
В отличие от host-based IDS, сетевое исполнение не подразумевает какой-либо зависимости от операционной системы или аппаратной платформы, а главными требованиями являются наличие доступа к контролируемому сегменту сети с возможностью мониторинга всех пакетов и достаточные аппаратные мощности (желателен выделенный сервер).
Обнаружение аномалий (anomaly-based)
Эта модель основывается на предположении некой статичной или малоизменяемой манеры поведения пользователей в сети. Таким образом, анализируются не конкретные проявления активности, а отклонения от обычного состояния.
Что есть «обычное состояние»? В начальный период работы anomaly-based IDS происходит ее обучение, собираются и анализируются статистические данные о поведении пользователей в сети (структура и объем трафика, частота доступа к тем или иным защищаемым ресурсам, среднее время работы и распределение активности по времени). Предполагается, что в момент обучения сеть находится в нормальном, безопасном состоянии, на основании которого и строится некая статистическая модель (алгоритм анализа и методы построения такой модели — отдельная и довольно сложная тема, поэтому вынесем ее за рамки статьи).
Самое главное преимущество подобных систем заключается в их способности обнаруживать ранее неизвестные типы атак. Теоретически после обучения можно обнаружить абсолютно любое нарушение. Но, естественно, в реальности все обстоит иначе. С одной стороны, при достаточно «строгих» настройках (малейшее отклонение — тревога) такая универсальность оборачивается большим числом ложных тревог, с другой — при ослаблении «уровня паранойи» взломщик получает возможность совершать свои деструктивные действия путем малоактивного проникновения — когда аномалии присутствуют, но укладываются в допустимые отклонения. Это обуславливает высокие требования к квалификации сисадминов, вынужденных обеспечить максимально точную настройку IDS с учетом огромного числа факторов. Например, в одной организации, использующей anomaly-based IDS, на протяжении длительного времени наблюдались периодические пятничные «хакерские» атаки, которые, как потом выяснилось, были связаны именно с последним рабочим днем недели и, как следствие, нерабочим настроением персонала, развлекающего себя всяческими способами — от онлайновых игр до установки программ, разнообразных экспериментов и интенсивной эксплуатации файлообменного ПО.
Обнаружение злоупотреблений (signature-based)
Системы обнаружения злоупотреблений действуют более простым и в чем-то более эффективным способом. Фактически их работа напоминает работу антивирусного ПО: IDS сканирует трафик и выявляет «включения» (сигнатуры, участки кода), специфичные для той или иной атаки.
Разумеется, при их распознавании используется не только банальное сравнение, но и более изощренные методы: соответствие трафика шаблону (сигнатуре), регулярному выражению или байткоду, статистические аномалии, превышение частоты событий, корреляция нескольких событий.
Несомненное достоинство таких систем — в их высокой производительности (нет никакой эвристики, задача проверки хорошо распараллеливается) и практически полном отсутствии ложных срабатываний (если вернуться к антивирусам, трудно представить случайность форматирования жесткого диска или модифицирования command.com). А самый большой недостаток — полная уязвимость к неизвестным ранее атакам, чьи сигнатуры не занесены в базу IDS и, соответственно, будут пропущены.
Что еще не сделано
IDS еще есть куда расти — ведь технологии атак развиваются очень активно. Идеальная система должна отражать 100% атак при полном отсутствии ложных срабатываний. Конечно, эта цель недостижима, но идеология существующих систем во многом должна быть пересмотрена. Системы, анализирующие сигнатуры, в целом демонстрируют высокую производительность, но не способны обнаружить неизвестную атаку. Интеллектуальные системы, использующие эвристические методы, требуют на порядок больших ресурсов, дают множество ложных срабатываний и подвержены перегрузке. Ясно, что идеальный вариант где-то посередине.
Host-based-, а тем более application-based-системы появились не от хорошей жизни: если нельзя оградить от атак всю сеть, защитим хотя бы ее важнейшие и самые уязвимые участки. Это похоже на стратегию ПРО во времена холодной войны: если невозможно защитить всю территорию страны, противоракетным зонтиком накрывают только важные стратегические объекты, тогда как многомиллионные города остаются уязвимыми для ядерного удара. Между тем идеальная система должна прикрывать все объекты, которые нуждаются в защите, а не только те, на которые хватает сил.
Прогресс в области аппаратных средств тоже не стоит на месте, причем развиваются не только вычислительные комплексы, но и сети передачи данных, предоставляя все более широкие и скоростные каналы связи. Новые требования требуют не просто эволюционных подходов, они требуют революции в области построения IDS. По аналогии: если дорогу в две полосы может контролировать всего один работник ГИБДД, это не значит, что семь человек смогут контролировать семиполосное шоссе — нужен принципиально иной подход, простым наращиванием мощностей уже не обойтись.
Для точного и своевременного обнаружения вторжений необходима полная и исчерпывающая информация о происходящем в защищаемой системе. Сбор таких данных — отдельная проблема. Безусловно, операционная система содержит определенные инструменты мониторинга, регистрации и аудита, но их информационная насыщенность, как правило, не столь высока, как хотелось бы, поэтому требуется еще и канал связи с роутерами и брандмауэрами, которые также ведут журналы регистрации. И, конечно, IDS может самостоятельно собирать данные с помощью встроенных средств, что, правда, повышает непроизводительную нагрузку на инфраструктуру сети, но дает некоторую свободу в части сбора именно нужной информации.
Есть основания надеяться, что в скором времени IDS станут такой же неотъемлемой частью политики безопасности, как антивирусы и сетевые экраны. Уже сейчас предпринимаются определенные шаги по стандартизации технологии обмена сообщениями в этой области1, а во многие современные операционные системы встраивают инструменты безопасности — например, сетевые экраны (Windows XP), пусть и весьма примитивные, но, тем не менее, выполняющие базовые функции. Не исключено, что в какую-нибудь Windows 2005 будет встроена и IDS — это вполне реальный путь повысить безопасность работы и снизить число брешей в ОС.
Продукты и решения Своей известностью среди рядовых пользователей IDS в большой степени обязаны сетевому экрану BlackICE, в состав которого входил соответствующий функциональный блок. Фактически это был единственный «легкий» продукт, доступный широким массам. Что же касается «тяжелых» решений, ориентированных на локальные сети, рекомендую обратить внимание на следующие продукты: |
1 (назад) Группа экспертов из Intrusion Detection Working Group, входящей в состав Internet Engineering Task Force, предложила формат предупреждений и протокол обмена предупреждениями между датчиками, IDS и прочей инфрастуктурой безопасности (Intrusion Detection Message Exchange Format). Подробнее см. D. Curry, H. Debar, «Intrusion Detection Message Exchange Format: Extensible Markup Language (c99) Document Type Definition», Dec. 2001.