Протокол STP. Методы сетевых атак и защиты - Программирование, компьютеры и кибернетика курсовая работа

Главная
Программирование, компьютеры и кибернетика
Протокол STP. Методы сетевых атак и защиты
Алгоритмы работы протокола STP. Статусы портов в протоколе SpanningTree. Виды, описание протоколов, агрегация каналов. Схемы возможных атак, способы обнаружения. Слияние-расхождение деревьев, локализованный отказ в обслуживании, спровоцированный сниффинг.
посмотреть текст работы
скачать работу можно здесь
полная информация о работе
весь список подобных работ
Нужна помощь с учёбой? Наши эксперты готовы помочь!
Нажимая на кнопку, вы соглашаетесь с
политикой обработки персональных данных
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Протокол STP (SpanningTreeProtocol) - сетевой протокол второго уровня, данная технология изобретена Радьей Перельманом. Данный протокол используется при соединении между собой двух и более коммутаторов дублирующими соединениями или при построении сети по топологии «mesh» (связь всех со всеми). Протокол STP позволяет анализировать сеть и устранять петли (forwardingloops) между коммутаторами, создавая граф передачи пакетов между коммутаторами. При нормальном функционировании сети Ethernet, между двумя коммутаторами может быть активно лишь одно соединение, другие не будут использоваться. Т.к. несколько активных соединений между коммутаторами, создают петлю, STP блокирует одно или несколько таких соединений. Для обеспечения возможности резервирования соединений, протокол STP определяет граф (дерево) из сетевых коммутаторов. Протокол STP, вычислив дублирующиеся пути для данных, блокирует их, переводя в режим ожидания. В случае, если сегмент сети становится недоступным, или меняется вес пути графа STP (например, при изменении скорости соединения), алгоритм STP перестраивает дерево и если требуется, активирует резервные соединения. Работа протокола STP незаметна для оконечных узлов в сети, и неважно, подключены ли они к одному сегменту LAN, или к LAN с множеством сегментов.
Г лава 1 . Алгоритмы работы протокола STP
Основная задача STP - предотвратить появление петель на втором уровне. Протокол убирает все избыточные пути, пока они не понадобятся. Действия протокола:
- определение наиболее эффективного пути и отключение избыточных;
-определение работоспособности пути и необходимости включения запасного;
1.2 Алгоритмы работы протокола STP
STP использует алгоритм STA (SpanningTreeAlgorithm), результатом работы которого является граф в виде дерева (связный и без простых циклов). Для обмена информацией между собой коммутаторы используют специальные пакеты - BPDU (Bridge Protocol DataUnits). BPDU бывают двух видов: конфигурационные (ConfigurationBPDU) и TCN (TopologyChangeNotificationBPDU) которые извещают все устройства в сети о том, что топология поменялась. Первые регулярно рассылаются корневым коммутатором (и ретранслируются остальными) и используются для построения топологии, вторые отсылаются в случае изменения топологии сети (при подключении\отключении коммутатора). Конфигурационные BPDU содержат несколько полей:
идентификатор отправителя (Bridge ID),
идентификатор корневого коммутатора (Root Bridge ID),
идентификатор порта, из которого отправлен данный пакет (Port ID),
стоимость маршрута до корневого коммутатора (Root PathCost).
Так как устройства не знают своих соседей, никаких отношений (смежности/соседства) они друг с другом не устанавливают. Они шлют BPDU из всех работающих портов на мульти кастовый Ethernet-адрес 01-80-c2-00-00-00 (по умолчанию каждые 2 секунды), который прослушивают все коммутаторы с включенным STP.
Для устранения петель в сети выбирается корневой мост/коммутатор(root bridge). Это устройство, которое STP считается точкой отсчета, центром сети; все дерево STP сходится к нему. Выбор базируется на таком понятии, как идентификатор коммутатора (Bridge ID). Bridge ID это число длиной 8 байт, которое состоит из Bridge Priority (приоритет, от 0 до 65535, по умолчанию 32768+номер Vlan или Instants MSTP, в зависимости от реализации протокола), и MAC-адреса устройства. В начале выборов каждый коммутатор считает себя корневым, о чем и заявляет всем остальным с помощью BPDU, в котором представляет свой идентификатор как ID корневого коммутатора. При этом, если он получает BPDU с меньшим Bridge ID, он начинает анонсировать полученный Bridge ID в качестве корневого. В итоге, корневым оказывается тот коммутатор, чей Bridge ID меньше всех.
Такой подход таит в себе довольно серьезную проблему. При равных значениях Priority (а они равные, если не менять ничего) корневым выбирается самый старый коммутатор, так как мак адреса прописываются на производстве последовательно, соответственно, чем MAC-адрес меньше, тем устройство старше (если у нас все оборудование одного производителя). Это может привести к падению производительности сети, так как старое устройство, как правило, имеет худшие характеристики. Подобное поведение протокола можно изменить, выставляя значение приоритета на желаемом корневом коммутаторе вручную.
Статусы портов в протоколе SpanningTree
Когда топология сети еще не определена и сеть находится в неопределенном статусе, порт коммутатора, передавая данные, создает временные петли пакетов. Порты коммутаторов должны подождать некоторое время, пока не получат информацию о топологии сети, чтобы начать передавать пакеты по сети LAN. Также, они должны подождать, пока не истечет время жизни пакетов старой топологии.
Каждый порт коммутатора, который использует протокол STP, может находиться в одном из пяти состояний:
Blocking - Порт находится в заблокированном состоянии. В данном состоянии, порт не передает пакеты, но получает и отвечает на служебные сообщения.
Listening- Порт сканирует сеть. В данном состоянии, порт не имеет MAC адреса и не передает других MAC адресов, порт принимает и передает пакеты BPDU, а также получает и отвечает на служебные сообщения.
Leaning- Порт изучает топологию сети. В данном состоянии, порт не передает никаких пакетов, кроме пакетов BPDU. Порт находится в режиме заполнения таблицы MAC адресов, и готовится к началу передачи данных, а также он получает и отвечает на служебные сообщения.
Forwarding - Порт находится в режиме передачи. В данном состоянии, порт принимает и передает все пакеты сети.
Disabled - (Выключен - обычно переведен в такое состоянии вручную). Отключенный порт не принимает и получает никаких типов пакетов в сети.
После перезагрузки коммутатора или изменения топологии сети, порт, использующий STP, четырежды меняет свое состояния.Коммутаторы с резервными соединениями, и правильно настроенные коммутаторы, также могут иметь порты в статусах blocking или Forwarding.
СForwarding в disabled (при ручной настройке) - не является обязательным шагом.
Порядок перечисления состояний не случаен: при включении (а также при включении нового устройства), все порты на устройстве с STP проходят вышеприведенные состояния именно в таком порядке (за исключением disabled-портов). Возникает закономерный вопрос: а зачем такие сложности? STP осторожничает. Ведь на другом конце провода, который только что воткнули в порт, может быть коммутатор, а это потенциальная петля. Поэтому порт сначала 15 секунд (по умолчанию) пребывает в состоянии прослушивания - он смотрит BPDU, попадающие в него, выясняет свое положение в сети. Потом переходит к обучению еще на 15 секунд - пытается выяснить, какие mac-адреса используются на подключенном проводе, и потом, убедившись, что ничего он не поломает, начинает уже свою работу. Итого, мы имеем целых 30 секунд простоя, прежде чем подключенное устройство сможет обмениваться информацией со своими соседями. Современные компьютеры грузятся быстрее, чем за 30 секунд. Вот комп загрузился, пытается выйти в сеть, пытается обратиться к DHCP-серверу для получения IP-адреса, и, не получив искомого проставляет у себя IP-адрес авто настройки. Получив адрес вида 169.254.x.x компьютер никуда уже выйти не сможет. Для того что бы избежать подобных ситуаций используют режим порта - PortFast.
Для таких случаев используется особый режим порта - PortFast. При подключении устройства к такому порту, он, минуя промежуточные стадии, сразу переходит к Forwarding-состоянию. Само собой, PortFast следует включать только на интерфейсах, ведущих к конечным устройствам (рабочим станциям, серверам, телефонам и т.д.), но не к другим коммутаторам.
Есть очень удобная команда режима конфигурации интерфейса для включения нужных настроек на порту, в который будут включаться конечные устройства: switchporthost. Эта команда разом включает PortFast, переводит порт в режим access (аналогично switchportmodeaccess), и отключает протокол.
Пакеты BPDU регулярно посылаются по сети (по умолчанию, каждые 2 секунды), что позволяет коммутаторам постоянно отслеживать изменения в сети и немедленно на них реагировать.
Стабильность работы активной сетевой конфигурации, определяется следующими факторами:
Уникальный идентификатор коммутатора (MAC адрес), ассоциируется с каждым коммутатором.
Вес пути до корневого коммутатора, присваивается каждому порту.
Идентификатор порта (MAC адрес), ассоциируется с каждым портом коммутатора.
Каждый конфигурационный BPDU пакет содержит следующую информацию:
Уникальный идентификатор коммутатора (MAC адрес), который переправляется корневому коммутатору.
Вес пути до корневого коммутатора от отправившего пакет порта.
Идентификатор порта (MAC адрес), отправившего пакет.
Обмен пакетами BPDU приводит к следующим результатам:
Выбирается единственный корневой коммутатор. Если такой коммутатор не настроен вручную, то корневым выбирается коммутатор, с наименьшим MAC адресом.
Высчитывается кратчайшее расстояние, от корневого коммутатора, до каждого коммутатора сети.
Также определяются коммутаторы, расположенные близ корневого, они будут переправлять пакеты на корневой коммутатор.
Выбираются порты коммутаторов, которые менее всего удалены от корневого коммутатора. Если есть несколько эквивалентных путей, то будет выбран порт с наименьшим MAC адресом.
Выбираются порты, отключенные протоколом STP.
Если все коммутаторы сети настроены по умолчанию, то корневым коммутатором будет выбран коммутатор с наименьшим MAC адресом (ID шлюза). Однако, в зависимости от топологии сети, количества портов, типов и скоростей соединений, автоматический выбор корневого коммутатора по наименьшему MAC адресу, не всегда является оптимальным. Можно запустить перерасчет топологии STP заново, чтобы выбрать более подходящий корневой коммутатор, путем повышения его приоритета в сети.
На Рисунке 1 отображен формат пакета BPDU.
Таймеры в протоколе SpanningTree, используются для обеспечения стабильности собранной топологии сети, а также для устранения дублирующихся пакетов в сети, перед началом передачи данных по сети. Существует несколько видов таймеров:
Hello - Это время, между отправками на порт пакетов BPDU. По умолчанию, установлен интервал в 2 секунды, но на коммутаторе можно установить значение от 1 до 10 секунд.
Forward delay - Это время, в течение которого порт коммутатора будет находиться в состояниях listening и leaning. По умолчанию, установлено значение в 15 секунд, но на коммутаторе можно установить значение от 4 до 30 секунд.
Maxage- Таймер, контролирующий период времени, через которое порт сохраняет свою конфигурацию BPDU. По умолчанию, установлен интервал в 20 секунд, но на коммутаторе можно установить значение от 6 до 40 секунд.
По умолчанию, значения таймеров, используемые в протоколе SpanningTree, достаточно велики для современных сетей. Например, посчитаем время инициализации порта коммутатора:
20 секунд для Max age + 2 x forward delay (15 секунд на listening/learning) = 50 секунд.
Вес пути напрямую зависит от скорости соединения. Коммутаторы используют путь с наименьшим весом, как основной путь передачи данных. Если существует дублирующий путь, с более высоким весом, то путь не будет использоваться, до тех пор, пока путь с меньшим весом остается доступным. На таблице 1 показано соответствие скорости соединения и веса пути интерфейса.
Таблица 1 - Соответствие скорости соединения и веса пути интерфейса
Оборудование, работающее на втором уровне модели OSI (коммутатор), должно выполнять 3 функции: запоминание адресов, перенаправление (коммутация) пакетов, защита от петель в сети. Разберем по пунктам каждую функцию.
Запоминание адресов и перенаправление пакетов: у каждого коммутатора есть таблица сопоставления MAC-адресов и портов (aka CAM-table- ContentAdresstableMemoryTable). Когда устройство, подключенное к коммутатору, посылает кадр в сеть, коммутаторсмотрит MAC-адрес отправителя и порт, откуда получен кадр, и добавляет эту информацию в свою таблицу. Далее он должен передать кадр получателю, адрес которого указан в кадре. Информацию о порте, куда нужно отправить кадр, он берёт из этой же CAM-таблицы. Но, предположим, что коммутатортолько что включили (таблица пуста), и он понятия не имеет, в какой из его портов подключен получатель. В этом случае он отправляет полученный кадр во все свои порты, кроме того, откуда он был принят. Все конечные устройства, получив этот кадр, смотрят MAC-адрес получателя, и, если он адресован не им, отбрасывают его. Устройство-получатель отвечает отправителю, а в поле отправителя ставит свой адрес, и теперькоммутатор уже знает, что такой-то адрес находится на таком-то порту (вносит запись в таблицу), и в следующий раз уже будет переправлять кадры, адресованные этому устройству, только в этот порт. Чтобы посмотреть содержимое CAM-таблицы, используется команда showmacaddress-table. Однажды попав в таблицу, информация не остаётся там пожизненно, содержимое постоянно обновляется и если к определенному mac-адресу не обращались 300 секунд (по умолчанию), запись о нем удаляется.
STP довольно старый протокол, он создавался для работы в одном LAN-сегменте. А что делать, если мы хотим внедрить его в нашей сети, которая имеет несколько VLAN?
Стандарт 802.1Q, каким образом VLAN передаются внутри канала. Кроме того, он определяет один процесс STP для всех VLAN. BPDU по каналам передаются не тегированными (в native VLAN). Этот вариант STP известен как CST (CommonSpanningTree). Наличие только одного процесса для всех VLAN очень облегчает работу по настройке и разгружает процессор коммутатора, но, с другой стороны, CST имеет недостатки: избыточные связи между коммутаторами блокируются во всех VLAN, что не всегда приемлемо и не дает возможности использовать их для балансировки нагрузки.
Cisco имеет свой взгляд на STP, и свою проприетарную реализацию протокола - PVST (Per-VLAN SpanningTree) - которая предназначена для работы в сети с несколькими VLAN. В PVST для каждого VLAN-а существует свой процесс STP, что позволяет независимую и гибкую настройку под потребности каждого VLAN-а, но самое главное, позволяет использовать балансировку нагрузки за счет того, что конкретная физическая связь может быть заблокирован в одном VLAN-е, но работать в другом. Минусом этой реализации является, конечно, проприетарность: для функционирования PVST требуется проприетарный же ISL канал между коммутаторами.
Также существует вторая версия этой реализации - PVST+, которая позволяет наладить связь между коммутаторами с CST и PVST, и работает как с ISL- каналами, так и с 802.1q. PVST+ это протокол по умолчанию на коммутаторах Cisco.
В 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)
В уже сложившейся топологии только корневой коммутатор шлет BPDU, остальные ретранслируют
Все коммутаторы шлют BPDU в соответствиисhello-таймером (2 секунды по умолчанию)
- перенаправление\пересылка (forwarding)
- отбрасывание(discarding), заменяет disabled, blocking и listening
- корневой (root), участвует в пересылке данных, ведет к корневому мосту
- назначенный (designated), тоже работает, ведет от корневого коммутатора
- неназначенный (non-designated), не участвует в пересылке данных
- корневой (root), участвует в пересылке данных
- назначенный (designated), тоже работает
- дополнительный (Alternate), не участвует в пересылке данных
- резервный (backup), тоже не участвует
Использует процесс 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).
Чуть выше, мы упоминали о PVST, в котором для каждого VLAN-а существует свой процесс STP. VLAN-ы это довольно удобный инструмент для многих целей, и поэтому, их может быть достаточно много даже в некрупной организации. И в случае PVST, для каждого будет рассчитываться своя топология, тратиться процессорное время и память коммутаторов. А нужно ли нам рассчитывать STP для всех 500 VLAN-ов, когда единственное место, где он нам нужен- это резервный канал между двумя коммутаторами? Тут нас выручает MSTP. В нем каждый VLAN не обязан иметь собственный процесс STP, их можно объединять. Вот у нас есть, например, 500 VLAN-ов, и мы хотим балансировать нагрузку так, чтобы половина из них работала по одному каналу (второй при этом блокируется и стоит в резерве), а вторая- по другому. Это можно сделать с помощью обычного STP, назначив один корневой коммутатор в диапазоне VLAN-ов от 1-250, а другой- в диапазоне 250-500. Но процессы будут работать для каждого из пятисот VLAN-ов по отдельности (хотя действовать будут совершенно одинаково для каждой половины). MSTP позволяет создавать столько процессов STP, сколько у нас логических топологий, и распределять по ним VLAN-ы.
Какой бы вариант 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
Атакующий производит мониторинг сети при помощи сетевого анализатора и дожидается прохождения очередного конфигурационного BPDU от корневого моста, из которого он узнает его идентификатор. После этого он посылает в сеть пакет с идентификатором моста на единицу меньшим, чем у текущего корневого моста, тем самым заявляя о желании стать корневым мостом и инициируя выборы. Затем он вновь уменьшает на единицу значение идентификатора моста и посылает новый пакет, заставляя сеть перейти к новой волне выборов. По достижении минимального значения идентификатора, злоумышленник вновь переходит к значению, с которого он начал. Таким образом, сеть постоянно будет находиться в состоянии выборов корневого моста, и порты STP-совместимых устройств никогда не перейдут в состояние пересылки пакетов в течение этой атаки.
В этой атаке злоумышленнику нет необходимости выяснять идентификатор текущего корневого моста. Он сразу устанавливает в отсылаемых пакетах минимально возможное значение, что, как мы помним, означает наивысший приоритет. По окончании выборов злоумышленник перестает передавать конфигурационные 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, злоумышленник должен инициировать и выиграть выборы назначенного моста для "серверного" сегмента. В результате коммутаторы "отключат" использующийся в настоящий момент канал, переведя соответствующие порты в блокированное состояние, и связь между сегментами нарушится. После этого злоумышленник может выдавать себя за сервер или просто злорадствовать, если отказ в обслуживании был основной целью атаки.
Основное назначение STP состоит в предотвращении образования колец. Очевидный метод атаки заключается в образовании кольца, наличие которого будет невозможно отследить средствами STP. Этого можно добиться, организовав физическое кольцо с фильтрацией на нем всех BPDU. Такая атака приведет к частичному отказу в обслуживании или, когда у образующих кольцо каналов разные скорости, к существенной деградации пропускной способности. Действительно, если замкнуть в кольцо два концентратора и пустить запрос ping между двумя рабочими станциями, через некоторое время хождение пакетов прекратится - образовавшееся кольцо приведет к постоянной регенерации кадров.
3.1.6 Незаконный посредник (man in the middle )
Эта и следующая атаки имеют принципиальное отличие от рассмотренных выше, так как они направлены не на достижение отказа в обслуживании, а ставят своей целью обеспечение перехвата информации, который при обычном функционировании сети невозможен.
Суть данной атаки с использованием STP заключается в изменении логической структуры сети таким образом, чтобы интересующий трафик шел через станцию атакующего. Снова обратимся к Рисунку 2. В отличие от рассмотренного выше частичного отказа в обслуживании, представим, что станция злоумышленника оснащена двумя сетевыми интерфейсами, один из которых подключен к клиентскому сегменту, а другой - к серверному. Посылая соответствующие BPDU, атакующий инициирует выборы назначенного моста для обоих сегментов и выигрывает их. Существующий канал между коммутаторами выключается, и весь межсегментный трафик направляется через станцию атакующего. В случае отсутствия намерения попутно устроить отказ в обслуживании для других станций и серверов, он должен обеспечить пересылку трафика. Причем если целью является простое прослушивание и модификация проходящего трафика не требуется, то реализация этой функции в виде программного модуля тривиальна; более того, любая ОС с поддержкой функций моста и STP, например Linux Bridge Project, представляет уже готовое решение. Конечно, следует учитывать тот факт, что связь между коммутаторами может осуществляться со скоростью 100 Мбит/с, а "пользовательские" порты способны работать со скоростью 10 Мбит/с - тогда межсегментное соединение превратится в узкое место с неизбежной потерей пакетов. Ситуация может усугубиться, если часть трафика необходимо каким-либо образом изменить - злоумышленнику понадобится более мощная рабочая станция.
К счастью, эта атака невозможна в сети с единственным коммутатором (тогда это будет уже частичный DoS), и ее реализация тривиальна только в том случае, когда злоумышленник подключен одновременно к двум соседним коммутаторам. Если же он связан с коммутаторами, между которыми нет прямого соединения, ему придется подбирать, как минимум, один идентификатор моста, так как STP-совместимые устройства не передают дальше полученные BPDU, а лишь генерируют на их основе собственные.
Сниффингом (sniffing) принято называть прослушивание сетевого трафика путем перевода сетевого интерфейса в режим приема всех пакетов (promiscuousmode или promiscmode -- «неразборчивый» режим, в котором сетевая плата позволяет принимать все пакеты независимо от того, кому они адресованы, возможность обычно используется в сетевых анализаторах трафика), а не только адресованных ему или широковещательных. Очевидно, что в сети, построенной на базе коммутаторов, злоумышленник не имеет возможности перехватить пакеты, если они адресованы не ему, так как пакет направляется не во все порты (как на концентраторе), а лишь в тот, к которому присоединен получатель. Традиционно злоумышленники обходили данную проблему путем генерации шторма пакетов с различными MAC-адресами источника. Это приводило к переполнению таблицы коммутации (где хранятся соответствия между MAC-адресами и портами) вследствие ее конечного размера и, фактически, к переводу коммутатора в режим концентратора.
Аналогичных результатов злоумышленник может добиться и с использованием STP. Дело в том, что, в соответствии со спецификацией, после измен
Протокол STP. Методы сетевых атак и защиты курсовая работа. Программирование, компьютеры и кибернетика.
Курсовая работа по теме Деятельность племенного завода по разведению крупного рогатого скота
Реферат: Фикельмон, Дарья Фёдоровна
Курсовая работа: Проект портового элеватора
Реферат: Основания метафизики. Скачать бесплатно и без регистрации
Дипломная работа по теме Разработка теоретических и методических положений по вопросам построения организационной структуры администрации города Холмска
Творческое Эссе
Сочинение по теме Оноре де Бальзак. Шуаны, или Бретань в 1799 году
Декабрьское Сочинение На Тему Время Перемен
Реферат: Nyc Police Brutality Essay Research Paper Civil
Реферат: Искусство управлять временем
Курсовая работа: Правительство Д. Торо
Дом Моей Мечты Эссе На Русском
Реферат: Большой тукан
Дипломная работа по теме Формування стратегії розвитку та її реалізація на підприємстві харчової промисловості
Реферат: Развитие наук о неорганической природе в ХVIII-ХIХ веках
Сочинение Почему Я Не Курю
Дипломная работа: Федеральные государственные унитарные предприятия. Скачать бесплатно и без регистрации
Контрольная работа по теме Особенности и эффективность монополистической конкуренции
Текущий Ремонт Реферат
Новейшие Теории Личности Реферат
Анализ социально-экономического развития региона: Челябинская область - География и экономическая география курсовая работа
Системно-деятельностный подход как основа формирования познавательных универсальных учебных действий у младших школьников - Педагогика дипломная работа
Понятие субъектов арбитражного процессуального права и их классификация - Государство и право контрольная работа