перед использованием VPN на базе MPLS или магистральных структур необходимо провести анализ рисков, в особенности в отношении передаваемого трафика.

Многопротокольная коммутация меток (Multi-Protocol Label Switching, MPLS) представляет собой специфицированную RFC 3031 и другими документами технологию продвижения пакетов. Разработчики стремились избежать неэффективной маршрутизации IP, когда маршрут каждого пакета определяется по его адресу назначения посредством объемных таблиц маршрутизации. В случае MPLS продвижение пакетов происходит на основании так называемых «меток». Для этого в заголовок добавляется блок данных размером 32 бит. Большую его часть составляет «тег» длиной 20 бит — собственно метка, на основании которой и принимается решение о дальнейшем перемещении пакета. Кроме того, имеется еще три поля, в том числе время жизни пакета (Time-To-Live, TTL).

Когда пакет IP достигает магистрали на базе MPLS, он в первую очередь классифицируется — по адресу назначения или по принадлежности к определенной клиентской виртуальной частной сети (Virtual Private Network, VPN), затем снабжается одной или несколькими метками и направляется дальше. На каждом транзитном узле верхняя метка заменяется на новую, после чего пакет передается следующему соседу. О метках и их значениях два соседних маршрутизатора договариваются при помощи специального протокола — в большинстве случаев протокола распределения меток (Label Distribution Protocol, LDP). Благодаря согласованию между соседними устройствами отпадает необходимость в централизованном механизме управления метками.

Когда пакет покидает магистраль, он направляется дальше в соответствии с традиционными механизмами маршрутизации.

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

Рисунок 1. MPLS служит базой для ряда современных услуг.

Наряду с базовой функцией — эффективной обработкой пакетов — метки служат для решения и других задач. В сети на базе MPLS есть ряд прочих функций, которые часто называют «службы MPLS» (см. Рисунок 1).

К таковым относятся:

  • виртуальные частные сети на базе MPLS (иногда называемые виртуальными частными сетями третьего уровня);
  • виртуальные частные сети второго уровня на базе MPLS; по ним передаются целые кадры второго уровня (подробнее об этом ниже);
  • формирование трафика MPLS в целях оптимального использования имеющейся пропускной способности и предоставления резервных маршрутов;
  • обобщенная технология MPLS (General MPLS, GMPLS) для сигнализации в оптических сетях.

Некоторые из перечисленных технологий, к примеру формирование трафика (Traffic Engineering, TЕ), имеют значение только для операторов магистральных сетей. Другие, в особенности технологии VPN, играют важную роль для многих организаций — когда подобная услуга приобретается у оператора или соответствующая служба используется в собственной территориальной локальной сети, к примеру для разделения трафика разных дочерних предприятий. Эти технологии будут представлены и подробно описаны ниже.

ОСНОВЫ ВИРТУАЛЬНОЙ ЧАСТНОЙ СЕТИ MPLS

В случае виртуальной частной сети MPLS речь идет о самостоятельной технологии на основе меток с собственной терминологией, описанной главным образом в RFC 2547 и 2917. Она часто сравнивается с ретрансляцией кадров и АТМ, поскольку в рамках одной сетевой инфраструктуры организуется несколько раздельных логических маршрутов, по которым передается трафик отдельных (клиентских) виртуальных частных сетей. Технология очень гибка в отношении возможных топологий VPN, поскольку благодаря использованию так называемых «целей маршрута» можно определять, какие сети и в каких таблицах маршрутизации упоминаются.

В первую очередь различие проводится между провайдерской сетью, где применяется MPLS, и клиентской, которая использует соответствующую службу, но не имеет никакого отношения к выделению меток или соответствующему продвижению данных. Транзитный пункт между клиентом и провайдером со стороны провайдера называют пограничным устройством провайдера (Provider Edge, PE), а со стороны клиента — пограничным устройством клиента (Customer Edge, CE).

Устройство РЕ обычно обслуживает нескольких клиентов, для чего помимо своей таблицы маршрутизации, которая в этом случае называется «глобальная», ведет дополнительные, специфичные для каждой VPN виртуальные экземпляры маршрутизации и продвижения данных (Virtual Routing and Forwarding Instance, VRF). Благодаря подобной виртуализации можно сделать так, чтобы разные клиенты пользовались одним и тем же адресным пространством или разными протоколами маршрутизации (см. Рисунок 2 и 3).

Рисунок 2. Базовая структура виртуальной частной сети MPLS.

Устройства РЕ, к которым подключаются клиенты, обмениваются информацией о том, какую именно сеть (префикс) и какого клиента они обслуживают посредством многопротокольного BGP (Multiprotocol BGP, MP-BGP) — расширенного варианта пограничного шлюзового протокола (Border Gateway Protocol, BGP). Передаваемая информация выглядит примерно так: «Через меня (устройство РЕ) при помощи следующей метки можно достичь следующие префиксы (сети) таких-то клиентов».

Функциональность VPN можно обобщить следующим образом:

  • маршрутизатор РЕ назначает индивидуально сконфигурированную метку при помощи так называемого «различителя маршрутов» каждой клиентской виртуальной частной сети;
  • устройство РЕ при помощи MP-BGP передает данные о «различителе маршрутов», префиксе сети и соответствующей метки.

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

Рисунок 3. Базовые понятия в виртуальной частной сети MPLS.

Если устройство РЕ получает от клиентского устройства пакет, оно снабжает его (минимум) двумя метками и направляет дальше: одна метка определяет, какому устройству РЕ ретранслируется пакет; вторая — к какому клиенту (клиентской сети) он относится. Таким образом, вся функциональность VPN реализуется при помощи двух меток.

При оценке безопасности этой технологии VPN часто цитируется старое исследование компании Miercom, главная мысль которого заключается в том, что технологию можно рассматривать как надежную, поскольку злоумышленник не в состоянии получить доступ к клиентским VPN или магистрали (см. Рисунок 4). Даже если придерживаться аргументации этого исследования — а Miercom часто обвиняют в чрезмерной близости к его заказчику, компании Cisco, — необходимо учитывать некоторые особенности:

  • трафик в виртуальных частных сетях MPLS не шифруется. Если в представлении читателя понятие «виртуальная частная сеть» обязательно включает в себя шифрование, то от этого базового допущения придется отказаться. В данном случае VPN не означает ничего более, кроме разделения трафика;
  • маршрутизатор РЕ обычно «делится» между различными клиентами и — при определенных условиях — задачами. Поэтому атаки, к примеру «отказ в обслуживании» (Denial of Service, DoS), из клиентской сети или — при условии соответствующей достижимости — из Internet могут иметь побочное негативное воздействие на безопасность или доступность других клиентов;
  • авторы статьи в ходе оценки операторов столкнулись с тем, что технический персонал не проводит предписанной технической проверки устройств РЕ (сканирование), «чтобы отрицательно не повлиять на достижимость других клиентов».

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

МЕТОДЫ АТАК

При атаках на VPN первоочередная цель злоумышленника — чтение трафика или неавторизованный доступ. Атаки DoS в этом случае не рассматриваются. Все атаки можно разделить на атаки «извне» (из клиентской сети или Internet) и атаки «изнутри» (с магистрали MPLS).

Рисунок 4. «Официально» виртуальные частные сети MPLS считаются надежными.

Инжекция (ввод) предварительно маркированного трафика из клиентской сети. Злоумышленник, находящийся в клиентской сети, может попытаться проникнуть в другую виртуальную частную сеть, передав «своему» устройству РЕ пакеты, уже содержащие метку. Речь идет о метке, на основании которой пакет направляется в другую VPN. Но как написано в RFC 2547: «Пакеты с метками из не заслуживающих доверия источников не принимаются магистральными маршрутизаторами».

С точки зрения провайдера, клиентская сеть никогда «не заслуживает доверия», а значит, такие пакеты должны отклоняться маршрутизатором РЕ.

Авторы проверили это требование в среде на базе оборудования Cisco, и маркированные пакеты действительно без каких-либо комментариев и сообщений об отладке были отвергнуты.

Инжекция (ввод) уже маркированного трафика из Internet. Злоумышленник может попытаться отправить на маршрутизатор РЕ уже маркированные пакеты из Internet, с целью передать их в клиентскую сеть. Для этого ему необходимо узнать или угадать используемые метки и IP-адреса, что вполне возможно. IP-адрес 10.1.1.1, к примеру, встречается в большинстве сетей, а кроме того, зная производителя оборудования, метки довольно легко угадать. Между тем уже имеется инструмент, который служит для автоматического определения используемых в сети меток (см. ссылку в «Ресурсах Internet»). Инструмент предназначен только для магистрали и не рассчитан на применение из Internet, и поэтому он не подходит для описанной атаки. Тем не менее его наличие — показатель того, что атаки на MPLS попали в сферу интересов хакеров. В ближайшем будущем наверняка появятся новые средства для автоматического проведения описанных здесь атак.

Маркированные соответствующим образом пакеты необходимо доставить до атакуемой точки (что маловероятно), а атакуемый маршрутизтор PЕ должен быть достижим из Internet (что зависит от организации конкретной сети провайдера) — только тогда атака будет успешной. Но благодаря тенденции к концентрации все большего количества функций на все меньшем числе многофункциональных устройств, такие условия нельзя полнос-тью исключать. Как уже упоминалось, RFC 2547 предписывает, чтобы пакеты с метками из не заслуживающих доверия источников, к каковым, безусловно, относится Internet, отбрасывались. В том, что это требование выполняется, мы могли убедиться, проведя различные тесты. Однако cоставители книги «Безопасность виртуальных частных сетей MPLS», выпущенной компанией Cisco, утверждают: такая атака на маршрутизаторы может быть успешной при использовании некоторых (старых) версий операционной системы IOS.

АТАКИ С МАГИСТРАЛИ

В отличие от уже перечисленных атак другие предполагают нахождение злоумышленника на магистрали. Для начала следует вкратце пояснить это условие.

Атаки с магистрали. Если злоумышленник контролирует один из узлов магистрали, то у него появляется возможность для проведения целого ряда различных атак. Конечно, прежде всего весь проходящий через этот узел трафик, если он дополнительно не зашифрован, подвергается угрозе считывания. Как правило, такое шифрование обеспечить довольно просто, однако нередко от него отказываются ради экономии и простоты администрирования виртуальной частной сети MPLS, чего не скажешь о VPN на базе IPsec, — как известно, MPLS VPN призваны заменить IPSec VPN. При обсуждении безопасности виртуальных частных сетей MPLS магистраль, за эксплуатацию которой отвечает провайдер, принимается как надежная и безопасная. Авторы, имеющие обширный практический опыт в вопросах безопасности, не готовы считать что бы то ни было изначально надежным и безопасным. В случае следующих сценариев не исключается атака на виртуальную частную сеть MPLS с магистрали.

Скомпрометированные провайдерские устройства. Необходимо помнить, что провайдерские устройства могут быть взломаны. Опубликованная в 2003 г. на собрании Группы североамериканских сетевых операторов (North American Network Operators' Group, NANOG) статистика упоминает о подобных инцидентах с более чем 5000 маршрутизаторами в сетях провайдеров услуг Internet.

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

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

Атаки на транзитные узлы между провайдерами. Для того чтобы предлагать виртуальные частные сети MPLS в мировом масштабе, многие операторы заключают между собой контракты, благодаря которым они могут строить виртуальные частные сети MPLS, простирающиеся за пределы их собственной сети, и одновременно обмениваться маркированными пакетами. RFC 2547 описывает разные модели, и среди них по меньшей мере одна — по иронии судьбы, наиболее масштабируемая — может быть по сути своей ненадежной. Кроме того, в точках обмена трафика (Internet Exchange Points, IXP) операторы часто организуют межсоединения на базе Ethernet, в результате чего потенциально создаются условия для атак на интерфейс данных на втором уровне.

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

Неправильно сконфигурированные устройства провайдеров. В большинстве случаев устройства провайдеров обслуживаются людьми, сверх меры загруженными различными обязанностями, из-за чего совершаются непредумышленные ошибки. При определенных условиях даже становится возможным нарушение целостности магистрали MPLS. Если же виртуальные частные сети MPLS используются в рамках корпоративных сетей, как это чаще всего и происходит, тогда нет почти никакой разницы между «клиентскими устройствами» и «безусловно надежными провайдерскими устройствами» — по меньшей мере в том, что касается обслуживающего персонала. На часто приводимую в оправдание ссылку на уязвимость «изнутри» структуры на базе ретрансляции кадров и АТМ авторы хотели бы возразить, указав на два значительных отличия:

  • как ретрансляция кадров, так и АТМ предполагают наличие специализированных устройств (коммутаторов), которые недостижимы из Internet. Виртуальные частные сети MPLS, для которых ключевыми словами являются консолидация и оптимизация затрат, часто реализуются на базе имеющихся платформ, а они, помимо прочего, берут или могут взять на себя дополнительные функции в сети провайдера услуг Internet и вследствие этого потенциально достижимы из Internet;
  • многообразие протоколов на разных уровнях (второй уровень: АТМ/ретрансляция кадров, третий уровень: IP) повышает сложность эксплуатации (а значит, и затраты на нее), но затрудняет проведение атак.

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

АТАКИ ИЗ ЯДРА MPLS

Модификация маршрутизации MP-BGP. Когда злоумышленник в состоянии вмешаться в первоначальный информационный обмен в Multiprotocol BGP, он может добавлять в виртуальную частную сеть «дополнительные филиалы», и уже через них получить неавторизованный доступ к системам. Причем надо не только находиться на магистрали, но и иметь в наличии дополнительные инструменты для точечного доступа к трафику BGP, что требует значительных усилий.

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

Рисунок 5. Виртуальные частные сети «альфа» и «бета» делят общее адресное пространство.

Варианты атак различны. К примеру, в той, что показана на Рисунке 5, в двух разных VPN («альфа» и «бета») используется одно и то же адресное пространство. Поступающие на устройство PE пакеты для адресного пространства 172.31.1.0 различаются по их меткам (17 для «альфа» и 20 для «бета»):

pe_7204vxr>sh ip vp vpnv4 vrf alpha labels

Network Next HopIn label/Out label

Route Distinguisher: 100:1 (alpha)

20.20.20.21/32 10.10.10.25 nolabel/17

20.20.20.40/32 172.31.2.2 19/nolabel

172.31.1.0/29 10.10.10.25 nolabel/18

172.31.2.0/29 0.0.0.0 17/aggregate(alpha)

192.168.5.0 10.10.10.25 nolabel/19

pe_7204vxr>sh ip bgp vpnv4 vrf beta labels

Network Next Hop In label/Out label

Route Distinguisher: 100:2 (beta)

172.31.1.0/29 10.10.10.25 nolabel/20

172.31.2.0/29 0.0.0.0 16/aggregate(beta)

Если теперь злоумышленник сможет читать пакеты (на Рисунке 6 простой ping), то он в состоянии изменить метку, ввести пакеты в сеть заново и таким образом проникнуть в VPN. В результате пакет будет транслироваться устройством в «не ту VPN» (перевод входящего пакета ping устройством в VPN «бета»):

01:55:45.993783 IP 172.31.1.2 > 172.31.2.2: icmp

40: echo request seq 17408

01:55:45.993815 IP 172.31.2.2 > 172.31.1.2: icmp

40: echo reply seq 17408

01:55:46.995175 IP 172.31.1.2 > 172.31.2.2: icmp

40: echo request seq 17664

01:55:46.995211 IP 172.31.2.2 > 172.31.1.2: icmp

40: echo reply seq 17664

01:55:47.996723 IP 172.31.1.2 > 172.31.2.2: icmp

40: echo request seq 17920

01:55:47.996756 IP 172.31.2.2 > 172.31.1.2: icmp

40: echo reply seq 17920

01:59:14.136855 IP 172.31.1.2 > 172.31.2.2: icmp

80: echo request seq 5725

01:59:14.136906 IP 172.31.2.2 > 172.31.1.2: icmp

80: echo reply seq 5725

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

Рисунок 6. Чтение атак — в данном случае ping.

Хотя для проведения подобных атак инструментов (пока!) не существует, даже односторонняя инжекция пакетов в виртуальную частную сеть может иметь серьезные последствия. Ее оказывается достаточно, к примеру, для атак на основе SNMP — среди которых есть сброс конфигурационного файла устройства — или для запуска «червей» на основе UDP («черви» SQL).

Такая замена меток не будет замечена системами обнаружения вторжений в VPN «бета», поскольку пакеты попадают туда уже без них и изменение меток (в отличие от изменения IP-адреса) не влечет за собой ошибки вследствие несовпадения контрольных сумм.

VPN ВТОРОГО УРОВНЯ

Под термином «виртуальная частная сеть второго уровня» в контексте MPLS обычно понимается передача произвольного трафика по MPLS (Any Transport over MPLS, AToM). Тогда по магистрали MPLS передаются не пакеты, а целые блоки второго уровня, к примеру ячейки АТМ, кадры Ethernet или frame relay.

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

Но у технологии AToM имеется две модификации, которые представляют особый интерес в рамках разговора о безопасности: Ethernet поверх MPLS (Ethernet over MPLS, EoMPLS) и служба виртуальной частной локальной сети (Virtual Private LAN Service, VPLS).

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

EoMPLS представляет собой двухточечную технологию соединения. Подключение дополнительного филиала предполагает построение от него нового туннеля ко всем уже имеющимся офисам, что ограничивает масштабируемость ЕоMPLS. Именно этот недостаток и должна исправить служба виртуальной частной локальной сети. При ее применении любое количество филиалов образуют общую сеть Ethernet с многоточечными соединениями. При добавлении филиала «псевдопровода» создаются автоматически посредством специальной системы сигнализации — однако необходимая протокольная база еще не специфицирована полностью. Все филиалы соединяются друг с другом «будто бы» напрямую, поэтому облако MPLS/VPLS часто характеризуют как «большой виртуальный коммутатор». Авторы, напротив, предпочитают рассматривать это облако MPLS/VPLS как «большой виртуальный канал» (в представлении Cisco), поскольку устройства VPLS в общем и целом не воспринимаются такими протоколами, как STP, DTP или VTP, для которых они совершенно прозрачны. Пограничными устройствами на стороне клиента в EoMPLS или VPLS чаще всего служат коммутаторы.

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

СВЯЗУЮЩЕЕ ДЕРЕВО

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

Рисунок 7. Избыточные соединения иногда оказываются открытыми.

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

ВИРТУАЛЬНЫЕ ЛОКАЛЬНЫЕ СЕТИ

Проблемы с безопасностью возникают и в связи с виртуальными локальными сетями. Если, к примеру, в двух филиалах существуют одинаковые номера виртуальных сетей, то эти VLAN после соединения филиалов посредством EoMPLS/VPLS будут «видеть» друг друга. Когда в одном филиале имеется VLAN 10 для серверов, а в другом — VLAN 10 для беспроводной сети, все пользователи беспроводной сети второго филиала будут получать широковещательный трафик Windows первого филиала, и у находящегося в беспроводной сети злоумышленника появится доступ к серверу другого филиала.

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

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

Энно Рей и Петер Фирс занимаются сетевыми протоколами и их безопасностью. Эта статья базируется на докладе Энно Рея на конференции Blackhat 2006.


Ресурсы

Инструменты для проведения атак на MPLS: http://www.irmc.com/tools/irm-mpls-tools-1.0.tar.bz2.

Майкл Берингер/Моник Морроу: «Безопасность виртуальных частных сетей MPLS» (Индианаполис, 2005).

Статистика взломов маршрутизаторов: http://www.nanog.org/tg-0306/pdf/thomas.pdf.


? AWi Verlag