Проведение анализа существующих систем защиты компьютерных систем

Тип работы:
Дипломная
Предмет:
Программирование


Узнать стоимость

Детальная информация о работе

Выдержка из работы

СОДЕРЖАНИЕ

ВВЕДЕНИЕ

ГЛАВА I. АНАЛИЗ ТЕХНИЧЕСКОГО ЗАДАНИЯ

ГЛАВА II. СУЩЕСТВУЮЩИЕ СИСТЕМЫ ОБНАРУЖЕНИЯ АТАК

2.1 Обзор технологий обнаружения атак

2.2 Обзор систем обнаружения атак

2.2.1 Размещение сенсоров

2.2.2 Основные проблемы существующих технологий обнаружения атак

2.3 Выводы

ГЛАВА III. АРХИТЕКТУРА СИСТЕМЫ ОБНАРУЖЕНИЯ АТАК

3.1 Клиент — серверная технология

3.2 Модуль шифрования

3.3 Модуль накопления и хранения предупреждений

3.4 Алгоритм работы подсистемы

3.5 Выводы

ГЛАВА IV. ПРОГРАММНАЯ РЕАЛИЗАЦИЯ

4.1 Общая блок-схема подсистемы

4.2 Реализация клиент-серверной технологии

4.2.1 Серверная часть программы

4.2.2 Клиентская часть программы

4.3 Реализация модуля шифрования

4.4 Реализация модуля накопления и хранения предупреждений

ГЛАВА V. РЕЗУЛЬТАТЫ ТЕСТИРОВАНИЯ

ЗАКЛЮЧЕНИЕ

СПИСОК ИСПОЛЬЗУЕМЫХ ИСТОЧНИКОВ

ПРИЛОЖЕНИЕ А

ПРИЛОЖЕНИЕ Б

ВВЕДЕНИЕ

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

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

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

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

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

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

· чем защищеннее система, тем неудобнее с ней работать.

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

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

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

ГЛАВА I. АНАЛИЗ ТЕХНИЧЕСКОГО ЗАДАНИЯ

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

В данной дипломной работе были поставлены следующие задачи:

— создание транспортной подсистемы системы обнаружения атак, которая будет быстро и эффективно передавать данные об обнаруженных сенсором атаках от клиента серверу, за минимальное время и без потерь и искажений информации;

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

Таким образом, задача, решаемая в данной работе, состоит в следующем:

— ознакомиться с информацией по данной теме;

— исследовать доступные системы обнаружения атак;

— выявить их достоинства и недостатки;

— на основе полученных данных сформировать требования к собственной системе;

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

— создать собственный программный продукт на основе клиент — серверной технологии;

— протестировать его на работоспособность.

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

Наиболее целесообразным при разработке клиент-серверного приложения пользоваться механизмом сокетов Windows. Широкий спектр возможностей, доступность и простоту работы с этим механизмом обеспечивает интегрированная среда разработки Borland C++Builder 6.0.

ГЛАВА II. СУЩЕСТВУЮЩИЕ СИСТЕМЫ ОБНАРУЖЕНИЯ АТАК

2.1 Обзор технологий обнаружения атак

Большинство современных автоматизированных систем (АС) в общем случае представляет собой территориально распределенные системы интенсивно взаимодействующих (синхронизирующихся) между собой по данным (ресурсам) и управлению (событиям) локальных вычислительных сетей (ЛВС) и отдельных ЭВМ. Даже если АС состоит только из одной ЛВС, то практически повсеместно имеется выход в глобальную сеть Интернет, что также может рассматриваться как вариант распределенной сети. Пример такой схемы изображен на рисунке 2.1.

Рисунок 2.1 — Схема современной распределенной АС

атака накопление предупреждение шифрование

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

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

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

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

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

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

По мере того, как дисковая память становилась все дешевле, журналы регистрации стали создавать в электронном виде; появились программные средства для анализа собранных данных. Примером такого средства можно назвать систему LogEvent Manager, разработанную компанией March Information Systems, и затем приобретенную компанией Internet Security Systems [4]. Указанные средства загружают удаленные журналы регистрации на компьютер администратора безопасности, на котором указанные журналы и анализируются. И теперь, хотя администратору и не надо уже посещать каждый компьютер для анализа журнала регистрации, он все равно сталкивается с проблемой анализа огромного объема данных. К тому же подобный анализ выполнялся очень медленно и зачастую требовал значительных вычислительных ресурсов, так что, как правило, программы обнаружения вторжений запускались в пакетном режиме, по ночам, когда с системой работало мало пользователей. Большинство нарушений защиты по-прежнему выявлялись уже постфактум.

В начале 90-х годов были разработаны системы обнаружения вторжений в оперативном режиме, которые просматривали записи в журнале регистрации сразу, как только они генерировались. Это позволило обнаруживать атаки и попытки атак в момент их проведения, что, в свою очередь, дало возможность немедленно принимать ответные меры, а, в некоторых случаях, даже предупреждать атаки. Эти средства называют системами обнаружения атак на уровне хоста (Host-based Intrusion Detection Systems) или мониторами регистрационных файлов (Log-file monitors). Такие системы могут быть построены с учетом двух архитектур: «автономная система» и «агент-менеджер». Первая архитектура наиболее проста и в настоящий момент в коммерческих системах практически не встречается. Системы, построенные с ее учетом, устанавливаются на каждый контролируемый компьютер. При этом связи между системами, установленными на различных компьютерах нет, и администратору безопасности приходится либо загружать журналы регистрации системы обнаружения атак (IDS) на свой компьютер при помощи других средств, либо анализировать эти журналы на каждом компьютере. Очевидно, что в крупных, территориально распределенных сетях такая архитектура не применима. Однако ее можно использовать в случае защиты отдельно стоящих компьютеров, не объединенных в единую вычислительную систему. Архитектура «агент-менеджер» (клиент-сервер) более эффективна для современных сетей, т.к. информация о событиях, регистрируемых агентами на каждом контролируемом компьютере, передается на центральную консоль (менеджер). С этой же консоли осуществляется и управление и настройка удаленными агентами [4].

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

— Распознавание известных атак и предупреждение о них соответствующего персонала.

— «Понимание» зачастую непонятных источников информации об атаках.

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

— Возможность управления средствами защиты не-экспертами в области безопасности.

— Контроль всех действий субъектов корпоративной сети (пользователей, программ, процессов и т. д.).

— И т.д.

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

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

— Контроль узлов сети с неустановленными обновлениями или узлов с устаревшим программным обеспечением.

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

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

— Возможность обнаружении Internet-червей и другого вредоносного кода.

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

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

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

— Звуковое оповещение об атаке.

— Генерация управляющих последовательностей SNMP для систем сетевого управления.

— Генерация сообщения об атаке по электронной почте.

— Дополнительные варианты уведомления на пейджер, сотовый телефон или факс.

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

В качестве журнала регистрации может выступать текстовый файл, системный журнал (например, в системе Cisco Secure Integrated Software), текстовый файл специального формата (например, в системе Snort), локальная база данных MS Access, SQL-база данных (например, в системе RealSecure). Учтите, что объемы регистрируемой информации требуют, как правило, SQL-базу — MS SQL или Oracle.

Иногда администратору безопасности необходимо проследить за всеми действиями, выполняемыми злоумышленником и всеми командами, им вводимыми. По журналам регистрации и созданным по ним отчетам бывает трудно это сделать. Поэтому в некоторых системах обнаружения атак реализован механизм трассировки событий (event trace), который позволяет записать их в той последовательности и с той скоростью, с которыми их реализовывал злоумышленник. Затем администратор в любое заданное время может прокрутить (replay или playback) необходимую последовательность событий с заданной скоростью (в реальном режиме времени, с ускорением или замедлением), чтобы проанализировать деятельность злоумышленника. Это позволит понять его квалификацию, используемые средства атаки и т. д.

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

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

Некоторые системы обнаружения атак (например, RealSecure Server Sensor) в дополнение к существующим вариантам активного реагирования добавляют еще один — блокирование сетевого трафика так, как это реализовано в межсетевых экранах. Этот вариант позволяет ограничить трафик, а также адресатов, которые могут получить доступ к ресурсам защищаемого компьютера, позволяя выполнять функции доступные в персональных межсетевых экранах.

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

Производительность системы обнаружения атак — критерий, который достаточно трудно описать. Выбираемая система не должна существенно снижать производительности контролируемой системы. С этим тезисом никто не спорит. При выборе и тестировании системы обнаружения атак необходимо смоделировать максимальную нагрузку на контролируемую систему, чтобы посмотреть, как будет себя вести в таких условиях выбираемое средство. Если вы планируете контролировать гигабитный трафик, то вы можете сделать выбор только между двух систем — BlackICE Sentry и Dragon Sensor.

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

2.2 Обзор систем обнаружения атак

Обнаруживать, блокировать и предотвращать атаки можно несколькими путями.

Первый, и самый распространенный, способ — это обнаружение уже реализуемых атак. Т. е. в соответствии с классификацией атаки по ее этапам данный способ функционирует на втором этапе осуществления атаки — ее реализации. Этот способ применяется в «классических» системах обнаружения атак (например, RealSecure компании Internet Security Systems), межсетевых экранах и т. п. Однако, недостаток средств данного класса в том, что атаки могут быть реализованы повторно. Они также повторно обнаруживаются и блокируются. И так далее, до бесконечности.

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

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

Таким образом, системы обнаружения атак могут быть классифицированы по этапам осуществления атаки:

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

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

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

Классификация систем обнаружения атак приведена на рисунке 2. 2

Рисунок 2.2 — Классификация систем обнаружения атак по этапу осуществления атаки

Помимо этого, существует еще одна распространенная классификация систем обнаружения нарушения политики безопасности — по принципу реализации: host-based, т. е. обнаруживающие атаки, направленные на конкретный узел сети, и network-based, направленные на всю сеть или сегмент сети. Обычно на этом дальнейшая классификация останавливается. Однако системы класса host-based можно разделить еще на три подуровня:

— Application IDS, обнаруживающие атаки на конкретные приложения;

— OS IDS, обнаруживающие атаки на операционные системы;

— DBMS IDS, обнаруживающие атаки на системы управления базами данных.

Выделение обнаружения атак на системы управления базами данных (СУБД) в отдельную категорию связано с тем, что современные СУБД уже вышли из разряда обычных приложений и по многим своим характеристикам, в т. ч. и по сложности, приближаются к операционным системам. Таким образом, классификация систем обнаружения атак по уровню реализации[8] показана на рисунке 2. 3:

Рисунок 2.3 — Классификация систем обнаружения атак по принципу реализации

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

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

Системы обнаружения атак на уровне хоста не только контролируют коммуникационные соединения с отдельным (защищаемым) компьютером, но и контролируют целостность системных и пользовательских файлов, а также наблюдают за подозрительными процессами. Чтобы полностью защитить вашу сеть, вам необходимо на каждый компьютер установить систему обнаружения атак на уровне хоста. Имеется два класса систем обнаружения атак на уровне хоста: host wrapper/персональный межсетевой экран и агенты. Любой из этих подходов намного более эффективен при обнаружении атак от «доверенных» лиц, чем обнаружение атак на уровне сети; и оба относительно эффективны при обнаружении внешних атак.

Host wrapper или персональные межсетевые экраны могут быть сконфигурированы для просмотра всех сетевых пакетов и попыток соединений с защищаемым компьютером. Эти средства также регистрируют все попытки доступа по коммутируемым каналам (через модем) или через иные коммуникационные порты (например, инфракрасные). Лучшим примером такого средства является TCPWrapper для Unix [8] и Nuke Nabber для Windows [9]. Лучшим персональным межсетевым экраном считается AtGuard [10].

Агенты систем обнаружения атак могут также контролировать доступ и изменения к системным файлам, а также изменения полномочий пользователей и групп пользователей. Лучшими коммерческими продуктами считаются системы компаний ISS [11], CyberCafe [12], Tripwire [13].

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

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

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

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

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

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

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

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

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

Распределенное по времени сканирование

Из-за большого объема сетевого трафика NIDS с трудом поддерживают регистрацию продолжительного трафика. Таким образом, трудно обнаруживать «распределенное по времени сканирование» (ping sweeps или port scans), при котором нарушители сканируют один порт/адрес каждый час.

Загруженные сегменты

В настоящее время NIDS не могут поддерживать сильно загруженные сегменты, например, 100-Мбит/сек. Таким образом, в то время как они являются подходящими для незначительно загруженных сетей или WAN-связей, они имеют проблемы с сильно загруженными сегментами.

Коммутируемые сети

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

embed

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

monitor port

Многие коммутаторы имеют «monitor port» (span port, mirror port, managed port) для установки сетевых анализаторов. NIDS также может быть легко присоединена к этому порту. Очевидная проблема заключается в том, что порт запускается на гораздо более низкой скорости, чем объединительная плата на коммутаторе, поэтому NIDS не сможет увидеть весь трафик на сильно загруженном сегменте.

inter-switch соединение

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

Скоординированные атаки с невысокой пропускной способностью

Иногда хакеры собираются вместе и запускают медленное сканирование с многочисленных IP-адресов. Это затрудняет диагностику атаки системой обнаружения атак.

Первым коммерческим продуктом стал в 1990 году Stalker (Haystack Labs) — система обнаружения атак на уровне хоста. В это же время SAIC (Science Applications International Corporation) предложила свою версию host-based IDS -CMOS Computer Misuse Detection System. Одновременно организацией Air Force Cryptologist Support Center был предложен продукт ASIM Automated Security Measurement System для отслеживания атак на уровне сети в подсети ВВС США. Как это часто случается, группа, которая вела данный проект, организовала компанию -Wheel Group, первым продуктом которой был IDS NetRanger. Рынок систем IDS начал бурно развиваться с 1997 года. Именно в это время компания ISS предложила свой продукт под названием Real Secure. Год спустя компания CISCO, уяснив целесообразность разработки систем IDS, купила продукт NetRanger вместе с Wheel Group [16]. Также нельзя обойти вниманием объединение подразделений-создателей IDS от SAIC и Haystack Labs в компанию по разработке систем IDS — Centrax Corporation.

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

Наиболее интересные и законченные решения предлагают сегодня компании Internet Security Systems, Axent Technologies, Network Associates и Cisco Systems. В этом же направлении движутся компании Hewlett Packard, НИП «Информзащита» и т. д. В таблице 2.1 приведены категории систем адаптивной безопасности, которые выпускаются этими компаниями [17].

Таблица 2.1 — Разработчики средств по технологии адаптивной безопасности

Анализ защищенности

Обнаружение атак

Управление

Уровень сети

ISS, NAI, Cisco, Axent

ISS, NAI, Cisco, Axent

ISS, NAI

Уровеь ОС

ISS, Axent

ISS, Axent

ISS, NAI

Уровень СУБД

ISS

ISS

ISS

Уровень прикладного ПО

ISS, NAI, Cisco, Axent

ISS, NAI

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

Приведем сводную таблицу характеристик коммерческих систем обнаружения атак [5]. В следующих таблицах (2.2 и 2. 3) представлены основные системы обнаружения атак и системы, распространенные в России.

Таблица 2.2 — Наиболее распространенные системы обнаружения атак

Название

Произво-дитель

Протокол

Интерфейс

Сервисы

Тип обнаружения атак

ОС

Реагирование

1

2

3

4

5

6

7

8

RealSecure

Internet Security Systems, Inc.

TCP/IP

Ethernet, Fast Ethernet, FDDI, Token Ring

SMB, NFS, DNS, HTTP, FTP, Telnet, SNMP, SMTP, RPC

На уровне сети
На уровне хоста

Windows NT, Unix

E-mail, консоль, пейджер, телефон, SNMP, реконфигурация МСЭ и маршру-тизаторов, бло-кировка учет-ных записей, завершение соединения

OmniGuard Intruder Alert

Axent Technolo-gies

---

Не применимо

Журналы регистрации, события от маршрути-заторов Cisco, su, МСЭ

На уровне хоста

Windows NT, Unix, Netware

Пейджер, e-mail

NetRanger

Cisco Systems

TCP/IP

Ethernet, Fast Ethernet, FDDI, Token Ring

SMB, NFS, DNS, HTTP, FTP, Telnet, SNMP, SMTP, RPC

На уровне сети

Solaris

Пейджер, e-mail, консоль

Kane Security Monitor

Security Dynamics

---

Не применимо

Журналы регистрации, БД NT SAM, реестр NT

На уровне хоста

Windows NT, Netware

Пейджер, консоль, звуковой сигнал, e-mail

Network Flight Recorder

NFR

TCP/IP

Ethernet, Fast Ethernet, FDDI

DNS, HTTP, FTP, Telnet, SMTP, RSH

На уровне сети

Unix

Пейджер, факс, консоль, e-mail

SessionWall-3

MEMCO Software

TCP/IP

Ethernet, FDDI, Token Ring

На уровне сети

Windows NT, Windows 9x

Таблица 2.3 — Средства обнаружения атак, используемые в России

Название

Произ-ль

Представитель в России

Категория

Примечание

1

2

3

4

5

RealSecure Network Sensor

IIS

НИП «Информзащита» (www. infosec. ru)

На уровне сети (программное решение для NT, W2k, Solaris)

Cуществует авторизованное обучение в России.

RealSecure Server Sensor

IIS

НИП «Информзащита» (www. infosec. ru)

На уровне узла (программное решение для NT, W2k, Solaris, Linux, HP UX и AIX)

Cуществует авторизованное обучение в России.

RealSecure for Nokia

IIS

НИП «Информзащита» (www. infosec. ru)

На уровне сети (программно-аппаратное решение)

Cуществует авторизованное обучение в России.

BlackICE Agent

IIS

НИП «Информзащита» (www. infosec. ru)

На уровне узла (программное решение для 9x/ME/NT/W2k/XP, Solaris)

Единственная система, поддерживающая весь спектр ОС Windows, включая XP

BlackICE Sentry

IIS

НИП «Информзащита» (www. infosec. ru)

На уровне сети (программное решение для NT)

Одна из двух систем в мире, поддерживающая гбит-сети

Cisco Secure IDS 4000

Cisco Systems

http: //www. cisco. ru

На уровне сети (программно-аппаратное решение)

Cisco Catalyst 6000 IDS module

Cisco Systems

http: //www. cisco. ru

На уровне сети (программно-аппаратное решение)

Единственное решение для коммутаторов

Cisco Secure Integrated SW

Cisco Systems

http: //www. cisco. ru

На уровне сети (программное решение для IOS)

Расширение ОС IOS для маршрутизаторов Cisco

Cisco Secure IDS Host Sensor

Cisco Systems

http: //www. cisco. ru

На уровне узла (программное решение для NT, W2k и Solaris)

Система распространяется по OEM-лицензии компании Entercept

Intruder Alert

Symantec

http: //www. symantec. com/ region/ru/

На уровне узла (программное решение для NT, Unix, Netware)

Система подана на сертификацию в ГТК РФ

NetProwler

Symantec

http: //www. symantec. com/ region/ru/

На уровне сети (программное решение для NT)

Система подана на сертификацию в ГТК РФ

Dragon

Enterasys

http: //www. enterasys. ru

На уровне сети (программное решение для Unix)

Snort

Распространя-ется свободно

На уровне сети (программное решение для Unix и NT/W2k)

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

Системы обнаружения атак сетевого уровня используют в качестве источника данных для анализа необработанные (raw) сетевые пакеты. Как правило, IDS сетевого уровня используют сетевой адаптер, функционирующий в режиме «прослушивания «(promiscuous), и анализируют трафик в реальном масштабе времени по мере его прохождения через сегмент сети. Модуль распознавания атак использует четыре широко известных метода для распознавания сигнатуры атаки [17]:

— Соответствие трафика шаблону (сигнатуре), выражению или байткоду, характеризующих атаку или подозрительное действие;

— Контроль частоты событий или превышение пороговой величины;

— Корреляция нескольких событий с низким приоритетом;

— Обнаружение статистических аномалий.

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

IDS сетевого уровня имеют много достоинств, которые отсутствуют в системах обнаружения атак на системном уровне. Ниже представлены основные причины, которые делают систему обнаружение атак на сетевом уровне наиболее важным компонентом эффективной реализации политики безопасности [16].

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

Обнаружение атак, которые пропускаются на системном уровне. IDS сетевого уровня изучают заголовки сетевых пакетов на наличие подозрительной или враждебной деятельности. IDS системного уровня не работают с заголовками пакетов, следовательно, они не могут определять эти типы атак. Например, многие сетевые атаки типа «отказ в обслуживании» («denial-of-service») и «фрагментированный пакет» (TearDrop) могут быть идентифицированы только путем анализа заголовков пакетов, по мере того, как они проходят через сеть. Этот тип атак может быть быстро идентифицирован с помощью IDS сетевого уровня, которая просматривает трафик в реальном масштабе времени. IDS сетевого уровня могут исследовать содержание тела данных пакета, отыскивая команды или определенный синтаксис, используемые в конкретных атаках. Например, когда хакер пытается использовать программу Back Orifice на системах, которые пока еще не поражены ею, то этот факт может быть обнаружен путем исследования именно содержания тела данных пакета. Как говорилось выше, системы системного уровня не работают на сетевом уровне, и поэтому не способны распознавать такие атаки.

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

Обнаружение и реагирование в реальном масштабе времени. IDS сетевого уровня обнаруживают подозрительные и враждебные атаки ПО МЕРЕ ТОГО, КАК ОНИ ПРОИСХОДЯТ, и поэтому обеспечивают гораздо более быстрое уведомление и реагирование, чем IDS системного уровня. Например, хакер, инициирующий атаку сетевого уровня типа «отказ в обслуживании» на основе протокола TCP, может быть остановлен IDS сетевого уровня, посылающей установленный флаг Reset в заголовке TCP-пакета для завершения соединения с атакующим узлом, прежде чем атака вызовет разрушения или повреждения атакуемого хоста. IDS системного уровня, как правило, не распознают атаки до момента соответствующей записи в журнал и предпринимают ответные действия уже после того, как была сделана запись. К этому моменту наиболее важные системы или ресурсы уже могут быть скомпрометированы или нарушена работоспособность системы, запускающей IDS системного уровня. Уведомление в реальном масштабе времени позволяет быстро среагировать в соответствии с предварительно определенными параметрами. Диапазон этих реакций изменяется от разрешения проникновения в режиме наблюдения для того, чтобы собрать информацию об атаке и атакующем, до немедленного завершения атаки.

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

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

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

Как правило, средства обнаружения атак, основанные на просмотре сетевого трафика состоят из следующих основных частей [18]:

Аппаратная платформа, которая включает в себя сетевой адаптер, соответствующий требованиям программного обеспечения (ПО).

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

— Основной загружаемый модуль (непосредственно средство просмотра сетевого трафика), который декодирует протоколы и выполняет заданные действия согласно своей конфигурации, установленной специальным механизмом.

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

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

— Средства просмотра отслеживаемых запросов в режиме реального времени, а также сохраненных в архивном файле.

— Пользовательский графический интерфейс, обеспечивающий простое и удобное взаимодействие с системой оператора.

Рассмотрим более подробно некоторые основные части этих систем.

Основной загружаемый модуль должен соответствовать следующим требованиям:

— обладать достаточной производительностью для обработки всех циркулирующих в сети данных;

— поддерживать широкий спектр протоколов: TCP/IP, Lan Manager, Netware, DEC, AppleTalk и т. д. ;

— переключать драйвер сетевого адаптера в «прозрачный» режим, позволяющий принимать все пакеты, проходящие по сегменту сети (promiscuous mode).

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

Данные настройки должны фиксировать запросы:

— на установку соединения,

— на разрыв соединения,

— по определенному протоколу,

— по определенному порту,

— выдаваемые определенной рабочей станцией,

— принимаемые определенной рабочей станцией,

— уходящие из сети (подсети),

— приходящие в сеть (подсеть).

Кроме запросов, должны регистрироваться данные:

— по определенному протоколу,

— по определенному порту,

— принимаемые определенной рабочей станцией,

— передаваемые определенной рабочей станцией,

— приходящие в сеть (подсеть),

— выходящие из сети (подсети).

Механизм просмотра отслеживаемых запросов должен позволять:

— отслеживать информационные потоки в режиме реального времени;

— отслеживать информационные потоки из архивного файла;

— выдавать отчеты по следующим параметрам: время, протокол, порт, сеть, адрес источника, адрес приемника;

— задавать шаблоны (сигнатуры) подозрительных действий абонентов;

— при обнаружении совпадения шаблона сигнализировать о подозрительных действиях абонентов.

Для доступа к сетевому уровню, то есть для идентификации и фильтрации пакетов, проходящих по сети, возможно использование различных сетевых интерфейсов, например DLPI (Data Link Provider Interface), BPF (Berkeley Packet Filter), NIT (Network Interace Tap). Применение средствами просмотра трафика того или иного сетевого интерфейса связано с использованием определенных алгоритмов перехвата сетевого информационного обмена. Поддержка интерфейсов типа NIT и DLPI говорит о работоспособности данного средства в системах типа UNIX System V Release 4 (куда относятся Solaris и SunOS), интерфейс BPF используется в клоне BSDI (которому принадлежат Linux, FreeBSD и др.). Использование различных интерфейсов существенно влияет на возможности средства анализа. Например, интерфейс BPF примерно в 20−30 раз эффективнее NIT с точки зрения производительности.

ПоказатьСвернуть
Заполнить форму текущей работой