Обнаружение атак. Системы обнаружения атак

Сергей Гриняев ,
кандидат технических наук, старший научный сотрудник
[email protected]

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

Обнаружение вторжений остается областью активных исследований уже в течение двух десятилетий. Считается, что начало этому направлению было положено в 1980 г. статьей Джеймса Андерсона "Мониторинг угроз компьютерной безопасности"2. Несколько позже, в 1987 г. это направление было развито публикацией статьи "О модели обнаружения вторжения" Дороти Деннинг3. Она обеспечила методологический подход, вдохновивший многих исследователей и заложивший основу для создания коммерческих продуктов в области обнаружения вторжений.

Экспериментальные системы

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

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

EMERALD

EMERALD (Event Monitoring Enabling Responses to Anomalous Live Disturbances), самый современный продукт в своем классе, разработан компанией SRI (http://www.sri.com). Это семейство инструментальных средств создавалось для исследования проблем, связанных с обнаружением аномалий (отклонений пользователя от нормального поведения) и определения сигнатур (характерных "образов" вторжения).

Первые работы SRI в этой области начались в 1983 г., когда был разработан статистический алгоритм, способный определить различия в поведении пользователя5. Немного позже подсистема анализа сигнатур вторжения была дополнена экспертной системой P-BEST6. Результаты исследований были реализованы в одной из ранних версий системы IDES7. Эта система способна контролировать в реальном масштабе времени действия пользователей, подключенных к нескольким серверам. В 1992-1994 гг. был создан уже коммерческий продукт NIDES8, также предназначенный для защиты отдельных серверов (host-based) и использующий экспертную систему P-BEST. Далее разработчики добавили к системе компонент Resolver, который объединял результаты статистического анализа и анализа сигнатур. Интерфейс пользователя в NIDES также был существенно улучшен.

Затем была создана система EMERALD. В ней были учтены результаты экспериментов с IDES/NIDES, но эта система предназначалась уже для обеспечения безопасности сетевых сегментов (network-based). Главная цель ее разработки - обнаружение вторжений в больших гетерогенных сетях. Такие среды труднее контролировать и анализировать из-за распределенного характера поступающей информации.

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

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

Опыт использования NIDES продемонстрировал эффективность статистических методов при работе с пользователями и с прикладными программами. Контроль прикладных программ (например, анонимного ftp-сервера) был особенно эффективен, так как для анализа требовалось меньшее количество прикладных профилей. Именно поэтому в EMERALD была реализована методика, в которой управление профилем отделено от анализа.

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

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

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

NetStat

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

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

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

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

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

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

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

Bro

Bro - исследовательский инструмент, разрабатываемый Ливерморской национальной лабораторией (Lawrence Livermore National Laboratory, http://www.llnl.gov) министерства энергетики США. Он предназначен для изучения проблем отказоустойчивости систем обнаружения вторжения. Рассмотрим основные особенности комплекса Bro12.

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

Уведомление в реальном масштабе времени. Оно необходимо для своевременного информирования и подготовки ответных действий.

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

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

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

Система обладает иерархической архитектурой с тремя уровнями функций. На нижнем уровне Bro использует утилиту libpcap для извлечения из сети пакетов с данными. Этот блок обеспечивает независимость основных блоков анализа от технических особенностей телекоммуникационной сети, в которой развернута система, а также позволяет отфильтровать существенную долю пакетов на нижнем уровне. Благодаря этому libpcap может перехватывать все пакеты, связанные с прикладными протоколами (ftp, telnet и т.д.).

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

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

Выполнение кода может закончиться генерацией дальнейших событий, регистрацией уведомления в реальном масштабе времени или регистрацией данных. Чтобы добавить новую функцию к возможностям Bro, надо подготовить описание образа, идентифицирующего событие, и написать соответствующие обработчики событий. В настоящий момент Bro контролирует четыре прикладных сервиса: finger, ftp, portmapper и telnet.

Bro работает под управлением нескольких вариантов ОС UNIX и используется как часть системы защиты Национальной лаборатории. С 1998 г. в результате функционирования Bro в международные организации CIAC и CERT/CC было передано 85 сообщений об инцидентах. Разработчики особо отмечают производительность системы - она не испытывает проблем потери пакетов в сети FDDI при пиковой производительности до 200 пакетов в секунду.

Коммерческие продукты

Коммерческие программы, о которых пойдет речь, - это небольшая часть всего множества продуктов, присутствующих на рынке1, 13-14. Сравнительную оценку коммерческих продуктов можно найти в ряде отчетов15-19. Описанные в статье системы можно рассматривать как классические образцы.

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

CMDS

Система CMDS21,22 была разработана компанией Science Applications International (http://www.saic.com), однако теперь ее поддерживает и продает ODS Networks (http://www.ods.com)23. Этот продукт предназначен для обеспечения безопасности серверов и мониторинга иерархической сети машин. Поддерживаются статистический и сигнатурный методы обнаружения, можно генерировать отчеты о прогнозах развития вторжения. Для анализа аномалий CMDS использует статистический анализ. Идентифицируются образы поведения, отклоняющиеся от нормальной практики пользователя. В статистике учитываются показатели времени входа/выхода из системы, запуска прикладных программ, количества открытых, измененных или удаленных файлов, использования прав администратора, наиболее часто используемых каталогов.

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

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

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

NetProwler

NetProwler25-27 выпускается фирмой Axent (http://www.axent.com), с конца 2000 г. входящей в состав корпорации Symantec (http://www.symantec.com). Компонент Intruder Alert обнаруживает нападения на серверы, а NetProwler (ранее известный как ID-Track от компании Internet Tools) поддерживает обнаружение вторжений в сегментах сетей. Основу NetProwler составляет процесс динамического анализа полной сигнатуры. Этот метод обеспечивает интеграцию небольших порций информации, извлекаемой из сети, в более сложные события, что позволяет проверять события на совпадение с предопределенными сигнатурами в реальном масштабе времени и формировать новые сигнатуры. NetProwler имеет библиотеку сигнатур для различных операционных систем и типов нападений, благодаря чему пользователи могут сами строить профили сигнатур, используя Мастер определения сигнатуры. Тем самым пользователи могут описывать нападения, состоящие из отдельных, повторяющихся или целого ряда событий. Сигнатура нападения включает четыре элемента: примитив поиска (образец строки), примитив значения (значение или диапазон значений), сохраненное ключевое слово (имя протокола) и операционная система (или приложение, связанное с нападением).

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

NetRanger

NetRanger28-31 от Cisco Systems (http://www.cisco.systems) - система обнаружения вторжения в сетевых сегментах. С ноября 1999 г. продукт носит название Cisco Secure Intrusion Detection System. Система NetRanger работает в реальном времени и масштабируема к уровню информационной системы. Она состоит из двух компонентов - датчиков Sensor и директоров Director; датчики реализованы аппаратно, а директор - программно. Датчики размещаются в стратегических точках сети и контролируют проходящий трафик. Они могут анализировать заголовки и содержание каждого пакета, а также сопоставлять выбранные пакеты с образцом. Для определения типа нападения они используют экспертную систему на основе продукционных правил.

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

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

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

Centrax

До недавнего времени система защиты от несанкционированного доступа фирмы Centrax (http://www.centraxcorp.com) поставлялась под названием Entrax. Однако в марте 1999 г. Centrax была куплена компанией Cybersafe (http://www.cybersafe.com), которая внесла в Entrax существенные технические изменения и переименовала продукт в Centrax32-34. Первоначально система Entrax была ориентирована на обеспечение безопасности отдельных серверов. Centrax, кроме того, контролирует события в сегменте сети. Система состоит из компонентов двух видов - пультов управления и целевых агентов, которые аналогичны директорам и датчикам в NetRanger. Целевые агенты, в свою очередь, также бывают двух видов: для сбора информации на основе централизованной или сетевой (распределенной) архитектуры. Целевые агенты постоянно находятся на машинах, которые они контролируют (индивидуальные ПК, файл-серверы или серверы печати), передавая информацию для обработки на пульт управления. Для более эффективной работы сетевой целевой агент реализован на автономной машине. Агенты первого типа поддерживают более 170 сигнатур (для вирусов, троянских программ, просмотра объекта и изменения пароля), а сетевые - только 40.

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

RealSecure

RealSecure19, 35-37 от компании Internet Security Systems (http://www.iss.net) - еще один продукт для обнаружения вторжений в реальном времени. Он также имеет трехуровневую архитектуру и состоит из модулей распознавания для сегментов сети и отдельных серверов и модуля администратора. Модуль распознавания для сегментов функционирует на специализированных рабочих станциях; он отвечает за обнаружение вторжения и реакцию на него. Каждый такой модуль контролирует трафик в определенном сетевом сегменте на наличие сигнатур нападения. Обнаружив неправомочное действие, сетевой модуль может отреагировать на него разрывом соединения, посылкой сообщения по электронной почте или на пейджер, или другими заданными пользователем действиями. Он также передает сигнал тревоги модулю администратора или пульту управления.

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

Общедоступные системы

Кроме коммерческих и исследовательских систем существуют свободно распространяемые общедоступные программы для обнаружения вторжения. Рассмотрим в качестве примера две программы - Shadow и Network Flight Recorder, которые поддерживаются объединенными усилиями Военно-морского Центра сухопутных операций США, компании Network Flight Recorder, Агентства национальной безопасности США и Института SANS38, а также утилиту Tripwire. Уровень их поддержки гораздо ниже, чем у коммерческих систем, однако многим пользователям они помогут понять и оценить принципы работы СОВ, их возможности и ограничения. Такие системы интересны еще и тем, что их исходный код доступен.

Shadow

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

Датчики используют для извлечения пакетов утилиту libpcap, разработанную исследовательской группой Lawrence Berkeley Laboratories Network Research Group41. Станция не делает предобработки данных, не вынуждая злоумышленника проверять свои пакеты. Основной анализ происходит в модуле tcpdump, который содержит фильтры пакетов. Фильтры могут быть простыми или состоящими из нескольких простых фильтров. Простой фильтр, например tcp_dest_port_23, выбирает пакеты протокола TCP с портом адресата 23 (telnet). Некоторые типы вторжений достаточно трудно обнаружить фильтрами tcpdump (в частности, те, которые применяют редкое зондирование сети). Для них Shadow использует инструмент на основе языка perl - модуль one_day_pat.pl.

Shadow функционирует на многих UNIX-системах, включая FreeBSD и Linux, и использует Web-интерфейс для отображения информации.

Network Flight Recorder

Network Flight Recorder (NFR) одноименной компании вначале существовал как в коммерческой, так и в общедоступной версии42-44. Затем политика его распространения изменилась: NFR закрыл доступ к исходному тексту свободно распространяемой версии, поскольку она была менее эффективной, чем коммерческий продукт, а пользователи могли принять его за коммерческую версию. Вместе с тем NFR по-прежнему планирует оставить коммерческий продукт доступным для изучения, но скорее всего уже не в исходных кодах.

Так же, как в Shadow, в NFR используется несколько измененная версия утилиты libpcap для извлечения случайных пакетов из сети (кроме заголовков, она может извлекать и тело пакета). База данных и модуль анализа обычно функционируют на одной платформе вне межсетевых экранов. Копии NFR можно размещать и во внутренних стратегических точках корпоративной сети, чтобы обнаружить потенциальные угрозы, исходящие от собственных пользователей компании.

NFR содержит собственный язык программирования (N), предназначенный для анализа пакетов. Фильтры, написанные на N, компилируются в байт-код и интерпретируются модулем выполнения.

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

Tripwire

Tripwire - инструмент оценки целостности файла, первоначально разработанный в Университете Пурду (шт. Индиана, США). Подобно NFR, эта программа входит и в общедоступные, и в коммерческие системы. Исходный код общедоступной версии для ОС UNIX распространяется свободно. Tripwire отличается от большинства других инструментальных СОВ тем, что обнаруживает изменения в уже проверенной файловой системе.

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

Логика работы Tripwire не зависит от типа события, однако эта программа не обнаруживает вторжений, которые не изменяют проверенные файлы.

Последняя коммерческая версия Tripwire - 2.X для платформ UNIX и Windows NT 4.0. Версия 2.0 для Red Hat Linux 5.1 и 5.2 распространяется бесплатно. Версия 1.3 доступна в исходных кодах и представляет состояние программы на 1992 г.

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

Программы для государственных учреждений США

Отличия от коммерческих систем

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

В феврале 1999 г. министерство энергетики США, Совет национальной безопасности и Управление политики в области науки и техники Администрации США организовали проведение симпозиума под названием "Обнаружение враждебного программного кода, вторжений и аномального поведения". На нем присутствовали представители коммерческого и государственного секторов. В принятом на симпозиуме документе были определены функции, которых не должно быть в коммерческих продуктах. Дело в том, что компании заинтересованы в защите конфиденциальной информации только для целей ведения бизнеса. Правительство также заинтересовано в защите собственных сетей, но главная задача для него - не извлечение прибыли, а защита национальной безопасности. Это очень важный момент. Правительственным организациям прежде всего необходимо обеспечить обнаружение вторжений в государственные информационные сети со стороны иностранных спецслужб. Ресурсы и возможности противника, поддержанного иностранным государством, могут превысить возможности лучших коммерческих СОВ.

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

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

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

CIDDS

CIDDS (Common Intrusion Detection Director System, также известная как CID Director) - специализированная аппаратно-программная операционная среда, разрабатываемая в рамках проекта создания средств обнаружения вторжений (IDT) Центра информационной войны Военно-воздушных сил США (Air Force Information Warfare Center, AFIWC). Центр AFIWC - структура, ответственная за разработку СОВ для сетей ВВС США. В ее состав входит Служба компьютерной безопасности ВВС (AFCERT), которая отвечает за разработку ежедневных операций по администрированию и обеспечению защиты информационных сетей.

CIDDS в реальном времени получает данные о подключениях и работе от автоматизированного измерителя инцидентов защиты (Automated Security Incident Measurement, ASIM), системы датчиков и других инструментальных СОВ. Предусмотрена возможность анализа собранных данных как в автоматическом режиме, так и с привлечением экспертов-аналитиков.

Программное обеспечение CID Director состоит из программ на C, C++ и Java, а также сценариев и SQL-запросов базы данных Oracle. Director хранит информацию в локальной БД Oracle и обеспечивает пользователю возможность анализировать индикаторы потенциально опасных действий, встречающихся в сетях ВВС США. Допускается а) обнаружение потенциально опасных, злонамеренных или неправомочных действий, которые происходят в течение долгого времени; б) обнаружение действий, которые имеют целью определенные компьютеры или типы сетей; в) обнаружение действий, которые проходят транзитом или задействуют несколько сетей; г) анализ тенденций и глобальных целей. В CIDDS также реализована возможность воспроизводить данные подключений в реальном масштабе времени для анализа последовательностей нажатия клавиш.

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

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

Каждый компьютер CID Director связан с системой датчиков ASIM. ПО датчика состоит из модулей на C и Java, сценариев для оболочки UNIX (Bourne) и файлов конфигурации, которые вместе фильтруют пакеты и анализируют состояние сети. По существу это утилита для перехвата и анализа разнородных пакетов данных. Его ПО ведет мониторинг трафика протоколов IP, TCP, UDP и ICMP для идентификации подозрительных действий. Возможны два режима работы датчика - пакетный и реального времени.

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

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

Заключение

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

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

Источники информации, упомянутые в статье

  1. Stocksdale, Gregory. (National Security Agency). SANS/NSA Intrusion Detection Tools Inventory. WWW: http://www.sans.org/NSA/idtools.htm .
  2. Anderson, James P. Computer Security Threat Monitoring and Surveillance. Fort Washington, PA: James P. Anderson Co.
  3. Denning, Dorothy E. (SRI International). An Intrusion Detection Model. IEEE Transactions on Software Engineering (SE-13), 2 (February 1987): 222-232.
  4. Mukherjee, Biswanath; Heberlein, L.Todd; & Levitt, Karl N. (University of California, Davis). Network Intrusion Detection. IEEE Network 8, 3 (May/June 1994): 26-41. WWW: http://seclab.cs.ucdavis.edu/papers.html .
  5. Anderson, Debra, et al. (SRI International). Detecting Unusual Program Behavior Using the Statistical Component of the NextGeneration Intrusion Detection Expert System (NIDES) (SRICSL-95-06). Menlo Park, CA: Computer Science Laboratory, SRI International, May 1995. WWW: http://www.sdl.sri.com/nides/index5.html .
  6. Lindqvist, Ulf & Porras, Phillip A. Detecting Computer and Network Misuse Through the Production-Based Expert System Toolset (P-BEST). Proceedings of the 1999 IEEE Symposium on Security and Privacy. Oakland, CA, May 9-12, 1999. WWW: http://www2.csl.sri.com/emerald/pbest-sp99-cr.pdf .
  7. Lunt, Teresa F., et al. (SRI International). A Real-Time Intrusion Detection Expert System (IDES). WWW: http://www2.csl.sri.com/nides.index5.html .
  8. Anderson, Debra; Frivold, Thane; & Valdes, Alfonso. (SRI International). Next-Generation Intrusion Detection Expert System (NIDES), A Summary (SRI-CSL-95-07). Menlo Park, CA: Computer Science Laboratory, SRI International, May 1995. WWW: http://www.sdl.sri.com/nides.index5.html .
  9. Kemmerer, Richard A., et al. (University of California, Santa Barbara). STAT Projects. WWW: http://www.cs.ucsb.edu/~kemm/netstat.html/projects.html .
  10. Kemmerer, Richard A. (University of California, Santa Barbara). NSTAT: A Model-Based Real-Time Network Intrusion Detection System (TRCS97-18). November 1997.WWW: .
  11. Vigna, Giovanni & Kemmerer, Richard A. (University of California, Santa Barbara). NetSTAT: A Network-Based Intrusion Detection Approach. Proceedings of the 14th Annual Computer Security Applications Conference. Scottsdale, AZ, Dec. 1998 . Available WWW: http://www.cs.ucsb.edu/~kemm/netstat.html/documents.html .
  12. Paxson, Vern. (Lawrence Berkeley National Laboratory). Bro: A System for Detecting Network Intruders in Real-Time, Proceedings of 7th USENIX Security Symposium. San Antonio, TX, January 1998. WWW: http:// www.aciri.org/vern/papers.html .
  13. Sobirey, Michael. Michael Sobirey"s ID Systems Page. WWW: http://www-rnks.informatik.tucottbus.de/~sobirey/ids.html .
  14. Information Assurance Technology Analysis Center. Information Assurance Tools Report. WWW: http://www.iatac.dtic.mil/iatools.htm .
  15. Newman, David; Giorgis, Tadesse; & Yavari-Issalou, Farhad. Intrusion Detection Systems: Suspicious Finds. WWW: http://www.data.com/lab_tests/intrusion.html .
  16. Newman, David; Giorgis, Tadesse; & Yavari-Issalou, Farhad. Intrusion Detection Systems: Suspicious Finds-II. WWW: http://www.data.com/lab_tests/intrusion2.html .
  17. Newman, David; Giorgis, Tadesse; & Yavari-Issalou, Farhad. Intrusion Detection Systems: Suspicious Finds-III. WWW: http://www.data.com/lab_tests/intrusion3.html .
  18. Scambray, Joel; McClure, Stuart; & Broderick, John. (InfoWorld Media Group Inc.). Network Intrusion-Detection Solutions. InfoWorld 20, 18 (May 4, 1998). WWW: http://www.infoworld.com/cgi-bin/displayArchive.pl?/98/18/intrusa.dat.htm .
  19. Phillips, Ken. (PC Week). One if by Net, Two if by OS . WWW: http://www.zdnet.com/products/stories/reviews/0,4161,389071,00.html .
  20. MIT Lincoln Laboratory. DARPA Intrusion Detection Evaluation. WWW: http://www.ll.mit.edu/IST/ideval/index.html .
  21. Van Ryan, Jane. SAIC"s Center for Information Security Technology Releases CMDS Verson 3.5 .WWW: http://www.saic.com/news/may98/news05-15-98.html .
  22. Proctor, Paul E. (SAIC). Computer Misuse Detection System(CMDS) Concepts. WWW: http://cpits-web04.saic.com/satt.nsf/externalbycat .
  23. ODS Networks, Inc. CDMS: Computer Misuse Detection System. WWW: http://www.ods.com/security/products/cmds.shtml .
  24. Riley, Gary. CLIPS: A Tool for Building Expert Systems. WWW: http://www.ghg.net/clips/CLIPS.html .
  25. AXENT Technologies, Inc. NetProwler-Advanced Network Intrusion Detection. WWW: http://www.axent.com/iti/netprowler/idtk_ds_word_1.html .
  26. AXENT Technologies, Inc. Netprowler. WWW: http://www.axent.com/product/netprowler/default.htm .
  27. AXENT Technologies, Inc. Netprowler-II . WWW: http://www.axent.com/product/netprowler/npbrochure.htm .
  28. Cisco. NetRanger.WWW: http:// www.cisco.com/warp/public/778/security/netranger .
  29. Cisco. The NetRanger Intrusion Detection System. WWW: http://www.cisco.com/warp/public/778/security/netranger/prodlit
    /netra_ov.htm .
  30. Cisco. NetRanger Intrusion Detection System. WWW: http://www.cisco.com/warp/public/778/security/netranger/netra_ds.htm .
  31. Cisco. NetRanger - General Concepts. WWW: http://www.cisco.com/warp/public/778/security/netranger/netra_qp.htm .
  32. CyberSafe Corporation. Centrax FAQ"s. WWW: http://www.centraxcorp.com/faq.html .
  33. CyberSafe Corporation. Centrax: New Features & Enhancements in Centrax 2.2. WWW: http://www.centraxcorp.com/centrax22.html .
  34. CyberSafe Corporation. Centrax FAQ"s .WWW: http://www.centraxcorp.com/faq.html .
  35. Internet Security Systems. Real Secure. WWW: http://www.iss.net/prod/realsecure.pdf .
  36. Internet Security Systems. RealSecure System Requirements. WWW: RS%20sys%20reqs">http://www.iss.net/reqspec/reqDisplay.php3?pageToDisplay=RS%20sys%20reqs .
  37. Internet Security Systems. RealSecure Attack Signatures. WWW: http://www.iss.net/reqspec/linkDisplay.php3?pageToDisplay=RS%20a.s.%20from%20DB .
  38. Stocksdale, Greg. CIDER Documents. WWW: http://www.nswc.navy.mil/ISSEC/CID/ .
  39. Irwin, Vicki; Northcutt, Stephen; & Ralph, Bill. (Naval Surface Warfare Center). Building a Network Monitoring and Analysis Capability-Step by Step. WWW: http://www.nswc.navy.mil/ISSEC/CID/step.htm .
  40. Northcutt, Stephen. (Naval Surface Warfare Center, Dahlgren). Intrusion Detection: Shadow Style-Step by Step Guide. SANS Institute Report (November 1988).
  41. Floyd, Sally, et al. (Lawrence Berkeley National Laboratory). LBNL"s Network Research Group. FTP: http://ftp.ee.lbl.gov/ .
  42. Network Flight Recorder, Inc. Step-by-Step Network Monitoring Using NFR. WWW: http://www.nswc.navy.mil/ISSEC/CID/nfr.htm .
  43. Ranum, Marcus J., et al. (Network Flight Recorder, Inc.). Implementing a Generalized Tool for Network Monitoring. WWW: http://www.nfr.net/forum/publications/LISA-97.htm .
  44. Network Flight Recorder, Inc. The Network Flight Recorder in Action! WWW: http://www.nfr.net/products/technology.html .

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

Для чего нужны системы обнаружения вторжения (IDS)

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

Благодаря всемирной паутине в их распоряжении очень много совершенно бесплатного вредоносного софта - всяких слеммеров, слепперов и тому подобных вредных программ. Услугами же профессиональных взломщиков пользуются конкурирующие компании для нейтрализации друг друга. Так что системы, которые обнаруживают вторжение (intrusion detection systems), - насущная необходимость. Неудивительно, что с каждым днем они все более широко используются.

Элементы IDS

К элементам IDS относятся:

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

Кстати, многие могут спросить: "Как переводится IDS?" Перевод с английского звучит как "система, которая застает на горячем незваных гостей".

Основные задачи, которые решают системы обнаружения вторжений

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

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

Что может обеспечить система обнаружения вторжений и что ей не под силу

С ее помощью можно добиться следующего:

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

Система IDS это сделать не может:

  • восполнить недостатки в сетевых протоколах;
  • сыграть компенсаторную роль в случае наличия слабых механизмов идентификации и аутентификации в сетях или компьютерных системах, которые она мониторит;
  • также следует заметить, что IDS не всегда справляется с проблемами, связанными с атаками на пакетном уровне (packet-level).

IPS (intrusion prevention system) - продолжение IDS

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

Подвиды IDS по способу мониторинга

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

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

NIDS (network-based IDS) - это те системы, которые легко встраивать в новые топологии сети, поскольку особого влияния на их функционирование они не оказывают, являясь пассивными. Они лишь фиксируют, записывают и оповещают, в отличие от реактивного типа систем IPS, о которых речь шла выше. Однако нужно также сказать о network-based IDS, что это системы, которые не могут производить анализ информации, подвергнутой шифрованию. Это существенный недостаток, поскольку из-за все более широкого внедрения виртуальных частных сетей (VPN) шифрованная информация все чаще используется киберпреступниками для атак.

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

HIDS (host intrusion detection system)

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

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

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

Подвиды IDS по методам выявления атак

Метод аномалий, метод анализа сигнатур и метод политик - такие подвиды по методам выявления атак имеет система IDS.

Метод анализа сигнатур

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

Метод аномалий

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

Метод политик

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

ID Systems обеспечит надежной защитой ваши сети и компьютерные системы

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

ID Systems - отзывы сотрудников

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

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

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

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

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

Устраним уязвимости информационной системы - устраним и возможность реализации атак.

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

Модели атак

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

В модели распределенной атаки используются иные принципы. В отличие от традиционной модели в распределенной модели используются отношения (рис.3) и (рис.4).

Распределенные атаки основаны на "классических" атаках типа "отказ в обслуживании ", а точнее на их подмножестве, известном как Flood-атаки или Storm-атаки (указанные термины можно перевести как "шторм", "наводнение" или "лавина"). Смысл данных атак заключается в посылке большого количества пакетов на атакуемый узел. Атакуемый узел может выйти из строя, поскольку он "захлебнется" в лавине посылаемых пакетов и не сможет обрабатывать запросы авторизованных пользователей. По такому принципу работают атаки SYN-Flood, Smurf, UDP Flood, Targa3 и т.д. Однако в том случае, если пропускная способность канала до атакуемого узла превышает пропускную способность атакующего или атакуемый узел некорректно сконфигурирован, то к "успеху" такая атака не приведет. Например, с помощью этих атак бесполезно пытаться нарушить работоспособность своего провайдера. Но распределенная атака происходит уже не из одной точки Internet, а сразу из нескольких, что приводит к резкому возрастанию трафика и выведению атакуемого узла из строя. Например, по данным России-Онлайн в течение двух суток, начиная с 9 часов утра 28 декабря 2000 г. крупнейший Internet-провайдер Армении "Арминко" подвергался распределенной атаке. В данном случае к атаке подключились более 50 машин из разных стран, которые посылали по адресу "Арминко" бессмысленные сообщения. Кто организовал эту атаку, и в какой стране находился хакер - установить было невозможно. Хотя атаке подвергся в основном "Арминко", перегруженной оказалась вся магистраль, соединяющая Армению с всемирной паутиной. 30 декабря благодаря сотрудничеству "Арминко" и другого провайдера - "АрменТел" - связь была полностью восстановлена. Несмотря на это компьютерная атака продолжалась, но с меньшей интенсивностью.

Этапы реализации атак

Можно выделить следующие этапы реализации атаки:

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

Cбор информации - это основной этап реализации атаки. Именно на данном этапе эффективность работы злоумышленника является залогом "успешности" атаки. Сначала выбирается цель атаки и собирается информация о ней (тип и версия операционной системы, открытые порты и запущенные сетевые сервисы, установленное системное и прикладное программное обеспечение и его конфигурация и т.д.). Затем идентифицируются наиболее уязвимые места атакуемой системы, воздействие на которые приводит к нужному злоумышленнику результату. Злоумышленник пытается выявить все каналы взаимодействия цели атаки с другими узлами. Это позволит не только выбрать тип реализуемой атаки, но и источник ее реализации. Например, атакуемый узел взаимодействует с двумя серверами под управлением ОС Unix и Windows NT. С одним сервером атакуемый узел имеет доверенные отношения, а с другим - нет. От того, через какой сервер злоумышленник будет реализовывать нападение, зависит, какая атака будет задействована, какое средство реализации будет выбрано и т.д. Затем, в зависимости от полученной информации и желаемого результата, выбирается атака, дающая наибольший эффект. Например:
SYN Flood, Teardrop, UDP Bomb - для нарушения функционирования узла;
CGI-скрипт - для проникновения на узел и кражи информации;
PHF - для кражи файла паролей и удаленного подбора пароля и т.п.

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

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

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

1. Сбор информации

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

Изучение окружения

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

Идентификация топологии сети

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

  1. изменение TTL (TTL modulation),
  2. запись маршрута (record route).

По первому методу работают программы traceroute для Unix и tracert для Windows. Они используют поле Time to Live ("время жизни") в заголовке IP-пакета, которое изменяется в зависимости от числа пройденных сетевым пакетом маршрутизаторов. Для записи маршрута ICMP-пакета может быть использована утилита ping . Зачастую сетевую топологию можно выяснить при помощи протокола SNMP, установленного на многих сетевых устройствах, защита которых неверно сконфигурирована. При помощи протокола RIP можно попытаться получить информацию о таблице маршрутизации в сети и т.д.

Многие из этих методов используются современными системами управления (например, HP OpenView, Cabletron SPECTRUM, MS Visio и т.д.) для построения карт сети. И эти же методы могут быть с успехом применены злоумышленниками для построения карты атакуемой сети.

Идентификация узлов

Идентификация узла, как правило, осуществляется путем посылки при помощи утилиты ping команды ECHO_REQUEST протокола ICMP. Ответное сообщение ECHO_REPLY говорит о том, что узел доступен. Существуют свободно распространяемые программы, которые автоматизируют и ускоряют процесс параллельной идентификации большого числа узлов, например, fping или nmap. Опасность данного метода в том, что стандартными средствами узла запросы ECHO_REQUEST не фиксируются. Для этого необходимо применять средства анализа трафика, межсетевые экраны или системы обнаружения атак.

Это самый простой метод идентификации узлов. Однако он имеет два недостатка.

  1. Многие сетевые устройства и программы блокируют ICMP-пакеты и не пропускают их во внутреннюю сеть (или наоборот не пропускают их наружу). Например, MS Proxy Server 2.0 не разрешает прохождение пакетов по протоколу ICMP. В результате возникает неполная картина. С другой стороны, блокировка ICMP-пакета говорит злоумышленнику о наличии "первой линии обороны" - маршрутизаторов, межсетевых экранов и т.д.
  2. Использование ICMP-запросов позволяет с легкостью обнаружить их источник, что, разумеется, не может входить в задачу злоумышленника.

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

Идентификация сервисов или сканирование портов

Идентификация сервисов, как правило, осуществляется путем обнаружения открытых портов (port scanning). Такие порты очень часто связаны с сервисами, основанными на протоколах TCP или UDP. Например:

  • открытый 80-й порт подразумевает наличие Web-сервера,
  • 25-й порт - почтового SMTP-сервера,
  • 31337-й - серверной части троянского коня BackOrifice,
  • 12345-й или 12346-й - серверной части троянского коня NetBus и т.д.
Для идентификации сервисов и сканирования портов могут быть использованы различные программы, в т.ч. и свободно распространяемые. Например, nmap или netcat.

Идентификация операционной системы

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

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

Определение роли узла

Предпоследним шагом на этапе сбора информации об атакуемом узле является определение его роли, например, выполнении функций межсетевого экрана или Web-сервера. Выполняется этот шаг на основе уже собранной информации об активных сервисах, именах узлов, топологии сети и т.п. Например, открытый 80-й порт может указывать на наличие Web-сервера, блокировка ICMP-пакета указывает на потенциальное наличие межсетевого экрана, а DNS-имя узла proxy.domain.ru или fw.domain.ru говорит само за себя.

Определение уязвимостей узла

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

2. Реализация атаки

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

  • проникновение;
  • установление контроля.

Проникновение

Проникновение подразумевает под собой преодоление средств защиты периметра (например, межсетевого экрана). Реализовываться это может быть различными путями. Например, использование уязвимости сервиса компьютера, "смотрящего" наружу или путем передачи враждебного содержания по электронной почте (макровирусы) или через апплеты Java. Такое содержание может использовать так называемые "туннели" в межсетевом экране (не путать с туннелями VPN), через которые затем и проникает злоумышленник. К этому же этапу можно отнести подбор пароля администратора или иного пользователя при помощи специализированной утилиты (например, L0phtCrack или Crack).

Установление контроля

После проникновения злоумышленник устанавливает контроль над атакуемым узлом. Это может быть осуществлено путем внедрения программы типа "троянский конь" (например, NetBus или BackOrifice). После установки контроля над нужным узлом и "заметания" следов, злоумышленник может осуществлять все необходимые несанкционированные действия дистанционно без ведома владельца атакованного компьютера. При этом установление контроля над узлом корпоративной сети должно сохраняться и после перезагрузки операционной системы. Это может быть реализовано путем замены одного из загрузочных файлов или вставка ссылки на враждебный код в файлы автозагрузки или системный реестр. Известен случай, когда злоумышленник смог перепрограммировать EEPROM сетевой карты и даже после переустановки ОС он смог повторно реализовать несанкционированные действия. Более простой модификацией этого примера является внедрение необходимого кода или фрагмента в сценарий сетевой загрузки (например, для ОС Novell Netware).

Цели реализации атак

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

Классификация атак

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

  1. Удаленное проникновение (remote penetration) . Атаки, которые позволяют реализовать удаленное управление компьютером через сеть. Например, NetBus или BackOrifice.
  2. Локальное проникновение (local penetration) . Атака, которая приводит к получению несанкционированного доступа к узлу, на котором она запущена. Например, GetAdmin.
  3. Удаленный отказ в обслуживании (remote denial of service) . Атаки, которые позволяют нарушить функционирование или перегрузить компьютер через Internet. Например, Teardrop или trin00.
  4. Локальный отказ в обслуживании (local denial of service) . Атаки, которые позволяют нарушить функционирование или перегрузить компьютер, на котором они реализуются. Примером такой атаки является "враждебный" апплет, который загружает центральный процессор бесконечным циклом, что приводит к невозможности обработки запросов других приложений.
  5. Сетевые сканеры (network scanners) . Программы, которые анализируют топологию сети и обнаруживают сервисы, доступные для атаки. Например, система nmap.
  6. Сканеры уязвимостей (vulnerability scanners) . Программы, которые ищут уязвимости на узлах сети и которые могут быть использованы для реализации атак. Например, система SATAN или ShadowSecurityScanner.
  7. Взломщики паролей (password crackers) . Программы, которые "подбирают" пароли пользователей. Например, L0phtCrack для Windows или Crack для Unix.
  8. Анализаторы протоколов (sniffers) . Программы, которые "прослушивают" сетевой трафик. При помощи этих программ можно автоматически искать такую информацию, как идентификаторы и пароли пользователей, информацию о кредитных картах и т.д. Например, Microsoft Network Monitor, NetXRay компании Network Associates или LanExplorer.

Компания Internet Security Systems, Inc. еще больше сократила число возможных категорий, доведя их до 5:

  1. Сбор информации (Information gathering).
  2. Попытки несанкционированного доступа (Unauthorized access attempts).
  3. Отказ в обслуживании (Denial of service).
  4. Подозрительная активность (Suspicious activity).
  5. Системные атаки (System attack).

Первые 4 категории относятся к удаленным атакам, а последняя - к локальным, реализуемом на атакуемом узле. Можно заметить, что в данную классификацию не попал целый класс так называемых "пассивных" атак ("прослушивание" трафика, "ложный DNS-сервер", "подмена ARP-сервера" и т.п.).

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

Одной из лучших баз уязвимостей и атак является база данных X-Force, находящаяся по адресу: http://xforce.iss.net/. Доступ к ней может осуществляться как путем подписки на свободно распространяемый список рассылки X-Force Alert, так и путем интерактивного поиска в базе данных на Web-сервере компании ISS.

Заключение

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

Средства обнаружения компьютерных атак

Технология обнаружения атак должна решать следующие задачи:

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

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

  • Контроль эффективности межсетевых экранов. Например, установка системы обнаружения атак после межсетевого экрана (внутри корпоративной сети) позволяет обнаружить атаки, пропускаемые МСЭ и, тем самым, определить недостающие правила на межсетевом экране.
  • Контроль узлов сети с неустановленными обновлениями или узлов с устаревшим программным обеспечением.
  • Блокирование и контроль доступа к определенным узлам Internet. Хотя системам обнаружения атак далеко до межсетевых экранов и систем контроля доступа к различным URL, например, WEBsweeper, они могут выполнять частичный контроль и блокирование доступа некоторых пользователей корпоративной сети к отдельным ресурсам Internet, например, к Web-серверам порнографического содержания. Это бывает необходимо тогда, когда в организации нет денег на приобретение и межсетевого экрана и системы обнаружение атак, и функции МСЭ разносятся между системой обнаружения атак, маршрутизатором и proxy-сервером. Кроме того, системы обнаружения атак могут контролировать доступ сотрудников к серверам на основе ключевых слов. Например, sex, job, crack и т.д.
  • Контроль электронной почты. Системы обнаружения атак могут использоваться для контроля неблагонадежных сотрудников, использующих электронную почту для выполнения задач, не входящих в их функциональные обязанности, например, рассылка резюме. Некоторые системы могут обнаруживать вирусы в почтовых сообщениях и, хотя до настоящих антивирусных систем им далеко, они все же выполняют эту задачу достаточно эффективно.

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

Классификация систем обнаружения атак

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

  1. host-based , то есть обнаруживающие атаки, направленные на конкретный узел сети,
  2. network-based , то есть обнаруживающие атаки, направленные на всю сеть или сегмент сети.

Системы обнаружения атак, контролирующие отдельный компьютер, как правило, собирают и анализируют информацию из журналов регистрации операционной системы и различных приложений (Web-сервер, СУБД и т.д.). По такому принципу функционирует RealSecure OS Sensor. Однако в последнее время стали получать распространение системы, тесно интегрированные с ядром ОС, тем самым, предоставляя более эффективный способ обнаружения нарушений политики безопасности. Причем такая интеграция может быть реализовано двояко. Во-первых, могут контролироваться все системные вызовы ОС (так работает Entercept) или весь входящий/исходящий сетевой трафик (так работает RealSecure Server Sensor). В последнем случае система обнаружения атак захватывает весь сетевой трафик напрямую с сетевой карты, минуя операционную систему, что позволяет уменьшить зависимость от нее и тем самым повысить защищенность системы обнаружения атак.

Системы обнаружения атак уровня сети собирают информацию из самой сети, то есть из сетевого трафика. Выполняться эти системы могут на обычных компьютерах (например, RealSecure Network Sensor), на специализированных компьютерах (например, RealSecure for Nokia или Cisco Secure IDS 4210 и 4230) или интегрированы в маршрутизаторы или коммутаторы (например, CiscoSecure IOS Integrated Software или Cisco Catalyst 6000 IDS Module). В первых двух случаях анализируемая информация собирается посредством захвата и анализа пакетов, используя сетевые интерфейсы в беспорядочном (promiscuous) режиме. В последнем случае захват трафика осуществляется с шины сетевого оборудования.

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

Практически все системы обнаружения атак основаны на сигнатурном подходе.

Достоинства систем обнаружения атак

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

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

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

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

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

И, наконец, системы обнаружения атак, функционирующие на сетевом уровне, не зависят от операционных систем, установленных в корпоративной сети, так как они оперируют сетевым трафиком, которым обмениваются все узлы в корпоративной сети. Системе обнаружения атак все равно, какая ОС сгенерировала тот или иной пакет, если он в соответствие со стандартами, поддерживаемыми системой обнаружения. Например, в сети могут работать ОС Windows 98, Windows NT, Windows 2000 и XP, Netware, Linux, MacOS, Solaris и т.д., но если они общаются между собой по протоколу IP, то любая из систем обнаружения атак, поддерживающая этот протокол, сможет обнаруживать атаки, направленные на эти ОС.

Совместное применение систем обнаружения атак на уровне сети и уровне узла повысит защищенность вашей сети.

Сетевые системы обнаружения атак и межсетевые экраны

Наиболее часто сетевые системы обнаружения атак пытаются заменить межсетевыми экранами, уповая на то, что последние обеспечивают очень высокий уровень защищенности. Однако не стоит забывать, что межсетевые экраны - это просто системы, основанные на правилах, которые разрешают или запрещают прохождение трафика через них. Даже межсетевые экраны, построенные по технологии "", не позволяют с уверенностью сказать, присутствует ли атака в контролируемом ими трафике или нет. Они могут сказать, соответствует ли трафик правилу или нет. Например, МСЭ сконфигурирован так, чтобы блокировать все соединения кроме TCP-соединений на 80 порту (то есть HTTP-трафик). Таким образом, любой трафик через 80-ый порт законен с точки зрения МСЭ. С другой стороны, система обнаружения атак также контролирует трафик, но ищет в нем признаки атаки. Ее мало заботит, для какого порта предназначен трафик. По умолчанию весь трафик для системы обнаружения атак подозрителен. То есть, несмотря на то, что система обнаружения атак работает с тем же источником данных, что и МСЭ, то есть с сетевым трафиком, они выполняют дополняющие друг друга функции. Например, HTTP-запрос "GET /../../../etc/passwd HTTP/1.0". Практически любой МСЭ разрешает прохождение данного запроса через себя. Однако система обнаружения атак легко обнаружит эту атаку и блокирует ее.

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

Межсетевой экран - не панацея!

Варианты реакций на обнаруженную атаку

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

  • Уведомление на консоль (включая резервную) системы обнаружения атак или на консоль интегрированной системы (например, межсетевого экрана).
  • Звуковое оповещение об атаке.
  • Генерация управляющих последовательностей SNMP для систем сетевого управления.
  • Генерация сообщения об атаке по электронной почте.
  • Дополнительные уведомления на пейджер или факс. Очень интересная, хотя и редко применяемая возможность. Оповещение об обнаружении несанкционированной деятельности посылается не администратору, а злоумышленнику. По мнению сторонников данного варианта реагирования, нарушитель, узнав, что его обнаружили, вынужден прекратить свои действия.
  • Обязательная регистрация обнаруживаемых событий. В качестве журнала регистрации могут выступать:
    • текстовый файл,
    • системный журнал (например, в системе Cisco Secure Integrated Software),
    • текстовый файл специального формата (например, в системе Snort),
    • локальная база данных MS Access,
    • SQL-база данных (например, в системе RealSecure).
    Надо только учитывать, что объемы регистрируемой информации требуют, как правило, SQL-базу - MS SQL или Oracle.
  • Трассировка событий (event trace), т.е. запись их в той последовательности и с той скоростью, с которыми их реализовывал злоумышленник. Затем администратор в любое заданное время может прокрутить (replay или playback) необходимую последовательность событий с заданной скоростью (в реальном режиме времени, с ускорением или замедлением), чтобы проанализировать деятельность злоумышленника. Это позволит понять его квалификацию, используемые средства атаки и т.д.
  • Прерывание действий атакующего, т.е. завершение соединения. Это можно сделать, как:
    • перехват соединения (session hijacking) и посылка пакета с установленным флагом RST обоим участникам сетевого соединения от имени каждого из них (в системе обнаружения атак, функционирующей на уровне сети);
    • блокировка учетной записи пользователя, осуществляющего атаку (в системе обнаружения атак на уровне узла). Такая блокировка может быть осуществлена либо на заданный промежуток времени, либо до тех пор, пока учетная запись не будет разблокирована администратором. В зависимости от привилегий, с которыми запущена система обнаружения атак, блокировка может действовать как в пределах самого компьютера, на который направлена атака, так и в пределах всего домена сети.
  • Реконфигурация сетевого оборудования или межсетевых экранов. В случае обнаружения атаки на маршрутизатор или межсетевой экран посылается команда на изменение списка контроля доступа. Впоследствии все попытки соединения с атакующего узла будут отвергаться. Как и блокировка учетной записи злоумышленника, изменение списка контроля доступа может быть осуществлено или на заданный интервал времени или до того момента, как изменение будет отменено администратором реконфигурируемого сетевого оборудования.
  • Блокирование сетевого трафика так, как это реализовано в межсетевых экранах. Этот вариант позволяет ограничить трафик, а также адресатов, которые могут получить доступ к ресурсам защищаемого компьютера, позволяя выполнять функции доступные в персональных межсетевых экранах.

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

Системы обнаружения вторжений (IDS) появились давно. Первыми из них можно считать ночной дозор и сторожевых собак. Дозорные и сторожевые собаки выполняли две задачи: они определяли иницииро­ванные кем-то подозрительные действия и пресекали дальнейшее про­никновение злоумышленника. Как правило, грабители избегали встречи с собаками и, в большинстве случае, старались обходить стороной зда­ния, охраняемые собаками. То же самое можно сказать и про ночной до­зор. Грабители не хотели быть замеченными вооруженными дозорными или охранниками, которые могли вызвать полицию.

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

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

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



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

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

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

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

Существуют два основных типа IDS: узловые (HIDS) и сетевые (NIDS).

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

Узловые IDS (H1DS) представляют собой систему датчиков, за­гружаемых на различные сервера организации и управляемых цен­тральным диспетчером. Датчики отслеживают различные типы собы­тий и предпринимают определенные действия на сервере либо пере­дают уведомления. Датчики HIDS отслеживают события, связанные с сервером, на котором они загружены. Сенсор HIDS позволяет опре-
делить, была ли атака успешной, если атака имела место на той же платформе, на которой установлен датчик.

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

Существует пять основных типов датчиков HIDS: анализаторы журналов; датчики признаков; анализаторы системных вызовов; анализаторы поведения приложений; контролеры целостности файлов.

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

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

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

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

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

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

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

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

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


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

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

замечает эту атаку. NIDS-системы позволяют указы­вать интересуемый трафик по адресу источника, конечному адресу, порту источника или конечному порту. Это дает возможность отслежи­вания трафика, не соответствующего признакам атак.

Чаще всего при применении NIDS используются две сетевые кар­ты (рис. 33). Одна карта используется для мониторинга сети. Эта кар­та работает в «скрытом» режиме, поэтому она не имеет IP-адреса и, следовательно, не отвечает на входящие соединения.

У скрытой карты отсутствует стек протоколов, поэтому она не может отвечать на такие информационные пакеты, как пинг-запросы. Вторая сетевая карта используется для соединения с системой управ­ления IDS и для отправки сигналов тревоги. Эта карта присоединяет­ся к внутренней сети, невидимой для той сети, в отношении которой производится мониторинг.

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

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

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

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

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

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

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

Определение типов систем обнаружения вторжений

Существуют два основных типа IDS : узловые ( HIDS ) и сетевые ( NIDS ). Система HIDS располагается на отдельном узле и отслеживает признаки атак на данный узел. Система NIDS находится на отдельной системе, отслеживающей сетевой трафик на наличие признаков атак, проводимых в подконтрольном сегменте сети. На рисунке 13.1 показаны два типа IDS , которые могут присутствовать в сетевой среде.


Рис. 13.1.

Узловые IDS

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

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

В продолжение темы:
Windows

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