Главная страница
Навигация по странице:

  • 28: Атаки на транспортные протоколы ТСР-атаки 1

  • Атаки на транспортные протоколы. 28-АтакиТранспПротоколы. 28 Атаки на транспортные протоколы тсратаки 1


    Скачать 0.77 Mb.
    Название28 Атаки на транспортные протоколы тсратаки 1
    АнкорАтаки на транспортные протоколы
    Дата07.11.2022
    Размер0.77 Mb.
    Формат файлаdocx
    Имя файла28-АтакиТранспПротоколы.docx
    ТипПротокол
    #775503

    (Б-28) –

    МДК.03.02. Безопасность функционирования информационных систем

    28: Атаки на транспортные протоколы


    ТСР-атаки 1

    Затопление SYN-пакетами 1

    Подделка ТСР-сегмента 6

    Сброс ТСР-соединения 7

    ICMP-атаки 7

    Общая характеристика ICMP-атаки 7

    ICMP-атака Smurf 10

    Атака Ping of Death 11

    UDP-атаки 12

    Атака ICMP/UDP-затоплением 13

    Атака UDP/echo/chargen-затоплением 13

    IР-атаки 14

    Атака на IP-опции 14

    Атака на фрагментацию 15

    Информационное обеспечение:

    ОИ1. Олифер, В. Компьютерные сети. Принципы, технологии, протоколы./ В.Олифер, Н.Олифер. – СПб.: Питер, 2021. – 1008 с.. – С. 901-912.

    Безопасность сетей: учебный курс.

    *****************

    ТСР-атаки


    Протокол TCP используется злоумышленниками и как инструмент для организации атак (обычно – атак отказа в обслуживании), и как цель нападения – нарушение ТСР-сеанса атакуемого приложения, например, путем подделки сегмента.

    Затопление SYN-пакетами


    Этот тип DoS-атаки активно применяется злоумышленниками на протяжении многих лет; впервые он был подробно описан (с приведением кода атаки) в 1996 году, и в том же году началось его практическое «применение», продолжающееся по сей день. Атакуемым является конечный узел – как правило, сервер, работающий с клиентами по протоколу TCP.

    Атака затоплением SYN-пакетами (SYN Flood) использует уязвимость процедуры установления логического соединения протокола TCP.

    Как уже говорилось ранее, процедура установления логического соединения («трехшаговое рукопожатие») предусматривает использование флагов SYN и ACK, которые содержатся в заголовке каждого TCP-сегмента (структура заголовка TCP- сегмента приведена на рис. 1).



    Рис. 1. Структура заголовка TCP-сегмента

    Процедура установления логического соединения включает следующие шаги (рис. 2, а):

    1. Клиент-инициатор отправляет пакет с флагом SYN серверу;

    2. Получив такой SYN-пакет, сервер отвечает, подтверждая получение запроса и отправляя при этом свой собственный запрос SYN – пакет с установленными флагами SYN и ACK.

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

    После такого «обмена рукопожатиями» соединение считается установленным, и данные могут передаваться между хостами (рис. 2,а).



    а б

    Рис. 2: а – нормальный порядок установления TCP-соединения; б – DoS-атака путем создания множества незакрытых ТСР-соединений

    Для реализации атаки злоумышленник организует передачу на сервер массированного потока пакетов с флагом SYN, каждый из которых инициирует создание нового TCP-соединения (рис. 2, б).

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

    Аналогичным образом создается множество других «недоустановленных» соединений.

    Обычно ОС сервера имеет лимит на количество одновременно поддерживаемых «недоустановленных» TCP-соединений (глобально или для каждого программного порта отдельно), так как каждое открытое соединение требует выделения памяти ядра ОС для нового блока ТСВ (Transmit Control Block). Этот блок содержит данные о состоянии соединения: сокет клиента, номер ожидаемого сегмента, указатель на положение сегмента в буфере и др. Блок ТСВ имеет размер от 280 до 1300 байт в зависимости от типа ОС.

    При достижении лимита ОС начинает отвергать все последующие запросы на установление TCP-соединений и, следовательно, отказывает в обслуживании всем, в том числе легальным клиентам сервера.

    По истечении тайм-аута ОС удаляет из памяти блоки ТСВ «недоустановленных» соединений и начинает устанавливать новые соединения повторно.

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

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

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

    Для этого нужно определить адрес атакующего узла, что в ряде случаев сделать непросто – атакующий может помещать SYN-сегменты в IP-пакеты с «поддельным» адресом отправителя, применяя спуфинг.

    Спуфинг – это тип кибератаки, в которой маскировка под легальный объект (компьютер, устройство или сеть) используется как средство проникновения в другие компьютерные сети.

    Спуфинг помогает атакующему преодолеть защитный фильтр и избавиться от вредящих ему ответных SYN/АСК-сегментов атакуемого сервера. Для этого ему достаточно выбрать в качестве «поддельных» адреса, которые не будут реагировать на SYN/АСК-сегменты, – например, адреса несуществующих узлов.

    ПРИМЕЧАНИЕ.

    Спуфинг IP-адресов источника используется во многих типах атак,

    поэтому борьба с ним - естественный элемент обеспечения сетевой безопасности.

    Основным средством борьбы со спуфингом является применение на маршрутизаторах техники проверки обратного пути (Reverse Path Check, RPC).

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

    Действительно, если компьютер злоумышленника подключен к сети 212.100.100.0/24, но генерирует пакеты с адресом источника 25.0.30.18, то маршрутизатор провайдера, к которому подключена сеть 212.100.100.0/24, легко может проверить, что через интерфейс, на который был получен пакет с подделанным адресом, достичь сети 25.0.30.18 нельзя, а значит, пакет нужно отбросить.

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

    Преодоление атаки путем фильтрации также осложняется, когда поток SYN-сегментов поступает на атакуемый сервер сразу от сотен зараженных компьютеров какой-нибудь сети ботов, то есть когда имеет место распределенная атака затоплением SYN-пакетами (DDoS SYN Flood).

    Другим способом борьбы с атакой затоплением SYN-пакетами является изменение параметров протокола TCP

    – увеличение предельного числа «недоустановленных» соединений, уменьшение тайм-аута вытеснения старых «недоустановленных» соединений, усложнение логики самой процедуры установления соединения, например, введения специальных cookie-блоков SYN.

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

    Разновидностью ТСР-атаки затоплением SYN-пакетами является TCP-атака затоплением АСК-пакетами, выполняемая путем отражения.. Злоумышленник посылает SYN-пакеты, в поле адреса источника которых помещен адрес жертвы, на большое количество серверов. Последние отвечают на SYN-пакеты пакетами с установленным битом АСК, «бомбардирующими» атакуемый компьютер и исчерпывающими пропускную способность его входного интерфейса. Этот прием превращает DoS-атаку в DDoS-атаку без использования сети ботов, так как все компьютеры, отвечающие на SYN-запросы, не заражаются предварительно каким-либо вирусом, а работают в полном соответствии со стандартной версией протокола TCP.

    Подделка ТСР-сегмента


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

    При приеме очередного сегмента протокол TCP проверяет, находится ли его порядковый номер в пределах окна приема, и только в случае положительного результата такой проверки добавляет принятые данные к байтам, принятым ранее в ходе данного TCP-сеанса.

    Описанная проверка предназначена для защиты сегментов некоторого TCP-сеанса от смешивания с сегментами других сеансов, но этот механизм защиты не так уж надежен, чем и пользуются злоумышленники.

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

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

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

    Разновидностью подделки TCP-сегментов является их повторное использование.

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

    Сброс ТСР-соединения


    Атака сбросом ТСР-соединения используется для разрыва TCP-соединений легальных пользователей.

    Для проведения атаки злоумышленник должен подделать заголовок ТСР-сегмента.

    При поступлении ТСР-сегмента с установленным флагом RST узел должен немедленно завершить сеанс, к которому относится этот сегмент, и удалить все данные, полученные в ходе сеанса.

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

    Борьба с атаками подделкой ТСР-сегмента и сбросом ТСР-соединения может вестись по двум направлениям. Первое направление связано с предотвращением прослушивания трафика. Второе направление основано на изменении поведения самого протокола TCP

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

    ICMP-атаки

    Общая характеристика ICMP-атаки


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



    Рис. 3. Перенаправление маршрута предлагаемым по умолчанию маршрутизатором

    На рис. 3 применяемый по умолчанию маршрутизатор R1, получив от хоста Н1 пакет, адресованный хосту Н2, определяет, что наилучший маршрут к хосту Н2 пролегает через маршрутизатор R2. Маршрутизатор R1 отбрасывает полученный пакет и помещает его заголовок в ICMP-сообщение о перенаправлении маршрута, которое посылает хосту Н1. В сообщении содержится IP-адрес альтернативного маршрутизатора R2, который теперь должен использовать хост, посылая данные хосту Н2. Хост Н1 вносит изменения в свою таблицу маршрутизации и с этого момента отправляет пакеты хосту Н2 по новому скорректированному маршруту.

    Для перехвата трафика, направляемого хостом Н1 хосту Н2, злоумышленник должен сформировать и послать хосту Н1 пакет, маскирующийся под ICMP-сообщение о перенаправлении маршрута

    (рис. 4). В этом сообщении содержится запрос о корректировке таблицы маршрутизации хоста Н1, предусматривающей установку во всех пакетах с адресом IРН2 в качестве адреса следующего маршрутизатора адреса IPHA, являющегося де-факто адресом хоста-злоумышленника НА.



    Рис. 4. Перенаправление маршрута злоумышленником

    Чтобы хост «поверил» этому сообщению, в поле IP-адреса отправителя должен быть помещен адрес предлагаемого по умолчанию маршрутизатора R1.

    Пакеты, передаваемые введенным в заблуждение хостом, начнут поступать на узел злоумышленника. Он может либо захватывать и не передавать эти пакеты дальше, имитируя для поддержания диалога приложение, которому эти пакеты предназначались, либо организовать транзитную передачу данных по указанному адресу назначения IРН2

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

    Заметим, что простейший вариант перенаправления трафика в локальной сети может быть осуществлен путем отправки в сеть ложного ARP-ответа. В данном случае схема очевидна: получив широковещательный ARP-запрос относительно некоторого IP-адреса, злоумышленник посылает ложный ARP-ответ, в котором сообщается, что данному IP-адресу соответствует его собственный МАС-адрес.

    ICMP-атака Smurf


    ICMP-атака Smurf – это DDoS-атака, использующая функцию эхо-запроса протокола ICMP.

    Название атаки произошло от имени файла smurf.с, содержащего код атаки и получившего распространение в 1998 году.

    Эхо-запросы и эхо-ответы протокола ICMP больше известны по утилите ping, с помощью которой можно проверить достижимость узла Интернета. Для проверки достижимости утилита ping посылает тестируемому узлу ICMP-пакет, в котором в качестве типа сообщения указан код 8 (эхо-запрос). Получив его, тестируемый узел отправляет в обратном направлении ICMP-пакет с кодом 0 (эхо-ответ).

    Атака Smurf тоже строится на возможности отправки эхо-запроса не только по индивидуальному, но и по широковещательному (broadcast) адресу некоторой сети.

    Например, если у сети адрес 200.200.100.0/24, то ее широковещательный адрес – 200.200.100.255, и эхо-запрос должен быть доставлен всем узлам этой сети (рис. 5).



    Рис. 5. Компоненты ICMP-атаки Smurf

    Компьютер злоумышленника с адресом 167.50.31.17 находится в сети 167.50.31.0/24, а атакуемый компьютер имеет адрес 195.204.20.145 и подключен к сети 195.204.20.0/24.

    Компьютер злоумышленника генерирует эхо-запросы с адресом приемника 200.200.100.255 и адресом источника 195.204.20.145. Эхо-запросы передаются через Интернет в сеть 200.200.100.0.24 и принимаются всеми узлами этой сети, которые отвечают на ICMP-запросы эхо-ответами.

    В том случае, когда в сети 200.200.100.255 имеется достаточно большое количество активных узлов (понятно, что их не может быть более 254), на атакуемый узел 195.204.20.145 приходит интенсивный поток эхо-ответов, так как именно его адрес указан в эхо-запросах как адрес источника. В результате сетевой интерфейс атакуемого компьютера оказывается затопленным эхо-ответами и при превышении интенсивности этого потока некоторой величины его пропускная способность оказывается исчерпанной.

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

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

    Атака Ping of Death


    Атака «Пинг смерти» (Ping of Death) состоит в отправке на атакуемый компьютер эхо-запроса в IP-пакете, длина которого превышает его допустимый размер, составляющий, согласно стандарту, 65 535 байт.

    Поскольку соответствующий буфер ядра ОС не рассчитан на такую длину пакета, ОС терпит крах,

    отсюда и название атаки, основанной на превышении размера буфера при сборке фрагментированного IP-пакета и, таким образом, являющейся частным случаем атак, использующих 1Р-фрагментацию (см. далее). К слову, база для атаки «Пинг смерти» давно ликвидирована – разработчики ОС еще в середине 90-х годов ввели в стек TCP/IP проверку длины собираемого фрагментированного IP-пакета.

    Другая атака, называемая Ping-затоплением, также является достаточно простой – злоумышленник использует утилиту ping своей ОС для отправки эхо-запросов на атакуемый компьютер с максимально возможной частотой.

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

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

    UDP-атаки


    Атака UDP-затоплением относится к DoS-атакам и имеет целью исчерпание пропускной способности интерфейса атакуемого компьютера.

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

    Поскольку протокол UDP работает без установления соединения, то атакуемый компьютер обязан принимать все направляемые ему UDP-дейтаграммы,

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

    Злоумышленник может использовать аппаратный генератор трафика для того, чтобы генерировать UDP-трафик с максимально возможной скоростью выходного интерфейса,

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

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

    Имея стандартный для пользовательского компьютера интерфейс 1 Гбит/с, невозможно затопить UDP-пакетами сервер с интерфейсом 10 Гбит/с. Злоумышленник может преодолеть это ограничение, если в его распоряжении имеется сеть ботов. Именно такой подход был использован в 2007 году, когда была осуществлена массированная DDoS-атака UDP-затоплением на корневые DNS-серверы, при этом трафик создавался примерно пятью тысячами ботов (подробнее см. лекцию «Атаки на DNS»).

    Атака ICMP/UDP-затоплением


    Атака ICMP/UDP-затоплением имеет двойное имя, так как в ней используется два протокола.

    Злоумышленник направляет интенсивный поток UDP-пакетов, в которых в качестве адреса источника указан адрес компьютера-жертвы, на программные порты компьютеров, находящиеся в пассивном состоянии

    (то есть в данный момент с этими портами не связаны приложения, слушающие сеть).

    При получении UDP-пакета с номером пассивного порта компьютер в соответствии с логикой работы стека TCP/IP отвечает ICMP-сообщением о недостижимости порта назначения, которое направляется атакуемому компьютеру.

    Как видно из описания,

    в атаке имеет место отражение от компьютеров промежуточной сети;

    в случае использования широковещательного адреса она становится DDoS-атакой. Для предотвращения этой атаки применяют те же меры, что и для предотвращения ICMP-атаки Smurf – дополнительно реализуется пропуск файерволом только тех UDP-пакетов, портыкоторых соответствуют активным приложениям компьютеров сети. Кроме того, можно ограничить интенсивность сообщений о недостижимости порта назначения компьютеров сети.

    Атака UDP/echo/chargen-затоплением


    Атака UDP/echo/chargen-затоплением похожа на описанную выше –

    в ней также имеет место отражение UDP-пакетов, но при этом пакеты отправляются с номером порта 7 или 19.

    Эти порты обычно активны, они поддерживают сервисы echo (порт 7) и chargen (порт 19), использующие протокол UDP. Сервис chargen в ответ на запрос генерирует строку случайных символов случайной длины от 0 до 512 и посылает ее обратившемуся хосту. Этот сервис был встроен в ОС Unix для отладки ее сетевых функций. Аналогичное назначение имеет сервис echo (не путать с эхо-запросами и эхо-ответами протокола ICMP), возвращающий строку любого запроса по адресу обратившегося хоста. В простейшем случае атакующий посылает UDP-пакеты на порт 7 и/или 19 некоторого промежуточного хоста и указывает обратный адрес атакуемого хоста. Промежуточный хост начинает «бомбардировать» атакуемый хост ответами сервисов chargen и/или echo. При этом усиления атаки не происходит, так как объем ответных сообщений невелик; для усиления может быть использован широковещательный адрес промежуточной сети.

    Более интересной выглядит атака, когда атакующий посылает пакет с портом 19 и указывает в нем исходный порт 7.

    В этом случае единственный пакет атакующего вызывает бесконечный обмен пакетами между сервисом chargen промежуточного хоста и сервисом echo атакуемого хоста.

    IР-атаки


    Протокол IP сам по себе не предоставляет злоумышленникам особых шансов для атак, так как работает без установления соединения и достаточно прост в реализации. Тем не менее некоторые возможности для IP-атак существуют. Рассмотрим их.

    Атака на IP-опции


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

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

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

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

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

    Спецификация IPv6 допускает наличие нескольких заголовков в пакете – основного и нескольких дополнительных. Вместо полей опций в пакете IPv6 могут присутствовать дополнительные заголовки, одним из которых является заголовок пошаговых опций (Нор-by-hop Options). Как и в случае опций IPv4, опции дополнительного заголовка пошаговых опций IPv6 обрабатываются центральным процессором маршрутизатора. Помещение в такой заголовок большого числа опций неопределенного типа будет замедлять работу маршрутизатора IPv6. Обычная практика борьбы с подобной атакой – фильтрация (отбрасывание) всех пакетов, в заголовке которых имеются опции. Возможно также игнорирование всех или некоторых опций.

    Атака на фрагментацию


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

    • Превышение максимальной длины пакета (переполнение буфера сборки). Этот способ атаки уже был упомянут при описании атаки «Пинг смерти». Максимальное значение смещения фрагмента равно (213 – 1) * 8 = 8191 х 8 = 65 528. Так как максимальная длина IP-пакета равна 65 535 байт, очевидно, что последний фрагмент не должен иметь длину более 7 байт. Задавая фрагмент с максимальным смещением и размером в 8 и более байт, злоумышленник переполняет буфер ядра ОС, что может привести к падению ОС.

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

    • Замещение фрагментов. Эта DoS-атака используется для обмана таких защитных средств, как файерволы и системы обнаружения вторжений. Пакеты атаки фрагментируются и посылаются вместе с фрагментами-дубликатами, в которых содержится безобидная информация. Первым посылается безобидный фрагмент, а следом – фрагмент, содержащий код атаки, но с такими же смещением и длиной. В результате фрагмент атаки замещает безобидный фрагмент. Не все файерволы и системы обнаружения вторжений распознают фрагментированную таким образом атаку.


    написать администратору сайта