The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Исследование безопасности прошивок встраиваемых устройств"
Отправлено Аноним, 16-Авг-14 15:46 
> Ошибка в подходе: любая проприетарная фирмварина=тайныеходы+кучадыр,
> любая опенсоурсная=трукод+неткучидыр

Совать бэкдоры в открытую прошивку - довольно странное начинание. Это примерно как написать у себя на лбу - "Я ГРАБИТЕЛЬ" до того как идти грабить банк. А вот если некто не хочет показывать код - это уже подозрительно. Мало ли чего они там насовали...

> Если ошибка влияет на общую работоспособность - то да. Если ошибка влияет
> на работоспособность "хитрым" образом - не обазятельно.

А ошибки на то и ошибки, что заранее не знаешь на что они повлияют.

> И почему производитель обязательно должен переживать? Он просто предложит новую модель,
> где данная проблема давно решена.

Да, и мы резко поверим что козлы и удоды внезапно стали лучше!</sarcasm> Ведь почти наверняка что проблема не "решена" а "перепрятана". Если вы потеряли доверие - вы его потеряли. Это по простому не лечится и точка. Если вы 1 раз попались на бэкдоре - все, фиг отмоетесь теперь.

> И что мешает перехватить пакет до анализа пакета ядром?

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

> и/или запустить сторонний код параллельно основному?

В большинстве архитектур ядро получает экскюзивный контроль над железом и параллельно с ним ничего не работает. Но на всякий случай мы будем редисками и затребуем сорец и бутлоадера заодно. Чтобы исключить такие приколы и всякое там подпатчивание ядра из относительно большого куска бутлоадера, который в силу размеров может не совсем глупую логику применять уже. Поэтому нормальный вариант - полный контроль над boot sequence. Т.е. нашими должны быть и лоадер и ядро. Это вполне возможно: железок с u-boot где сорцы лоадера доступны - хоть отбавляй. Так то.

> Proof? Буду благодарен.

Искать в новостях по поводу "обнаружен бэкдор". Я бы сказал даже не только насчет проприетарных, но и всяких "полуоткрытых" прошивок собранных вендорами. Бэкдор могут ведь подсунуть и собрав опенсорсные компоненты с неудачной (для пользователя) конфигурацией, например.

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

> Особенно, если там будет показано, что это касается вообще всех проприетарных прошивок.

Вы не поняли, это работает не так. В связи с текущей ситуацией нет никакого априорного стопроцентного доверия кому попало, для начала. А какие к тому основания? Фирмварей с бэкдорами попадалось изрядно. Пусть делом доказывают - хороший или плохой. Вот зажим сорцев - сомнительное деяние, понижает доверие к вендору. Потому что надо сильно больше ресурсов на анализ тратить. Ну его в пень, проще в пешее эротическое таких сразу слать. Так, на всякий случай. Мало ли что они там прятали - клещами и дизассемблером из них вытягивать правду не очень то и хотелось!

> А не отдельных, "особо одарённых" или "особо экономящих" восточных производителей.

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

> Отлично. Только на стороне производителей сетевого железа массового объединения что-то не видать.

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

> Также есть сомнения, что эта ассоциация бесплатна и открыта.

Открытость и бесплатность достаточно ортогональные понятия. Можно брать деньги за софт с сорцами или же бесплатно раздавать бинарный блоб.

> Согласен. Но основные деньги делаются на массовом рынке, где работают немного другие законы.

Если некто хочет вляпаться в дepьмо - ему не запретишь. А вот плохую репутацию производителям дepьма можно создать. И варианты для тех кто хочет нормальные решения - должны быть.

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

Китайцы кстати обычно достаточно просты и прямолинейны - их умений хватает только на конфигуреж телнета :). Чипы у них как правило простые и бесхитростные. Они же не разработчики а копипастеры в основном.

> Не обязательно скупить, достаточно профинансировать основных разработчиков
> (RedHat vs Canonical)

Финансирование разработчиков как правило имеет достаточно ограниченное влияние. Ну, редхат. И что - редхат? Воротят дофига полезной мне работы и оплаты от меня не требуют - грех жаловаться, однако. Ну вот не нравятся мне шапочные дистры например. И что редхат сделает по этому поводу?

> А почему это должен быть коммит основного разработчика?

Есть такое понятие как цепочка трастов. Ломается вся цепочка вся цепочка по иерархии причастных, отмазаться не получится. Да, lead который выдает некий готовый продукт/субкомпонент - таки в ответе за действия команды. Если он пролошился с выбором участников команды и/или выкатил крап - это его продолб. Репутацию такой факт в биографии совсем не украшает и количество желающих работатьс таким лидом здорово поубавится.

> А рядовые в основном известны по никам и e-mail-ам.

А основной разработчик утратит доверие за то что пропускает такие плюхи своих подчиненных. Зачем нам вратарь на воротах, который спокойно попивает пивко, покуда ему в ворота голы накручивают?!

> Да и чтото я сильно сомневаюсь, чтобы каждый добавленный патч хотя бы
> просто разбирается во всех for-ах и regex-ах.

В нормально организованных командах патч до того как попасть в основной код несколько раз смотрят разные индивиды. Без этого он просто не попадает никуда. Рабочий процесс такой. Допускаю что у корпоративщиков из азии разработчик Сунь Хунь Вчань может вкатить нечто и никто не заметит там явного бэкдора, потому что всем пофиг и коммиты никто не читал кроме самого Сунь Хунь Вчань. Но в нормальных открытых проектах такие маневры проворачивать сложно и чревато.

> Тем более, что обновление открытого софта идёт такими темпами, что "мама не горюй".

А отличия версии от версии можно дотошно посмотреть, с припиской к конкретным субъектам. Благодаря системам контроля версий.

> Кстати, чем не "планируемое устаревание"? (э-э.. прошу не накидываться: systemd?)

Тем, что если кому-то не нравится некая софтина - хрен его заставишь этой софтиной пользоваться. Иди вон заставь разработчиков openwrt использовать systemd. Они вместо этого сделали свой карманный вариант героя. С u-bus, логгером и конфигами :).

> Э-э.. ещё раз: а чем это лучше/хуже проприетарной разработки?

Прозрачностью процесса и возможностью контроля результата. Проверять исходники, в лучшем случае с точностью до коммитов. Вида "а вот Вася поменял вот в этом файле это и это, чтобы исправить вон тот баг" - сильно проще чем "мы вам тут вывалили немеряную блобовую чушку, проверяйте, типа". Даже я вполне могу в 70-90% случаев посмотрев на коммит прикинуть - насколько коммит соответствует тому что заявлено и зачечь подозрительно мутный код и/или баги. Про то что более квалифицированные люди могут намного больше - и ежику понятно.

> Там тоже, при правильной организации, каждый разработчик видит кто и что сделал.

Не, вот извините. Я не вижу кто и что в вон том мутном блобике сделал. А вот кто и какой коммит например в опенврт вкатил - я отлично вижу. И могу посмотреть заинтересовавший коммит - а что это за фигня? И по какому поводу она тут образовалась? И насколько задекларированные причины появления соответствуют изменениям в коде. Это просто совсем иной уровень прозрачности в разработки.

Если разработчики готовы предоставить такой уровень прозрачности - им и доверия здорово больше чем каким-то мутным блобмейкерам.

> состоянии единолично верифицировать все критичные части кода, если только он этот
> код не разрабатывал.

Поэтому есть такая чудная штука как web of trust между разработчиками и системы контроля версий. В сумме получается достаточно прозрачный процесс, где уважение и доверие к некой персоналии накапливается достаточно длительное время.

> И поэтому может только выбрать: кому он больше доверяет.

Ну вот я и выбрал: если некто готов предоставить результаты работы на анализ - ему больше доверия. Правда просто?

> Microsoft, по-моему, тоже предоставляет исходные коды нашему государству. И что? Это что-то
> меняет?

Для меня - нет. Я то эти исходные коды и тем более историю изменений посмотреть не могу. Узкий круг лиц может договориться между собой о сокрытии фактов. А если сорц и история его изменений выложена всей планете - такой сценарий становится практически нереализуемым. Не получится договориться за кулисами со всей планетой :).

> что ежедневное мытьё рук не отменяет мытьё фруктов перед едой, а также
> проблему выбора правильного мыла :-)

Ну вот я и говорю - будем мыть и руки и фрукты. А вот покупать еду у мутных типов с грязными руками, сделанную в подвале и без состава на упаковке - мы покупать не будем. Во избежание.

> Да и вообще, проблема ли это?

Дизентерия то? Ну да, неприятная штука. Что у человека, что у компьютеров, когда они сорят данными направо-налево.

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру