Вы атакованы – защищайтесь (методология выявления атак)

12 сентября 2003

Вы атакованы – защищайтесь (методология выявления атак)

В последнее время всё чаще и чаще можно слышать о вторжениях в информационные системы (ИС) предприятий и организаций и о том, к какому ущербу они приводят. И это не случайное явление, поскольку одной из важнейших парадигм 21 века являются инфокоммуникационные технологии, охватывающие почти все административно-производственные цепочки – источник повышенного интереса со стороны потенциальных злоумышленников. Подтверждают этот интерес и данные научно-исследовательского центра CERT, организованного при университете Карнеги США. Они показывают, что только в 2003 году уже было зафиксировано более 42 тысяч инцидентов, связанных с нарушением информационной безопасности. Характерно, что это более чем в два раза превышает аналогичный показатель 2002 года. Всё это заставляет бизнесменов, вступающих в век информации, задумываться о том, что необходимо постоянно повышать уровень защищённости предприятия, внедрять более эффективные средства защиты, которые позволят эффективно противодействовать информационным атакам.

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

Что такое информационная атака?

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

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



Рис. 1. Жизненный цикл типовой атаки

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

  • информация о структуре и топологии ИС. Для получения информации этого типа нарушитель может воспользоваться стандартными утилитами типа «traceroute», входящими в состав практически любой операционной системы (ОС). Эти утилиты позволяют сформировать список IP-адресов маршрутизаторов, через которые проходят пакеты от компьютера нарушителя до хоста, который выступает в роли объекта нападения. Злоумышленник также может получить необходимую ему информацию о структуре ИС путём обращения к DNS-серверу, на котором могут храниться данные о хостах ИС;
  • информация о типе ОС, установленной в ИС. Один из наиболее распространённых методов определения типа ОС основан на том факте, что разные системы по-разному реализуют требования стандартов RFC, в которых определены правила взаимодействия на основе различных сетевых протоколов. Таким образом, при формировании одних и тех же сетевых запросов разные ОС в ответ отправляют отличные друг от друга данные, на основе которых можно с большой долей вероятности определить характеристики используемой ОС. Данный метод также позволяет определить тип аппаратной платформы, на основе которой функционирует та или иная ОС;
  • информация о типе прикладных сервисов, присутствующих в ИС. Нарушитель может определить какие сетевые сервисы и прикладное ПО функционирует на хосте путём сканирования открытых портов и анализа заголовков ответов, полученных от этих служб;
  • информация о зарегистрированных пользователях ИС. Информация этого типа может быть получена злоумышленником из базы данных SNMP MIB, установленной на рабочих станциях и серверах ИС.

После сбора всей необходимой информации нарушитель переходит к этапу вторжения в ИС. Любое вторжение основано на так называемой уязвимости, активизация которой и позволяет злоумышленнику внедриться в систему. Примерами уязвимостей являются ошибочная конфигурация сетевых служб ИС, наличие программного обеспечения без установленных модулей обновления (service packs, patches, hotfixes), использование «слабых» и «нестойких» паролей, отсутствие необходимых средств защиты и др. В результате успешной реализации этой стадии атаки нарушитель получает несанкционированный доступ к ресурсам атакованного хоста ИС, что позволяет ему перейти к реализации следующей стадии информационной атаки.

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

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

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

Обнаружение информационных атак

Процесс обнаружения информационных атак (рис. 2) начинается со сбора исходных данных, необходимых для того, чтобы сделать вывод о проведении атаки в ИС. Примерами таких данных являются:

  • сведения о пакетах данных, передаваемых в ИС;
  • информация о производительности программно-аппаратного обеспечения ИС (вычислительная нагрузка на процессор хостов ИС, загруженность оперативной памяти, скорость работы прикладного ПО и др.);
  • сведения о доступе к файлам ИС;
  • информация о регистрации новых пользователей в ИС и др.


Рис. 2. Схема процесса обнаружения информационной атаки

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

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

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

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

Для того, чтобы лучше понять специфику сигнатурного и поведенческого метода выявления атак рассмотрим их конкретные примеры, реализованные в современных СОА.

Сигнатурные методы выявления атак

Наиболее распространённым сигнатурным методом выявления атак является метод контекстного поиска определённого множества символов в исходных данных. Так, например, для выявления атаки на Web-сервер, направленной на получение несанкционированного доступа к файлу паролей, необходимо при помощи этого метода провести поиск последовательность символов «GET */etc/passwd» в заголовке HTTP-запроса. Для расширения функциональных возможностей контекстного поиска в некоторых случаях используются специализированные языки, описывающие сигнатуру атаки. Пример сигнатуры атаки «Land», описанной при помощи языка N-code системы NFR, приведён на рис. 3.


Рис. 3. Пример сигнатуры атаки, описанной на языке N-code

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

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

Метод анализа состояний формирует сигнатуры атак в виде последовательности переходов ИС из одного состояние в другое. При этом каждый такой переход связан с наступлением в ИС определённых событий, которые определяются в параметрах сигнатуры атаки. Как правило, сигнатуры атак, созданные на основе метода анализа состояний, описываются при помощи математических аппаратов конечных автоматов или сетей Петри. На рис. 4 приведён пример сети Петри, описывающей сигнатуру атаки, направленной на получение несанкционированного доступа к ресурсам ИС путём подбора пароля. Каждый переход ИС в новое состояние в этой сети Петри связан с попыткой ввода пользователем пароля. В том случае, если пользователь в течение одной минуты четыре раза подряд введёт неправильный пароль, то метод зафиксирует факт реализации атаки.


Рис. 4. Пример сети Петри, описывающей сигнатуру атаки, направленной на подбор пароля

Методы выявления атак, базирующиеся на экспертных системах, позволяют описывать модели атак на естественном языке с высоким уровнем абстракции. Экспертная система, лежащая в основе методов этого типа, состоит из базы фактов и базы правил. Факты представляют собой исходные данные о работе ИС, а правила – методы логического вывода об атаке на основе имеющейся базы фактов. Все правила экспертной системы записываются в формате «если <...>, то <...>». Результирующая база правил должна описывать характерные признаки атак, которые должна обнаруживать СОА.

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

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

Поведенческие методы выявления атак

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

  • пороговая модель, которая для каждого статистического параметра определяет пороговые величины. В том случае если наблюдаемый параметр превышает заданный порог, то это событие является признаком потенциальной атаки. Например, если количество запросов на доступ к ресурсам ИС превышает заданное числовое значение, то это может свидетельствовать о факте реализации атаки «отказ в обслуживании»;
  • модель среднего значения и среднеквадратичного отклонения, которая для каждого статистического параметра определяет так называемый доверенный интервал на основе математического ожидания и дисперсии. Если текущее значение параметра не укладывается в этом интервале, то это рассматривается как атака. Например, если для каждого пользователя ИС определён доверительный интервал его работы в системе, то факт работы пользователя в нетипичное для него время также может рассматриваться как попытка получения несанкционированного доступа к ресурсам системы;
  • многовариационная модель, которая аналогична модели среднего значения и среднеквадратичного отклонения, но позволяет одновременно учитывать корреляцию между большим количеством статистических показателей.

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

Рассмотрев основные типы поведенческих и сигнатурных методов выявления атак, можно перейти к описанию практических аспектов их применения в ИС.

Практические аспекты применения методов выявления атак

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


Рис. 5. Многоуровневая схема обнаружения атак в ИС

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

Для выявления атаки на стадии рекогносцировки, на котором осуществляется сбор информации об ИС, эффективно могут использоваться только сигнатурные методы выявления атак. Это связано с тем, что все операции нарушителя, при помощи которых он получает необходимую ему информацию, в большинстве случаев не вызывают никакого отклонения от штатного поведения ИС. Сигнатурные же методы позволяют чётко зафиксировать признаки, которыми характеризуется эта стадия атаки. Примерами таких признаков являются: факт формирования запроса к DNS-серверу, получение информации из базы данных SNMP MIB или многократную посылку TCP-запросов на установление соединения с различными портами и т.д. Для выявления атаки на стадии рекогносцировки могут быть использованы, как сетевые, так и хостовые датчики.

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

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

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

Характеристики применимости сигнатурного и поведенческого методов
для обнаружения различных стадий атак

Заключение

Итак, снова зададим поставленный в заголовке статьи вопрос: «Можно ли выявить вторжение в информационную систему?» Ответ однозначен – можно. Однако это «можно» подразумевает то, что обнаружение информационных атак на ресурсы ИС является весьма сложным технологическим процессом, который связан со сбором необходимых данных о процессе функционирования ИС, их анализом и, наконец, выявлением факта атаки. Поэтому для эффективного обнаружения атаки на всех стадиях её жизненного цикла необходимо комбинированное использование как поведенческих, так и сигнатурных методов. И только реализация описанного выше комплексного подхода к проблеме выявления атак позволит значительно снизить риск успешного вторжения в информационные системы компании и исключит потерю производственных и иных секретов, а также не позволит потерять достигнутый уровень конкурентоспособности на рынке 21 века – века информации.

Список литературы

1. Y.Ho, D. Frinke, D. Tobin “Planning, Petri-Nets and Intrusion Detection”, 1998
2. Theuns Verwoerd, Ray Hunt, “Intrusion detection techniques and approaches” // Computer Communications, №25, 2002
3. Herve Debar, Marc Dacier, Andreas Wespi, “Towards a taxonomy of intrusion detection systems” // Computer Networks, №31, 1999
4. M. Ludovic, “GASSATA, a Genetic Algorithm as an Alternative Tool for Security Audit Trails Analysis”, 1998

540
;