Сеть и интернет

Сетевые атаки. Классификация удаленных атак

Сетевые атаки. Классификация удаленных атак

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

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

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

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

Технологии защиты

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

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

Модели атак

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

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

Рисунок — 2

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

Рисунок — 4

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

Когда говорят а действии таком как атака, то подразумевают только реализацию атаки , но забывают о двух главных действиях: Предпосылки реализации атаки и Завершение атаки . Сбор данных — это основной этап для создании атаки. На этом этапе вся эффективность работы зависит от отличного результата на даном этапе. Сначала выбирается цель атаки и собираются данные о объекте открытые порты, тип ОС, ПО и конфигурация и др). Затем определяются самые уязвимые места такой системы, которые при атаке дадут необходимый результат. Такая работа разрешит выбрать тип атаки и источник ее реализации.

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

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

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

  • изменение TTL
  • запись маршрута

По первому способу работают программы tracert для Windows и traceroute для Unix. Они реализуют поле TIME to Live в заголовке IP-пакета, которое меняется относительно пройденных маршрутизатором сетевым пакетом. Также сетевую топологию можно определить с помощью протокола SNMP или же протокола RIP.

Идентификации узла обычно определяют с помощью утилиты ping команды ECHO_REQUEST протокола ICMP. Узел доступен, когда придет ответное сообщение ECHO_REPLY. Такой метод идентификации имеет два недостатка:

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

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

Сканирование портов . Идентификация сервисом реализуется путем обнаружения открытых портов. Программы для сканирования можно посмотреть в Сканировать К примеру:

  • открытый 80-й порт говорит, что в наличии есть Web-сервера
  • 25-й порт — почтовый сервер SMTP
  • 31377 — серверной части троянского коня BackOrifice
  • 12345 или 12346 — -//- NetBus

Определение ОС . В каждой операционной системе по-своему реализован стек протоколов ТСР/IP, что при задавании специальных вопросов, можно будет проанализировать ответы. Менее эффективный метод определения, это анализ сетевых сервисом.

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

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

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

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

Атаки можно делить на активные и пассивные, умышленные и неумышленные или внутренние или внешние. Что бы не путать эти псевдо классификации, есть универсальное деление атак:

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

Компания Internet Security Systems Inc. сократила классификацию до:

  • Сбор информации
  • Попытки НСД
  • Отказ в обслуживании
  • Подозрительная активность
  • Системные атаки

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

Закладки в аппаратном обеспечении

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

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

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

Также локальные атаки на ПК который соединен с локальной сетью играют важную роль. Они могут создавать . Такие атаки могут быть на firmware, или получение доступа на этапе загрузке ОС. То есть можно загрузить live-cd/usb версию ОС с чутка другими параметрами, которые разрешат войти в сеть.

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

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

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

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

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

  • Реализуйте защиту на противостоянии не конкретной атаке, а одного типу атак.
  • Нужно следить за новинками о новых атаках, и о противодействиях их.
  • Установка защиты на разных уровнях, так сказать эшелонная защита.
Билет 1. Основные понятия и определения информационной безопасности: атаки, уязвимости, политика безопасности, механизмы и сервисы безопасности. Классификация атак. Модели сетевой безопасности и безопасности информационной системы

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

Риск - вероятность того, что конкретная атака будет осуществлена с использованием конкретной уязвимости . В конечном счете, каждая организация должна принять решение о допустимом для нее уровне риска . Это решение должно найти отражение в политике безопасности, принятой в организации.

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

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

Механизм безопасности - программное и/или аппаратное средство, которое определяет и/или предотвращает атаку .

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

Модель сетевой безопасности.Классификация сетевых атак


Все атаки можно разделить на два класса: пассивные и активные .

I. Пассивная атака

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

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

^ II. Активная атака

Отказ в обслуживании - DoS-атака (Denial of Service)

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

^ Модель безопасности информационной системы

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

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

Другим типом нежелательного доступа является размещение в вычислительной системе чего-либо, что воздействует на прикладные программы и программные утилиты, такие как редакторы, компиляторы и т.п. Таким образом, существует два типа атак :


  1. Доступ к информации с целью получения или модификации хранящихся в системе данных.

  2. ^ Атака на сервисы, чтобы помешать использовать их.
Вирусы и черви - примеры подобных атак . Такие атаки могут осуществляться как с помощью дискет, так и по сети.

^ Сервисы безопасности , которые предотвращают нежелательный доступ, можно разбить на две категории:


  1. Первая категория определяется в терминах сторожевой функции. Эти механизмы включают процедуры входа, основанные, например, на использовании пароля, что позволяет разрешить доступ только авторизованным пользователям. Эти механизмы также включают различные защитные экраны (firewalls), которые предотвращают атаки на различных уровнях стека протоколов TCP/IP, и, в частности, позволяют предупреждать проникновение червей, вирусов, а также предотвращать другие подобные атаки .

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

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


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

  2. Обеспечение информационной безопасности требует комплексного и целостного подхода.

  3. Информационная безопасность должна быть неотъемлемой частью системы управления в данной организации.

  4. Информационная безопасность должна быть экономически оправданной.

  5. Ответственность за обеспечение безопасности должна быть четко определена.

  6. Безопасность информационной системы должна периодически переоцениваться.

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

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

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

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

На сегодняшний день считается неизвестным, сколько существует методов атак. Говорят о том, что до сих пор отсутствуют какие-либо серьезные математические исследования в этой области. Но еще в 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 обоим участникам сетевого соединения от имени каждого из них (в системе обнаружения атак, функционирующей на уровне сети);
    • блокировка учетной записи пользователя, осуществляющего атаку (в системе обнаружения атак на уровне узла). Такая блокировка может быть осуществлена либо на заданный промежуток времени, либо до тех пор, пока учетная запись не будет разблокирована администратором. В зависимости от привилегий, с которыми запущена система обнаружения атак, блокировка может действовать как в пределах самого компьютера, на который направлена атака, так и в пределах всего домена сети.
  • Реконфигурация сетевого оборудования или межсетевых экранов. В случае обнаружения атаки на маршрутизатор или межсетевой экран посылается команда на изменение списка контроля доступа. Впоследствии все попытки соединения с атакующего узла будут отвергаться. Как и блокировка учетной записи злоумышленника, изменение списка контроля доступа может быть осуществлено или на заданный интервал времени или до того момента, как изменение будет отменено администратором реконфигурируемого сетевого оборудования.
  • Блокирование сетевого трафика так, как это реализовано в межсетевых экранах. Этот вариант позволяет ограничить трафик, а также адресатов, которые могут получить доступ к ресурсам защищаемого компьютера, позволяя выполнять функции доступные в персональных межсетевых экранах.

1. Перехват пакетов.

Сниффер пакетов (от англ. sniff - нюхать) представляет собой прикладную программу, которая использует сетевой интерфейс, работающий в «неразборчивом» режиме (от англ. promiscuous mode). В этом режиме сетевой адаптер позволяет принимать все пакеты, полученные по физическим каналам, независимо от того кому они адресованы и отправляет приложению для обработки. В настоящее время снифферы используются в сетях на вполне законном основании. Они используются для диагностики неисправностей и анализа трафика. Однако из-за того, что некоторые сетевые приложения передают данные в текстовом формате (Telnet, FTP, SMTP, POP3 и т.д.), с помощью сниффера можно узнать полезную, а иногда и конфиденциальную информацию (например, имена пользователей и пароли).

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

2. IP-спуфинг.

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

а) использование IP-адреса, находящегося в пределах диапазона санкционированных IP-адресов;

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

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

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

3. Отказ в обслуживании.

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

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

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

4. Парольные атаки.

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

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

5. Атаки типа «человек посередине».

Для атаки типа человек посередине (от англ. Man-in-the-Middle) злоумышленнику нужен доступ к пакетам, передаваемым по сети. Такой доступ ко всем пакетам, передаваемым от провайдера в любую другую сеть, может, к примеру, получить сотрудник этого провайдера. Для атак данного типа часто используются снифферы пакетов, транспортные протоколы и протоколы маршрутизации. Атаки проводятся с целью кражи информации, перехвата текущей сессии и получения доступа к частным сетевым ресурсам, для анализа трафика и получения информации о сети и ее пользователях, для проведения атак типа DoS, искажения передаваемых данных и ввода несанкционированной информации в сетевые сессии.

6. Атаки на уровне приложений.

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

Главная проблема при атаках на уровне приложений заключается в том, что злоумышленники часто пользуются портами, которым разрешен проход через межсетевой экран (firewall). К примеру, злоумышленник, эксплуатирующий известную слабость Web-сервера, часто использует в ходе атаки ТСР порт 80. Поскольку web-сервер предоставляет пользователям Web-страницы, то межсетевой экран должен обеспечивать доступ к этому порту. С точки зрения межсетевого экрана атака рассматривается как стандартный трафик для порта 80.

7. Сетевая разведка.

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

8. Злоупотребление доверием.

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

9. Переадресация портов.

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

10. Несанкционированный доступ.

Несанкционированный доступ не может быть выделен в отдельный тип атаки, поскольку большинство сетевых атак проводятся именно ради получения несанкционированного доступа. Чтобы подобрать логин Тelnet, злоумышленник должен сначала получить подсказку Тelnet на своей системе. После подключения к порту Тelnet на экране появляется сообщение «authorization required to use this resource» («Для пользования этим ресурсом нужна авторизация»). Если после этого злоумышленник продолжит попытки доступа, они будут считаться несанкционированными. Источник таких атак может находиться как внутри сети, так и снаружи.

11. Вирусы и приложения типа «троянский конь»

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

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

Из класса сетевых атак можно выделить атаки, которые вызывают подозрительное, аномальное поведение сетевого трафика в корпоративной сети. Это так называемые сетевые аномалии. Сетевые аномалии можно также проклассифицировать. Их можно разделить на две основные группы: программно-аппаратные отклонения и проблемы безопасности (Рис. 1.2.1.)

1. Программно-аппаратные отклонения.

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

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

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

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

2. Нарушения безопасности.

Сетевое сканирование (network scan) производится с целью анализа топологии сети и обнаружения доступных для атаки сервисов. В процессе сканирования производится попытка соединения с сетевыми сервисами методом обращения по определенному порту. В случае открытого сканирования сканер выполняет трехстороннюю процедуру квитирования, а в случае закрытого (stealth) - не завершает соединение. Так как при сканировании отдельного хоста происходит перебор сервисов (портов), то данная аномалия характеризуется попытками обращения с одного IP адреса сканера на определенный IP адрес по множеству портов. Однако, чаще всего сканированию подвергаются целые подсети, что выражается в наличии в атакованной сети множества пакетов с одного IP адреса сканера по множеству IP адресов исследуемой подсети, иногда даже методом последовательного перебора. Наиболее известными сетевыми сканерами являются: nmap, ISS, satan, strobe, xscan и другие.

Анализаторы трафика или снифферы предназначены для перехвата и анализа сетевого трафика. В простейшем случае для этого производится перевод сетевого адаптера аппаратного комплекса в прослушивающий режим и потоки данных в сегменте, к которому он подключен, становятся доступны для дальнейшего изучения. Так как многие прикладные программы используют протоколы, передающие информацию в открытом, незашифрованном виде, работа снифферов резко снижает уровень безопасности. Отметим, что выраженных аномалий в работе сети снифферы не вызывают. Наиболее известными снифферами являются: tcpdump, ethereal, sniffit, Microsoft network monitor, netxray, lan explorer.

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

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