Что такое cwmp в роутере tp link

Что такое TR-069?

TR-069 (или CWMP — CPE WAN Management) — это техническая спецификация структурированного удалённого управления абонентским оборудованием (CPE). Для коммуникации между сервером автоматического конфигурирования (ACS) и абонентским оборудованием (CPE) используется XML/SOAP, что упрощает обслуживание. Для повышенной защиты TP‑Link рекомендует использовать шифрование SSL/TLS.

Первичная коммуникация между абонентским оборудованием и ACS.

Полноценное удалённое управление

Автоконфигурирование

При включении абонентское оборудование автоматически запросит настройки у ACS. При необходимости ACS также инициирует применение настроек. Таким образом у провайдера есть контроль над включением/выключением сервиса.

 

Обновление прошивки

TR-069 помогает распространять новые функции среди текущих абонентов. Через ACS провайдеры могут определять версию прошивки абонентского оборудования и обновлять его прошивку.

 

Удалённая диагностика

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

 

Устранение неполадок

С помощью TR-069 провайдеры могут удалённо выявлять проблемы в абонентском оборудовании и сократить число выездов мастеров.

 

Группирование устройств

Если абонентских устройств много, то для упрощения работы с помощью TR‑069 можно выполнить их группирование.

 

CWMP: стандарт управления устройствами в сети

CWMP (CPE WAN Management Protocol) — это протокол управления сетями, используемый операторами интернет-провайдеров для управления оборудованием клиентов (CPE — Customer Premises Equipment) и контроля его состояния.

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

Пример кода на языке Python для работы с протоколом CWMP:


from acs.api import AcsApi
# Создание объекта API с указанием параметров CWMP-сервера
api = AcsApi(server="cwmp.example.com", port=7547, username="admin", password="password")
# Получение списка всех доступных CID (Connection ID)
cid_list = api.get_cid_list()
# Получение текущей конфигурации CPE
cpe_config = api.get_parameter_values(cid_list[0], ["Device.ManagementServer.URL", "Device.WiFi.SSID"])
# Изменение значения параметра и отправка новой конфигурации на CPE
api.set_parameter_values(cid_list[0], {"Device.WiFi.SSID": "new_ssid", "Device.WiFi.Security.ModeEnabled": "WPA2-PSK"})
# Проверка статуса CPE
status = api.get_cpe_status(cid_list[0])

В примере указаны основные методы API для работы с протоколом CWMP: получение списка CID, получение/изменение параметров CPE и проверка его статуса. Код может быть доработан для конкретных задач управления сетевыми устройствами.

CWMP (CPE WAN Management Protocol) – это протокол управления ресурсами, который используется для настройки и управления оборудованием (например, роутерами) у абонентов в сетях связи. Он позволяет провайдерам связи осуществлять удаленное управление сетевым оборудованием и производить различные действия, такие как настройка параметров подключения к интернету, обновление прошивки и диагностика проблем.

Протокол CWMP основан на архитектуре клиент-сервер и включает в себя две основные компоненты – управляющую станцию ACS (Auto Configuration Server, сервер автоматической конфигурации) и клиентское устройство CPE (Customer Premises Equipment, оборудование на стороне абонента). Через протокол CWMP, управляющая станция может периодически опрашивать клиентское устройство и получать информацию о его состоянии, а также отправлять команды для выполнения различных операций.

Примечание: CWMP протокол основывается на HTTP и SOAP, что обеспечивает быструю и безопасную передачу данных между управляющей станцией и клиентским устройством.

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

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

Содержание

  1. Определение и назначение
  2. Принцип работы
  3. Преимущества
  4. Применение в современных сетях

Определение и назначение

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

Принцип работы

Протокол CWMP (CPE WAN Management Protocol) используется для удаленного управления и мониторинга домашними маршрутизаторами и другими устройствами, подключенными к сети оператора связи. Он обеспечивает оператору возможность удаленно настраивать, обновлять и контролировать устройства, а также получать информацию о их состоянии.

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

Если CWMP-сервер решает отправить новую конфигурацию устройству, он создает сообщение «TransferComplete», в котором содержится URL-адрес файлового сервера, на котором хранится новая конфигурация. Устройство получает это сообщение и начинает процесс загрузки конфигурации с файлового сервера.

После загрузки новой конфигурации устройство применяет ее и отправляет CWMP-серверу сообщение «TransferComplete», чтобы сообщить о результате операции. Оператор связи может также использовать протокол CWMP для отправки команд на устройство, изменения его конфигурации или получения дополнительной информации.

Преимущества протокола CWMP: Недостатки протокола CWMP:
– Удаленное управление и мониторинг устройств без необходимости физического доступа к ним; – Необходимость наличия CWMP-совместимого устройства;
– Возможность быстрой и эффективной настройки и обновления устройств; – Протокол может быть сложен для понимания и настройки;
– Управление большим количеством устройств с помощью одного CWMP-сервера; – Риск нарушения безопасности при несанкционированном доступе к CWMP-серверу

Преимущества

Преимущества CWMP роутера (CPE WAN Management Protocol) заключаются в его эффективности и удобстве:

  1. Удаленное управление: CWMP роутер позволяет проводить управление и настройку целой сети устройств из одного центрального места, что упрощает работу сетевого администратора и экономит время на настройке каждого отдельного устройства.
  2. Автоматизация: CWMP роутер имеет возможность автоматически настраивать и обновлять параметры сети и устройств, что делает процесс настройки и обслуживания более эффективным и надежным.
  3. Снижение затрат: Благодаря возможности удаленного управления и автоматической настройки, CWMP роутер позволяет сократить операционные затраты и уменьшить вмешательство человека в процесс обслуживания сети.
  4. Диагностика: С помощью CWMP роутера можно проводить диагностику сети и устройств, искать и исправлять неполадки, контролировать качество соединения и обеспечивать высокий уровень безопасности сети.
  5. Совместимость: CWMP роутер поддерживает стандартный протокол CPE WAN Management Protocol, что делает его совместимым с другими устройствами и оборудованием, работающими с этим протоколом.

Применение в современных сетях

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

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

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

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

В целом, CWMP роутеры играют важную роль в сетевом управлении и помогают снизить затраты на администрирование, улучшить безопасность и повысить производительность сети.

Шахар Тал: проведём быстрое голосование – кто из вас видел сериал «Слишком много поваров?». Достаточно хороший процентаж для такой аудитории. Итак, начнём.

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

Далее в титрах указаны:

Дени ДеВито – в роли доступного тостера IPv4, Арнольд Шварценеггер – в роли роутера TP- Link TD-W8961NDи другие…

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

Итак, мы являемся исследователями вредоносного ПО и уязвимостей и работаем в компании – разработчика программ в сфере IT-безопасности CheckPoint, расположенной в Тель-Авиве. Слоган нашей компании – «Мы защищаем Интернет». Наша задача состоит в том, чтобы найти уязвимость оборудования, рассказать об этом его производителю и поделиться информацией с обществом.

Сегодня мы поговорим о следующем:

  • проведём быстрый обзор спецификации протокола CWMP TR-069, своеобразную выжимку из нашего выступления на конференции DEFCON;
  • о мотивации проведения нашего исследования;
  • о последней редакции TR-069 от 2014 года, которая предоставит вам интересную информацию о наших исследованиях и его технических деталях;
  • собственно о наших исследованиях;
  • о массовых пользователях;
  • о пессимистическом взгляде на вещи.

Итак, TR-069 – это спецификация №69, описывающая протокол управления CPE WAN (CPE – оборудование, установленное в помещении клиента, ваш домашний роутер, WAN – развёрнутая интернет-сеть с большим количеством компьютеров). Впервые версия 1.0 этой спецификации появилась в 2004 году на Broadband Forum у группы компаний, разрабатывающих стандарты широкополосной связи. Было несколько редакций этой спецификации, но помните, что она была разработана почти 10 лет назад. В 2013 году появилась версия 1.4 (поправка 5), возможно, в 2015 выйдет 6-я поправка этой спецификации.

Это то, что ISP используют:

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

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

Справа расположено оборудование пользователя CPE – ваш домашний роутер с клиентом TR-069, слева – сервер TR-069, называемый также сервером автоматической конфигурации ACS. Они «разговаривают» друг с другом при помощи SOAP RPS, использующим язык XML через HTTP.

Сессию всегда инициирует роутер, это одиночное IP-соединение, с помощью которого компьютер подсоединяется к сети. ASC использует запрос соединения и отсылает роутеру команды «получить значения параметров» и «установить значения параметров».

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

На DEFCON 22 мы рассказывали о том, что мы нашли в этом процессе. Наше исследование обнаружило недостатки реализации и конфигурации, производимой многими ACS серверами сетевых провайдеров (ISP):

  • ACS являются единственной точкой «владения» Интернетом в современной инфраструктуре ISP;
  • многие реализации положений TR-069 просто недостаточно серьезны — мы нашли уязвимости в нескольких продуктах, которые приводят к захвату пользовательских маршрутизаторов злоумышленниками.

Приведу выдержку из спецификации TR-069 относительно запроса соединения Connection Request: «ACS в любое время может запросить, чтобы CPE инициировал соединение с ним при помощи механизма уведомления о запросе соединения. Поддержка этого механизма является обязательной для CPE». Фактически это означает, что любой клиент TR-069 во всём мире является также сервером запроса соединения на том порту, который мы запрашиваем, и для всех TR-069 это один и тот же порт 7547, он используется по умолчанию.

В прошлом году парни из Dead Map провели очень интересное исследование, это был Захарий Румрич и его друзья из Мичиганского университета. Они просканировали 2 миллиона случайных адресов на каждом из почти 10 тысяч портов, и определили, что CWMP 7547 — порт по умолчанию для TR-069 — является в мире вторым по популярности открытым портом. Процент его использования Hit Rate для интернета составляет 1,12%. Напомню, что этот протокол был создан 10 лет назад – подумайте об этом! Этот порт для связи с интернетом используют примерно 45 миллионов устройств, и через этот открытый порт они могут быть «прослушаны».

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

Портом 80 пользуются примерно 70 миллионов устройств, половина — для связи с веб-серверами глобального Интернета. Большинство из них это Apache серверы, далее следуют серверы nginx, IIS 8 и другие. Вторая половина устройств использует 80-й порт для Интернета вещей. Эти устройства представляют собой роутеры, веб-камеры, VoIP телефоны и тостеры.

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

Учтите, что открытый порт 7547 используют не только обычные пользователи, его применение предусмотрено программным обеспечением серверов провайдеров, взаимодействующих с устройствами пользователей. И все 45 миллионов устройств, использующих TR-069, представляют собой Интернет вещей.

Все эти устройства выходят в сеть с использованием запроса соединения Connection Request.
Мы решили исследовать проблемы безопасности и найти число пострадавших от этой уязвимости. Нам нужно было перестать гадать и перейти к фактам. В прошлом месяце (ноябрь 2014 года) мы несколько раз просканировали порты 7547 по всему адресному пространству IPv4 с помощью наших друзей Rapid 7 и ребят из Мичиганского университета. В результате после простого ввода «слэш» (/) через порт 7547 нам ответили 1,18% всех устройств публичного Интернета, общее число которых составило 46 093 733 штуки по всему свету. То есть это не одна страна, в которой открыты данные порты, это 189 стран по всему миру.

Если вы помните, в спецификации TR-069 существует требование, чтобы этот порт был открыт для запросов ASC. Так вот, в прошлом году появилось ещё 0,06% новых устройств, удовлетворяющих этому требованию, а это целых 2,2 миллиона! То есть тенденция роста налицо.

Мы занялись проблемой реализации TR-069 на клиентской стороне и вот какую статистику получили.

У нас получилось 5 основных типов серверов, использующих запрос соединения. Больше половины пришлось на штуку под названием RomPager. Это встроенный HTTP сервер от Allegro Software, компании, расположенной в штате Массачусетс, который включён в прошивку большинства роутеров. Он оптимизирован под минимальные требования – двоичные коды, минимум памяти – и впервые был представлен в 1996 году. С тех пор было много версий, последней является 5.4. Мы решили сфокусировать на нём внимание и установили, что оборудование клиента использует четыре версии RomPager.

В результате мы выяснили, что 98,04% устройств использует устаревшую версию 4.07, 1,44% используют версию 4.51, 0,51% — 4.03 и 0,01% 4.34. Как говорилось в сериале, «после этого я стал подозрительным». Чем объясняется такая невероятная популярность единственной версии RomPager?

Мы купили новый роутер TP Link, распаковали его и подсоединили к сети. В нём был установлен RomPager 4.07. Мы подумали, что может быть это старый роутер с устаревшей прошивкой и скачали с сайта TP Link новую прошивку 2014 года, обновили, перезагрузили роутер и в результате снова получили версию 4.07.

Таким образом мы получили объяснение такой популярности старой версии – это был единственный самый последний вариант прошивки, расположенный на сайтах производителей роутеров.

Кто из присутствующий здесь имеет нераспакованный новый роутер? Не может быть, вот это удача!

Парень из зала передаёт коробку с роутером, и докладчик кладёт его на стол.

Уверяю вас, этот человек на меня не работает! Мы займёмся этой коробкой позже.

Мы решили исследовать, что собой представляет RomPager версии 4.07. Он был выпущен в 2002 году и появился во множестве современных устройств:

  • 2 249 187 устройств использовали его через порт 80;
  • 11 328 029 устройств использовали его через порт 7547.

В исследовании принимало участие 200 различных моделей устройств более чем 50 разных марок. Итак, более 11 миллионов роутеров используют крайне устаревшую версию встроенного сервера, выпущенную в 2002 году, для современной сети Интернет. Это прекрасный кандидат для исследования уязвимости оборудования.

Очень важный момент состоит в том, что самые популярные версии спецификаций имеются в Интернете в открытом доступе.

А сейчас пусть продолжит Лиор – он расскажет о том, как мы анализировали эту прошивку.

Добрый день! Меня зовут Лиор и я производил анализ того, как работает RomPager версии 4.07, и обнаружил интересные результаты. У нас была фирменная прошивка, скачанная с сайта производителя роутера TP Link. Она выглядела как сжатый массив данных, поэтому мы использовали Binwalk — инструмент для поиска файлов и исполняемого кода в данном двоичном образе. Его используют для взлома архива и извлечения запакованных файлов.

Итак, внутри прошивки мы обнаружили загрузчик Bootloader, логотип производителя в формате .gif изображения и основной двоичный код Main binary.

Для более объективного анализа я решил загрузить все прошивки RomPager версии 4.07, какие только смог найти в Интернете, и обнаружил, что все они содержали заголовок ZyNOS (mipsb32) – операционную систему, которые используют сетевые устройства производства компании ZyXEL. Я не мог понять, почему устройства разных производителей имели одинаковую прошивку. Я стал изучать, что собой представляет ZyNOS.

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

Эта система имеет известную уязвимость «rom-0» (СVE-2014- 4019). По состоянию на май 2014 года этой уязвимостью обладали 1 219 985 устройств по всему миру. Эта уязвимость позволяет злоумышленнику захватить контроль над роутером, просто загрузив из него файл конфигурации без всякой авторизации, прямо из панели веб-браузера через порт 80. В результате взломщик просто получит пароль и имя пользователя. И такой уязвимости подвержены 1,2 миллиона устройств во всём мире.

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

Здесь мы получили сообщение, что по данному адресу «Объект не найден» для любого пути, кроме правильного адреса.

Я решил найти правильный адрес, то есть отправить запрос по правильному пути. Перед тем, как начать разбираться с кодом, я решил выполнить ручное тестирование через HTTP-заголовки, и неожиданно мне удалось взломать роутер путём отправки дайджест-имени пользователя с переполнением заголовка дайджест-аутентификации значением ‘a’#600.

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

Рассмотрим функцию, которая отвечает за имя пользователя.

Вы можете увидеть, что приводит к такой уязвимости – это незащищённая strcpy, функция стандартной библиотеки для копирования нуль-терминированной строки (включая нуль-терминатор) в буфер. Но что в действительности приводит к возможности взлома роутера – это отсутствие символов и возможности динамического анализа. Это очень трудно понять.

Я вскрыл роутер и принялся искать JTAG. Для тех, кто не знает, что это такое, объясню: JTAG это интерфейс для отладки и проверки встроенных программ. Но когда я снял корпус, то не обнаружил там никаких разъёмов JTAG, зато я нашёл там нечто, выглядевшее как последовательный порт U-ART на отдельной микросхеме – разъём, предназначенный для связи с другими цифровыми устройствами.

Я занялся пайкой и подсоединил его к самому роутеру, а затем через USB адаптер подсоединил этот U-ART к своему компьютеру. Когда я загрузил роутер, то обнаружил очень хорошую возможность для отладки роутера. Я покажу вам, что получил после того, как взломал роутер – это очень симпатичный краш-дамп со всеми регистрами и стеками, с указанием причины аварийной записи – «переполнение TLB». Вверху расположена строка EPS – указателя инструкций для микропроцессора MIPS. Как видите, она переписана мной, и это значит, что я контролирую роутер. Дальнейший анализ аварийного дампа позволил полностью выяснить причину уязвимости.
Итак, незащищённая strcpy позволяет полностью переписать EPC, который состоит из 584 шестнадцатиричных байт, удобно расположенных после имени пользователя, поэтому взломать роутер очень легко.

В этом заключается эксплойт №1:

  • нужно послать длинное имя пользователя;
  • переписать указатель инструкций с указанием вашего shellcode — двоичного исполняемого кода для главного процессора;
  • получить возможность удалённого управления роутером!

Трудность такого способа взлома заключается в следующем:

  • каждое устройство и каждая версия прошивки имеет разное расположение адресного пространства «Nature’s ASLR», то есть неизвестно, какое именно значение указателя инструкций необходимо переписать.
  • Если вы знаете, где расположена память в конкретном файле прошивки, то можно легко запустить код, необходимый для взлома роутера «жертвы»;
  • хакер имеет только один шанс для успешной атаки, потому что после «краша» роутер получит новый IP-адрес, так как здесь имеет место динамическое распределение IP адресов.

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

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

После нескольких перезагрузок я нашёл скрытую функцию операционной системы ZyNOS, которая позволила добраться до памяти роутера через интернет. Это ZynOs Remote Debugger, или ZORDON. Эта функция позволяла создавать контрольные точки, просматривать и редактировать память, читать и переписывать регистры в режиме онлайн.

Давайте рассмотрим уязвимость №2.

Если помните, динамическое выделение памяти отсутствует, поэтому каждый входящий HTTP-запрос заполняет предварительно выделенную «структуру запроса».

RomPager 4.07 обрабатывает до 3 параллельных запросов (3 предварительно выделенные структуры).

При посылании 3-х последовательных запросов один из них может переписать HTTP структуру, которую мы видели ранее. Это также стало возможным из-за незащищённой strcpy, и мы снова захватили контроль над EPC.

Итак, в чём состоит эксплойт №2?

  • «слепое» прочтение памяти путём замены строки заголовка HTTP.
  • Проблема: этот приём срабатывает только с портом 80, который также имеет уязвимость «rom-0».

Переедём к уязвимости №3.

RomPager поддерживает «кукиз». Как вы помните, динамическое выделение памяти отсутствует, поэтому имеет место предварительное выделение памяти под каждый массив «кукиз» общим количеством 10 штук, каждая длиной по 40 байт. Имена «кукиз» постоянны – от С0, С1, С2 … С9. На следующем слайде показано, как выглядит С0.

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

Далее он загружает его, умножая на s3, это будет индекс для 40, и использует его в пункте назначения strncpy.

Таким образом, уязвимость №3 заключается в следующем.

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

Если мы посылаем любое «кукиз» вместо С0, С1 и так далее, то получаем такой ответ:

Этот приём срабатывает на любой модели роутеров любой марки, к которым мы получили легальный доступ. Таким образом, эксплойт №3 заключается в следующем: используя несколько волшебных «кукиз», добавленных к вашему запросу, вы обходите любую аутентификацию и просматриваете интерфейс конфигурации как администратор, через любой открытый порт.
Давайте посмотрим демонстрацию сказанного – у нас есть видеозапись наших действий. Запускаем интернет-браузер и в адресной строке вводим IP адрес нашего роутера и запрос на авторизацию. Если прописать в строке: 7547, то мы получим показанное ранее сообщение.

Поэтому мы используем «наш» плагин браузера Chrome, то есть встроенный нами эксплойт, его значок размещен правее адресной строки браузера (плагин называется «Завладей всеми этими штуками!»).

Щелкаем по значку, чтобы активировать этот плагин.

Проходит буквально секунда, и перед нами открывается окно настроек роутера TP-Link. Мы обошли процесс авторизации!

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

Покажу вам ещё раз, как это работает: вводим в строку IP-адрес роутера 192.168.1.1, обновляем страницу при подключённом плагине…не получилось… пробуем ещё раз обновиться – готово! Мы зашли на страницу настроек роутера без всякого запроса аутентификации, окно ввода имени пользователя и пароля вообще не появлялось.

Ещё раз повторю: у нас сейчас подключён новый роутер от производителя, прямо из коробки, выпущенный в 2014 году, и он подвержен всё той же уязвимости, которую обнаружили и описали более 10 лет назад.

Вернёмся к нашей презентации. Мы разместили на этом слайде ссылку на сайт, где размещена информация по сути описанной нами проблемы.

На этой карте показано, какие страны затронуты этой уязвимостью. Это 189 стран по всему миру и свыше 52% всех IP-адресов.

Я знаю о чём вы сейчас подумали: нужно немедленно отказаться от использования порта 7547 на своих устройствах для выхода в Интернет. Но даже если попытаться в настройках роутера деактивировать функцию CWMP, порт 7547 всё равно останется открытым.

Противостоять этому можно следующим образом:

  • вообще отказаться от использования Интернета;
  • использовать альтернативную прошивку роутера;
  • не покупать эти модели роутеров, пока в них не ликвидируют уязвимость – вот ссылка на наш сайт со списком mis.fortunecook.ie/misfortune-cookie-suspected-vulnerable.pdf, мы постоянно его обновляем.

Рассмотрим, как проходит процесс производства роутеров.

Компания Allegro Soft поставляет RomPager производителю чипсетов, который отправляет их производителям роутеров ASUS, D-Link, Huawei, TP-Link, ZTE. Те приспосабливают ПО к различным моделям, вставляют в прошивку своё лого и продают готовые роутеры конечному пользователю оборудования.

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

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

Именно в таком случае мы говорим: «Too many cooks do spoil the broth», то есть «У семи нянек дитя без глазу» (дословный перевод с английского: «Слишком много поваров портят бульон»).
Замечу, что большинство людей никогда не обновляют прошивку своих роутеров. Это одна из причин, почему подобные уязвимости не устраняются на протяжении месяцев или даже лет.

Рассмотрим вопрос сотрудничества с производителями. Мы связались с Allegro Soft и наиболее влиятельными производителями роутеров, представили им полное описание уязвимости и предложили неразрушающие «заплатки» операционной системы (POS) для её устранения. Несмотря на наш ломанный английский, большинство вняло нашим рекомендациям и выпустило обновления прошивки с учётом наших рекомендаций, например, компания Huawei.

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

А сейчас мы ответим на часто задаваемые вопросы:

Правда ли, что RomPager настолько плох?

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

Возможно ли, что этот «чёрный ход» намеренно оставили открытым?

– Нет, на это непохоже.

Можете ли вы поделиться свои эксплойтом?

– Нет, не можем!

Можете ли вы сказать, какие IP-адреса подвержены уязвимости по этой причине в моей стране?

– Просканируйте порты 80 и 7547 и пользовательские порты ISP TR-069, используемые для запроса соединения, так как в разных странах по умолчанию могут использоваться разные порты.

Вывод: мы обнаружили очень серьёзную уязвимость IPv4, четвёртой версии протокола IP, которая на сегодняшний является основной и обслуживает большую часть сети Интернет.

Производители роутеров, вы обязаны это исправить!

Благодарю вас за внимание, теперь мы готовы ответить на ваши вопросы.

Вопрос:

— Я увидел в вашем списке роутер D-Link GSL 320, он использует ОС на основе Linux, можете ли вы сказать, что он соответствует современным требованиям безопасности?

Ответ:

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

Вопрос:

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

Ответ:

— Это совсем другой способ, нежели тот, о котором мы здесь говорили, и возможно, мы поговорим о нём позже.

Вопрос:

— Проверяли ли вы кабельные модемы, потому что по крайней мере в Германии, мы используем модемы, представленные нашими провайдерами, это специальные модели, эксплойты для которых очень хорошо известны, и над ними также легоко можно захватить контроль? Я интересуюсь потому, что не могу отказаться от использования именно этого ISP.

Ответ:

— Мы не пытались классифицировать кабельные или DSL модемы, но если ваша модель имеется в списке потенциально уязвимого оборудования, для меня не составит особого труда её протестировать.

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

Вопрос:

— Может вам стоит попытаться использовать gSOAP для решения проблемы?

Ответ:

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

Вопрос:

— Можно ли использовать ваш эксплойт для того, чтобы взломать роутер и поменять прошивку?

Ответ:

— Конечно, можно!

Вопрос:

— Можно ли избавиться от уязвимости, заблокировав использование порта 7547?

Ответ:

— Если вам каким-то волшебным способом удастся заблокировать этот порт, то вы лишите свой роутер важных функций, которые обеспечивает провайдер интернета, в том числе получение IP, и можете вообще потерять доступ в WAN. Однако если использовать этот порт для получения IP в локальной сети LAN, а для выхода в Интернет пользоваться другим портом, то уязвимости можно избежать. И некоторые провайдеры Интернета предоставляют такую возможность своим клиентам.

Вопрос:

— Могу ли я избавиться от уязвимости, если сразу после того, как вытащу роутер из коробки и подсоединю к сети, ACS назначит ему другой порт по умолчанию?

Ответ:

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

Вопрос:

— Избавлены ли последние версии прошивки от этой уязвимости?

Ответ:

— Да, многие производители учли эту проблему и предусмотрели защиту от неё.

Спасибо, что остаётесь с нами. Вам нравятся наши статьи? Хотите видеть больше интересных материалов? Поддержите нас оформив заказ или порекомендовав знакомым, 30% скидка для пользователей Хабра на уникальный аналог entry-level серверов, который был придуман нами для Вас: Вся правда о VPS (KVM) E5-2650 v4 (6 Cores) 10GB DDR4 240GB SSD 1Gbps от $20 или как правильно делить сервер? (доступны варианты с RAID1 и RAID10, до 24 ядер и до 40GB DDR4).

Dell R730xd в 2 раза дешевле? Только у нас 2 х Intel Dodeca-Core Xeon E5-2650v4 128GB DDR4 6x480GB SSD 1Gbps 100 ТВ от $249 в Нидерландах и США! Читайте о том Как построить инфраструктуру корп. класса c применением серверов Dell R730xd Е5-2650 v4 стоимостью 9000 евро за копейки?

CWMP (CPE WAN Management Protocol) — это протокол управления сетями, используемый операторами интернет-провайдеров для управления оборудованием клиентов (CPE — Customer Premises Equipment) и контроля его состояния.

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

Пример кода на языке Python для работы с протоколом CWMP:


from acs.api import AcsApi
# Создание объекта API с указанием параметров CWMP-сервера
api = AcsApi(server="cwmp.example.com", port=7547, username="admin", password="password")
# Получение списка всех доступных CID (Connection ID)
cid_list = api.get_cid_list()
# Получение текущей конфигурации CPE
cpe_config = api.get_parameter_values(cid_list[0], ["Device.ManagementServer.URL", "Device.WiFi.SSID"])
# Изменение значения параметра и отправка новой конфигурации на CPE
api.set_parameter_values(cid_list[0], {"Device.WiFi.SSID": "new_ssid", "Device.WiFi.Security.ModeEnabled": "WPA2-PSK"})
# Проверка статуса CPE
status = api.get_cpe_status(cid_list[0])

В примере указаны основные методы API для работы с протоколом CWMP: получение списка CID, получение/изменение параметров CPE и проверка его статуса. Код может быть доработан для конкретных задач управления сетевыми устройствами.

Что такое TR-069?

TR-069 (или CWMP — CPE WAN Management) — это техническая спецификация структурированного удалённого управления абонентским оборудованием (CPE). Для коммуникации между сервером автоматического конфигурирования (ACS) и абонентским оборудованием (CPE) используется XML/SOAP, что упрощает обслуживание. Для повышенной защиты TP‑Link рекомендует использовать шифрование SSL/TLS.

Первичная коммуникация между абонентским оборудованием и ACS.

Полноценное удалённое управление

Автоконфигурирование

При включении абонентское оборудование автоматически запросит настройки у ACS. При необходимости ACS также инициирует применение настроек. Таким образом у провайдера есть контроль над включением/выключением сервиса.

 

Обновление прошивки

TR-069 помогает распространять новые функции среди текущих абонентов. Через ACS провайдеры могут определять версию прошивки абонентского оборудования и обновлять его прошивку.

 

Удалённая диагностика

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

 

Устранение неполадок

С помощью TR-069 провайдеры могут удалённо выявлять проблемы в абонентском оборудовании и сократить число выездов мастеров.

 

Группирование устройств

Если абонентских устройств много, то для упрощения работы с помощью TR‑069 можно выполнить их группирование.

 

CWMP (CPE WAN Management Protocol) – это протокол управления ресурсами, который используется для настройки и управления оборудованием (например, роутерами) у абонентов в сетях связи. Он позволяет провайдерам связи осуществлять удаленное управление сетевым оборудованием и производить различные действия, такие как настройка параметров подключения к интернету, обновление прошивки и диагностика проблем.

Протокол CWMP основан на архитектуре клиент-сервер и включает в себя две основные компоненты – управляющую станцию ACS (Auto Configuration Server, сервер автоматической конфигурации) и клиентское устройство CPE (Customer Premises Equipment, оборудование на стороне абонента). Через протокол CWMP, управляющая станция может периодически опрашивать клиентское устройство и получать информацию о его состоянии, а также отправлять команды для выполнения различных операций.

Примечание: CWMP протокол основывается на HTTP и SOAP, что обеспечивает быструю и безопасную передачу данных между управляющей станцией и клиентским устройством.

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

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

Содержание

  1. Определение и назначение
  2. Принцип работы
  3. Преимущества
  4. Применение в современных сетях

Определение и назначение

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

Принцип работы

Протокол CWMP (CPE WAN Management Protocol) используется для удаленного управления и мониторинга домашними маршрутизаторами и другими устройствами, подключенными к сети оператора связи. Он обеспечивает оператору возможность удаленно настраивать, обновлять и контролировать устройства, а также получать информацию о их состоянии.

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

Если CWMP-сервер решает отправить новую конфигурацию устройству, он создает сообщение «TransferComplete», в котором содержится URL-адрес файлового сервера, на котором хранится новая конфигурация. Устройство получает это сообщение и начинает процесс загрузки конфигурации с файлового сервера.

После загрузки новой конфигурации устройство применяет ее и отправляет CWMP-серверу сообщение «TransferComplete», чтобы сообщить о результате операции. Оператор связи может также использовать протокол CWMP для отправки команд на устройство, изменения его конфигурации или получения дополнительной информации.

Преимущества протокола CWMP: Недостатки протокола CWMP:
– Удаленное управление и мониторинг устройств без необходимости физического доступа к ним; – Необходимость наличия CWMP-совместимого устройства;
– Возможность быстрой и эффективной настройки и обновления устройств; – Протокол может быть сложен для понимания и настройки;
– Управление большим количеством устройств с помощью одного CWMP-сервера; – Риск нарушения безопасности при несанкционированном доступе к CWMP-серверу

Преимущества

Преимущества CWMP роутера (CPE WAN Management Protocol) заключаются в его эффективности и удобстве:

  1. Удаленное управление: CWMP роутер позволяет проводить управление и настройку целой сети устройств из одного центрального места, что упрощает работу сетевого администратора и экономит время на настройке каждого отдельного устройства.
  2. Автоматизация: CWMP роутер имеет возможность автоматически настраивать и обновлять параметры сети и устройств, что делает процесс настройки и обслуживания более эффективным и надежным.
  3. Снижение затрат: Благодаря возможности удаленного управления и автоматической настройки, CWMP роутер позволяет сократить операционные затраты и уменьшить вмешательство человека в процесс обслуживания сети.
  4. Диагностика: С помощью CWMP роутера можно проводить диагностику сети и устройств, искать и исправлять неполадки, контролировать качество соединения и обеспечивать высокий уровень безопасности сети.
  5. Совместимость: CWMP роутер поддерживает стандартный протокол CPE WAN Management Protocol, что делает его совместимым с другими устройствами и оборудованием, работающими с этим протоколом.

Применение в современных сетях

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

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

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

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

В целом, CWMP роутеры играют важную роль в сетевом управлении и помогают снизить затраты на администрирование, улучшить безопасность и повысить производительность сети.

Всем привет.

Скорее всего вы уже в курсе что ПАО «Укртелеком» прописывает в свои модемы ZXHN H108N строчку на свой CWMP-сервер. Выглядит она вот так:

Пугаться не надо. Хотя писанных страшилок по поводу «неумелого» использования CWMP с вашим модемом специалистами ПАО «Укртелеком» достаточно.

Для чего же он? 

Техническим языком протокол CWMP это CPE WAN Management Protocol. Основная цель протокола CWMP – унификация средств и методов управления абонентским оборудованием (CPE) в сетях провайдеров, независимо от производителей и моделей CPE, централизация функций управления CPE, их передача со стороны абонента на сторону провайдера. Достижение указанных целей позволяет обеспечить качество предоставления массовых услуг, оптимизировать расходы на их сопровождение, упростить процедуру доступа к услуге со стороны абонентов. Красиво сказано, да?

Как вам поступить? Если вы никому не верите), то можете удалить эту строчку. Или просто деактивировать протокол. Но вам могут позвонить из службы поддержки  ПАО «Укртелеком», они ведь мониторят  конечное оборудование.

Удачи.

Friendly CWMP for Mass Remote Management of CPE

Friendly’s CWMP device management is a unified solution that improves the quality of experience for carriers and CSPs. Friendly’s CWMP solution streamlines the entire broadband service life cycle, enabling operators to increase customer satisfaction while reducing operational costs.

Friendly Technologies simplifies the deployment, management, and monitoring of Data, VoIP, and IPTV services. Friendly’s CWMP solution can manage various devices: RG/IAD, xDSL Routers, Home Gateway, IPTV STBs, ATA, VoIP Phones, WiFi, femtocells, dongles, storage devices, mobile hotspot devices, Smart Home devices, and more. The Friendly solutions service xDSL, FTTH, cable, satellite, and LTE networks.

Improving customer experience and dramatically reducing support costs

The Friendly CWMP solution streamlines and simplifies the entire service life cycle of broadband devices from deployment to ongoing management and support. By providing zero-touch provisioning and tools to diagnose and solve problems remotely on the CPE, the system reduces the number of calls to the help desk and shortens the time on each support call. As a result, service providers enjoy a significant reduction in OPEX, while increasing customer satisfaction.

Friendly’s Unique Smart Layer™ and APR™ (Automatic Problem Resolution) Technology

Friendly’s CWMP solution is the first TR-069 platform with real intelligence. Its advanced technology eliminates the carrier’s need to invest precious professional resources in learning the TR-069 protocol and developing complicated scripts. This unique technology has another major advantage – the capability of automating the process of adding new types of devices and services.

The APR™ Technology enables proactive maintenance, reduced number of calls to the call center, and drastically shortened call-handling time.

Easy In-house Customization According to YOUR Needs

The platform is designed to support easy and rapid self-customization, accommodating the system to comply with your dynamically changing needs with no (or minimal) professional services requirement. As a result, service providers accelerate their time-to-market when introducing new devices and services, avoiding heavy investment in professional services.

Friendly offers a comprehensive, fully-featured, robust solution for Carriers and CSPs to automate the deployment and support of data, voice, and video services. The solution is based on the CWMP and enables a reduction in the cost of provisioning and support.

Friendly CWMP Solution Highlights:

  • Remote management of devices including CPEs installed behind a NAT device
  • Zero-Touch self-provisioning of new devices
  • Support cost reduction tools
  • Remote diagnostics and repair
  • Automatic problem resolution (APR™)
  • WiFi optimization
  • Preventive support calls features
  • Mass update of groups of devices
  • Remote reboot and reset of devices
  • Firmware updates
  • CPE monitoring
  • Event triggering, including ‘what-if’ scenarios
  • Complete API to external applications
  • SDK and script editor

Другие наши интересноые статьи:

  • Что такое bridge соединение на роутере
  • Что такое d link 2540u роутер или нет
  • Что такое breed в роутере
  • Что такое cpe lte wi fi роутер
  • Что такое bridge в роутере mikrotik

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии