Чтение онлайн

на главную - закладки

Жанры

Защита от хакеров корпоративных сетей

авторов Коллектив

Шрифт:

Вставка – это способ, который создает ситуацию, когда система обнаружения вторжения примет некоторую информацию, предполагая, что точно такие же данные получит и атакуемый хост. Но если система обнаружения вторжения не интерпретирует сетевой поток точно таким же образом, как это делает атакуемый хост, то у нее сложится неверное представление о передаваемых данных и она не сможет предупредить об атаке. Просто сигнатура из базы данных сигнатур системы обнаружения вторжения будет не соответствовать получаемым из сетевого потока данным. Рассматривая пример со строкой символов «CODE-RED» в HTTP-запросе, возможен следующий случай. К системе обнаружения вторжения будут поступать данные со строкой «CODE-NOT-RED», что не является достаточным, чтобы чувствовать себя и защищаемую сеть в безопасности. А атакуемый хост-адресат на самом деле получит данные со строкой символов «CODE-RED» из-за того, что пакет со строкой символов «NOT» был забракован хостом из-за его несоответствия, по мнению хоста, стандартам.

Уклонение – это способ, в

некотором смысле обратный способу вставки. Ему соответствует ситуация, когда атакуемый хост принимает данные, проигнорированные системой обнаружения вторжения. Так, например, в результате атаки система обнаружения вторжения может получить строку символов «CODE», в то время как атакованный хост получит строку «CODE-RED». Подобные атаки могут осуществляться различными способами. В любое время TCP/IP-связь может быть завершена любой из участвующих в ней сторон. Если система обнаружения вторжением неправильно проинтерпретировала посланные злоумышленником пакеты RST или FIN, которые не были восприняты атакованным хостом (например, если система обнаружения вторжением неправильно контролировала порядковые номера), то злоумышленник сможет безнаказанно продолжить сеанс связи.

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

Опции протокола IP

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

Атаки на время существования пересылаемого пакета

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

Рис. 16.1. Атака на время существования пересылаемого пакета

Фрагментация IP

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

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

Можно и дальше углубляться в рассматриваемую проблему, реализуя в системе обнаружения вторжения сложный алгоритм «сборки мусора» (процесс утилизации памяти, освобождаемой в процессе работы программы или системы). Контролируя передаваемые по линии связи данные, системе обнаружения вторжения, вероятно, придется учитывать сеансы нескольких тысяч хостов, тогда как каждый хост обеспокоен только своим собственным трафиком. Установленная на хосте система может лояльно относиться к временным задержкам при получении фрагментов данных, в то время как система обнаружения вторжения должна гораздо строже относиться к истечению времени ожидания, для того чтобы обеспечить управление экспоненциально большими системами. Если злоумышленник атакует, посылая три фрагмента данных без задержки и последний фрагмент с задержкой, и если в используемой сетевой системе обнаружения не реализованы аналогичные процессы управления фрагментированными порциями данных (что-то подсказывает автору, что это сделать почти невозможно), то в результате нельзя будет восстановить последовательное представление данных, передаваемых по протоколу IP. А значит, нельзя будет получить правильный результат проверки характерных признаков атаки сигнатуре из базы данных сигнатур системы обнаружения вторжения.

Выполненный Птасеком (Ptacek) и Невшамом (Newsham) тест на фрагментацию TestsTests показал, что во время тестирования ни одна из проверяемых систем обнаружения вторжения не смогла должным образом разрешить проблемы фрагментации IP-пакетов. Первые два теста испытания были посвящены тестированию обработки внутреннего порядка фрагментированных данных, содержащихся в пересылаемых пакетах по 8 и 24 байта. В последующих тестах участвовали восьмибайтовые фрагменты, которые пересылались в различном порядке. В серии фрагментов один из них пересылался или вне очереди (уклонение), или дважды (вставка), или все фрагменты пересылались в произвольном порядке с посылкой одного из них дважды (комбинация), или в последовательности фрагментов последний из них пересылался как первый (уклонение), или предыдущие фрагменты перекрывались с последующими (уклонение). Потрясающе, но ни одна из четырех программ (RealSecure, NetRanger, SessionWall и NFR) не смогла распознать какую-либо из атак фрагментации.

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

Заголовок TCP

В заголовке TCP содержится ряд полей, которые могут быть использованы для организации атак. Поэтому если система обнаружения вторжения проверяет не все, а только часть полей из заголовка TCP, то у злоумышленника появляются дополнительные возможности организации атак вставки и уклонения. Рассмотрим некоторые из полей заголовка TCP-пакета. Поле CODE определяет тип сообщения, посылаемого для подключения. Если кто-либо в этом поле пошлет недопустимую последовательность символов или пакет с пропущенным флагом ACK, то вполне возможно, что адресат отклонит такой пакет, а система обнаружения вторжения – нет (возможна вставка). Сегменты, отмеченные флажком SYN (запрос начала сеанса), также могут содержать данные. Из-за относительно нечастого использования этого флажка для пересылки данных система обнаружения вторжения может проигнорировать его содержимое (уклонение). Можно исследовать многие из полей заголовка TCP и найти какую-нибудь возможность, когда передаваемые данные будут приняты адресатом, но будут пропущены системой обнаружения вторжения и наоборот. Другим показательным примером является поле контрольной суммы «Checksum». Если система обнаружения не может самостоятельно вычислять контрольную сумму для каждого сегмента TCP, то в сеансе можно смешивать правильные сегменты с сегментами с неверной контрольной суммой в надежде, что система обнаружения вторжения не будет проверять все сегменты (производитель может предполагать, что в этом случае накладные издержки слишком велики).

Недавно в протокол TCP было добавлено несколько новых опций. Эти опции описаны в документе RFC 1323 «Добавление новых возможностей в протокол TCP для улучшения его производительности (TCP Extensions for High Performance)», который был подготовлен В. Джекобсоном (V. Jacobson), Р. Браденом (R. Braden) и Д. Борманом (D. Borman). Помимо прочего, в документе описан предназначенный для защиты от быстрого исчерпания порядковых номеров механизм PAWS (Protection Against Wrapped Sequence) и опции для пакетов с отсутствующим флажком SYN, которые содержат новые флажки опций. Это означает, что если система обнаружения вторжения не знает, каким образом система-адресат обрабатывает пакеты с пропущенным флажком SYN, содержащие дополнительные опции, то существуют многочисленные дополнительные возможности для вставки и уклонения. Адресуемая система может отклонять эту более новую форму протокола TCP, в то время как система обнаружения вторжения – нет. Возможна также и обратная ситуация. PAWS является механизмом, при помощи которого система связывает временной штамп с каждым TCP-сегментом. Если хост-адресат получит сегмент с временным штампом, значение которого меньше внутренней пороговой величины, то он будет пропущен. Снова и снова можно увидеть сложности, присущие поступающим по линии связи данным по протоколу TCP. Это объясняется простой недостаточностью передаваемой по линии связи информации состояния для получения точного представления о возможном поведении хоста-адресата.

Поделиться:
Популярные книги

На границе тучи ходят хмуро...

Кулаков Алексей Иванович
1. Александр Агренев
Фантастика:
альтернативная история
9.28
рейтинг книги
На границе тучи ходят хмуро...

Энфис. Книга 1

Кронос Александр
1. Эрра
Фантастика:
боевая фантастика
рпг
5.70
рейтинг книги
Энфис. Книга 1

Я – Орк. Том 4

Лисицин Евгений
4. Я — Орк
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Я – Орк. Том 4

Совок-8

Агарев Вадим
8. Совок
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Совок-8

Я снова не князь! Книга XVII

Дрейк Сириус
17. Дорогой барон!
Фантастика:
юмористическое фэнтези
попаданцы
аниме
5.00
рейтинг книги
Я снова не князь! Книга XVII

Жена со скидкой, или Случайный брак

Ардова Алиса
Любовные романы:
любовно-фантастические романы
8.15
рейтинг книги
Жена со скидкой, или Случайный брак

Адепт: Обучение. Каникулы [СИ]

Бубела Олег Николаевич
6. Совсем не герой
Фантастика:
фэнтези
попаданцы
9.15
рейтинг книги
Адепт: Обучение. Каникулы [СИ]

Огненный князь 6

Машуков Тимур
6. Багряный восход
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Огненный князь 6

Как я строил магическую империю 2

Зубов Константин
2. Как я строил магическую империю
Фантастика:
попаданцы
аниме
5.00
рейтинг книги
Как я строил магическую империю 2

Цеховик. Книга 1. Отрицание

Ромов Дмитрий
1. Цеховик
Фантастика:
попаданцы
альтернативная история
5.75
рейтинг книги
Цеховик. Книга 1. Отрицание

Безымянный раб

Зыков Виталий Валерьевич
1. Дорога домой
Фантастика:
фэнтези
9.31
рейтинг книги
Безымянный раб

Матабар. II

Клеванский Кирилл Сергеевич
2. Матабар
Фантастика:
фэнтези
5.00
рейтинг книги
Матабар. II

Виконт. Книга 2. Обретение силы

Юллем Евгений
2. Псевдоним `Испанец`
Фантастика:
боевая фантастика
попаданцы
рпг
7.10
рейтинг книги
Виконт. Книга 2. Обретение силы

Первый пользователь. Книга 3

Сластин Артем
3. Первый пользователь
Фантастика:
боевая фантастика
рпг
5.00
рейтинг книги
Первый пользователь. Книга 3