Jump to content

    
MX_Master

Простенькая защита бинарника прошивки для STM32

Recommended Posts

On 8/9/2021 at 3:52 PM, MX_Master said:

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

- Я тебе один умный вещь скажу, ты только не обижайся..
- Твоя машина в соседнем дворе стоит..
(из кинухи)

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

НО!!! (куда уж без этого сранного странного но...
Байка из жизни...
Как то довелось мне, в начале века, ужиматься в 51 камень 4051 который... Попутно решая задачу - сделать универсальный пульт на этой штуки (пульты уже штампанули), и хотелось заказчику не возможного - иметь склад готовых таких штук на любой в будущем вариант хостового (сами установки) софта, под все линейки производства. Из всех тех. возможностей - 4 кила, и внешняя энергонезависимая память по I2C. Пошёл следующим путём - в 4 кила ужал транслятор своих псевдо комманд(их не много - около 20-30 штук оказалось. для обслуживания дисплея, клавы, звука, путешествия по менюхам, оперирование со страницами подкачки из локальной энергонезависимой или закачки с установки нужной страницы и т.п. лабудой) которые писались в ввиде макросов прямо в коде, секции данных. Спустя некоторое время захотели со мной расстаться (ну да, имел я с каждого экземпляра бонус) и в параллель наняли другого человечка. И во время аврала - ушла одна прошивка в ввиде бинаря от меня и попала в руки этого человека. Спустя года я с удивлением услышал эту ситуацию (впрочем удивила не сама ситуация, а то заключение что дал данный "специалист"). Вывод данного технаря: прошивка местами закодирована и дезасэмблировать и дальше её довести до ума - не предоставляется возможным... :) Ему бы чуть чуть посмотреть на схемное решение бы, и задаться вопросом - а как это так сделано что под любую версию то...Но его судьба явно тогда показала зубки...

я о чём...да собственно уже мысль изложил :)

с уважением
(круглый)

 

Share this post


Link to post
Share on other sites

Над разработкой устроиства трудятся схемотехники, топологи, констукторы, технологи и т.д. И только хитрожопые программисты, даже неспособные защитить прошивку, почему-то хотят "всю жизнь получать гонорар".  Я пониааю, когда голое ПО, которое без защиты больше одного раза не продашь. Но прошивка с каждой железкой продаётся. И програмист имет (или не имет, тут дело труового договора) точно такие же права как остальные разработчики.

Share this post


Link to post
Share on other sites
25 minutes ago, VladislavS said:

 трудятся схемотехники, топологи, констукторы, технологи и т.д. И только хитрожопые программисты

Вас сильно удивит, что во времена 4051 было немало "человеков-оркестров"? Они и сейчас есть.

Как минимум разработку схемы, разведение печатной платы и написание ПО мог делать один человек.

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites
23 минуты назад, MX_Master сказал:

Меня всегда веселит, когда у кого-то "подгарает" чувство справедливости

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

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

Share this post


Link to post
Share on other sites
1 час назад, mantech сказал:

Никто из нормальных людей не продает голое железо без ПО, а потом за ПО просит отдельно деньги, равно, как и за исправления в нем ошибок

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

Share this post


Link to post
Share on other sites

Если это STM32 то есть же стандартный вариант DFU прошивки с привязкой к аппаратному серийному номеру конкретного экземпляра микроконтроллера. Все необходимое для кастомизации прошивок легко найти на гитхабе. Вплоть до набора софта для автогенерации прошивки на сайте апдейтов если серийник проца есть в белом списке.

Share this post


Link to post
Share on other sites
13 часов назад, MDD сказал:

Вас сильно удивит, что во времена 4051 было немало "человеков-оркестров"?

Кто мешает им ещё и прошивать все выпускаемые устройства и никому не давать прошивку?

Share this post


Link to post
Share on other sites

Кто мешает написать свою простейшую программу, разместить её на сайте и пусть грузят прошивки, кто денег заплатил за легальное устройство.

Share this post


Link to post
Share on other sites

Если подитожить тему, вывод получается простой - защиту в коде надо делать в любом случае, но первоначально чип должен побывать у автора. Юзера к прямой перепрошивке лучше не пущать :) 

Share this post


Link to post
Share on other sites
50 minutes ago, MX_Master said:

но первоначально чип должен побывать у автора.

Не обязательно. Юзер Вам может сообщить ID-микроконтроллера, а Вы изготовите ему уникальную прошивку.

Share this post


Link to post
Share on other sites
10 hours ago, VladislavS said:

Кто мешает им ещё и прошивать все выпускаемые устройства и никому не давать прошивку?

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

Share this post


Link to post
Share on other sites
3 часа назад, MX_Master сказал:

первоначально чип должен побывать у автора.

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

3 часа назад, haker_fox сказал:

Юзер Вам может сообщить ID-микроконтроллера,

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

Edited by mantech

Share this post


Link to post
Share on other sites
20 minutes ago, mantech said:

позвоню вам и скажу

А интернета нет ? Программировать только процессорв умеем только ?

Разъем пользовательно не может воткнуть в устройство ?

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

Пользователь может вообще сам сделать устройство, заплатить денег за софт и пользоваться.

Share this post


Link to post
Share on other sites
3 часа назад, x893 сказал:

А интернета нет ?

А он быть обязан у оператора ЧПУ? Не факт.

3 часа назад, x893 сказал:

Разъем пользовательно не может воткнуть в устройство ?

По своему опыту скажу, что есть такие пользователи, что правильно скопировать файлы на сд карту не могут предлагаете им лезть в устройство, искать какой-то программатор или адаптер и что-то там считывать....

3 часа назад, x893 сказал:

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

Вот представьте, вы разработчик, я разработчик, а дядя Петя, клиент и он этого не знает вообще)))

3 часа назад, x893 сказал:

Пользователь может вообще сам сделать устройство, заплатить денег за софт

Таковых единицы и они и без нас тут разберутся, ИМХО.

Edited by mantech

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.