Протокол STP. Методы сетевых атак и защиты

  • Вид работы:
    Курсовая работа (т)
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    50,49 Кб
  • Опубликовано:
    2014-10-20
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Протокол STP. Методы сетевых атак и защиты

Введение

Протокол STP (SpanningTreeProtocol) - сетевой протокол второго уровня, данная технология изобретена Радьей Перельманом. Данный протокол используется при соединении между собой двух и более коммутаторов дублирующими соединениями или при построении сети по топологии «mesh» (связь всех со всеми). Протокол STP позволяет анализировать сеть и устранять петли (forwardingloops) между коммутаторами, создавая граф передачи пакетов между коммутаторами. При нормальном функционировании сети Ethernet, между двумя коммутаторами может быть активно лишь одно соединение, другие не будут использоваться. Т.к. несколько активных соединений между коммутаторами, создают петлю, STP блокирует одно или несколько таких соединений. Для обеспечения возможности резервирования соединений, протокол STP определяет граф (дерево) из сетевых коммутаторов. Протокол STP, вычислив дублирующиеся пути для данных, блокирует их, переводя в режим ожидания. В случае, если сегмент сети становится недоступным, или меняется вес пути графа STP (например, при изменении скорости соединения), алгоритм STP перестраивает дерево и если требуется, активирует резервные соединения. Работа протокола STP незаметна для оконечных узлов в сети, и неважно, подключены ли они к одному сегменту LAN <#"787516.files/image001.jpg">

Рисунок 1 - Формат пакета BPDU

Таймеры протокола SpanningTree

Таймеры в протоколе SpanningTree, используются для обеспечения стабильности собранной топологии сети, а также для устранения дублирующихся пакетов в сети, перед началом передачи данных по сети. Существует несколько видов таймеров:- Это время, между отправками на порт пакетов BPDU. По умолчанию, установлен интервал в 2 секунды, но на коммутаторе можно установить значение от 1 до 10 секунд.delay - Это время, в течение которого порт коммутатора будет находиться в состояниях listening и leaning. По умолчанию, установлено значение в 15 секунд, но на коммутаторе можно установить значение от 4 до 30 секунд.Таймер, контролирующий период времени, через которое порт сохраняет свою конфигурацию BPDU. По умолчанию, установлен интервал в 20 секунд, но на коммутаторе можно установить значение от 6 до 40 секунд.

По умолчанию, значения таймеров, используемые в протоколе SpanningTree, достаточно велики для современных сетей. Например, посчитаем время инициализации порта коммутатора:

20 секунд для Max age + 2 x forward delay (15 секунд на listening/learning) = 50 секунд.

ВеспутивSpanningTree

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

Таблица 1 - Соответствие скорости соединения и веса пути интерфейса

Скорость передачи

Вес пути (802.1D)

10 Mb/s

100

100 Mb/s

19

1 Gb/s

4

10 Gb/s

2


Оборудование, работающее на втором уровне модели OSI (коммутатор), должно выполнять 3 функции: запоминание адресов, перенаправление (коммутация) пакетов, защита от петель в сети. Разберем по пунктам каждую функцию.

Запоминание адресов и перенаправление пакетов: у каждого коммутатора есть таблица сопоставления MAC-адресов и портов (aka CAM-table- ContentAdresstableMemoryTable). Когда устройство, подключенное к коммутатору, посылает кадр в сеть, коммутаторсмотрит MAC-адрес отправителя и порт, откуда получен кадр, и добавляет эту информацию в свою таблицу. Далее он должен передать кадр получателю, адрес которого указан в кадре. Информацию о порте, куда нужно отправить кадр, он берёт из этой же CAM-таблицы. Но, предположим, что коммутатортолько что включили (таблица пуста), и он понятия не имеет, в какой из его портов подключен получатель. В этом случае он отправляет полученный кадр во все свои порты, кроме того, откуда он был принят. Все конечные устройства, получив этот кадр, смотрят MAC-адрес получателя, и, если он адресован не им, отбрасывают его. Устройство-получатель отвечает отправителю, а в поле отправителя ставит свой адрес, и теперькоммутатор уже знает, что такой-то адрес находится на таком-то порту (вносит запись в таблицу), и в следующий раз уже будет переправлять кадры, адресованные этому устройству, только в этот порт. Чтобы посмотреть содержимое CAM-таблицы, используется команда showmacaddress-table. Однажды попав в таблицу, информация не остаётся там пожизненно, содержимое постоянно обновляется и если к определенному mac-адресу не обращались 300 секунд (по умолчанию), запись о нем удаляется.

Глава 2. Виды протоколов STP

.1 Виды и описание протоколов

.1.1 Протокол CST

STP довольно старый протокол, он создавался для работы в одном LAN-сегменте. А что делать, если мы хотим внедрить его в нашей сети, которая имеет несколько VLAN?

Стандарт 802.1Q, каким образом VLAN передаются внутри канала. Кроме того, он определяет один процесс STP для всех VLAN. BPDU по каналам передаются не тегированными (в native VLAN). Этот вариант STP известен как CST (CommonSpanningTree). Наличие только одного процесса для всех VLAN очень облегчает работу по настройке и разгружает процессор коммутатора, но, с другой стороны, CST имеет недостатки: избыточные связи между коммутаторами блокируются во всех VLAN, что не всегда приемлемо и не дает возможности использовать их для балансировки нагрузки.имеет свой взгляд на STP, и свою проприетарную реализацию протокола - PVST (Per-VLAN SpanningTree) - которая предназначена для работы в сети с несколькими VLAN. В PVST для каждого VLAN-а существует свой процесс STP, что позволяет независимую и гибкую настройку под потребности каждого VLAN-а, но самое главное, позволяет использовать балансировку нагрузки за счет того, что конкретная физическая связь может быть заблокирован в одном VLAN-е, но работать в другом. Минусом этой реализации является, конечно, проприетарность: для функционирования PVST требуется проприетарный же ISL канал между коммутаторами.

Также существует вторая версия этой реализации - PVST+, которая позволяет наладить связь между коммутаторами с CST и PVST, и работает как с ISL- каналами, так и с 802.1q. PVST+ это протокол по умолчанию на коммутаторах Cisco.

2.1.2 Протокол RSTP

В 1990 году реализация STP была включена в стандарт IEEE 802.1D. Тогда время текло медленнее, и перестройка топологии STP, занимающая 30-50 секунд, всех устраивала. Но времена меняются, и через десять лет, в 2001 году, IEEE представляет новый стандарт RSTP (он же 802.1w, он же Rapid Spanning Tree Protocol, или Быстрый STP). Различия между STP (802.1d) и RSTP (802.1w):

Таблица 2 - Различия между STP (802.1d) и RSTP (802.1w)

STP (802.1d)

RSTP (802.1w)

В уже сложившейся топологии только корневой коммутатор шлет BPDU, остальные ретранслируют

Все коммутаторы шлют BPDU в соответствиисhello-таймером (2 секунды по умолчанию)

Состояния портов

- блокировка (blocking) - прослушивание (listening) - обучение (learning) - перенаправление\пересылка (forwarding) - отключен (disabled)

- отбрасывание(discarding), заменяет disabled, blocking и listening - learning - forwarding

Роли портов

- корневой (root), участвует в пересылке данных, ведет к корневому мосту - назначенный (designated), тоже работает, ведет от корневого коммутатора - неназначенный (non-designated), не участвует в пересылке данных

- корневой (root), участвует в пересылке данных - назначенный (designated), тоже работает - дополнительный (Alternate), не участвует в пересылке данных - резервный (backup), тоже не участвует

Механизмы работы

Использует таймеры: Hello (2 секунды) MaxAge (20 секунд) Forward delay timer (15 секунд)

Использует процесс proposal and agreement (предложение и соглашение)


В RSTP остались такие роли портов, как корневой и назначенный, а роль заблокированного разделили на две новых роли: Alternate и Backup. Alternate - это резервный корневой порт, а backup - резервный назначенный порт. Как раз в этой концепции резервных портов и кроется одна из причин быстрого переключения в случае отказа. Это меняет поведение системы в целом: вместо реактивной (которая начинает искать решение проблемы только после того, как она случилась) система становится проактивной, заранее просчитывающей «пути отхода» еще до появления проблемы. Смысл простой: для того, чтобы в случае отказа основного пути переключится на резервную связь, RSTP не нужно заново просчитывать топологию, он просто переключится на запасной, заранее просчитанный.

Ранее, для того, чтобы убедиться, что порт может участвовать в передаче данных, требовались таймеры, т.е. коммутатор пассивно ждал в течение назначенного времени, слушая BPDU. Ключевой особенностью RSTP стало введение концепции типов портов, основанных на режиме работы связи - fullduplex или half duplex (типы портов p2p или shared, соответственно), а также понятия пограничный порт (тип edge p2p), для конечных устройств. Пограничные порты назначаются, как и раньше, командой Spanning-TreePortFast, и с ними все понятно- при включении провода сразу переходим к Forwarding-состоянию и работаем. Shared-порты работают по старой схеме с прохождением через состояния BLK - LIS - LRN - FWD, а на p2p-портах RSTP использует процесс предложения и соглашения (proposal and agreement). Его можно описать так: коммутатор справедливо считает, что если канал работает в режиме полного дуплекса, и он не обозначен, как пограничный, значит, на нем только два устройства- он и другой коммутатор. Вместо того, чтобы ждать входящих BPDU, он сам пытается связаться скоммутатором на том конце провода с помощью специальных proposal BPDU, в которых, конечно, есть информация о стоимости маршрута к корневому мосту. Второй коммутатор сравнивает полученную информацию со своей текущей, и принимает решение, о чем извещает первый коммутатор посредством agreement BPDU. Так как весь этот процесс теперь не привязан к таймерам, происходит он очень быстро- только подключили новый коммутатор - и он практически сразу вписался в общую топологию и приступил к работе. В CiscoRSTP называется PVRST (Per-Vlan Rapid Spanning Tree).

2.1.3 Протокол MSTP

Чуть выше, мы упоминали о PVST, в котором для каждого VLAN-а существует свой процесс STP. VLAN-ы это довольно удобный инструмент для многих целей, и поэтому, их может быть достаточно много даже в некрупной организации. И в случае PVST, для каждого будет рассчитываться своя топология, тратиться процессорное время и память коммутаторов. А нужно ли нам рассчитывать STP для всех 500 VLAN-ов, когда единственное место, где он нам нужен- это резервный канал между двумя коммутаторами? Тут нас выручает MSTP. В нем каждый VLAN не обязан иметь собственный процесс STP, их можно объединять. Вот у нас есть, например, 500 VLAN-ов, и мы хотим балансировать нагрузку так, чтобы половина из них работала по одному каналу (второй при этом блокируется и стоит в резерве), а вторая- по другому. Это можно сделать с помощью обычного STP, назначив один корневой коммутатор в диапазоне VLAN-ов от 1-250, а другой- в диапазоне 250-500. Но процессы будут работать для каждого из пятисот VLAN-ов по отдельности (хотя действовать будут совершенно одинаково для каждой половины). MSTP позволяет создавать столько процессов STP, сколько у нас логических топологий, и распределять по ним VLAN-ы.

2.2 Агрегация каналов

Какой бы вариант STP не использовался, все равно существует так или иначе неработающий канал связи. Возникает вопрос - возможно ли задействовать параллельные каналы связи пополной и при этом избежать петель? Да, такая возможность есть, используя функции EtherChannelна Cisco. Иначе это называется linkaggregation, linkbundling, NICteaming, porttrunking.

Технологии агрегации (объединения) каналов выполняют 2 функции: с одной стороны, это объединение пропускной способности нескольких физических связей, а с другой - обеспечение отказоустойчивости соединения (в случае падения одного канала нагрузка переносится на оставшиеся). Объединение канало связи можно выполнить как вручную (статическое агрегирование), так и с помощью специальных протоколов: LACP (Link Aggregation Control Protocol) и PAgP (Port Aggregation Protocol). LACP, определяемых стандартом IEEE 802.3ad, является открытым стандартом, то есть от производителя оборудования не зависит. Соответственно, PAgP - проприетарная разработка Cisco.В один такой канал можно объединить до восьми портов. Алгоритм балансировки нагрузки основан на таких параметрах, как IP/MAC-адреса получателей и отправителей, и порты.

Глава 3. Схемы возможных атак, способы их обнаружения и защиты

Идея первой группы атак лежит практически на поверхности. Суть заключается в том, что сам принцип функционирования STP позволяет легко организовать отказ в обслуживании. Действительно, в соответствии со спецификацией протокола, во время реконфигурации SpanningTreeпорты задействованных устройств не передают пользовательские кадры. Таким образом, для приведения сети (или, по крайней мере, одного из ее сегментов) в неработоспособное состояние достаточно заставить STP-совместимое оборудование постоянно находиться в режиме реконфигурации. Это может быть инициализация выборов, например, главного корня, назначенного моста или корневого порта, т. е. любого из выборных объектов. При этом отсутствие в STP каких-либо механизмов аутентификации позволяет злоумышленнику относительно легко добиться своей цели путем посылки пакетов BPDU.

Программу, генерирующую BPDU, можно реализовать на любом из языков высокого уровня, если он позволяет работать с сокетами (raw-socket). Другой вариант - использование стандартных утилит для управления SpanningTree, например из проекта Linux Bridge Project. Однако в последнем случае невозможна манипуляция параметрами STP со значениями, выходящими за пределы спецификации.

3.1 Основные методы атаки на протокол STP

.1.1 Вечные выборы

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

3.1.2 Исчезновение корня

В этой атаке злоумышленнику нет необходимости выяснять идентификатор текущего корневого моста. Он сразу устанавливает в отсылаемых пакетах минимально возможное значение, что, как мы помним, означает наивысший приоритет. По окончании выборов злоумышленник перестает передавать конфигурационные BPDU, что через промежуток времени MaxAgeTime приводит к повторным выборам, в которых он также участвует (и побеждает). Задав минимально возможное значение MaxAgeTime, он может добиться ситуации, когда сеть большую часть времени будет находиться в состоянии реконфигурации (данный тезис в равной степени относится и к предыдущей схеме атаки, а именно к той ее стадии, когда злоумышленник возвращается от минимального возможного значения идентификатора моста к начальному). Такая атака может показаться менее эффективной, однако она проще в реализации. Кроме того, в зависимости от масштабов сети и еще ряда условий (в частности, значения задержки пересылки Forward Delay, определяющего скорость перехода портов в состояние пересылки), порты STP-совместимых устройств, при этой атаке могут никогда не приступать к пересылке обычных пакетов, что делает угрозу ее применения не менее опасной.

3.1.3 Слияние-расхождение деревьев

В сети с поддержкой VLAN возможно проведение модификации только что описанной атаки. Если злоумышленник подключит свою рабочую станцию, оснащенную двумя сетевыми интерфейсами, к портам коммутаторов, относящимся к разным VLAN, и начнет осуществлять пересылку BPDU из одной VLAN в другую, то в результате деревья STP обеих VLAN "увидят" друг друга, что приведет к перевыборам корня. По окончании выборов злоумышленник разрывает связь между VLAN, что по истечении MaxAgeTime снова вызывает реконфигурацию. Такие действия можно реализовать практически вручную, замыкая порты с помощью кроссировочного кабеля. Естественно, эта атака эффективна только в сетях с поддержкой отдельного дерева STP на каждую VLAN и организации VLAN на базе портов. К счастью, в крупных организациях доступ к портам оборудования ограничен.

3.1.4 Локализованный отказ в обслуживании

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

протокол сниффинг канал атака

Рисунок 2 - Сервер и клиенты подключены к разным компьютерам

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

3.1.5 Фильтр BPDU

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

3.1.6 Незаконный посредник (man in the middle)

Суть данной атаки с использованием STP заключается в изменении логической структуры сети таким образом, чтобы интересующий трафик шел через станцию атакующего. Снова обратимся к Рисунку 2. В отличие от рассмотренного выше частичного отказа в обслуживании, представим, что станция злоумышленника оснащена двумя сетевыми интерфейсами, один из которых подключен к клиентскому сегменту, а другой - к серверному. Посылая соответствующие BPDU, атакующий инициирует выборы назначенного моста для обоих сегментов и выигрывает их. Существующий канал между коммутаторами выключается, и весь межсегментный трафик направляется через станцию атакующего. В случае отсутствия намерения попутно устроить отказ в обслуживании для других станций и серверов, он должен обеспечить пересылку трафика. Причем если целью является простое прослушивание и модификация проходящего трафика не требуется, то реализация этой функции в виде программного модуля тривиальна; более того, любая ОС с поддержкой функций моста и STP, например Linux Bridge Project, представляет уже готовое решение. Конечно, следует учитывать тот факт, что связь между коммутаторами может осуществляться со скоростью 100 Мбит/с, а "пользовательские" порты способны работать со скоростью 10 Мбит/с - тогда межсегментное соединение превратится в узкое место с неизбежной потерей пакетов. Ситуация может усугубиться, если часть трафика необходимо каким-либо образом изменить - злоумышленнику понадобится более мощная рабочая станция.

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

3.1.7 Спровоцированный сниффинг

Сниффингом (sniffing) принято называть прослушивание сетевого трафика путем перевода сетевого интерфейса в режим приема всех пакетов (promiscuousmode или promiscmode - «неразборчивый» режим, в котором сетевая плата <https://ru.wikipedia.org/wiki/%D0%A1%D0%B5%D1%82%D0%B5%D0%B2%D0%B0%D1%8F_%D0%BF%D0%BB%D0%B0%D1%82%D0%B0> позволяет принимать все пакеты независимо от того, кому они адресованы, возможность обычно используется в сетевых <https://ru.wikipedia.org/wiki/%D0%90%D0%BD%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%82%D0%BE%D1%80_%D1%82%D1%80%D0%B0%D1%84%D0%B8%D0%BA%D0%B0> анализаторах трафика), а не только адресованных ему или широковещательных. Очевидно, что в сети, построенной на базе коммутаторов, злоумышленник не имеет возможности перехватить пакеты, если они адресованы не ему, так как пакет направляется не во все порты (как на концентраторе), а лишь в тот, к которому присоединен получатель. Традиционно злоумышленники обходили данную проблему путем генерации шторма пакетов с различными MAC-адресами источника. Это приводило к переполнению таблицы коммутации (где хранятся соответствия между MAC-адресами и портами) вследствие ее конечного размера и, фактически, к переводу коммутатора в режим концентратора.

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

Внимательный читатель, конечно, уже заметил слабое место в этой теории: коммутатор обучается слишком быстро, после получения первого же пакета от "жертвы" он заносит данные об адресе в таблицу коммутации и перестает посылать следующие пакеты на все порты. Однако данную атаку не стоит игнорировать; это связано с внесением производителями сетевого оборудования расширений STP в свои изделия. Сразу после выборов STP сеть недоступна. Чтобы сократить время, на портах, к которым подключены серверы и рабочие станции, в коммутаторах многих производителей (Cisco, Avaya, 3Com, HP и др.) введена возможность пропуска состояний прослушивания и обучения, т. е. перехода из "блокирован" в "передает" и наоборот. У различных производителей такая возможность называется по-разному: например, у Cisco -SpanningTreePortfast, а у 3Com - STP FastStart. Если данный режим включен, то постоянная инициализация выборов приведет не к отказу в обслуживании, а к постоянной очистке таблицы коммутации, т. е. переводу коммутатора в режим концентратора. Надо заметить, что эта функция не должна включаться на транковых портах, иначе сходимость STP (переход в устойчивое состояние или прекращение перевыборов) не гарантирована. К счастью, для успешной реализации описанной атаки, злоумышленнику надо добиваться очистки таблицы коммутации, по крайней мере, вдвое чаще, чем приходят интересующие его пакеты, а на практике это зачастую невозможно.

Перехват трафика (а именно эту цель ставят перед собой две последние атаки) в сети на базе коммутаторов возможно осуществить и при помощи широко известной технологии arp-poisoning, суть которой заключается в дистанционной модификации ("отравлении") таблиц arpжертв путем посылки ложных пакетов arp-reply. В результате оба участника соединения считают, что IP-адресу корреспондента соответствует MAC-адрес злоумышленника, и последний может просматривать весь трафик между ними. Впрочем, данная атака эффективна лишь для перехвата IP-трафика и только между двумя IP-адресами. Атака же с использованием STP позволяет перехватывать весь трафик, так как осуществляется на канальном уровне OSI и изменяет маршрут движения всех кадров, несущих различные протоколы (IPX, NETBEUI), а не только IP.

3.2 Другие возможные атаки

.2.1 Атака STP на соседнюю VLAN из собственной VLAN

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

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

Стоит отметить, что используемые для соединения сетей каналы глобальной сети уязвимы к атакам STP. Это явно указывается в спецификации BCP, где декларируется поддержка STP поверх каналов PPP глобальной сети. Неожиданным следствием этого может стать атака на сеть провайдера Internet через обычное коммутируемое подключение. Согласно RFC 2878, где описывается BCP, для поддержки STP на канале PPP она должна быть запрошена обеими сторонами, чего обычно не происходит. Тем не менее поддержка STP включена, например, на большинстве маршрутизаторов Cisco, как минимум, на тех из них, которые умеют организовывать виртуальные интерфейсы в группы мостов (bridgegroup).

ВописанииGenericAttributeRegistrationProtocol (GARP) отмечается, чтоSTP - частный случай GARP. Часть атак осуществима и против GARP вообще, и GenericVlanRegistration Protocol (GVRP) в частности. Данный факт позволяет утверждать, что VLAN нельзя использовать в качестве единственного средства защиты в сетях. Собственно, стандарт 802.1Q - логическое продолжение 802.1D, но при этом не свободен от тех же недостатков.

Какие же сети являются уязвимыми к атакам с использованием STP? Ответ неутешителен: все, поддерживающие стандарт 802.1D и, с некоторыми ограничениями, 802.1Q. Причем если для некоторых продуктов использование STP надо явно разрешить при конфигурировании, то другие, и таких большинство, поставляются с включенным STP "из коробки".

3.2.2 Получение дополнительной информации о сети при помощи STP

С помощью STP возможно получение дополнительных данных о структуре сети. При этом такое получение дополнительных знаний может быть как пассивным (прослушивание среды передачи данных), так и активным - выиграв на короткое время статус STP корня мы автоматически становимся целью отправки STP TCN-BPDU, которые сами по себе несут некоторый объем познавательной информации. Например, проанализировав source MAC адрес, можно понять устройство какой фирмы отправило этот пакет, а это тоже атака, хоть и пассивная.

3.3 Способы обнаружения атак и защиты от них

Основная сложность обнаружения атак против STP состоит в том, что для атаки используются стандартные пакеты протокола - C-BPDU, т. е. сам по себе факт наличия в сети пакетов STP не может безоговорочно означать атаку.

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

Кроме того, поскольку атаке подвергается топология и работоспособность сети, IDS должна иметь собственный независимый канал для передачи сообщений ответственному за безопасность. Они могут передаваться через модем или подключенный к IDS мобильный телефон на пейджер или другой мобильный телефон, либо непосредственно через соединение IDS с рабочим местом администратора безопасности. При этом вполне возможно, что атака не будет обнаружена (falsenegative), если соответствующие BPDU окажут свое воздействие на оборудование раньше, чем будут зафиксированы датчиком IDS и переданы на центральную станцию, либо не появятся в контролируемых IDS сегментах.

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

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

Что сетевые администраторы могут сделать самостоятельно до кардинального решения проблемы?

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

В некоторых случаях управление дублирующими каналами можно осуществлять при помощи других механизмов, например Link Aggregation (поддерживается многими устройствами, в том числе Intel, Avaya и др.).

Если оборудование обладает функцией индивидуального включения/отключения STP на каждом порту, STP необходимо отключить на всех портах, кроме поддерживающих теги, если они связаны с другим сетевым оборудованием, но не с пользовательскими сегментами. Особенно это касается провайдеров Internet, так как недобросовестные пользователи могут осуществить атаку DoS как против сети провайдера, так и против других клиентов.

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

При настройке сетевого оборудования входящее в идентификатор моста поле приоритета следует задать минимальным (что поднимает приоритет). Это снизит шансы злоумышленника выиграть выборы корневого моста при осуществлении атаки.

Если доступность сервисов имеет приоритетное значение, а конфиденциальность передаваемой информации обеспечивается протоколами верхних уровней, то при наличии в оборудовании функций, аналогичных SpanningTreePortfast компании Cisco или STP FastStart компании 3Com, их необходимо задействовать - это предотвратит атаки, направленные на отказ в обслуживании. Однако, как подчеркивают специалисты компаний-производителей, этого нельзя делать на портах, к которым подключены STP-совместимые устройства.

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

В пределах группы оборудования, которое должно образовать дерево STP, выбирается так называемый общий секрет (пароль, ключ), после чего он заносится в каждое включаемое в группу устройство (аппаратно, при помощи переключателей dip либо на смарт-карте или i-button).

Передаваемые BPDU защищаются при помощи MassageAuthenticationCode (MAC), кода идентификации сообщения. Для этого к подготовленному к передаче пакету BPDU присоединяется общий секрет и для всего этого массива рассчитывается значение хэш-функции (например, SHA-1). Полученный хэш добавляется к отправляемому пакету BPDU (сам секрет при этом не передается).

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

Заключение

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

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

Список литературы

1.   Таненбаум Э. Компьютерные сети / Э. Таненбаум. - 4-е изд.: Питер, 2013. - 992 с.

2.      Хант К. TCP/IP. Сетевое администрирование. К. Хант. - 1е изд.: Символ-Плюс, 2010. - 816 с.

.        Олифер В. Компьютерные сети. Принципы, технологии, протоколы. Учебник для вузов / В. Олифер, Н. Олифер; Питер, 2014. -960 с.

.        Смирнова Е. Технологии современных сетей Ethernet. Методы коммутации и управления потоками данных / Е. Смирнова, П. Козик; БХВ-Петербург, 2012.-272 с.

Похожие работы на - Протокол STP. Методы сетевых атак и защиты

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!