LINUX.ORG.RU
ФорумTalks

А почему большинство роутеров — такое г... ?

 , ,


1

2

Привет, ЛОР!

Прочитал сегодня новость на opennet про очередную дыру в очередном роутере. Скажи, а как вообще так получается? Ведь их же программируют суровые эмбеддщики на C, которые не могут вообще допускать ошибок. Настоящие программисты, которым ни Go ни Rust не помогают. И вот такой вот треш!

Особенно меня поразило следующее:

Третья уязвимость позволяет извлечь пароль из дампа сохранения конфигурации <…> Пароль присутствует в дампе в зашифрованном виде, но для шифрования используется алгоритм DES и постоянный ключ «NtgrBak», который можно извлечь из прошивки.

То есть, это не случайный обосрамс, как например когда @Eddy_Em не смог strcpy() написать. Это нужно было прицельно и целенаправленно насрать себе в штаны. Причём дважды. Один раз за DES, второй раз за захардкоженный пароль, доступный всем подряд, кто не поленится прошивку почитать.

ЛОР, как так вообще выходит, что вот уже на протяжении многих лет найти нормальный роутер без вот таких чудовищных дыр – задача на уровне фантастики? Туда каких-то специальных программистов выращивают? Или это весь embedded поражён, а роутеры просто на поверхности лежат?

★★★★★

Последнее исправление: hateyoufeel (всего исправлений: 2)

Потому, что криворукие индусы и тупые менеджеры.

robot12 ★★★★★
()
Ответ на: комментарий от SR_team

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

hateyoufeel ★★★★★
() автор топика
Ответ на: комментарий от LikeABoss

То ли дело жаба какая.

Пишешь на жабе

Течёт память и ты вообще ничего не можешь с этим сделать исправляя свой код.

Это так и должно быть, это преаллокация же, JNI, GC, абырвалг!

Сожрана вся память

Нет, это просто у тебя днищесервер, купи нормальный сервак со 100500 гигами

Сожрана вся память, всё тормозит

Так и должно быть, это же ынтерпрайз!

Stanson ★★★★★
()
Последнее исправление: Stanson (всего исправлений: 1)

Кстати, это ты ещё IP-камеры не разглядывал. Вот где трэш и угар полнейший. С захардкоженными неизменяемыми «инженерными» паролями, гигантскими блобами SunHuiVChaiOnvifServer с миилионом дыр и т.п. Причём, в отличии от роутера, ты не можешь накатить нормальную прошивку, потому что эти гандоны наглухо огородили всякие хардварные энкодеры и прочие ссаные секреты полишинеля. Звездец в родных прошивках роутеров это так, цветочки. А есть ещё GPON ONT, например. Конечно, не IP-камеры, но и роутерам до них по трешу и угару далеко.

Stanson ★★★★★
()
Ответ на: комментарий от LikeABoss

Я могу такой херни про любой язычок написать. В том числе и про С.

Stanson ★★★★★
()
Ответ на: комментарий от fsb4000

Коллизиями пренебрегаем

А зря, если хеш в примере int32, достаточно всего порядка 2^16 строк, чтобы с большой вероятностью попасть на коллизию, см. парадокс дней рождения

сайты же делают точно также для авторизации

Там по канону хеш криптографический

TheAnonymous ★★★★★
()
Последнее исправление: TheAnonymous (всего исправлений: 1)

Один раз за DES, второй раз за захардкоженный пароль, доступный всем подряд, кто не поленится прошивку почитать.

Вот видишь, всё-таки небольшой квест надо пройти и доказать, что и ты можешь это сделать. Соответственно, кто знает, тот молчит — это пропуск в мир хакинга.

iZEN ★★★★★
()
Последнее исправление: iZEN (всего исправлений: 1)

Один раз за DES, второй раз за захардкоженный пароль, доступный всем подряд, кто не поленится прошивку почитать.

Эти товарищи явно списали (или по меньшей мере стырили плохую идею) с VNC-сервера: https://github.com/TigerVNC/tigervnc/blob/master/common/rfb/Password.cxx

А точнее, это еще со времен RealVNC тянется.

AEP ★★★★★
()
Последнее исправление: AEP (всего исправлений: 1)
Ответ на: комментарий от Stanson

Я недавно с IP розеткой возился. У этой хрени логин/пароль в веб-морде передаются гольным plain text'ом в http (да, без 's')!

И ни тебе ssh, ни даже элементарного telnet!

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от Stanson

Камеры да, трэш. Но ты же никогда не пускаешь напрямую ни камеры наружу и снаружи к ним? Да? :)
А роутер наружу нужен, так что пример с камерами тут хоть и в кассу, но не настолько критичен.

Чтоб два раза не вставать: пару недель назад человеки из РФ на основании того, что у них есть недвига, пошли и прописались в собственное дойч-жильё, после этого им сразу прислали автоматом дойч-ИНН по причине прописки, ну и заставили за телевизор платить само собой, ибо раз прописан, то уже сразу должен.

@robot12 @Harald @seiken

Вот зачем вы так хором (и плохо) поминаете темнокожих индийских страдальцев? Они, между прочим, эволюционируют и кой-чего могут. А вот «китайски код» от природных китайцев кто-то видел, признайтесь?

Кстати, DGN2200v1 выпущен как минимум November 2010, а может ещё и раньше. Может в 2010 эмбедеры были ещё не настолько суровы, как сейчас?

Brillenschlange
()
Ответ на: комментарий от Eddy_Em

Ну для розетки простительно, может там какой 8-мибитник с 32к Flash.

Хотя вот на 16-тибитном Xtensa в ESP8266 и https можно, и ssh тоже…

Stanson ★★★★★
()
Ответ на: комментарий от Brillenschlange

Но ты же никогда не пускаешь напрямую ни камеры наружу и снаружи к ним? Да? :)

Это сильно упростило бы жизнь. А возможность просто поднять с камеры какой-нибудь openvpn и отправить по нему поток на указанный UDP порт вообще решила бы абсолютно все проблемы.

А роутер наружу нужен, так что пример с камерами тут хоть и в кассу, но не настолько критичен.

Ну крупные провайдеры, которыми пользуется большинство, всё равно частенько выдают не реальник на интерфейс роутера, а шнягу типа 10.0.0.0/8 и натят потом.

Stanson ★★★★★
()
Ответ на: комментарий от fsb4000

там по ссылке пример есть сравнения через XOR, за константное время. Длина пароля, с которым сравниваем, константна, значит и время тоже.

Harald ★★★★★
()
Ответ на: комментарий от Stanson

Это сильно упростило бы жизнь

Угу. Но с учётом того, что верить нельзя никому (а китайцам особенно), то тому, что следит за самим тобой, нельзя разрешать ничего наружу, даже через vpn - кто знает как они этот vpn реализовали.

Brillenschlange
()
Ответ на: комментарий от Stanson

Судя по ценам этих «IP-розеток», туда внутрь можно было легко засунуть полноценный Cortex-A7, поставить линукс и не парить мозг!

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от Harald

а ты у себя IPv6 внедрил?

Нет, но в общем-то технически проблем нету. Спроса нет. Если кто-то попросит, то ему сделаем, без вопросов. Никто ещё не просил, мы ж реальники выдаём, и мало-мальски продвинутые юзеры без проблем свои девайсы могут в инет высунуть. А на всей сети поднимать, чисто чтобы был IPv6 - не знаю, не самая насущная задача. Для камер используем просто отдельный влан, который никуда не выходит и в котором кроме камер и DVR ничего нет.

Stanson ★★★★★
()
Ответ на: комментарий от Brillenschlange

Вот зачем вы так хором (и плохо) поминаете темнокожих индийских страдальцев?

Почему плохо? «Дешевый индус» не означает «индус => плохой». Индусов более 1млрд и среди них, конечно, очень много первоклассных спецов, чисто статистически, как и среди китайцев. Но гораздо больше более дешевых, из которых корпы и набирают программистов. А супер-спецы есть, да, но только каждый раз это не те люди, с которыми приходится работать лично тебе (хорошо там, где нас нет).

seiken ★★★★★
()
Ответ на: комментарий от Eddy_Em

Константное оно в том плане, что выполняется со сложностью O(1) вне зависимости от длины входной строки (что, в свою очередь, не позволит злоумышленнику, меняя параметры входной строки, получить какую-либо осмысленную информацию о секретной строке).

theNamelessOne ★★★★★
()

Так там спецом уязвимости держат.

peregrine ★★★★★
()
Ответ на: комментарий от fsb4000

А сравнение например если len и hash совпадает, то строки равны

Не надо так делать! Вот описание timing attack, рекомендую почитать. Только пример «хорошей» функции сравнения там дерьмовенький, вместо этого можно посмотреть корректный тут (пример на C, даже @Eddy_Em должен понять!)

theNamelessOne ★★★★★
()
Последнее исправление: theNamelessOne (всего исправлений: 1)

ЛОР, как так вообще выходит, что вот уже на протяжении многих лет найти нормальный роутер без вот таких чудовищных дыр – задача на уровне фантастики?

Да полно таких, смотри на поддержку OpenWrt. Я Archer C7 купил.

Meyer ★★★★★
()
Ответ на: комментарий от TheAnonymous

Там по канону хеш криптографический

Я натыкался на людей, которые хэшируют пароли md5, хотя бог им дал argon2, pbkdf2 или даже на худой конец bcrypt (хотя тот и имеет максимальную длину в 72 символа для входной строки).

theNamelessOne ★★★★★
()
Ответ на: комментарий от Eddy_Em

Считай меня идиотом

Хотел вот сейчас съехидничать, но волевым усилием сдержался.

но я не могу придумать РЕАЛЬНОГО применения этой «атаки»

А другие люди могут и получают доступ к системам, которые такой уязвимости подвержены.

theNamelessOne ★★★★★
()

когда требования к роутерам - наличие веб морды, и оптимизация по WoT

иного ожидать не следует

под роутер берётся дешманское железо, linux с бесплатными патчами и нескучные обои. И нафик больше, если жизненный цикл 2 года ??

MKuznetsov ★★★★★
()
Ответ на: комментарий от hateyoufeel

В том и проблема, что даже дорогие роутеры — говно почему-то :(

жертва маркетологов…«дорогое - значит хорошее»

но уже заметны просветления

MKuznetsov ★★★★★
()
Последнее исправление: MKuznetsov (всего исправлений: 1)

суровые эмбеддщики на C, которые не могут вообще допускать ошибок

Нет.

Обычно весь этот ентерпрайз-кал пишут:

1. Абы как лишь бы побыстрее и как-то работало
2. Используя воооон ту кодовую базу протухлого как говно мамонта кода
3. А ЗАПИЛИ МНЕ ЭТУ ФИЧУ (и пофиг что мы натягиваем сову на глобус)

Говорю ответственно как человек, пердоливший прошивки на роутеры, прошивки на разный iot хлам, и прочие девайсы

Если опытному эмбеддщику (а лучше двоим) дать полгодика времени и хорошо поставленную задачу, они могут запилить (почти) идеальную прошивку под что угодно из этих ваших говнороутеров.

Но какой ЭФФФективный менеджер это даст сделать? Это застопорится на ВСЕХ уровнях ВСЕХ менеджеров, ибо это с их точки зрения неоправданные затраты которые не несут прямой выгоды. И им насрать что это потенциально сократит расходы на RnD в последующие два-четыре года

reprimand ★★★★★
()
Ответ на: комментарий от hateyoufeel

цитата по ссылки из топика :

В прошивке к устройствам серии NETGEAR DGN-2200v1, сочетающим функции ADSL-модема, маршрутизатора и беспроводной точки доступа, выявлены три уязвимости, позволяющие выполнить любые операции в web-интерфейсе без прохождения аутентификации.

это-ж не роутер, а 5 жопый тянитолкай :-)

MKuznetsov ★★★★★
()
Ответ на: комментарий от reprimand

Именно так. Самое главное тут в том, что клиенты покупают и приносят прибыль.

seiken ★★★★★
()
Ответ на: комментарий от lenin386

Если len и hash совпадает, то строки не обязательно равны. Если не совпадают - то не равны. Но если совпадают, то надо сравнить традиционными методами. Такие дела.

Математически ты прав, практически - это смотря какой хэш. Если crc32 - конечно надо проверять. А если например md5 и тем более sha256 - вероятность нарваться на коллизию достаточно мала, чтобы ею смело пренебречь на практике. Не ну, если это что-то жизненно важное, наверное пренебрегать и тогда не стоит, а может все-равно стоит. Вероятность сбоя по другим причинам, наверное, больше, чем вероятность коллизии sha256

praseodim ★★★★★
()
Ответ на: комментарий от BceM_IIpuBeT

Кстати, ща глянул как у них там дела - всё ещё хуже чем я думал.

Сырцов majestic (мегакомбайна, который делает всё в вебкамере - рулит матрицей, кодирует видеопоток, даёт доступ к нему по сети, является onvif-сервером и т.п.) как не было, так и нет. Это ж какими мразотами надо быть, чтобы рекламировать себя как opensource прошивку для вебкамер, но при этом сырцы самого важного элемента этой прошивки, который, в общем-то и требуется в первейшую очередь заменить на что-то 100% опенсурсное - зажимать как последние гандоны.

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

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

ЗЫ: в блобе majestic захардкожен IP 171.25.232.2 например, это api.ipeye.ru - сервак известного российского облачного сервиса виденаблюдения, со всеми вытекающими СОРМами и прочей дрянью. Надо вам такое счастье?

Stanson ★★★★★
()
Последнее исправление: Stanson (всего исправлений: 8)
Ответ на: комментарий от Stanson

Я вообще не в теме, просто слышал про этот проект, а тут вон оно что оказалось. Жизни нет.

BceM_IIpuBeT ★★☆☆☆
()
Ответ на: комментарий от Stanson

Если и можно, то откуда брать сертификат на устройстве по нормально не имеющему доступа в интернет?

cobold ★★★★★
()
Ответ на: комментарий от Stanson

Сертификат сейчас дают на год-два. Учтём путь розетки с завода до потребителя. Это через год после покупки у потребител отвалится админка потому что сертификат не валидным станет? К тому же сертификат даётся на доменное имя, откуда у розетки доменное имя?

cobold ★★★★★
()

Найти любой софт без чудовищиных дыр нельзя, роутер ничем не отличается.

zgen ★★★★★
()

качество уровня: хоть как-то работает и ладно

все такие рутеры говно, потому что сделаны для домохозяечного нищесегмента.

т.е. никакой обратной связи от пользователя не подразумевают и в бюджет это не заложено впринципе.

качества без обратной связи невозможно достичь.

n_play
()
Ответ на: комментарий от hateyoufeel

а где они такое говорят, ссылок накидайте.

abcq ★★
()
Ответ на: комментарий от Aber

OpenWrt

Найти нормальный 👌 роутер с этим очень сложно. Я искал два года.

Самое лучшее, что нашёл — это Turris. Почитал их форум как там 👈🏿 отвалившимся WiFi возятся с апдейтами и всё такое, короче забил на эту идею.

ЗЫ: у Netgear раньше прям на ты сайте висело пару моделей с OpenWRT. Вот. ПК прям на официальном сайте — powered by open source, it’s very cool.

fornlr ★★★★★
()
Последнее исправление: fornlr (всего исправлений: 1)
Ответ на: комментарий от cobold

Сертификат сейчас дают на год-два.

Сертификаты не берут, их создают. На любой срок.

К тому же сертификат даётся на доменное имя, откуда у розетки доменное имя?

Вы не путайте шарашкины конторы по отъёму бабла у лохов и всякое SSL. Для работы шифрования нахрен не нужно ни сертификаты у кого-то выпрашивать, ни доменных имён, ничего. Достаточно наличия например пакета openssl на компе и поддержки ssl в девайсах.

Stanson ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.