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

или введите им€

CAPTCHA
Egg Head
19-09-2013 01:23:10
»нтересна€ стать€, спасибо! ¬от кстати сайт по данной тематике (чтото вроде декомпил€тора кода дл€ PowerPC дл€ поиска у€звимостей) http://demono.ru
0 |
12-07-2014 21:31:27
инструкци€ по настройке оборудовани€ http://juniper.io.ua/s850416 консультаци€ специалистов
0 |