International conference of developers
and users of free / open source software

Безопасность канального уровня

Наташа Самойленко – Учебный центр “Сетевые технологии”, Киев, Украина – nataliya.samoylenko@gmail.com

LVEE 2009

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

введение

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

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

Как правило, атаки выполняются в комплексе, а не по одной. Удачное выполнение атаки может быть не целью, а средством получить что-то большее. Например, атака ARP-spoofing позволяет атакующему перехватывать весь трафик между интересующим ресурсом и каким-то пользователем (или подменять его). Однако выполнить эту атаку можно только в пределах широковещательного сегмента сети. Если в сети присутствует коммутатор Cisco с настройками по умолчанию, то можно поднять тегированный канал между компьютером атакующего и коммутатором и получить таким образом доступ к другим широковещательным сегментам сети. В таком случае выполнить ARP-spoofing можно в каждом из доступных сегментов.

атаки на канальном уровне сети

В зависимости от результата, который будет получен, атаки можно разделить на следующие типы (выделенные типы атак не охватывают все возможные атаки):

  • Человек посередине (Man in the middle, MitM) — атакующий находится между двумя жертвами и либо прослушивает трафик, который передается между ними, либо перехватывает его и подменяет. При этом для жертв никаких видимых признаков атаки нет;
  • Отказ в обслуживании (DoS) — атака на какой-то ресурс системы с целью довести его до отказа. На канальном уровне есть ряд атак, которые позволяют получить односторонний доступ к какому-то участку сети. Этого как раз достаточно для такого вида атаки;
  • Несанкционированный доступ к сети или участкам сети — использование каких-то недостатков в протоколах позволяет получить доступ к тем участкам сети, которые теоретически должны быть недоступны. Возможно также выполнение других типов атак в этих участках сети;
  • Нарушение работы сети или её участков — некоторые недостатки протоколов канального уровня не могут использоваться предсказуемым образом. То есть, нет возможности как-то преднамерено повлиять на их поведение, но есть возможность нарушить их нормальную работу и таким образом нарушить работу участка сети или всей сети.

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

Распространенные атаки канального уровня:

  • ARP-spoofing (ARP-poisoning) — техника сетевой атаки, применяемая преимущественно в Ethernet, но возможная и в других сетях, использующих протокол ARP, основанная на использовании недостатков протокола ARP и позволяющая перехватывать трафик между узлами, которые расположены в пределах одного широковещательного домена;
  • MAC-spoofing — атака канального уровня, заключающаяся в изменении MAC-адреса на сетевой карте, что заставляет коммутатор отправлять на порт, к которому подключен злоумышленник, пакеты, которые до этого он видеть не мог;
  • Переполнение таблицы коммутации — атака основана на том, что таблица коммутации в коммутаторах имеет ограниченный размер. После заполнения таблицы коммутатор не может более выучивать новые MAC-адреса и начинает работать как хаб, отправляя трафик на все порты;
  • Атаки на DHCP — это может быть подмена DHCP-сервера в сети (тогда атакующий может назначать дополнительные параметры DHCP, такие как шлюз по умолчанию) или атака DHCP starvation, которая заставляет DHCP-сервер выдать все существующие на сервере адреса злоумышленнику;
  • VLAN hopping — несанкционированное получение доступа к VLAN;
  • Атаки на STP — отправка сообщений BPDU для изменения текущей топологии STP.

тестирование безопасности сетевых протоколов с помощью различных сетевых утилит

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

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

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

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

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

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

Yersinia

Yersinia — сетевая утилита, позволяющая эксплуатировать недостатки ряда протоколов, использующихся активным сетевым оборудованием, и стандартных сетевых протоколов, использующихся в сети.

В настоящий момент возможны атаки на:
- стандартные сетевые протоколы:
- Dynamic Host Configuration Protocol (DHCP),
- Spanning Tree Protocol (STP),
- 802.1Q,
- 802.1X,
- проприетарные протоколы Cisco:
- Inter-Switch Link Protocol (ISL),
- VLAN Trunking Protocol (VTP),
- Cisco Discovery Protocol (CDP),
- Dynamic Trunking Protocol (DTP),
- Hot Standby Router Protocol (HSRP).

Scapy

Scapy — сетевая утилита, написанная на языке Python, которая позволяет посылать, просматривать и анализировать сетевые пакеты. В отличие от многих других утилит, Scapy не ограничена перечнем каких-то протоколов, пакеты которых она может генерировать. Фактически, она позволяет создавать любые пакеты и комбинировать атаки различных типов.

роль коммутаторов в безопасности канального уровня

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

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

функции коммутаторов для обеспечения безопасности работы сети на канальном уровне

Port security

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

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

DHCP Snooping

DHCP snooping — функция коммутатора, предназначенная для защиты от атак с использованием протокола DHCP. Например, атаки с подменой DHCP-сервера в сети или атаки DHCP starvation, которая заставляет DHCP-сервер выдать все существующие на сервере адреса злоумышленнику.

DHCP snooping регулирует только сообщения DHCP и не может повлиять напрямую на трафик пользователей или другие протоколы. Некоторые функции коммутаторов, не имеющие непосредственного отношения к DHCP, могут выполнять проверки на основании таблицы привязок DHCP snooping (DHCP snooping binding database). В их числе:

- Dynamic ARP Protection (Inspection) — проверка ARP-пакетов, направленная на борьбу с ARP-spoofing,
- IP Source Guard — выполняет проверку IP-адреса отправителя в IP-пакетах, предназначенная для борьбы с IP-spoofingом.

Dynamic ARP Inspection (Protection)

Dynamic ARP Inspection (Protection) — функция коммутатора, предназначенная для защиты от атак с использованием протокола ARP. Например, атаки ARP-spoofing, позволяющей перехватывать трафик между узлами, которые расположены в пределах одного широковещательного домена.

Dynamic ARP Inspection (Protection) регулирует только сообщения протокола ARP и не может повлиять напрямую на трафик пользователей или другие протоколы.

IP Source Guard

IP Source Guard (Dynamic IP Lockdown) — функция коммутатора, которая ограничивает IP-трафик на интерфейсах 2го уровня, фильтруя трафик на основании таблицы привязок DHCP snooping и статических соответствий. Функция используется для борьбы с IP-spoofingом.

источники

1. http://xgu.ru/wiki/Безопасность_канального_уровня