23.09.2011

Использование уязвимостей маршрутизаторов Cisco IOS

image

Статья описывает проблему использования программных уязвимостей повреждения памяти в Cisco IOS.

Автор: Felix ‘FX’ Linder

Recurity Labs GmbH

Краткое описание

Данная статья описывает проблему использования программных уязвимостей повреждения памяти в Cisco IOS. Целью статьи является описание области проблемы с целью предупреждения ее дальнейшего развития в будущем, так как текущие исследования предполагают относительно редкое использование подобных уязвимостей. Защитные стратегии могут быть спланированы более тщательно, если понимать основные проблемы, с которыми столкнется злоумышленник.

1. Введение

Успешное использование программных уязвимостей в Cisco IOS было продемонстрировано различными независимыми исследователями и группами, которые в своей работе применяли разные приемы и основывались на различных предположениях. Тем не менее, каких-либо значимых известных или неизвестных эксплойтов Cisco IOS сообществом безопасности ПО зарегистрировано не было.

По мере развития инструмента Cisco Incident Response Tool и бесплатного онлайн-сервиса[1], команда Recurity Labs нацелилась на наблюдение успешных взломов маршрутизаторов Cisco IOS. С момента предоставления этого сервиса стал очевидным факт выбора цели для атаки, основываясь на неправильно настроенной системе и функциональных уязвимостях, таких как CVE-2008-0960. Это наблюдение показывает фундаментальную разницу между атаками на инфраструктуру и атаками на концевой сетевой узел, как например серверы или клиенты любого типа.

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

2. Существующие уязвимости

Беглый взгляд на опубликованные уязвимости Cisco IOS говорит об их небольшом количестве. Список Cisco Systems’ Product Security Advisory[2] содержит 14 уязвимостей Cisco IOS на 2008 год. Почти все сообщения предполагают наибольший урон, нанесенный при использовании описанных уязвимостей, связанный максимум с состоянием отказа в обслуживании. При более детальном изучении становится понятно, что большинство опубликованных уязвимостей не являются уязвимостями повреждения памяти. Они являются следствием неправильной работы, вызванной недостаточной обработкой исключений во время обработки некоторых типов сетевого трафика.

2.1 Сервисные уязвимости

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

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

Cisco IOS может выступать в качестве сетевого сервера и клиента одновременно. Сетевые сервисы IOS включают в себя HTTP сервер для настройки и мониторинга, HTTPS сервер для тех же задач, удаленный доступ Telnet и SSH, FTP и TFTP сервер для удаленного доступа к файловой системе. Уязвимости повреждения памяти в HTTP, FTP и TFTP сервисах были идентифицированы ранее. Для них были разработаны и опубликованы соответствующие эксплойты.

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

Маршрутизаторы также должны делать доступными определенные сервисы, соответствующие их назначению. Это включает в себя сервисы связи протоколов маршрутизации (EIGRP, OSPF, ISIS, BGP) и такие сетевые сервисы как DHCP ретрансляция и IPv6. В отличие от описанных выше HTTP и FTP серверов, данные сервисы необходимы в большинстве сетей и они доступны на большом количестве сетевого оборудования. Тем не менее, поскольку большинство сервисов протоколов маршрутизации подвержены влиянию подменных сообщений (если не настроены на использование MD5 аутентификации), чаще всего они охраняются и редко открыты удаленной сети, как например, Internet.

Реализация BGP сервиса в Cisco IOS является хорошим примером невидимости сервиса любому сетевому узлу. Для работы BGP необходима TCP сессия между двумя настроенными участниками. Если подобная TCP сессия запрашивается системой, ненастроенной на Cisco IOS в качестве участника, роутер отправит в ответ TCP RST пакет, как будто сервис недоступен или вообще не настроен на роутере. Эта простая конфигурация сводит количество атак на BGP в Cisco IOS только к атакам от систем, настроенных системным администратором в качестве участников.

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

Заметное исключение из этого списка составляет уязвимость IP опций в Cisco IOS[3], где некорректно реализована обработка нескольких IPv4 протоколов. Здесь протоколы обрабатывались при адресации к IOS роутеру (ICMP запросы) и код, генерировавший ответ, был подвержен уязвимости повреждения памяти в виде переполнения буфера в стеке. Это настолько редкие уязвимости в сервисах, используемых в каждой сети, что можно говорить о появилении значительной угрозы для Cisco IOS.

В недавнем прошлом Cisco начала добавлять промышленные сервисы и сервисы связи, которые получат широкую реализацию по мере того как системные администраторы будут считать Cisco IOS с этими сервисами стабильными. Данные новые сервисы включают[4] в себя быстрорастущий набор VoIP сервисов: Lawfull Interception, SSL VPN Termination, Web Service Management Agent (настройка Cisco IOS через веб-сервис SOAP), XML-PI и H.323. Чем больше эти сервисы адаптируются к промышленным сетям и сетям связи, тем большему полю атак будут подвержены индивидуальные маршрутизаторы.

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

2.2 Уязвимости на стороне клиента

Маршрутизаторы Cisco IOS подвержены уязвимостям на стороне клиента также, как и любое другое сетевое оборудование, а может даже и в большей степени. Тем не менее, в Cisco PSIRT редко сообщалось  об идентифицированных ранее уязвимостях  для их исправления. Возможно, причина кроется в пользе уязвимостей на стороне клиента для злоумышленника, только если используется сам клиент. И поскольку Cisco, скорее всего не волнуют уязвимости клиента, стимул публикации этих уязвимостей низок.

Сетевые инженеры и персонал службы поддержки обычно не используют маршрутизаторы Cisco IOS для доступа к сервисам сети. Соответственно, злоумышленники не могут использовать эти уязвимости, даже если они им известны.

Ситуация также может измениться с введением новой функциональности в Cisco IOS. Это зависит от уровня доступа, который сможет получить злоумышленник в IOS удаленно. Например, злоумышленник может заставить IOS маршрутизатор подключиться к стороннему HTTP серверу любого назначения (VoIP сервисы, к примеру). Целый диапазон уязвимостей в клиентском коде HTTP становится доступным в качестве направления атаки.

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

2.3 Транзитные уязвимости

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

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

Рассматривая вышеописанное, отметим ситуации, в которых пакет "выбивается", что на сленге Cisco означает проталкивание пакетов от механизмов “быстрого перенаправления” (как CEF) к механизмам "коммутации процессов (process switching)" или "быстрой коммутации (fast switching)", использующих центральный процессор для принятия решения о перенаправлении. Такие ситуации, разумеется, включают в себя весь трафик, направленный от одного из адресов интерфейса, но такой трафик не будет являться транзитным. Более интересными случаями являются: переборка IP­-фрагмента (IP fragment reassembly), пакеты с IP опциями как IPv6 с Hop-by-Hop заголовками, требующими обработки.

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

3. Проблемы архитектуры

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

IOS имеет архитектуру общей линейной памяти. Здесь используется функциональность процессора для преобразования адресов только до момента создания карты памяти, как в любом двоичном файле ELF в UNIX. Процессы в IOS являются чем-то большим, чем потоки. Каждый процесс имеет собственный контекст и блок памяти в качестве стека, но никакого больше разделения между процессами не происходит. Все процессы в IOS имеют общую кучу, большой дважды связанный список блоков памяти, ссылающийся на пару маленьких связанных списков для свободного отслеживания блоков. В зависимости от платформы маршрутизатора существуют дополнительные области памяти. Они доступны из любого куска кода, запущенного на машине.

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

Роутеры Cisco IOS обычно работают на 32-х битных процессорах PowerPC и 32-х и 64-х битных процессорах MIPS. Оба процессора поддерживают разделение привилегий для реализации пространства ядра и пользователя. Использование ни одной из этих особенностей в IOS не изучалось до настоящего момента. Любое исполнение происходит на самом высоком уровне привилегий, поддерживающимся процессором - уровне супервизора.

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

Такое поведение повышает сложность надежного использования уязвимостей повреждения памяти.

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

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

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

Дополнительно в IOS имеется процесс CheckHeaps, периодически (каждые 30 секунд) проходящий через весь связанный список куч и проверяющий их целостность. Он также вызовет перезагрузку при обнаружении любого несоответствия.

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

4. Адрес возврата

Образы Cisco IOS загружаются подобно обычным UNIX программам в формате ELF. При инициализации память делится на разделы только для чтения программного кода и данных,  а также на разделы, доступные для записи области данных и кучи. Кроме других неисполняемых областей памяти, как например IO-Memory (область, выделенная для обработки пакетов), внутренняя разметка образа является единственным решающим фактором размещения памяти в маршрутизаторе.

Все это создает огромную проблему на пути разработчика эксплойта. Когда он получает контроль над указателем инструкций, возникает вопрос: Куда он должен указывать?

Так как стек любого процесса IOS является произвольно расположенным блоком памяти, его местоположение случайно. Методы вроде Heap Spray применимы только к ситуациям, когда злоумышленник имеет полный доступ. Это не относится к сетевому оборудованию. Остается только класс методов "повторного использования кода", использующих существующий код для выполнения начальной самозагрузки перед кодом злоумышленника.

4.1 Повторное использование кода

Для применения  любого метода "повторного использования кода” необходимо знать точное местоположение кода. Данное условие сохраняется и для вызова известных функций с подготовленным стеком злоумышленника, также как и для метода Return Oriented Programming[5].

К сожалению, образы Cisco IOS собираются индивидуально инженерами Cisco. Таким образом, содержимое образа и внутреннее расположение зависит от:

  • Целевой платформы Cisco
  • Главного номера версии (Major Version)
  • Второстепенного номера версии (Minor Version)
  • Редакции (Image Train)
  • Версии релиза
  • Компоновки (Feature Sets)

При поиске образов  в Cisco Feature Navigator[6], поддерживающих функцию "IP Routing” (основная функция любого маршрутизатора), результат насчитывает 272722 разных образов IOS на момент написания статьи. Взяв только одну платформу 7200er для примера, мы найдем 15878 образов. Это приведет к еще большей путанице, чем любые реализации случайного расположения адресного пространства (ASLR) в популярных операционных системах.

Дополнительно, злоумышленник, желающий применить метод “повторного использования кода” должен иметь копию кода для анализа. Однако, образы IOS являются продуктом компании Cisco Systems и, следовательно, недоступны бесплатно. Некоторые специальные серии образов доступны только определенным группам,  например военным или правоохранительным органам.

4.2 ROMMON

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

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

У автора на платформе Cisco ROMMON расположен в самых верхних областях памяти после виртуальной адресации процессора и инициализации преобразования адреса для соответствия распределения памяти IOS образа. Следовательно, его местоположение известно и неизменно.

Решающим фактором использования ROMMON в качестве точки возврата является небольшое количество версий для каждой платформы маршрутизатора. Если взять 2600 платформ маршрутизаторов, получится 8 версий ROMMON, известных автору. С некоторыми исключениями вследствие аппаратной поддержки, добавленной в поздние версии ROMMON, обновления ROMMON выходят для оборудования редко. По этой причине огромное количество маршрутизаторов имеют текущую версию ROMMON на момент их изготовления. Так как при построении сетевой инфраструктуры оборудование обычно заказывается оптом, версии не будут отличаться и поздние версии будут похожими.

Применяя метод Return Oriented Programming к коду, найденному в ROMMON, было продемонстрировано,[7] как 32-х битная случайная память записывается в область, содержащую обработчики исключений. Они могут использоваться на маршрутизаторах Cisco с процессорами PowerPC и MIPS для переполнения буфера в стеке и выполнения кода.

Данный метод применяет возврат в функцию выхода. Он выполняет запись в регистр памяти, управляемым злоумышленником, содержимого другого регистра. На PowerPC это регистры, сохраняемые по границам функции (т.е. от R13 до R31).

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

4.3 Сомнительность использования ROMMON

Использование ROMMON для более надежного выполнения вредоносного кода имеет несколько  препятствий.

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

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

Следует отметить, что злоумышленнику должна быть известна аппаратная платформа маршрутизатора Cisco, т.к. от этого будет зависеть расположение памяти ROMMON и набор инструкций (т.е. PPC и MIPS).

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

4.4 Анализ схожести кода

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

На момент написания этой статьи, результаты исследования пока недоступны.

5. Шелл-код

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

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

Альтернативный метод, доказавший более высокую надежность, чем “bind shell”, основывается на том, что почти любой маршрутизатор Cisco IOS уже имеет настроенный сервис удаленной командной строки либо через Telnet либо через SSH. Удалив требование аутентификации при помощи изменения кода, выполняющего проверку, или изменяя записи в структурах данных, содержащих аутентификационную конфигурацию для удаленных терминалов, можно с легкостью использовать существующий сервис для получения удаленного доступа. Как только будет получен привилегированный доступ к интерактивной командной строке на маршрутизаторе Cisco IOS, злоумышленник сможет использовать всю функциональность IOS для достижения своей цели. В качестве альтернативы код злоумышленника может являться реализацией приложения IOS без необходимости подключаться к командной строке и вручную изменять конфигурацию.

5.1 Использование TCL сценариев

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

Однако, была продемонстрирована[8] возможность использования TCL скриптов для реализации сложных сервисов, включая реализацию клиента зомби-сети или реализации поддержки сервиса Twitter.

Поскольку функциональность TCL в маршрутизаторах Cisco IOS увеличивается, злоумышленники смогут найти все, что им нужно для задач “стандартного” он-лайн преступления и мошенничества, используя скрипты для IOS.

5.2 Сниффер

Наивно предполагать, что маршрутизатор, находящийся под управлением злоумышленника, можно легко превратить в сниффер паролей. Ссылаясь на обработку пакетов в IOS, описанную в 2.3, можно заключить, что только доля трафика видна процессору, который является средой выполнения кода злоумышленника. Производительные маршрутизаторы IOS обычно используют мощность процессора на 40%-60%. Дополнительная нагрузка убьет маршрутизатор. Даже если ресурсов процессора будет достаточно для перехвата паролей, неожиданное увеличение задержки трафика по причине “выбивания” пакетов мгновенно привлечет внимание системных администраторов.

Введение и широкое развертывание образов IOS с функцией санкционированного прослушивания внутри сетей провайдеров может открыть новые возможности для злоумышленника. Функциональность санкционирования прослушивания трафика должна быть прозрачной для сетевого инженера, т.е. он не должен наблюдать активный перехват. Данная функция также разработана для более эффективной и выборочной передачи трафика, соответствующего определенному правилу, третьему лицу. Если эта функциональность доступна внутри образа и злоумышленник знает, как получить к ней доступ (т.е. вызвав соответствующую функцию, которая также может быть включена через SNMPv3 CISCO-TAP-MIB и CISCO-TAP2-MIB), он сможет выборочно отслеживать интересный ему трафик на любой удаленной системе, доступной скомпрометированному маршрутизатору.

5.3 Инструмент для перехвата сообщений и подмены ключей (MITM)

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

Однако, это возможно в некоторых линейках маршрутизаторов Cisco IOS и образах, использующих списки управления доступом (ACL) для поиска соответствия определенного трафика и выполнения определенных действий над ним. Эта функциональность может быть использована внутри шелл-кода для получения пакетов, содержащих интересную для злоумышленника информацию. Строгим ограничением является наличие такой информации уже в первом пакете. Поскольку первый пакет, скорее всего, будет “выбит”, снижение производительности будет незначительным.

Например, любой протокол основывается на последовательности чисел, ID запроса или другой величине, известной только отправителю и получателю. Для предотвращения имитации соединения (например TCP, DNS) проверяется совпадение этих чисел и это число отправляется злоумышленнику. В таком случае злоумышленник может имитировать DNS ответы или внедрять данные в TCP сессии, т.к. ему известна секретная величина.

5.4 Выборочное перенаправление

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

Выборочное перенаправление[9] является простым и эффективным инструментом для предотвращения использования веб-сайтов и сервисов с шифрованием (HTTPS) простыми пользователями.

5.5 Другое применение

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

6. Заключение

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

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

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



[1] Recurity Labs CIR, http://cir.recurity-labs.com

[2] http://www.cisco.com/en/US/products/products_security_advis ories_listing.html

[3] cisco-sa-20070124-crafted-ip-option

[4] http://cisco.com/en/US/docs/ios/12_4/release/notes/124TNEWF.html

[5] https://www.blackhat.com/presentations/bh-usa-08/Shacham/BH_US_08_Shacham_Return_Oriented_Programming.pdf

[6] http://cisco.com/go/fn

[7] http://cir.recurity.com/wiki/PPCreliableCodeExec.ashx

[8] http://ph-neutral.darklab.org/talks/christoph.html

[9] http://www.blackhat.com/html/bh-europe-09/bh-eu-09-speakers.html#Marlinspike

comments powered by Disqus