НовостиСобытияКонференцииФорумыIT@Work
Open Source:

Блог

За 5 лет никто и с чем не определился

Сергей Голубев
29.11.2012 10:41:48
Теги: НПП

Сайт OpenNet со ссылкой на www.kb.cert.org сообщил о том, что "некоторые модели сетевых принтеров Samsung поставляются с прошивкой, в которой присутствует жестко прописанный скрытый служебный сервис". Понятно, что сделано это с благой целью, "ничего такого" производитель не хотел. Но всё это, увы, слова. А наличие "бэкдора" - факт.

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

А ведь немало времени прошло. "Бэкдоров", полагаю, меньше не стало. И совершенно непонятно, почему ничего не делается для исправления ситуации. Неужели она всех устраивает?

Комментариев: 16

Только зарегистрированные и авторизованные пользователи могут добавлять комментарии

29.11.2012 11:48:43

Хочу уверить, бэкдоры есть в ЛЮБОЙ системе, так как в первую очередь они нужны самим разработчикам для диагностики и отладки изделия. Это совершенно нормальный и известный процесс, который не устраивает только Вас одного, как мне кажется.

29.11.2012 14:55:33

А вы вообще отличаете отладочный код и бэкдоры? В курсе вообще, что есть такая вещь как «отладочная версия»?

29.11.2012 15:08:47

Вообще-то я с Алексеем согласен. Но только если на коробке с устройством будет крупными буквами написано про отладочную версию.

29.11.2012 15:35:28

Вообще-то я длительное время занимался и продолжаю заниматься разработкой и программированием бортовых систем. Прекрасно понимаю разницу между debug и release, поскольку постоянно этим пользуюсь. Практически никогда невозможно на 100% гарантировать, что не будет таких условий и воздействий, которые не были проверены. У разработчика всегда есть сомнения по этому поводу. Более того, поведение debug и release кода сплошь и рядом бывает разным.

Именно поэтому в самые что ни на есть релизы включается не отладочный код, а именно бэкдоры - сознательно, тщательно написанные и отлаженные с тем, чтобы в любой момент можно было узнать внутреннее состояние системы (часто включая значения переменных, дампов памяти и другого бутора). Также такие входы очень часто содержат целые механизмы внутреннего управления, обычно нигде не документированные и заказчику (а тем более конечному пользователю) не сообщенные. по объему и сложности такие механизмы иногда сопоставимы с самой системой. Иначе Вы просто никогда не отладите свою систему и не сможете диагностировать неисправность.

ЭТО НОРМАЛЬНАЯ, ОБЩЕПРИНЯТАЯ ПРАКТИКА.

Ну и соответственно, все это ни к каким отладочным версиям отношения совершенно не имеет.

01.12.2012 16:58:30

Я вам опять глаза открою — отладочный режим может включать. Вся диагностика должна специальным образом (причём исключающим случайное срабатывание) включаться, после чего что надо куда надо пишется, чтобы разработчик мог работать; причём по умолчанию он ВЫКЛЮЧЕН. Вот именно это является общепринятой правильной практикой. Причём их список должен прилагаться в документации.

А если такие вещи просачиваются в окончательный билд, то это либо диверсия, либо разгильдяйство.

01.12.2012 17:06:00

Цитата
А если такие вещи просачиваются в окончательный билд, то это либо диверсия, либо разгильдяйство.


Специалист в области безопасности по умолчанию считает, что первое.

03.12.2012 15:51:18

Давайте по-взрослому. В области безопасности чего именно и на основании каких именно нормативных документов он так считает? или ему просто показалось?

03.12.2012 16:05:08

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

05.12.2012 17:43:18

Ну это Вы совершенно напрасно. smile:D

Это действительно просто нужный самим разработчикам инструмент. Плохо без него. smile:)

03.12.2012 13:42:28

Просто ради любопытства спрошу, Вы сами хотя бы одну встраиваемую систему сделали, или Вы это теоретически рассуждаете? Если сделали, то какую по сложности кода (хотя бы в количестве строк системы управления + строк системы обработки)? И можно ссылочку на посмотреть на конечное изделие?

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

Программирование и отладка ВСТРАИВАЕМЫХ систем принципиально отличается от десктопов.

Комплектность документации и ее содержание определяется не терминами "всегда" и "должна", а строго нормативными документами, которые обычно указываются в договоре на разработку, как правило 19 или 34 ГОСТ-ами. И это только в случае, если заказывается разработка. Эти ГОСТы ничего не говорят по вопросу наличия отладочного и иного кода в релизе и его документированию, кстати. Содержание же руководства конечного пользователя некоторого прибора вообще ничем не регламентируется, поэтому "список должен прилагаться" - это исключительно плод Вашего воображения. Не должен. Сочтет производитель нужным включить эту информацию, она будет, нет, значит не будет. Никто его не обязывает. Или покажите соответствующий нормативный документ или перестаньте уже фантазировать.

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

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

30.11.2012 19:05:07

Цитата
А вы вообще отличаете отладочный код и бэкдоры? В курсе вообще, что есть такая вещь как «отладочная версия»?

+1

03.12.2012 13:43:30

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

04.12.2012 15:59:47

OpenWrt - отличная штука, если руки на месте...

05.12.2012 17:40:52

Знаю такую, читал про нее. Она является весьма узкоспециализированной, и подходит в основном для построения роутеров и подобных сетевых приборов. Таких много, RouterOS, например, от Mikrotik. Я этим не занимаюсь - на рынке вполне хватает подобных устройств во всем их разнообразии, чтобы кому-то нужно было изобретать еще один велосипед. Кстати, тот же Mikrotik просто поразил, зараза. Такое ощущение, что даже Cisco до них еще ой как далеко! smile:D

Да и вообще, необходимость использования операционной среды во встраиваемых системах вопрос весьма и весьма спорный в силу специфики применения и разработки последних. На крайний случай можно использовать QNX, но этот случай нужно еще найти - обычно система строится однозадачная. Это совершенно отдельная тема, но крайне интересная.

29.11.2012 20:22:20

Можно подумать, что радиоэлектронику можно создать приказом

29.11.2012 20:27:44

Ну без приказа ее точно не создать smile:).

Только зарегистрированные и авторизованные пользователи могут добавлять комментарии