logo
Сборная ответов к госэкзаменам

Нападения на основе протокола iсмр

Протокол управления сообщениями Internet (Internet Control Message Protocol, ICMP) используется в сетях ТСР/IР как основной метод, при помощи которого посылается важная информация от­носительно состояния сети. Одной из функций IСМР является уда­ленное управление таблицей маршрутизации на хостах внутри сегмента интрасети. Динамическое удаленное управление маршру­тизацией изначально задумывалось для предотвращения возмож­ной передачи сообщений по неоптимальному маршруту и для по­вышения отказоустойчивости сети в целом. Предполагалось, что сетевой сегмент может быть подключен к глобальной сети не че­рез один (как это обычно происходит на сегодняшний день), а че­рез несколько маршрутизаторов. В этом случае адресоваться во внешнюю сеть можно через любой из ближайших узлов. Это дос­таточно удобно, как с точки зрения оптимальности маршрута, так и с точки зрения повышения надежности работы сети (при выходе из строя одного из маршрутизаторов связь с внешним миром воз­можна через другой маршрутизатор). В обоих случаях (при изме­нении оптимального маршрута и при выходе из строя маршрутиза­тора) необходимо изменение таблицы маршрутизации в памяти се­тевой ОС. Одно из назначений IСМР состоит именно в динамиче­ском изменении таблицы маршрутизации оконечных сетевых систем. Основные типы сообщений IСМР - это: эхо-запрос (echo request), "адресат недоступен" (destination unreachable) и пакет пе­реадресации (redirect). Каждое из этих сообщений может быть ис­пользовано, чтобы создать хаос в сети.

Эхо-пакет IСМР является основой работы одной из наиболее важных функций ТСР/IР - ping. Администраторы используют его для проверки функционирования некоторого элемента сети. Обычно пакет рing состоит меньше, чем из 100 байт и отправляет­ся через равные промежутки времени и только на очень короткий период. Однако эхо-запрос IСМР может быть сконфигурирован на различную длину - до нескольких тысяч байт. При этом длины по­сылаемого и возвращаемого пакетов равны.

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

Неверно сконструированные пакеты переадресации IСМР, ис­пользовались, чтобы генерировать ложную маршрутизацию между хостами и способствовать перехвату пакетов. IСМР-сообщение о недоступности хоста может использоваться для блокировки со­единения хоста со своей сетью или выборочного отключения сес­сий, подобных Теlnet (это пример атаки "отказ в обслуживании"). Другие протоколы, типа протокола маршрутизации RiР, используются для того, чтобы заставить маршрутизаторы и хосты посылать пакеты в неверном направ­лении.

АКР-sрооfing или ложный АRР-сервер

В Internet для нахождения адреса сетевого адаптера использу­ется протокол АRР (Address Resolution Ргоtосоl), который позволя­ет получить взаимно однозначное соответствие IР- и Еthernet- адресов для хостов, находящихся внутри одного сегмента. Это достигается следующим образом: при первом обращении к сете­вым ресурсам хост отправляет широковещательный АRР-запрос на Еthernet- адрес FFFFFFFFFFFFh, в котором указывает IР-адрес маршрутизатора и просит сообщить его свой Еthernet-адрес (IР-адрес маршрутизатора — обязательный параметр, который всегда устанавливается вручную при настройке любой сетевой ОС в Internet). Этот широковещательный запрос получат все станции в данном сегменте интрасети, в том числе, и маршрутизатор. Полу­чив данный запрос, маршрутизатор внесет запись о запросившем хосте в свою АRР-таблицу, а, затем, отправит на запросивший хост АRР-ответ, в котором сообщит свой Еthernet-адрес. Полученный в АRР-ответе Еthernet-адрес будет занесен в АRР-таблицу, находя­щуюся в памяти ОС на запросившем хосте и содержащую записи соответствия IР- и Еthernet-адресов для хостов внутри одного сег­мента. В случае адресации к хосту, расположенному в той же под­сети, также используется АRР-протокол и рассмотренная схема полностью повторяется.

При использовании в распределенной сети алгоритмов удален­ного поиска имеется возможность осуществления ТУА, связанной с внесением в систему ложного объекта. Перехватив на атакую­щем хосте внутри данного сегмента интрасети широковещатель­ный АRР-запрос, можно послать ложный АКР-ответ, в котором объявить себя искомым хостом, (например, маршрутизатором), и, в дальнейшем, активно контролировать и воздействовать на сетевой трафик "обманутого" хоста по схеме "Ложный объект распре­деленной сети". Необходимо обратить внимание, что данная УА возможна только в сети с широковещательной средой передачи (типа Еthernet) и является внутрисегментной. (Стать ложным АRР-сервером довольно просто. Например, и в ОС Solaris, и в Linux имеется команда arp, которая, кроме всего прочего, как раз и пред­назначена для этой цели.)

Рассмотрим обобщенную функциональную схему ложного АRР-сервера:

Проблемы здесь, в первую очередь, связаны с тем, что даже очень квалифицированные сетевые администраторы и программи­сты не знают либо не понимают тонкостей работы протокола АRР. При обычной настройке сетевой ОС, поддерживающей протоколы ТСР/IР, не требуется настройка модуля АRР. Поэтому протокол АRР остается, как бы скрытым для администраторов. Обратим также внимание на тот факт, что у маршрутизатора тоже имеется АRР-таблица, в которой содержится информация о IР- и соответ­ствующих им Еthernet-адресах всех хостов из сегмента интрасети, подключенного к маршрутизатору.

IP-Hijacking

При этой атаке злоумышленник перехватывает весь сетевой поток, модифицируя его и фильтруя произвольным образом. Ме­тод является комбинацией "подслушивания" и IР-spoofing. Необходимые условия атаки — злоумышленник должен иметь доступ к ПК, находящемуся на пути сетевого потока, и обладать достаточными правами на нем для генерации и перехвата IР-пакетов.

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

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

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

1). Ранняя десинхронизация. Соединение десинхронизируется на стадии его установки:

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

2). Десинхронизация нулевыми данными. В данном случае зло­умышленник прослушивает сессию и в какой-то момент посылает серверу пакет с "нулевыми" данными, т.е. такими, которые факти­чески будут проигнорированы на уровне прикладной программы и не видны клиенту. Аналогичный пакет посылается клиенту. Очевидно, что после этого сессия переходит в десинхро­низированное состояние. Одна из проблем IР Hijacking заключается в том, что любой пакет, высланный в момент, когда сессия находится в десинхрони­зированном состоянии, вызывает так называемую АСК-бурю. На­пример, пакет выслан сервером, и для клиента он является непри­емлемым, поэтому тот отвечает АСК-пакетом. Реакцией на этот неприемлемый уже для сервера пакет становится получение кли­ентом очередного ответа... И так до бесконечности. Современные сети строятся по технологиям, когда допускается потеря отдель­ных пакетов. Поскольку АСК-пакеты не несут данных, повторных передач не происходит и "буря стихает".

Есть несколько способов детектирования данной атаки. На­пример, можно реализовать ТСРЛР-стек, которые будут контроли­ровать переход в десинхронизированное состояние, обмениваясь информацией о Зециепсе Нитоег/АСК. Однако в данному случае нет страховки от злоумышленника, меняющего и эти значения. Поэтому более надежным способом является анализ загруженно­сти сети, отслеживание возникающих АСК-бурь. Это можно реа­лизовать при помощи конкретных средств контроля за сетью.

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

Стопроцентную защиту от данной атаки обеспечивает шифро­вание ТСР/IР-трафика.

Следует заметить, что метод также не срабатывает на некото­рых конкретных реализациях ТСР/IР.

Yandex.RTB R-A-252273-3
Yandex.RTB R-A-252273-4