Телекоммуникационные технологии.Сети TCP-IP


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


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

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

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

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

На рис. 9.12 пример датаграммы из 2 фрагментов (IP-заголовки выделены серым). В поле данных первого фрагмента находится 8 октетов TCP-заголовка. В поле данных второго фрагмента помещена остальная часть TCP-заголовка с флагом SYN.




- Начало -  - Назад -  - Вперед -