Что такое tr069 в роутере

Что такое 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 можно выполнить их группирование.

 

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

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

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

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

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

Содержание

  1. Клиент TR-069 в роутере: как работает и зачем нужен
  2. Основные преимущества использования клиента TR-069
  3. Технические особенности реализации клиента TR-069 в роутере

Клиент TR-069 в роутере: как работает и зачем нужен

Работа клиента TR-069 осуществляется по следующему принципу: после подключения роутера к сети провайдера, клиент TR-069 устанавливает соединение с сервером провайдера и передает ему информацию о своем состоянии. Затем провайдер может отправлять команды управления и настройки, которые клиент TR-069 выполняет на роутере. Таким образом, провайдер может удаленно изменять настройки Wi-Fi, обновлять прошивку роутера, настраивать безопасность и многое другое.

Основными преимуществами клиента TR-069 являются:

  1. Удаленное управление: клиент TR-069 позволяет провайдеру удаленно управлять роутером без необходимости физического доступа к нему. Это упрощает процесс настройки и обновления роутера, особенно если пользователь не имеет достаточной технической подготовки.
  2. Автоматизация настроек: клиент TR-069 позволяет провайдеру автоматически настраивать роутер на основе определенных параметров. Например, провайдер может настроить Wi-Fi сеть с определенным именем и паролем, что значительно упрощает процесс подключения устройств к сети.
  3. Улучшение безопасности: клиент TR-069 обеспечивает провайдеру возможность обновлять прошивку роутера, включая исправления уязвимостей и внедрение новых функций без участия пользователя. Это повышает уровень безопасности сети и защищает от возможных атак.

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

Основные преимущества использования клиента TR-069

Клиент TR-069 (CPE WAN Management Protocol) предоставляет ряд значительных преимуществ для операторов связи и пользователей роутеров:

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

2. Централизованное управление: Клиент TR-069 позволяет операторам связи централизованно управлять сетью роутеров, применять настройки, обновлять прошивки и выполнять другие операции без необходимости физического доступа к каждому роутеру.

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

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

5. Улучшенная производительность: Клиент TR-069 позволяет оператору связи мониторить состояние сети и проводить профилактику, устранение неполадок и оптимизацию работы роутеров, что повышает производительность и качество предоставляемых услуг.

6. Удобство использования: Клиент TR-069 предоставляет оператору связи и пользователям простой и интуитивно понятный интерфейс для управления настройками роутера, что позволяет быстро и легко настраивать сеть и решать проблемы без необходимости обращения в техническую поддержку.

Все эти преимущества делают клиент TR-069 незаменимым инструментом для операторов связи, обеспечивая им высокую гибкость и эффективность в управлении сетями и предоставлении качественных услуг интернета.

Технические особенности реализации клиента TR-069 в роутере

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

  • Протокол обмена данными: Клиент TR-069 в роутере общается с ACS (Auto Configuration Server) с помощью протокола SOAP/XML, который является широко распространенным и поддерживается многими устройствами и программными платформами.
  • Безопасность: Реализация клиента TR-069 обеспечивает высокий уровень безопасности. Для установления соединения с ACS используется протокол HTTPS, который обеспечивает шифрование данных и аутентификацию сервера с помощью сертификатов SSL.
  • Удаленное управление: Клиент TR-069 позволяет оператору удаленно управлять настройками и функциями роутера. Это включает в себя изменение конфигурации, обновление прошивки, перезагрузку устройства и многое другое.
  • Мониторинг и диагностика: Клиент TR-069 предоставляет оператору возможность мониторинга и диагностики роутера. Оператор может получать информацию о состоянии устройства, статистику использования ресурсов, логи событий и другую полезную информацию.
  • Гибкость и расширяемость: Реализация клиента TR-069 в роутере обеспечивает гибкость и расширяемость функционала. Оператор может проводить дополнительные настройки и добавлять новые сервисы и возможности для удаленного управления.

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

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

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

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

Дени ДеВито – в роли доступного тостера 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 евро за копейки?

Клиент Tr 069 – это встроенное программное обеспечение, которое использовано в роутерах D Link для удаленного управления и настройки устройств. Данный протокол позволяет провайдерам интернет-услуг предоставить дополнительные функции и возможности для пользователей.

Tr 069 является международным стандартом, который используется для удаленного управления и настройки сетевых устройств, таких как роутеры, модемы, IP-телефоны и другие устройства. С его помощью провайдеры могут осуществлять диагностику и внесение изменений в настройки устройств, а также предоставлять услуги удаленной поддержки для своих клиентов.

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

Использование клиента Tr 069 в роутере D Link позволяет провайдерам быстро реагировать на проблемы и запросы пользователей, а также обеспечивает более эффективное управление сетевыми устройствами и предоставление услуг.

Содержание

  1. Определение и назначение
  2. Преимущества и возможности
  3. Интеграция и настройка
  4. Роль в облачном управлении
  5. Безопасность и защита данных
  6. Как выбрать роутер с клиентом Tr 069
  7. Вопрос-ответ
  8. Какую функцию выполняет клиент Tr 069 в роутере D Link?
  9. Можно ли отключить клиент Tr 069 в роутере D Link?
  10. Каким образом работает клиент Tr 069 в роутере D Link?

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

Клиент TR-069 — это программа, встроенная в роутер D-Link, которая позволяет провайдерам интернет-услуг использовать удаленное управление и мониторинг роутера без необходимости физической настройки или вмешательства пользователя.

TR-069 (или Technical Report 069) — это стандарт протокола для управления устройствами в сети, разработанный Форумом широкополосной сети (Broadband Forum). Он обеспечивает провайдерам возможность удаленного контроля и настройки устройств в домашней сети абонента по стандартизированному протоколу.

Клиент TR-069 на роутере D-Link предоставляет провайдеру интернет-услуг доступ к роутеру через удаленное управление, что позволяет провайдеру настраивать и обновлять роутер, мониторить состояние устройства и проводить диагностику проблем без необходимости физической настройки или посещения абонента.

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

Клиент TR-069 обычно включен по умолчанию на роутерах D-Link и может быть активирован и сконфигурирован провайдером в соответствии с требованиями и настройками сети.

Преимущества и возможности

Клиент Tr 069 в роутере D Link предоставляет ряд преимуществ и возможностей для пользователей:

  1. Удаленное управление устройством. Клиент Tr 069 позволяет проводить настройки роутера и управлять его функциями удаленно, используя специальный сервер управления. Это особенно полезно в случае, когда устройство расположено в удаленной локации или требует настройки издалека.
  2. Автоматическое обновление прошивки. Клиент Tr 069 позволяет автоматически проверять и устанавливать обновления прошивки роутера. Это гарантирует, что устройство всегда будет работать на последней версии программного обеспечения, что повышает его безопасность и производительность.
  3. Мониторинг состояния устройства. Клиент Tr 069 позволяет следить за состоянием роутера и получать информацию о его работе. Это позволяет быстро выявлять и устранять возникшие проблемы, а также предотвращать сбои и снижение производительности.
  4. Удобный интерфейс управления. Клиент Tr 069 предоставляет удобный и интуитивно понятный интерфейс управления, который позволяет быстро настраивать и изменять параметры роутера. Это делает использование устройства более комфортным и удобным для пользователей.

В целом, использование клиента Tr 069 в роутере D Link обеспечивает более эффективное и удобное управление устройством, повышает его безопасность и производительность, а также позволяет оперативно выявлять и устранять возникшие проблемы.

Интеграция и настройка

Для интеграции и настройки клиента Tr 069 в роутере D Link необходимо выполнить несколько шагов:

  1. Войдите в административную панель роутера D Link, введя IP-адрес роутера в адресную строку браузера.
  2. Перейдите в раздел «Настройки» или «Управление устройством», в зависимости от модели роутера.
  3. Найдите раздел, связанный с клиентом Tr 069 или удаленным управлением.
  4. Включите функцию клиента Tr 069 и укажите сервер управления. При необходимости укажите также порт и учетные данные для подключения к серверу.
  5. Сохраните вносимые изменения и перезагрузите роутер для их применения.

После выполнения этих шагов роутер D Link будет интегрирован с сервером управления через клиент Tr 069. Это позволит операторам удаленно настраивать и контролировать роутеры, а также производить обновления ПО и конфигурации.

Важно отметить, что настройка клиента Tr 069 может отличаться в зависимости от модели и версии ПО роутера D Link. Рекомендуется обратиться к руководству пользователя или документации к конкретной модели роутера для получения более подробной информации о настройке клиента Tr 069.

Роль в облачном управлении

Клиент TR-069 в роутере D Link играет важную роль в облачном управлении. Облачное управление позволяет провайдеру интернет-услуг передавать команды и получать информацию от роутера удаленно, через интернет.

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

С помощью клиента TR-069 провайдер может:

  • Получить информацию о состоянии роутера: данные о скорости подключения, уровне сигнала, количестве подключенных устройств;
  • Дистанционно настраивать и обновлять параметры роутера, такие как пароль, SSID (имя сети), каналы Wi-Fi;
  • Управлять подключенными устройствами, например, блокировать доступ к определенным сайтам или управлять родительским контролем;
  • Мониторить нагрузку и качество работы сети, анализировать сетевой трафик;
  • Выполнять диагностику и устранять проблемы с сетью удаленно;
  • Предоставлять удаленную техническую поддержку.

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

Безопасность и защита данных

Клиент Tr 069 в роутере D Link обеспечивает функционал удаленного управления и настройки устройства. Однако, использование такого клиента может представлять определенные угрозы безопасности и конфиденциальности данных.

Вот некоторые важные аспекты безопасности, которые следует учитывать при использовании клиента Tr 069:

  • Защита пароля: Убедитесь, что пароль для доступа к клиенту Tr 069 надежный и никому неизвестен, кроме вас. Избегайте использования очевидных паролей, таких как «admin» или «password».
  • Обновление программного обеспечения: Регулярно проверяйте наличие обновлений для клиента Tr 069 и роутера D Link в целом. Обновления часто содержат исправления уязвимостей безопасности.
  • Файрволл: Включите фирменный межсетевой экран (файрволл) на вашем роутере D Link. Это поможет предотвратить несанкционированный доступ к устройству и защитить ваши данные.
  • Проверка SSL-сертификатов: Если клиент Tr 069 поддерживает SSL-шифрование для безопасной передачи данных, убедитесь, что у вас установлен доверенный SSL-сертификат. Это позволит защитить приватные данные от перехвата.
  • Ограничение доступа: Если ваш роутер D Link позволяет настроить доступ к клиенту Tr 069 только с определенных IP-адресов, настройте список разрешенных адресов. Это сократит возможность несанкционированного доступа.

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

Следование указанным рекомендациям поможет улучшить безопасность и защиту данных при использовании клиента Tr 069 в роутере D Link.

Как выбрать роутер с клиентом Tr 069

Tr 069 (или CPE WAN Management Protocol) — это протокол удаленного управления, который позволяет провайдерам интернет-услуг управлять и обновлять оборудование у клиента. Если вы хотите выбрать роутер с клиентом Tr 069, следуйте следующим рекомендациям:

  1. Поддержка протокола Tr 069: Проверьте спецификации роутера, чтобы убедиться, что он поддерживает протокол Tr 069. Обычно эта информация указывается на официальном веб-сайте производителя или в документации к устройству.

  2. Рекомендации провайдера: Свяжитесь с вашим интернет-провайдером и уточните, какие роутеры они рекомендуют для использования с их системой удаленного управления. Они могут предоставить вам список совместимых моделей роутеров.

  3. Надежность и безопасность: Используйте отзывы и рекомендации других пользователей, чтобы определить, насколько надежны и безопасны различные модели роутеров с клиентом Tr 069. Обратите внимание на функции защиты, такие как файрволл и шифрование Wi-Fi.

  4. Область покрытия и пропускная способность: Учитывайте требования вашей сети и выберите роутер с достаточной скоростью и покрытием, чтобы удовлетворить потребности всех подключенных устройств.

  5. Цена: Сравните цены различных моделей роутеров с клиентом Tr 069. Установите бюджет и выберите роутер, который соответствует вашим финансовым возможностям.

Следуя этим рекомендациям, вы сможете выбрать роутер с клиентом Tr 069, который лучше всего подойдет для ваших потребностей и обеспечит удобное удаленное управление вашим сетевым оборудованием.

Вопрос-ответ

Какую функцию выполняет клиент Tr 069 в роутере D Link?

Клиент Tr 069 в роутере D Link выполняет функцию управления и конфигурирования роутера удаленно. С помощью этого протокола провайдер может изменять настройки роутера, обновлять его прошивку и контролировать работу устройства.

Можно ли отключить клиент Tr 069 в роутере D Link?

Да, в роутере D Link можно отключить клиент Tr 069, однако это может привести к потере возможности удаленного управления и конфигурирования роутера со стороны провайдера. Если вы не пользуетесь этой функцией и хотите повысить безопасность, то можете отключить клиент Tr 069.

Каким образом работает клиент Tr 069 в роутере D Link?

Клиент Tr 069 в роутере D Link работает по принципу взаимодействия с ACS (Auto Configuration Server) — сервером автоматической конфигурации. Роутер периодически отправляет на сервер информацию о своем текущем состоянии, а ACS в свою очередь может отправлять команды и настройки на роутер. Таким образом, осуществляется удаленное управление и конфигурирование роутера.

From Wikipedia, the free encyclopedia

Technical Report 069 (TR-069) is a technical specification of the Broadband Forum that defines an application layer protocol for remote management and provisioning of customer-premises equipment (CPE) connected to an Internet Protocol (IP) network. TR-069 uses the CPE WAN Management Protocol (CWMP) which provides support functions for auto-configuration, software or firmware image management, software module management, status and performance managements, and diagnostics.

The CPE WAN Management Protocol is a bidirectional SOAP- and HTTP-based protocol, and provides the communication between a CPE and auto configuration servers (ACS). The protocol addresses the growing number of different Internet access devices such as modems, routers, gateways, as well as end-user devices which connect to the Internet, such as set-top boxes, and VoIP-phones.

TR-069 was first published in May 2004, with amendments in 2006, 2007, 2010, July 2011 (version 1.3),[1] and November 2013 (version 1.4 am5)[2]

Other technical initiatives, such as the Home Gateway Initiative (HGI), Digital Video Broadcasting (DVB) and WiMAX Forum endorsed CWMP as the protocol for remote management of residential networking devices and terminals.

Communication[edit]

Transport[edit]

CWMP is a text based protocol. Orders sent between the device (CPE) and auto configuration server (ACS) are transported over HTTP (or more frequently HTTPS). At this level (HTTP), the CPE acts as client and ACS as HTTP server. This essentially means that control over the flow of the provisioning session is the sole responsibility of the device.

Configuration parameters[edit]

In order for the device to connect to the server, it needs to have certain parameters configured first. These include the URL of the server the device wants to connect to and the interval at which the device will initiate the provisioning session (PeriodicInformInterval). Additionally, if authentication is required for security reasons, data such as the username and the password needs to be provided.[3]

Provisioning session[edit]

All communications and operations are performed in the scope of the provisioning session. The session is always started by the device (CPE) and begins with the transmission of an Inform message. Its reception and readiness of the server for the session is indicated by an InformResponse message. That concludes the session initialization stage. The order of the next two stages depends on the value of the flag HoldRequests. If the value is false the initialization stage is followed by the transmission of device requests, otherwise ACS orders are transmitted first. The following description assumes the value is false.

In the second stage, orders are transmitted from the device to the ACS. Even though the protocol defines multiple methods that may be invoked by the device on the ACS, only one is commonly found — TransferComplete — which is used to inform the ACS of the completion of a file transfer initiated by a previously issued Download or Upload request. This stage is finalized by transmission of empty HTTP-request to the ACS.

In the third stage the roles change on the CWMP level. The HTTP-response for the empty HTTP-request by the device will contain a CWMP-request from the ACS. This will subsequently be followed by an HTTP-request containing a CWMP-response for the previous CWMP-request. Multiple orders may be transmitted one-by-one. This stage (and the whole provisioning session) is terminated by an empty HTTP-response from the ACS indicating that no more orders are pending.

Session triggers[edit]

There are certain events that will trigger the provisioning session. These include:

  • Bootstrap – when device contacts the server for the first time, the server URL changed, or the device settings were reset to default;
  • Periodic – the device is scheduled to perform a periodic session, as per the PeriodicInformInterval settings;
  • Connection request – the device responds to the server’s request for a connection;
  • Value change – value for a parameter that is being monitored has changed;
  • Boot – after the device was reset or lost power and was reconnected;
  • Scheduled – when the device was previously instructed by the server to initialize an additional session with ScheduleInform command;
  • Transfer complete – after the device finished downloading or uploading files requested by the server;
  • Diagnostic complete – once the device finishes a diagnostic.[3]

Security and authentication[edit]

As vital data (like user names and passwords) may be transmitted to the CPE via CWMP, it is essential to provide a secure transport channel and always authenticate the CPE against the ACS. Secure transport and authentication of the ACS identity can easily be provided by usage of HTTPS and verification of the ACS certificate. Authentication of the CPE is more problematic. The identity of the device is verified based on a shared secret (password) at the HTTP level. Passwords may be negotiated between the parties (CPE-ACS) at every provisioning session. When the device contacts the ACS for the first time (or after a factory-reset) default passwords are used. In large networks it is the responsibility of the procurement to ensure each device is using unique credentials, their list is delivered with the devices themselves and secured.[citation needed].

Connection request[edit]

Initialization and control of the provisioning session flow is the sole responsibility of the device, but it is possible for the ACS to request a session start from the device. The connection request mechanism is also based on HTTP. In this case the device (CPE) is put in the role of HTTP-server. The ACS requests a connection from the device by visiting a negotiated URL and performing HTTP Authentication. A shared secret is also negotiated with the device in advance (e.g. previous provisioning session) to prevent the usage of CPEs for DDoS attacks on the provisioning server (ACS). After confirmation is sent by the device the provisioning session should be started as soon as possible and not later than 30 seconds after confirmation is transmitted.

Connection request over NAT[edit]

The CWMP protocol also defines a mechanism for reaching the devices that are connected behind NAT (e.g. IP-Phones, Set-top boxes). This mechanism, based on STUN and UDP NAT traversal, is defined in document TR-069 Annex G (formerly in TR-111).

Amendment 5 of the protocol introduces alternative method of executing Connection Request via NAT based on XMPP (see Annex K of TR-069 Amendment 5 for details).

Data model[edit]

Most of the configuration and diagnostics is performed through setting and retrieving the value of the device parameters. These are organized in a well defined hierarchical structure that is more or less common to all device models and manufacturers. Broadband Forum publishes its data model standards in two formats — XML files containing a detailed specification of each subsequent data model and all of the changes between their versions and PDF files containing human-readable details. Supported standards and extensions should be clearly marked in the device data model. This should be in the field Device.DeviceSummary or InternetGatewayDevice.DeviceSummary which is required starting from Device:1.0 and InternetGatewayDevice:1.1 respectively. If the field is not found InternetGatewayDevice:1.0 is implied. As of Device:1.4 and InternetGatewayDevice:1.6 new field ( ‘<RO>’.SupportedDatamodel) for supported standard specification was introduced.

The model is always rooted in the single key named Device or InternetGatewayDevice depending on the manufacturer’s choice. At each level of the structure objects and parameters (or array-instances) are allowed. Keys are constructed by concatenating the names of objects and parameter using ‘.'(dot) as a separator, e.g. InternetGatewayDevice.Time.NTPServer1 .

Each of the parameters may be marked as writable or non-writable. This is reported by the device in GetParameterNamesResponse message. The device should not permit the change of any parameter marked as read-only. Data model specifications and extensions clearly mark required status of most of the parameters.

Values applicable for the parameter, their type and meaning are also precisely defined by the standard.

Multi-instance objects[edit]

Some parts of the data model require the existence of multiple copies of the subtree. The best examples are those describing tables, e.g. Port Forwarding Table. An object representing an array will only have instance numbers or alias names as its children.

A multi-instance object may be writable or read-only, depending on what it represents. Writable objects allow dynamic creation and removal of their children. For example, if an object represents four physical ports on an Ethernet switch, then it should not be possible to add or remove them from the data model. If an instance is added to an object, an identifier is assigned. After being assigned, identifiers cannot change during the life-cycle of the device, except by factory reset.

Common problems[edit]

Even though the list of the parameters and their attributes is well-defined, most of the devices do not follow standards completely. Most common problems include missing parameters, omitted instance identifiers (for multi-instance objects where only one instance is present), wrong parameter access level and correctly using only defined valid values. For example, for the field that indicates supported standard of WLAN protocols, the value ‘g’ should indicate support of 802.11b and 802.11g, and ‘g-only’ support only of 802.11g. Even though values such as ‘bg’ or ‘b/g’ are not legal according to the Broadband Forum standards, they are very commonly found in device data models.

Common operations[edit]

The whole provisioning is built on top of a defined set of simple operations. Each order is considered atomic, though there is no support of transactions. If the device cannot fulfill the order a proper error must be returned to the ACS – the device should never break the provisioning session.

Message Description
GetParameterNames Retrieve list of supported parameters from the device.
GetParameterValues Retrieve current value of the parameter(s) identified by keys. A variation of this call takes an object as its key. It retrieves all of the object’s parameters
SetParameterValues Set the value of one or more parameters
GetParameterAttributes Retrieve attributes of one or more parameters
SetParameterAttributes Set attributes of one or more parameters
Download Order CPE to download and use a file, specified by URL. File types include Firmware Image, Configuration File, Ringer file, etc.
Upload Order CPE to upload a file to a specified destination. File types include the current configuration file, log files, etc.
AddObject Add new instance to an object
DeleteObject Remove instance from an object

For a more complete list of operations and an analysis of the protocol, see [4]

High-level operations possible through TR-069[edit]

  • Service activation and reconfiguration
    • Initial configuration of the service as part of zero-touch or one-touch configuration process
    • Service re-establishment (ex. after device is factory-reset, exchanged)
  • Remote Subscriber Support
    • Verification of the device status and functionality
    • Manual reconfiguration
  • Firmware and Configuration Management
    • Firmware upgrade/downgrade
    • Configuration backup/restore
  • Diagnostics and monitoring
    • Throughput (TR-143) and connectivity diagnostics
    • Parameter value retrieval
    • Log file retrieval

Security[edit]

The compromise of an ISP ACS or the link between an ACS and CPE by unauthorized entities can yield access to the TR-069-enabled devices of a service provider’s entire subscriber base. Customer information and device operation would be available to the potential attackers, including other MAC addresses on client’s networks. Covert redirection of DNS queries to a rogue DNS server might be possible, and even surreptitious firmware updates with backdoor features.[5] TR-069 ACS software has been found to be often implemented insecurely.[6] Flaws in combined implementations of TR-064 (LAN side DSL CPE configuration) and TR-069 (CWMP), that reused the same HTTP endpoint over public internet for Connection Requests without proper protections, were found in devices by various vendors and are exploited by Mirai-based botnet and other malware.[7][8]

See also[edit]

  • Wireless router

References[edit]

  1. ^ «CPE WAN Management Protocol» (PDF). TR-069 Amendment 4. Broadband Forum. July 2011. Retrieved February 16, 2012.
  2. ^ «CPE WAN Management Protocol» (PDF). TR-069 Amendment 5. Broadband Forum. November 2013. Retrieved March 3, 2014.
  3. ^ a b «Crash course in TR-069 (CWMP)». AVSystem. Retrieved November 16, 2020.
  4. ^ Basicevic, Ilija (2023). «An analysis of the TR069 (CWMP) protocol». Proceedings of the 46th MIPRO ICT and Electronics Convention (MIPRO). Opatija, Croatia: 460–465. doi:10.23919/MIPRO57284.2023.10159841. ISBN 978-953-233-104-2. S2CID 259299865.
  5. ^ Many home routers supplied by ISPs can be compromised en masse, researchers say
  6. ^ Check Point’s Malware and Vulnerability Research Group uncovered several flaws in solutions from ACS vendors
  7. ^ «Mirai attack on home routers and alleged TR-069 vulnerability». www.qacafe.com. Retrieved April 25, 2020.
  8. ^ «Practical ways to misuse a router». blog.ptsecurity.com. Archived from the original on June 22, 2017. Retrieved June 16, 2017.

External links[edit]

  • TR-069 Issue 1 Amendment 6 CPE WAN Management Protocol v1.4
  • CPE WAN Management Protocol CWMP XML Schemas and Data Model Definitions
  • Marketing Report TR-069 Deployment Scenarios, Issue: 1, August 2010
  • Specification of Technical Report 069 Specification of Technical Report 069
  • TR-069 Protocol vs. SNMP Protocol
  • CPE Requirements for TR-069 Interoperability
  • TR-069 Knowledge Base TR-069 Knowledge Base
  • What comes after TR-069? It’s TR-369
  • [1] TR-369 PCB Board
  • [2] TR-069 Auto

Configuration Server

  • [3] Frequently Asked Questions on TR-069 CWMP

Open source implementations[edit]

  • EasyCwmp — open source client
  • FreeACS — open source ACS Server written in Java
  • genieacs — open source server (ACS)

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

  • Что такое tizen в роутере
  • Что такое source target в роутере asus
  • Что такое ospf в роутере
  • Что такое stbc в роутере
  • Что такое snr в роутере

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

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