Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Атака крошечными фрагментами (Tiny Fragment Attack)




Различные сети имеют различный максимальный размер кадра. Это число зависит от скоростных характеристик и вероятности возникновения ошибки при передаче.

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

Пакет разбивается на фрагменты, в IP-заголовке каждого фрагмента указывается ID (число, одинаковое для всех фрагментов одного пакета) и Fragment Offset, т.е. смещение фрагмента. Первый фрагмент имеет смещение = 0. Смещение считается 8-байтовыми порциями: если длина первого фрагмента = 8 байт, то для второго сегмента Fragment Offset = 1, если 16 байт – то 2, если 32 байта – то 4 и т.д. ID и Fragment Offset используются для того, чтобы собрать из фрагментов целый пакет на приемной стороне.

Нефрагментированный пакет:

 

 


Фрагментированный пакет:

       
   
 

 


В случае, когда на вход межсетевого экрана поступает фрагментированный пакет, он производит досмотр только первого фрагмента пакета (первый фрагмент определяется по значению поля IP-заголовка Fragment Offset=0). Если первый фрагмент не удовлетворяет условиям пропуска, он уничтожается. Остальные фрагменты можно безболезненно пропустить, не затрачивая на них вычислительные ресурсы фильтра, поскольку без первого фрагмента пакет все равно не может быть собран на узле назначения.

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

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

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

Фрагментация пакета при проведении Tiny Fragment Attack

Злоумышленник формирует искусственно фрагментированный IP-пакет с TCP-сегментом внутри. При этом первый фрагмент пакета имеет минимальный размер поля данных — 8 байт. В поле данных IP-пакета находится TCP-сегмент, начинающийся с TCP-заголовка. В первых 8 байтах TCP-заголовка находятся номера портов отправителя и получателя и поле Sequence Number, но значения флагов не попадут в первый фрагмент. Значения флагов (в том числе флаг SYN, выделено красным) попадут во второй фрагмент. Межсетевой экран пропустит первый фрагмент пакета, а остальные фрагменты он проверять не будет. Таким образом, пакет с SYN-сегментом будет успешно доставлен на узел назначения и после сборки передана модулю TCP.

Схема проведения Tiny Fragment Attack

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

1) не пропускать пакеты с Fragment Offset=0, размер поля данных которых меньше определенной величины, достаточной, чтобы вместить все «интересные поля»;

2) не пропускать пакеты с Fragment Offset=1: наличие такого пакета означает, что TCP-сегмент был фрагментирован с целью скрыть определенные поля заголовка и что где-то существует первый фрагмент с 8 байтами данных. Несмотря на то, что в данном случае первый фрагмент будет пропущен, узел назначения не сможет собрать пакет, так как фильтр уничтожил второй фрагмент.

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

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...