Атаки на сеть на втором уровне считались до сих пор хотя и возможными, но практически маловероятными. Однако с появлением беспроводных сетей и хакерского инструмента Yersinia у злоумышленников имеется теперь новое средство, заметно повышающее риски для операторов сетей.
Проблемы с безопасностью на уровне сетевой инфраструктуры способны снизить степень готовности всей сети, так что злоумышленник может получить возможность чтения трафика и манипуляции им в целых сегментах. В большинстве случаев проблемы, возникающие на втором и третьем уровнях, не удается решить на других, более высоких, уровнях при помощи уже известных мер, когда, к примеру, для защиты вышележащих сервисных протоколов используется IPSec. Атакам и способам защиты от них, в особенности на втором уровне, уделяется мало внимания, что, вероятно, объясняется тем, что по преимуществу они нацелены на перехват контроля над каким-либо подключенным узлом, а их якобы способен инициировать только внутренний злоумышленник, о существовании которого ответственные за безопасность предпочитают забыть. Кроме того, соответствующие технологии и инструменты до сих пор были не слишком распространены.
Между тем описание новейших разновидностей атак на втором уровне можно найти без труда: с начала года доступна подробная книга по этой теме [1], в конце марта опубликован инструмент [2], автоматизирующий многие атаки, которые до сих пор считались возможными лишь в теории. Вполне осуществим сценарий, когда агрессор после успешной компрометации сервера Web в демилитаризованной зоне применяет эту систему для широкомасштабного чтения внутреннего трафика в том случае, когда демилитаризованная зона реализована при помощи собственной виртуальной сети, а не посредством выделенного коммутатора — подобная ситуация встречается часто.
К атакуемым на инфраструктурном уровне протоколам наряду с протоколом разрешения адресов (Address Resolution Protocol, ARP, известен благодаря «спуфингу ARP») относятся в первую очередьDHCP, ICMP, CDP, протокол связующего дерева (Spanning Tree Protocol, STP) и протокол маршрутизаторов «горячего» резерва (Hot Standby Router Protocol, HSRP).
СВЯЗУЮЩЕЕ ДЕРЕВО
Связующее дерево служит для выявления и предотвращения возникновения «петель» при наличии избыточных маршрутов между коммутаторами. Он базируется на стандарте IEEE 802.1d. Задействованные коммутаторы через «интервал приветствия» отправляют так называемые «блоки данных протокола моста» (Bridge Protocol Data Unit, BPDU) на групповой адрес 01-08-c2-00-00-00. На основе обмена BPDU они строят (чаще всего для виртуальной сети) логическое дерево, которое и называется связующим. У этого дерева есть корень — корневой мост с наименьшим «идентификатором моста» (Bridge-ID), состоящим из конфигурируемого «приоритета» и МАС-адреса соответствующего устройства. Избыточные соединения внутри дерева коммутаторы временно деактивируют. При отказе устройства или соединения сетевая топология вычисляется заново, и в случае необходимости выбирается новый корневой мост.
Рисунок 1. «Человек в середине» в виртуальной локальной сети. |
Тот, кто способен подключиться к устройству с (более) низким идентификатором моста — неважно, каким способом он это делает: путем подключения устройства с низким приоритетом или при помощи инструмента для генерации пакетов STP, — при определенных обстоятельствах может частично или целиком перевести на себя трафик всей виртуальной сети. Если через небольшие промежутки времени он будет менять приоритет, устанавливая его выше или ниже, то вследствие постоянного вычисления дерева связность снова нарушится, что будет равносильно атаке на «отказ в обслуживании» (Denial of Service, DoS).
Когда злоумышленник располагает двумя физическими точками подключения на разных коммутаторах (но в одной и той же виртуальной сети), он сможет направить трафик в обход, заняв позицию «незаконного посредника» (Man in the Middle, MITM). Тогда он получит возможность контролировать весь проходящий трафик и шпионить за подвергшейся нападению организацией (см. Рисунок 1).
Рисунок 2. В беспроводной сети атаку по типу «Человек в середине» реализовать проще. |
Обычно физической связи с двумя коммутаторами у него нет, поэтому описанный метод атаки вряд ли возможен. Однако ситуация меняется при использовании беспроводных сетей, поскольку кабельное подключение (розетка в офисе) и беспроводное подключение (точка доступа на [магистральном] коммутаторе) заканчиваются на разных коммутаторах (см. Рисунок 2).
Располагая магистральным соединением (см. подробнее об этом ниже), атакующий в состоянии воздействовать на все виртуальные сети. Конкретное влияние всех атак STP, однако, зависит от его местоположения и текущего связующего дерева. Последствия первой описанной атаки не столь губительны в случае применения «быстрого связующего дерева».
Кроме того, на многих коммутаторах можно сконфигурировать порты таким образом, что они либо вообще не будут принимать BPDU (функция защиты от BPDU у Cisco), либо за соответствующим портом не сможет находиться корень STP («защита корня» у Cisco). Функция безопасности портов эффективна и против атак MITM, поскольку отводимый трафик уже не принимается коммутаторами.
ПРОТОКОЛ МАРШРУТИЗАТОРОВ «ГОРЯЧЕГО» РЕЗЕРВА
Протокол маршрутизаторов «горячего» резерва (Hot Standby Router Protocol, HSRP, RFC 2281) разработан компанией Cisco и предусматривает избыточную эксплуатацию нескольких маршрутизаторов, которые доступны под одним виртуальным IP-адресом и МАС-адресом. Такие маршрутизаторы периодически обмениваются приветственными сообщениями, отправляемыми на групповой адрес всех маршрутизаторов в данной подсети (224.0.0.2). На основании самого высокого передаваемого приоритета определяется, какой маршрутизатор становится «активным», т. е. действительно принимает трафик и направляет его дальше. Остальные находятся в неактивном резервном режиме. Если нарушитель обладает возможностью рассылать пакеты HSRP с большим приоритетом, чем у имеющегося участника HSRP, он может перевести все системы HSRP в резервный режим и таким образом либо осуществляет атаку DoS, и тогда трафик блокируется, либо направляет на свою систему весь проходящий через сегмент трафик (см. Рисунок 3).
Рисунок 3. Направление данных на компьютер атакующего. |
В этом случае в отличие от связующего дерева контрмеры реализовать гораздо сложнее. Cisco рекомендует использовать либо IPSec для шифрования трафика HSRP (эта опция на коммутаторах третьего уровня с реализацией HSRP не поддерживается), либо аутентификацию HSRP, когда пароль в большинстве случаев передается открытым текстом и может быть перехвачен. Надежная аутентификация MD5 в HSRP возможна лишь в новых версиях (у маршрутизаторов — начиная с IOS 12.3(2)T), а использование фильтров IGMP встречается довольно редко.
Атаки против STP и HSRP хорошо известны и соответствующие инструменты (к примеру, Irpas [7]) давно уже доступны. Между тем в последнее время внимание привлекли два других протокола, для которых автоматизированные атаки реализованы посредством нового инструмента Yersinia, а их применение чревато серьезными последствиями. Речь идет о двух собственных протоколах Cisco: динамический магистральный протокол (Dynamic Trunking Protocol, DTP) и магистральный протокол для виртуальных сетей (VLAN Trunking Protocol, VTP).
ДИНАМИЧЕСКИЙ МАГИСТРАЛЬНЫЙ ПРОТОКОЛ
Динамический магистральный протокол служит для согласовывания параметров магистрального соединения между коммутаторами. В отличие от портов доступа, через которые к коммутатору подсоединяются отдельные станции, магистральные порты связывают между собой несколько устройств (коммутаторы с другими коммутаторами или маршрутизаторами). По умолчанию магистральный порт является членом всех виртуальных локальных сетей коммутатора, т. е. потенциально через него проходит трафик всех виртуальных сетей, что, однако, может быть ограниченно при помощи так называемых «разрешенных виртуальных сетей». Информация о принадлежности к виртуальной сети отдельных кадров передается в соответствующем «теге VLAN». Какие порты коммутатора будут магистральными, системный администратор обычно конфигурирует вручную. Однако это может быть сделано динамически и самими коммутаторами при помощи протокола DTP, который уже реализован на большинстве платформ (за исключением 2900XL/4500XL). Таким образом, коммутаторы способны самостоятельно распознавать, через какой порт они соединяются с другим коммутатором, чтобы перевести его в статус магистрального.
DTP изначально активирован на всех портах. Нужно помнить, что его режимом по умолчанию на большинстве коммутаторов является «автоматический» [3], и последующая часто встречающаяся примерная конфигурация также не изменяет готовый к работе статус порта:
interface Fast-Ethernet0/2 switchport access vlan 27 spanning-tree portfast
Поэтому обычно даже через (предположительно) порты доступа могут устанавливаться магистральные соединения. Если злоумышленнику удается завладеть магистралью, то он способен осуществлять следующее:
- чтение широковещательного и многоадресного трафика всех виртуальных сетей (при условии конфигурации по умолчанию без ограничения "разрешенных VLAN" и без "отсечения VTP", что случается очень часто);
- участие в магистральном протоколе для виртуальных сетей (подробнее см. ниже) и появляющаяся в связи с этим возможность изменения конфигурации VLAN (к примеру, создание и удаление виртуальных сетей);
- спуфинг ARP против систем в других виртуальных сетях (и чтение их трафика).
Схематически такая атака изображена на Рисунке 4.
Рисунок 4. Построение фальшивого магистрального соединения.
1, 2 - Магистраль 3 - Поддельная магистраль |
Проблема сама по себе не нова. Но поскольку Cisco никогда не публиковала спецификацию DTP, подобная атака долгое время считалась возможной лишь теоретически и только с использованием составляемых вручную пакетов ([1] также описывает этот метод). При помощи нового инструмента Yersinia (см. Рисунок 5) атакой можно легко управлять посредством меню.
Рисунок 5. Yersinia автоматизирует атаки на втором уровне. |
После успешной организации магистрали нападающий видит пересылаемый по ней трафик, в том числе все передаваемые протоколы (и прежде всего VTP, подробнее об этом ниже), весь широковещательный и многоадресный трафик сети — обычно также протоколы маршрутизации (в данном случае OSPF, см. Рисунок 6).
Рисунок 6. Нападающий видит протоколы маршрутизации. |
Помимо этого, в итоге станет возможным проникновение и в любые пакеты виртуальных сетей, поскольку через магистраль проходят все VLAN. В известной мере злоумышленник может перевести на себя трафик удаленных сетей. Схема на Рисунке 7 поясняет атаку такого рода. Она реализована в инструменте Yersinia, и наше тестирование показало, что она вполне осуществима.
Рисунок 7. Спуфинг ARP через границы виртуальной сети.
1, 2 - Магистраль 3 - Поддельная магистраль |
СЕГМЕНТИРОВАНИЕ СЕТИ БОЛЬШЕ НЕ ПОМОГАЕТ
Часто рекомендуемый (в том числе и авторами статьи) метод защиты сетей от спуфинга ARP — сегментирование — больше не эффективен. Атакующий, даже если он имеет контроль над одной-единственной подключенной к любому коммутатору системой, потенциально сможет читать трафик всех виртуальных сетей всех коммутаторов, если те соединены друг с другом. Это, однако, справедливо до тех пор, пока остается в силе конфигурация устройства по умолчанию. Простейшей мерой предотвращения описанной атаки является статичная конфигурация портов доступа для пользователей в качестве таковых (устройства на базе IOS: switchport mode access, устройства с CatOS: set trunk mod/port off).
МАГИСТРАЛЬНЫЙ ПРОТОКОЛ ДЛЯ ВИРТУАЛЬНЫХ СЕТЕЙ
В то время как «тегирование VLAN» предназначено для отнесения отдельных кадров к соответствующей виртуальной сети, магистральный протокол для виртуальных сетей обеспечивает обмен информацией о виртуальных сетях между коммутаторами, т. е. о том, какие VLAN имеются в наличии, как они называются и т. д. Для этого коммутаторы через магистральные порты отправляют пакеты VTP, причем функциональная коммуникация VTP возможна лишь между коммутаторами одного и того же «домена VTP». При помощи VTP они синхронизируют свои базы данных VLAN, для чего используют номер версии, который в случае конфликтов при синхронизации применяется в качестве арбитра. Коммутаторы Cisco работают в разных «режимах VTP»:
- сервер (по умолчанию создает и удаляет глобальные виртуальные сети);
- клиент (не имеет права вносить изменения в виртуальные сети);
- прозрачный (может создавать/удалять локальные виртуальные сети, однако игнорирует обновления VTP).
Злоумышленник, способный генерировать пакеты VTP с более высоким номером версии (путем подключения к сети устройства с высоким номером версии или отправки соответствующего сетевого пакета; условием для этого, однако, является наличие магистрального соединения с устройством, выполняющим роль «сервера VTP»), в состоянии полностью удалить информацию о виртуальных сетях всего домена VTP или всей сети.
Это равносильно атаке DoS. Поскольку в случае VTP речь идет о пакетах второго уровня (как и у CDP, но со SNAP HDLC 0х2003), злоумышленник должен иметь контроль над системой с физическим доступом к одному из сегментов. Решающим является связь с портом устройства и — как описано выше — возможность построения («фальшивого») магистрального соединения. Атака тоже считалась осуществимой лишь теоретически из-за условия подключения к магистрали; и в этом случае Yersinia представляет собой «подходящий инструмент» для автоматического осуществления агрессии (см. Рисунок 8).
Рисунок 8. Yersinia позволяет уничтожить все VLAN. |
Важная мера в деле защиты от проблем с безопасностью на базе VTP — корректная конфигурация портов доступа (см. выше), что приводит к блокированию неавторизованных магистралей. Кроме того, может быть сконфигурирован пароль, который включается в справочник MD5 пакетов VTP, т. е. не передается в открытом виде. Системным администраторам сетей с коммутаторами Cisco необходимо уже сегодня внедрить меры по обеспечению безопасности сети на втором уровне. Более подробные инструкции по выполнению предлагаются в документах [4], [5] и [6].
Энно Рей (CISSP, CISa) — технический директор провайдера услуг обеспечения безопасности ERNW; Петер Фирс — консультант по безопасности в той же компании. С ними можно связаться по адресам: erey@ernw.de и pfiers@ernw.de соответственно.
? AWi Verlag
Литература
[1] Aurand Andreas: LAN-Sicherheit, Heideiberg 2005 (Dpunkt-Verlag).
[2] Tool Yersinia: http://yersinia.sourceforge.net.
[3] Cisco Packet Magazine. "Layer 2 - The Weakest Link" http://www.cisco.com/en/US/about/ ac123/ac114/ac173/ac222/about_cisco_packet_ feature09186a0080142deb.html
[4] NSA Guide Switch Security: http://www.nsa.gov/snac/os/switch-guide-version1_01.pdf
[5] _Cisco SAFE Blueprint Layer 2 Security: http://www.cisco.com/en/US/netsol/ ns340/ns394/ns171/ns128/networking_solutions_ white_paper09186a008014870f.shtml
[6] Catalyst Secure Template: http://www.cymru.com/gillsr/documents/catalyst-secure-template.htm
[7] IRPAS (Internetwork Routing Protocol Attack Suite): http://www.phenoelit.de/irpas/