Сайт о телевидении

Сайт о телевидении

» » IDS - что это такое? Система обнаружения вторжений (IDS) как работает? Анализ систем обнаружения вторжений

IDS - что это такое? Система обнаружения вторжений (IDS) как работает? Анализ систем обнаружения вторжений


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

Введение в системы обнаружения атак
Сообщения о проникновении в корпоративные сети и атаках на Web-сервера в последнее время появляются с ужасающей частотой. Число и сложность предлагаемых на рынке информационных технологий периодически растет. Очень часто злоумышленники преодолевают установленные в компании или банке защитные средства (системы аутентификации, межсетевые экраны и т.д.), установленные для разграничения доступа к ресурсам корпоративной сети. С увеличением квалификации злоумышленники становятся более изощренными в разработке и применении методов проникновения за защитную преграду. Обнаружить таких злоумышленников очень трудно. Они маскируются под авторизованных пользователей, используют промежуточные узлы для сокрытия своего истинного адреса, осуществляют атаки распределенные во времени (в течение нескольких часов) и пространстве (одновременно с нескольких узлов) и т.д. Многие атаки осуществляются за очень короткое время (минуты и даже секунды), что также не позволяет обнаружить и предотвратить их стандартными защитными средствами.
Связано это с тем, что большинство компьютерных защитных систем построено на классических моделях разграничения доступа, разработанных в 70-х, 80-х годах. Согласно этим моделям субъекту (пользователю или программе) на основе заданных правил разрешается или запрещается доступ к какому-либо объекту (например, файлу). Однако действия, производимые субъектом над объектом, никак не регламентируется и таким образом невозможно, например, предотвратить копирование файла пользователем, которому доступ к данному файлу разрешен. Развитие этих моделей позволило устранить эти недостатки путем контроля конфиденциальности (модель Белла-Лападула) или целостности (модель Биба) информационных потоков. Однако возникает закономерное противоречие между удобством использования системы и уровнем обеспечиваемой ею безопасности. Приходится чем-то жертвовать. Либо удобством использования защищаемой системы, либо уровнем ее защищенности. Очень трудно придти к компромиссу и найти такую конфигурацию системы, которая совмещает в себе и достаточный уровень ее защищенности, и удобство в эксплуатации.
Кроме того, модели управления доступом не могут помочь в случае реализации атак от "посвященных", авторизованных пользователей или процессов (программ), прошедших процедуру аутентификации. Если злоумышленник подобрал или перехватил Ваш пароль (а делается это достаточно легко), то никакая система разграничения доступа не поможет предотвратить кражу или подмену информации, доступную для скомпрометированного пользователя.
Еще совсем недавно, когда корпоративные сети и Internet не были столь широко распространены как сегодня, системный администратор мог позволить себе изредка просматривать списки рассылки по вопросам безопасности (ISS X-Force, CERT Advisory, Bugtraq и т.д.) и, в случае обнаружения новой уязвимости, предотвратить ее использование злоумышленником, установив для своей операционной системы новые "заплаты" (patch"и и hotfix"ы). Однако это обновление могло быть удалено пользователем или другим администратором случайно или в процессе работы. Через неделю или месяц администратор мог вновь проверить свою систему, и вновь установить необходимую "заплату". Однако сейчас все изменилось, сетевые и информационные технологии меняются настолько быстро, что статичные защитные механизмы, к которым относятся и системы разграничения доступа, и межсетевые экраны, и системы аутентификации, сильно ограничены и во многих случаях не могут обеспечить эффективной защиты. Следовательно, необходимы динамические методы, позволяющие обнаруживать и предотвращать нарушения безопасности.
Одной из технологий, которая может быть применена для обнаружения нарушений, которые не могут быть идентифицированы при помощи моделей контроля доступа является технология обнаружения атак.
Для описания технологии обнаружения атак необходимо последовательно ответить на четыре вопроса, которые почти полностью охватывают все аспекты данной технологии.

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

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

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

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

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

Уведомление
Самым простым и широко распространенным методом уведомления является посылка администратору безопасности сообщений об атаке на консоль системы обнаружения атак. Поскольку такая консоль не может быть установлена у каждого сотрудника, отвечающего в организации за безопасность, а также в тех случаях, когда этих сотрудников могут интересовать не все события безопасности, необходимо применение иных механизмов уведомления. Таким механизмом является посылка сообщений по электронной почте, на пейджер, по факсу или по телефону. Последние два варианта присутствуют только в системе обнаружения атак RealSecure американской компании Internet Security Systems, Inc.
К категории "уведомление" относится также посылка управляющих последовательностей к другим системам. Например, к системам сетевого управления (HP OpenView, Tivoli TME10, CA Unicenter и т.д.) или к межсетевым экранам (CheckPoint Firewall-1, Lucent Managed Firewal l, Raptor Firewall и т.д.). В первом случае используется стандартизованный протокол SNMP, а во втором - внутренние или стандартизованные (например, SAMP) протоколы.

Сохранение
К категории "сохранение" относятся два варианта реагирования: регистрация события в базе данных и воспроизведение атаки в реальном масштабе времени. Первый вариант широко распространен и в других системах защиты и на нем не стоит долго останавливаться. Второй вариант более интересен. Он позволяет администратору безопасности воспроизводить в реальном масштабе времени (или с заданной скоростью) все действия, осуществляемые атакующим. Это позволяет не только проанализировать "успешные" атаки и предотвратить их в дальнейшем, но и использовать собранные данные для разбирательств.

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

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

  • Инсталляция и развертывание системы;
  • Безопасность самой системы;
  • Обнаружение атак;
  • Реагирование на атаки;
  • Конфигурация системы;
  • Контроль событий;
  • Управление данными системы;
  • Производительность системы;
  • Архитектура системы;
  • Техническая поддержка системы.

Не стоит выбирать систему обнаружения атак, основываясь только на текущей ситуации. Попытайтесь заглянуть в будущее и проанализировать рост вычислительной системы, изменение предоставляемых ею услуг и т.д. Учитывая это, вы сможете эффективно вложить свои средства в систему защиты уже сейчас.
Немаловажным является вопрос внедрения системы обнаружения атак в существующую технологию обработки информации и, затем, адаптации ее к окружающим условиям. Одновременно с внедрением необходимо провести обучение персонала правилам использования системы в организации. Необходимо заметить, что система обнаружения атак не сможет обеспечить абсолютной защиты от всех атак; она поможет выявить подозрительный трафик и иные формы несанкционированного доступа. Однако наибольшей эффективности при использовании системы обнаружения атак можно достичь, еслик ней "прилагаются" специалисты, способные правильно эксплуатировать систему и понимающие, когда и как реагировать на выдаваемые ею сообщения.
Более подробно с требованиями, предъявляемыми к системам обнаружения атак можно ознакомиться в документе "Системы обнаружения атак. Стратегия выбора", разработанном в Научно-инженерном предприятии "Информзащита", получить который можно, обратившись по адресу www.infosec.ru.

Системы обнаружения атак или межсетевые экраны?
Очень часто задают вопрос: "Нужна ли мне система обнаружения атак, если у нас уже используется межсетевой экран?" Несомненно нужна. Система обнаружения атак является существенно важным дополнением межсетевого экрана (firewall), но никак не его заменой. Межсетевые экраны предназначены для того, чтобы предотвратить вторжение "плохих парней" из сети. Однако иногда эти средства из-за ошибок разработки, аппаратных отказов, ошибок пользователей или просто невежества не обеспечивают приемлемого уровня доступа. Например, кто-то не понимает необходимости защиты сети и оставляет на рабочем месте включенным модем для доступа к компьютеру из дома. Межсетевой экран не может не только защитить в этом случае, но и обнаружить это факт. В этом случае системы обнаружения атак незаменимы. Независимо от того, какова надежность и эффективность фильтрации вашего межсетевого экрана, пользователи зачастую находят способы обойти все установленные Вами преграды. Например, объекты ActiveX или апплеты Java могут представлять новые направления для реализации атак через межсетевыеэкраны. Кроме того, по статистике не менее 75% всех компьютерных преступлений происходит изнутри корпоративной сети, от своих сотрудников. А, как уже было сказано выше, "классические" средства защиты, к которым относятся и межсетевые экраны, не позволяют защитить корпоративную сеть в случае наличия плохого умысла со стороны пользователя, имеющего в нее доступ. Поэтому, межсетевой экран не может заменить систему обнаружения атак и оба этих средства нужны для построения эффективной системы защиты информации.
Представьте Вашу сеть как многоэтажное высотное здание, в котором межсетевой экран - это швейцар у дверей на входе, а каждый модуль слежения системы обнаружения атак - это сторожевой пес у каждой конкретной двери. Как правило, швейцар с удовольствием пропускает людей, которые выглядят довольно хорошо, и задерживает подозрительных людей. Однако, умный преступник способен пройти мимо швейцара и проникнуть внутрь здания, не вызвав его подозрений. Сторожевой пес лучше знает, кого он может впустить в данную дверь и мгновенно реагирует на вторжение.

Системы обнаружения атак в России
Первая система обнаружения атак появилась в России в середине 1997 года, когда было заключено соглашение между Научно-инженерным предприятием "Информзащита" и малоизвестной в то время американской фирмой Internet Security Systems, Inc. (ISS), разработавшей систему обнаружения атак RealSecure. С тех пор ситуация изменилась в лучшую сторону. Компания ISS в настоящий момент является лидером на рынке средств обнаружения атак (по данным корпорации IDC - в 1999 году 52 % всего рынка). В России ситуация аналогичная - система RealSecure захватила большую часть российского рынка средств обнаружения атак. Этому предшествовала большая и кропотливая работа по созданию соответствующей инфраструктуры поддержки этой системы. В настоящий момент завершается ее русификация.
Помимо системы RealSecure на российском рынке представлены следующие продукты зарубежных фирм:

  • NetRanger компании Cisco Systems.
  • OmniGuard Intruder Alert компании Axent Technologies.
  • SessionWall-3 компании Computer Associates.
  • Kane Security Monitor компании Security Dynamics.
  • CyberCop Monitor компании Network Associates.
  • NFR компании Network Flight Recodred.

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

Стандарты и руководящие документы
С конца прошлого - начала этого года ведутся работы по выработке руководящих документов, которые позволят проводить адекватный анализ и оценку предлагаемых на российском рынке систем обнаружения атак. Аналогичные работы проводятся и за рубежом. В качестве примера можно назвать стандарты CIDF или IDEF, разрабатываемые в Министерстве Обороны США и рабочей группы консорциума IETF.

Перспективы и тенденции развития
Можно заметить, что оба решения: IDS и сетевого, и системного уровней имеют свои достоинства и преимущества, которые эффективно дополняют друг друга, а также устраняют недостатки друг друга.
Итак, вкратце я описал существующие решения в области обнаружения атак. Но применимы ли они в том виде, в котором они сейчас существуют, в следующем тысячелетии? Вряд ли. И вот почему. Современные сети становятся настолько сложными, что их трудно контролировать существующими методами. Число узлов в сетях растет с небывалой скоростью, ширится применение гигабитных скоростей и коммутируемых сетей на основе VLAN. Объем передаваемого по сетям трафика возрастает на несколько порядков. Нужны совершенно новые подходы в обнаружении атак, позволяющие справиться с указанными факторами .

Микроагенты
Как уже отмечено выше, существующие системы обнаружения атак относятся либо к классу сетевых (network-based), либо к классу системных (host-based). Однако идеальным решением было бы создание системы, совмещающей в себе обе эти технологии, т.е. на каждый контролируемый узел устанавливался бы агент системы обнаружения атак и контролировал не только атаки на прикладном уровне (уровне ОС и уровне приложений), но и сетевые атаки, направленные на данный узел. Этот подход имеет несколько преимуществ по сравнению с существующими решениями.
Во-первых, высокая сетевая скорость уже не представляет проблемы, поскольку указанный агент просматривает только трафик для данного узла вместо всего трафика всей сети. Во-вторых, расшифрование пакетов осуществляет прежде, чем они достигнут агента. И, наконец, из-за того, что он размещается непосредственно на каждом контролируемом компьютере, коммутируемые сети также не накладывают ограничений на их использование.
Эти агенты комбинируют характеристики сетевого модуля слежения, работающего в реальном масштабе времени, с тактическими преимуществами агента системного уровня. В настоящий момент о разработках в этой области объявила только компания Internet Security Systems (ISS
) . Компания ISS назвала эту разработку Micro Agent и планирует завершить ее к концу этого года. Эти микроагенты будут дополнять существующие сетевые и системные модули слежения системы обнаружения атак RealSecure компании ISS.

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

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

Эти две проблемы взаимосвязаны, но я коснусь только второй задачи. Многие специалисты сталкивались с ситуацией, когда система обнаружения атак генерит сотни, а в крупных сетях, тысячи записей о происходящих событиях. Проанализировать эти события вручную администратору не под силу. И хотя в системах обнаружения атак, представленных на рынке, существуют механизмы объединения нескольких однотипных событий в одно, эта работа еще далека до завершения.
В настоящий момент методы эффективного представления данных разрабатываются различными производителями и исследовательскими центрами. Например, компания ISS в конце июня этого года объявила о создании "технологии слияния" (Fusion Technology), которая позволит группировать сотни событий, зарегистрированных системой обнаружения атак RealSecure и другими средствами защиты третьих разработчиков, в одно-два уведомления, представленные на экране консоли управления. В этом же направлении движется и исследовательский центр COAST, в котором создана рабочая группа по разработке эффективного формата журналов регистрации и представления данных администратору безопасности.Из российских разработчиков такие механизмы реализует НИП "Информзащита" в своей новой технологии управления информационной безопасностью "Беркут".

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

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

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

Типы систем обнаружения вторжений

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

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

СОВ, защищающие сегмент сети

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

Преимущества:

несколько удачно расположенных систем могут контролировать большую сеть;

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

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

Недостатки:

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

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

не способны анализировать зашифрованную информацию;

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

СОВ, защищающие отдельный сервер

Данные системы работают, анализируя активность процессов на конкретном сервере, на котором установлены; собирают информацию о контролируемом ими сервере. Это позволяет СОВ анализировать действия на сервере с высокой степенью детализации и точно определять, кто из пользователей выполняет злонамеренные действия в операционной системе сервера .

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

Преимущества:

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

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

функционируют в коммутируемых сетях.

Недостатки:

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

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

не способны контролировать ситуацию во всей сети, так как «видят» только сетевые пакеты, получаемые сервером, на котором они установлены;

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

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

СОВ на основе защиты приложений

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

Преимущества:

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

способны работать в зашифрованных средах.

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

Подходы к анализу событий.

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

СОВ на основе сигнатуры

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

Преимущества:

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

Недостатки:

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

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

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

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

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

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

Модели атак

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Заключение

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Соответствующий английский термин - Intrusion Detection System (IDS) . Системы обнаружения вторжений обеспечивают дополнительный уровень защиты компьютерных систем.

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

Обычно архитектура СОВ включает:

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

Виды систем обнаружения вторжений [ | ]

IDES использовала два подхода к обнаружению вторжений: в ней использовалась экспертная система для определения известных видов вторжений и компонент обнаружения, основанный на статистических методах и профилях пользователей и систем охраняемой сети. Тереза Лунт предложила использовать искусственную нейронную сеть как третий компонент для повышения эффективности обнаружения. Вслед за IDES в 1993 вышла NIDES (Next-generation Intrusion Detection Expert System - экспертная система обнаружения вторжений нового поколения).

MIDAS (Multics intrusion detection and alerting system), экспертная система, использующая P-BEST и LISP , была разработана в 1988 году на основе работы Деннинга и Неймана. В этом же году была разработана система Haystack, основанная на статистических методах.

W&S (Wisdom & Sense - мудрость и чувство), основанный на статистических методах детектор аномалий, был разработан в 1989 году в. W&S создавал правила на основе статистического анализа и затем использовал эти правила для обнаружения аномалий.

В 1990, в TIM (Time-based inductive machine) было реализовано обнаружение аномалий с использованием индуктивного обучения на основе последовательных паттернов пользователя на языке Common LISP . Программа была разработана для VAX 3500. Примерно в то же время был разработан NSM (Network Security Monitor - монитор сетевой безопасности), сравнивающий матрицы доступа для обнаружения аномалий на рабочих станциях Sun-3/50. В том же 1990 году был разработан ISOA (Information Security Officer’s Assistant), содержащий в себе множество стратегий обнаружения, включая статистику, проверку профиля и экспертную систему. ComputerWatch, разработанный в AT&T Bell Labs, использовал статистические методы и правила для проверки данных и обнаружения вторжений.

В 2001 году была разработана система ADAM IDS (Audit data analysis and mining IDS). Система использовала данные tcpdump для создания правил.

См. также [ | ]

Примечания [ | ]

  1. Anderson, James P., "Computer Security Threat Monitoring and Surveillance, " Washing, PA, James P. Anderson Co., 1980.
  2. Denning, Dorothy E., "An Intrusion Detection Model, " Proceedings of the Seventh IEEE Symposium on Security and Privacy, May 1986, pages 119-131
  3. Lunt, Teresa F., "IDES: An Intelligent System for Detecting Intruders, " Proceedings of the Symposium on Computer Security; Threats, and Countermeasures; Rome, Italy, November 22-23, 1990, pages 110-121.
  4. Lunt, Teresa F., "Detecting Intruders in Computer Systems, " 1993 Conference on Auditing and Computer Technology, SRI International
активный процесс , при котором происходит обнаружение хакера при его попытках проникнуть в систему. В идеальном случае такая система лишь выдаст сигнал тревоги при попытке проникновения. Обнаружение вторжений помогает при превентивной идентификации активных угроз посредством оповещений и предупреждений о том, что злоумышленник осуществляет сбор информации, необходимой для проведения атаки. В действительности, как будет показано в материале лекции, это не всегда так. Перед обсуждением подробностей, связанных с обнаружением вторжений, давайте определим, что же это в действительности такое.

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

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

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

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

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

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

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

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


Рис. 13.1.

Узловые IDS

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

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