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

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

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

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

Технологии, по которым строятся системы обнаружения атак IDS (Intrusion Detection Systems), принято условно делить на две категории:

1) обнаружение аномального поведения (anomaly detection);

2) обнаружение злоупотреблений (misuse detection).

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

1) большое число соединений за короткий промежуток времени;

2) высокая загрузка центрального процессора и т.п.

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

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

1) обнаружение аномального поведения, которое не является атакой, и отнесение его к классу атак;

2) пропуск атаки, которая не подпадает под определение аномального поведения. Этот случай более опасен, чем ложное отнесение аномального поведения к классу атак.

При настройке и эксплуатации систем данной категории администраторы сталкиваются со следующими проблемами:

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

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

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

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

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

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

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

· обнаружение атак на уровне сети (network-based);

· обнаружение атак на уровне компьютера (host-based).

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

Обнаружение атак на уровне сети

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

\WINNTSYSTEM32CONFIG (описывает путь к файлам SAM, Security и т.д.)

или

/etc/passwd (описывает путь к списку паролей ОС UNIX).

Анализ журналов регистрации – один из самых первых реализованных методов обнаружения атак. Он заключается в анализе журналов регистрации (log, audit trail), создаваемых операционной системой, прикладным программным обеспечением, маршрутизаторами и т.д. Записи журнала регистрации анализируются и интерпретируются системой обнаружения атак.

К достоинствам данного метода относится простота его реализации. Однако за этой простотой скрывается ряд недостатков:

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

· при анализе журналов регистрации очень трудно обойтись без помощи специалистов, что существенно ограничивает распространение этого метода;

· до настоящего момента нет унифицированного формата хранения журналов;

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

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

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

Использование методов обнаружения атак в сетевом трафике имеет определенные достоинства:

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

· системы, построенные с учетом данного метода, могут определять атаки в реальном масштабе времени;

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

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

Однако нельзя не отметить и некоторые недостатки:

· такие системы трудно применять в высокоскоростных сетях. Все современные коммерческие системы, хотя и анонсируют возможность работы с сетями Fast Ethernet (100 Мбит/с), не могут работать в сетях с пропускной способностью выше 60 – 80 Мбит/с;

· сетевые системы обнаружения атак неэффективно работают в коммутируемых сетях и сетях с канальным шифрованием.

Обнаружение атак на уровне компьютера

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

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

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

Однако оба указанных подхода могут найти применение для защиты предприятия или организации:

· если требуется защитить один или несколько узлов, то неплохим выбором могут быть системы обнаружения атак на уровне компьютера;

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

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

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

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

Автономный анализ в режиме off-line также имеет немаловажное значение. Он позволяет проводить более подробное исследование того, когда и как злоумышленники проникли в вашу систему. Это дает возможность выработать эффективные меры противодействия нападавшим нарушителям. Такой анализ может быть реализован по-разному, начиная от простой генерации отчета с информацией обо всех или выбранных прошедших событиях и заканчивая воспроизведением (playback) в реальном времени всех действий, производимых при атаке.