На прошлой неделе один из клиентов обнаружил серьезную уязвимость в NAS-системах TerraMaster, которую компания до сих пор не устранила. TerraMaster утверждает, что их NAS-системы доступны только в локальной сети. Однако, как выяснилось, их NAS-системы доступны по всему интернету через протокол UPnP. Протокол Universal Plug and Play (UPnP) используется бесчисленным количеством сетевых устройств, включая NAS-системы, маршрутизаторы, компьютеры, игровые приставки, принтеры, мобильные устройства, устройства IoT и многое другое.
Подробнее – 4 шага для безопасного NAS
Уязвимость в протоколе UPnP может позволить неавторизованным пользователям удаленно получить доступ к вашим данным, сканировать локальные сети или даже использовать ваши устройства для DDoS-атак. Мы связались с Кевином Норманом, пользователем TerraMaster, обнаружившим эту уязвимость. Он поделился с нами своим мнением об этой проблеме, дополнительными подробностями, а также некоторыми электронными письмами, отправленными в компанию, где он описывает полученные данные.
Что такое UPnP?
Для начала рассмотрим типичный сценарий; поскольку к нам обращаются читатели из самых разных областей, важно начать с основ. Каждый раз, когда вы подключаете USB-устройство, такое как мышь, клавиатура, портативный жесткий диск, к компьютеру, вы используете технологию Plug and Play (PnP). Ваше устройство мгновенно распознается всем компьютером; PnP избавляет вас от необходимости выполнять дополнительную настройку вручную. Аналогично PnP, технология Universal Plug and Play (UPnP) помогает обнаруживать любые сетевые устройства в вашей локальной сети. Она предназначена (в основном) для беспроводных сетей в жилых домах и малых офисах. Типичные сценарии — подключение маршрутизатора, игровой приставки, NAS или принтера, которые будут немедленно распознаны вашим персональным компьютером и другими устройствами.
UPnP удобен, позволяя быстро находить клиентов для множества устройств в вашей локальной сети. И, как и PnP, он значительно упрощает настройку новых устройств. Однако UPnP также может автоматически настраиваться вашим маршрутизатором, позволяя устройствам получать доступ извне вашей локальной сети. Используя другой популярный протокол, Internet Gateway Device (IGD), клиент UPnP может получить внешний IP-адрес вашей сети и добавить новые сопоставления переадресации портов в процессе настройки. Этот метод может показаться интересным с точки зрения потребителя, но это преимущество также использует уязвимости и крупномасштабные атаки. UPnP, по сути, предназначен для использования в доверенных локальных сетях, где протоколу не требуется реализация какой-либо аутентификации или проверки.
« Протокол UPnP по умолчанию не предусматривает аутентификации, поэтому в устройствах, использующих UPnP, необходимо реализовать дополнительную службу защиты устройства или службу безопасности устройства. Нестандартное решение под названием UPnP-UP (Universal Plug and Play – User Profile) предлагает расширение, позволяющее использовать механизмы аутентификации и авторизации пользователей для устройств и приложений UPnP. Во многих реализациях устройств UPnP отсутствуют механизмы аутентификации, и по умолчанию предполагается, что локальные системы и их пользователи полностью заслуживают доверия » .
Обнаружена уязвимость в протоколе UPnP для NAS-серверов TerraMaster.
TerraMaster Technology Co., Ltd. — китайская компания, специализирующаяся на компьютерном программном обеспечении, сетевых хранилищах и устройствах прямого подключения. Недавно Кевин Норман опубликовал в блоге сообщение , раскрывающее уязвимость в протоколе UPnP компании TerraMaster, которое быстро распространилось на Reddit и Hacker News . Кевин, инженер-программист из Великобритании, сообщил, что в феврале этого года он сообщил о своей обеспокоенности компании TerraMaster по электронной почте после проведения собственных тестов.
Кевин обнаружил уязвимость UPnP, используя TerraMaster F2-210. Это открытие привлекло его внимание, вероятно, из-за его осведомленности и опасений по поводу использования протоколов UPnP, как он уже заявлял и цитировал в некоторых других своих статьях.
Администрирование NAS, как и многих других сетевых устройств, обычно осуществляется через веб-интерфейс, который часто представляет собой тот же самый графический интерфейс пользователя (GUI). В случае с TerraMaster для работы с NAS используется операционная система TerraMaster Operating System (TOS). Эта ОС запрашивает доступ к своему графическому интерфейсу, обращаясь к имени хоста NAS в вашей сети через порт 8181. Системный интерфейс открыто заявляет, что NAS недоступен для публичного доступа.
Однако Кевин объясняет, что через несколько дней после установки NAS он обнаружил, что может получить к нему доступ, используя свой публичный IP-адрес, даже несмотря на то, что он ничего не перенаправлял. И снова графический интерфейс показал, что NAS доступен только из локальной сети.
Он проверил правила переадресации портов своего маршрутизатора и обнаружил, что NAS открывает четыре порта с использованием UPnP. Доступ к сети осуществлялся не только через порт 8181, но и через порт 5443. Кевин также отметил наличие портов 9091 и 8800, для которых он не смог найти объяснения. Порт 9091 обычно используется для Portainer, инструмента управления контейнерами для Docker, который он не устанавливал на NAS.
Он предположил, что разработчики TerraMaster использовали эти порты и, возможно, забыли удалить конфигурацию для их подключения перед выпуском программного обеспечения. « Похоже, что некоторые из этих правил остались с момента разработки», — прокомментировал Кевин. «Я доверяю этому NAS как надежному оборудованию; однако я сомневаюсь в надежности его веб-интерфейса, доступного из открытого интернета. В любом случае, хорошая практика — как можно меньше предоставлять доступ к общедоступному интернету! »
Кроме того, он попытался изменить порт веб-сервера на другой, начиная с 8181. Система перенаправляет на новый порт, но старый порт по-прежнему остается открытым. Именно тогда он решил связаться с TerraMaster, чтобы попытаться выяснить, в чем дело.
Ответ и обходное решение от TerraMaster
Кевин связался с компанией, но никаких рекомендаций или быстрого решения проблемы от них получено не было. Кевин самостоятельно получил root-доступ к роутеру, который он использовал для поиска решения. Он выражает благодарность компании TerraMaster за предоставление root-доступа.
После подключения к NAS по SSH и использования прав root для изучения файловой системы был обнаружен файл, который можно изменить. Файл « /etc/upnp.json » содержит список правил переадресации портов. Кевин быстро нашел обходное решение, изменив этот файл. Он сказал: «Просто измените значение bEnable на 0 для тех портов, которые вы не хотите открывать, перезагрузите NAS и проверьте правила переадресации портов».
« Это почти полностью решает проблему; однако, похоже, порты 8181 и 5443 по-прежнему активны, но приводят к ошибке 404, поскольку мы ранее переместили веб-сервер», — описывает Кевин. «Это лучше, чем раньше, но все еще не идеально. Я жду дальнейших инструкций от Terramaster/обновления программного обеспечения ».
Учтите, что Кевин — инженер-программист. И, как и многие в IT-индустрии, он хорошо разбирается в сетях, программировании и общих IT-концепциях. Но есть и много других, кто этого не понимает. Обычные пользователи не смогут войти в систему и изменить расширенные параметры, даже после поиска информации в Google.
Не вдаваясь в технические подробности, если вас действительно беспокоит UPnP, вам следует его отключить, по крайней мере, до проведения дальнейших исследований и консультаций. Кевин в итоге также выбрал этот вариант.
Расширенное мнение и реакция сообщества
После того, как Кевин связался с нами, он ответил, и очень любезно изложил свое мнение по этому вопросу. Он также написал еще один пост в блоге , где продолжает высказывать свою точку зрения. После того, как Кевин выявил и опубликовал уязвимость, он получил несколько сообщений от сообщества, многие из которых поддерживали его точку зрения на UPnP и TerraMaster. Другие же не согласились.
Он рассказал нам, а позже и написал в своем блоге следующее: «Некоторые предлагают отключить UPnP на локальном маршрутизаторе, но я лично считаю, что это не совсем то, что нужно. Я — инженер-программист, регулярно работающий с инфраструктурой (Kubernetes и тому подобное), и поэтому я имею некоторое представление о том, что делаю. Следовательно, я «мог бы» отключить UPnP. Думаю, эти NAS-устройства не предназначены для продажи таким людям, как я, они больше ориентированы на среднестатистического потребителя, который понятия не имеет, что такое переадресация портов или UPnP».
В этом вопросе мы согласны с Кевином, как мы уже писали и объясняли в предыдущем разделе.
Он продолжал:
« Отключение UPnP, безусловно, устраняет эту конкретную уязвимость в системе безопасности, но, если взглянуть на ситуацию в реальном мире, подавляющее большинство потребительских маршрутизаторов будут иметь эту функцию включенной, и, следовательно, подавляющее большинство этих сетевых хранилищ, находящихся в эксплуатации, скорее всего, неосознанно подвергают себя риску».
« Другие предлагают купить новый роутер, который поддерживал бы две отдельные локальные сети, чтобы этот NAS можно было подключить к локальной сети, которая не имеет прямого доступа к интернету/не поддерживает UPnP. Это еще более нелепо ожидать от потребителей. Я мог бы так сделать, и вполне возможно, сделаю это в будущем, но сейчас я не чувствую необходимости обновлять свое сетевое оборудование; оно работает, и я им доволен, и опять же, это несколько не соответствует сути дела по тем же причинам, которые я подробно описал выше » .
« Именно поэтому я и занялся изучением самого устройства. К счастью, TerraMaster предоставляет root-права на этих устройствах, что очень приятно. Это помогло мне найти решение проблемы » .
Он также прикрепляет еще одно открытие, сделанное другим пользователем TerraMaster на NAS. Еще один эксплойт, связанный с TerraMaster, касающийся утечки пароля администратора, был оставлен в комментариях к посту на Hacker News. https://news.ycombinator.com/item?id=26683488.
Пользователь "kotsec" утверждает:
« В данный момент у вас НЕ должно быть сетевых хранилищ TerraMaster, подключенных к интернету. В прошлом месяце я сообщил TerraMaster об ошибке, которая до сих пор не исправлена ».
« Перейдите по ссылке http://NAS_IP/module/api.php?wap/ , и вы получите свой пароль администратора в виде хеша md5crypt. Зачем? Я предполагаю, что это какой-то бэкдор/код разработчика, но я не знаю » .
Итак, стоит ли использовать UPnP?
В принципе, в использовании UPnP нет ничего плохого. Однако, похоже, что эти протоколы имеют множество проблем с безопасностью. Это не первый случай, когда сообщается об уязвимости UPnP; за последние годы было зарегистрировано несколько случаев, связанных с маршрутизаторами, другими сетевыми устройствами и локальными сетями.
Обычно атаки на уязвимости UPnP не направлены против домашних пользователей, а скорее против малых и средних предприятий (SOHO и SMB). Тем не менее, это может произойти. В любом случае, NAS не должен быть устройством, запрашивающим переадресацию из общедоступного интернета. Кевин и другие пользователи TerraMaster всё ещё ждут исправления или патча для устранения этой проблемы.
Похоже, дилемма «отключать или нет UPnP» полностью зависит от вас; это обмен безопасности на удобство. Включение UPnP в вашем маршрутизаторе может сделать многие ваши устройства и приложения доступными из интернета, но в то же время это упростит удаленный доступ к ним.
Если вы не планируете использовать приложения, требующие переадресации портов, следует отключить UPnP. Игровые консоли и серверы, устройства IoT и пиринговые приложения — лучшие примеры на сегодняшний день. Если вам нужны какие-либо из этих приложений, и вы всё ещё не хотите использовать UPnP, вы всегда можете выполнить переадресацию портов вручную (старомодным способом) в вашем маршрутизаторе. К слову, Кевин в итоге отключил UPnP и, похоже, остался доволен.
Подробнее – 4 шага для безопасного NAS
***Обновление от 12.04.2021 – Компания TerraMaster выпустила обновление прошивки ***




Amazon