Как стать автором
Обновить

Комментарии 40

Продукты претендующие на защиту периметра сети и вот такой банальный логин с паролем открытым текстом? Zyxel — это позор какой то!

Позор — что это продается за деньги. Была бы это самодельная прошивка на GitHub — можно было бы посмотреть, кто именно виноват. А так… :/

Ну а так — zyxel целиком. Да и в рамках корппроизводства софта все это несколько размазано — кто задумал/кто реализовал/кто пропустил/etc

Интересно, как такие дыры образуются? "А, ладно, потом уберём, главное не забыть!.. Упс..."?

Интересно, как такие дыры образуются?
Товарищ майор пароль «PrOw!aN_fXp». Только отключите паяльник.
Сомневаюсь, что просто случайно забыли.
Вероятно специальные люди в штатском приходят к ним и просят во имя добра, демократии, борьбы с терроризмом и защиты детей, вставить пачку бакдоров. Ну один нашли, ок, а сколько их осталось и сколько добавилось в новой прошивке? Где-то так тупо зашит логин с паролем, где-то специально допущена уязвимость, где-то генератор случайных чисел, оказывается вовсе не случайным.
НЛО прилетело и опубликовало эту надпись здесь

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


Чаще всего ведь разработчику хочется все разрабатывать и тестировать максимально локально, так как Staging лежит в половине случаев. А потому пишутся подобные dev backdoor, просто чтобы иметь возможность подменить ту же самую авторизацию, или чтобы ускорить обновление прошивки у локального стенда (который, по сути, является аналогом будущего устройства).


А дальше по-хорошему такие вещи должны вычищаться. Я не скажу за embedded разработку, но вот что я видел в некоторых проектах:


  • В нашем проекте на .Net парсер командной строки содержал дополнительные опции (такие как "не ходить к серверу авторизации, а просто считать себя x"), которые добавлялись только с директивой DEBUG. То есть в релизной сборке этих аргументов просто не было.
  • Мой коллега в своем проекте сделал дополнительный тест, который проверял, что в релизной сборке нет классов с определенным именем (например, которые подходят под выражение ".Mock."). Так что если кто-то забыл спрятать подменные внутренние сервисы, то билд упадет
  • В Gradle можно выделить все такие классы/методы в отдельный проект, а потом использовать development dependency layer, так что backdoor не просочится в релизный образ.
Интересно, как такие дыры образуются? «А, ладно, потом уберём, главное не забыть!.. Упс...»?


Ровно так же как и дыры в ваших проектах.

Все эти вещи делают не полубоги-полупрограммисты, а обычные люди такие же люди как вы и я.

Страшно подумать от какого программного кода зависит поведение самолета…
нет, не страшно
такие вещи должны отсекаться на ревью кода: любые настройки/креды ДОЛЖНЫ браться из внешнего хранилища, а не быть захардкожены. даже если это наколеночный проект. делается это за несколько минут, так что принципиально на сложность проекта — не влияет.
а поведение самолета проходит тестирование на симуляторе, который очень близок к реальности. бывают косяки — тогда выплачивают страховку и улучшают симулятор.
такие вещи должны отсекаться на ревью кода: любые настройки/креды ДОЛЖНЫ браться из внешнего хранилища, а не быть захардкожены.


Сама описанная в статье проблема — да это косяк разработчиков.

Но насчет «всегда ДОЛЖНО быть так» разрешите с вами не согласиться. Ибо это глупость несусветная.

В смысле всегда — это глупость.

Впрочем, эту глупость вполне разумно считать за истину на каких-то этапах профессионального развития. Это нормально:

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


Люди не идеальны, потому и дыры есть. Когда код будут писать программы, учитывая все вероятности — тогда и дыр не будет, но такого никто не допустит.
Меня одного так умиляют названия «пострадавших» линеек?
ATP — Advanced Threat Protection
USG — Unified Security Gateway
НЛО прилетело и опубликовало эту надпись здесь
Zyxel, как же так, ты же когда-то был лучшим…
НЛО прилетело и опубликовало эту надпись здесь
55.06 бит энтропии — довольно слабый пароль по нынешним меркам. А для массовой экспозиции «голым крупом в дикий интернет» и подавно.

Возможно, этот пароль у них прописан в продукции ещё с тех пор, когда 11 символов хватало всем.

Тем хуже: получается, ZyXEL очень давно не актуализировали свои регламенты ИБ. Ну и сложно игнорировать, что пароль словарный с шаблонной подменой символов (pro wlan fxp).
Но всё это конечно мелочи по сравнению с самим фактом вот такой вот явной лажи с зашитым техаккаунтом. Уж казалось бы, сколько раз разные вендоры понесли ощутимый репутационный и финансовый ущерб из-за применения таких практик.
Но нет, «У нас-то security through optimism and prayer обязательно сработает!»

И оформили это не как дополнительный аккаунт с солью и хешем, а именно как backdoor с plaintext паролем. Фу такими быть.

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

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

Как раз вот эта дыра пришла с последним обновлением:


I checked the previous firmware version (4.39) and although the user was present, it did not have a password. It seemed the vulnerability had been introduced in the latest firmware version.
«Никогда такого не было, и вот опять»

А так забавно конечно

Никогда такого не было и вот опять :-)
Кто дивится на зухель видимо не помнит какие уязвимости были в сиськах, и через чьи корпоративные сети мы когда-то ходили в этот ваш тырьнет, хе-хе-хе.

На сегодняшний день патчи готовы только для ATP, USG, USG Flex и VPN. Согласно официальному сообщению Zyxel, серия NXC получит обновление в апреле 2021 года.
В апреле? Они там что, исходные коды потеряли и теперь прошивку будут с нуля переписывать?
А какой-нибудь внятный post mortem по инциденту стоит ожидать?
Что вы имеете ввиду? Разве по ссылке выше не достаточно информации? Что еще необходимо?
Post mortem (в данном контексте) — это разбор инцидента с определением причин его возникновения и мер по предотвращению подобных инцидентов впредь.
Я не сказал бы, что это прямо вот необходимо, но было бы определённо полезно и для сообщества, и для имиджа компании.

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

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

ФАК: support.zyxel.eu/hc/ru/articles/360018610460
Еще информация и кач безопасной прошивки: support.zyxel.eu/hc/ru/articles/360018524720
ФАК: support.zyxel.eu/hc/ru/articles/360018610460
Информация по добавленной вендором уязвимости. Много-премного информации, девать некуда. Вы издеваетесь, да?
То есть я покупаю железку (и сервис тоже) под названием USG (Unified SECURITY Gateway) и получаю admin/admin эту вашу стыдобушку, которую давно уже знает не только Shodan? Ну ок, спасибо за каминаут.
А ещё большая ирония в том, что вы задеплоили бэкдор в security patch'е. Zyxel_Russia
Вы какой патч имеете ввиду? 4.60 patch 1?
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Другие новости

Истории