Виктор Сердюк,
ведущий инженер-программист Департамента развития технологий информационной безопасности компании РНТ,
vicsmati@online.ru

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

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

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

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

В общем случае в любой атаке можно выделить четыре стадии (рис. 1).

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

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

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

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

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

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

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

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

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

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

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

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

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

Способы обнаружения атак

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

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

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

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

Сигнатурные методы

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

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

filter pptp ip ()
{
# Если IP-адрес отправителя пакета 
# данных совпадает с IP-адресом
# получателя, то в журнал записывается 
# информация об атаке Land
   if (ip.src == ip.dest)
   {
      system.time, eth.src, ip.src, sth.dst to land_recrdr;
   }
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Стадия атаки Сигнатурный метод Поведенческий метод
Рекогносцировка +, СХ -
Вторжение в ИС +, СХ +, СХ
Атакующее воздействие - +, Х
Развитие атаки - +, Х
Примечание: + - метод применим; - - метод неприменим; СХ - используются сетевые и хостовые датчики; Х - только хостовые датчики

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

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

***

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

Источники дополнительной информации

  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, No 25, 2002.
  3. Herve Debar, Marc Dacier, Andreas Wespi. Towards a taxonomy of intrusion detection systems. Computer Networks, No 31, 1999.
  4. M. Ludovic. GASSATA, a Genetic Algorithm as an Alternative Tool for Security Audit Trails Analysis, 1998.