Защита софта в ARM

Здравствуйте, Уважаемый Kirill!

Sat Dec 02 2006 19:26, Kirill Frolov wrote to Olga Nonova:

KF> Сколько стоит заниматься дизассемблированием?

Дизассемблирование не волнует. Волнует тиражирование изделия без лицензии.

KF> Вот в АОH Русь старых KF> версий тоже ПЗУ копировалось обычным программатором. Только потом не KF> работало...

Очень интересно! Как такое было достигнуто?

Всего Вам Хорошего Ольга

Reply to
Olga Nonova
Loading thread data ...

Hello Olga!

03 Dec 34 11:14, Olga Nonova wrote to Kirill Frolov:

KF>> Вот в АОH Русь старых KF>> версий тоже ПЗУ копировалось обычным программатором. Только потом KF>> не работало...

ON> Очень интересно! Как такое было достигнуто?

Злостным нарушением ТУ на программирование микросхем :-) В результате создавались так называемые "плавающие биты".

В современных устройствах - вряд ли возможно, там же вся диаграмма формируется "внутри"...

Sergei

Reply to
Sergei Podstrigailo

Следовательно, нет смысла в защите кода.

Копия, очевидно, отличалась от оригинала. Чем, ну теперь известно чем

-- трубкой. Программа определяла какие-то там характеристики и при их непопадании в требуемые рамки не работала.

Reply to
Kirill Frolov

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

Reply to
Kirill Frolov

Kirill Frolov пишет:

Winbond ISD4004 и иже с ними?

Reply to
Ivan Maximov

Хоpошее Кино это вино. Выпьем, Olga? Воскpесенье Декабpь 03 2006 11:14, Olga Nonova wrote to Kirill Frolov:

KF>> Сколько стоит заниматься дизассемблиpованием? ON> Дизассемблиpование не волнyет. Волнyет тиpажиpование изделия без ON> лицензии. Можно добавить в системy что-нибyдь пpостое, недоpогое и некопиpyемое, обладающее yникальным сеpийным номеpом, а этот номеp использовать для шифpования кода в качестве ключа. Таким обpазом каждое yстpойство бyдет иметь индивидyальнyю, не pаботающyю на дpyгих, пpошивкy.

Майкл

Reply to
Michael Mamaev

Здравствуйте, Уважаемый Michael!

Tue Dec 05 2006 18:33, Michael Mamaev wrote to Olga Nonova:

ON>> Дизассемблиpование не волнyет. Волнyет тиpажиpование изделия без ON>> лицензии.

MM> Можно добавить в системy что-нибyдь пpостое, недоpогое и некопиpyемое, MM> обладающее yникальным сеpийным номеpом, а этот номеp использовать для MM> шифpования кода в качестве ключа. Таким обpазом каждое yстpойство бyдет MM> иметь индивидyальнyю, не pаботающyю на дpyгих, пpошивкy.

Как предотвратить перехват логическим анализатором передачу серийного номера из хранилища в ARM? Ведь, после этого повторить этот серийный номер ничего не стоит.

Всего Вам Хорошего Ольга

Reply to
Olga Nonova

Hi Olga,

Tue Dec 05 2006 22:36, Olga Nonova wrote to Michael Mamaev:

ON> From: "Olga Nonova" snipped-for-privacy@starline.ee

ON> Здравствуйте, Уважаемый Michael!

ON> Tue Dec 05 2006 18:33, Michael Mamaev wrote to Olga Nonova:

ON>>> Дизассемблиpование не волнyет. Волнyет тиpажиpование изделия без ON>>> лицензии.

MM>> Можно добавить в системy что-нибyдь пpостое, недоpогое и некопиpyемое, MM>> обладающее yникальным сеpийным номеpом, а этот номеp использовать для MM>> шифpования кода в качестве ключа. Таким обpазом каждое yстpойство бyдет MM>> иметь индивидyальнyю, не pаботающyю на дpyгих, пpошивкy.

ON> Как предотвратить перехват логическим анализатором передачу серийного ON> номера из хранилища в ARM? Ведь, после этого повторить этот серийный ON> номер ничего не стоит. А кто мешает получить на арме _случайное_ число, по этому числу закриптовать пакет и послать его внешнему устройству? Случайность можно получить прицепив шумящий элемент к АЦП на борту ARM, взять некоторое количество выборок, проверить что оно шумит...

ON> Всего Вам Хорошего ON> Ольга

WBR, Michael.

Reply to
Michael Zaichenko

Случайность в данном случае не нужна. При практически открытой прошивке ARM'а номер можно получить уже после всех дешифрующих алгоритмов... И расшифровать достаточно один раз. Тупик.

Можно поставить любое DALLAS'овское 1-wire изделие. Оно с кодом, уникальным. И этот же код прописывать в прошивку. Но это не спасает от дизассемблера с анализатором, что собственно я и хотел сказать изначально. Но дизассемблер с анализатором -- это уже немножко другой уровень, здесь умения копировать прошивки программатором недостаточно. Может быть, этого достаточно. Дешёвый вариант того же самого -- нечто с заметным разбросом параметров и не деградирующее со временем. Например, конденсатор (измерять время заряда). Совсем уж халявный вариант.

Reply to
Kirill Frolov

Здравствуйте, Уважаемый Anatoly!

Wed Dec 06 2006 11:04, Anatoly Mashanov wrote to Olga Nonova:

ON>> Как предотвратить перехват логическим анализатором передачу серийного ON>> номера из хранилища в ARM? Ведь, после этого повторить этот серийный ON>> номер ничего не стоит.

AM> Hу попробуй повтори передачу серийного номера однопроводного градусника. AM> После того, как головная программа обнаружит, что температура в приборе AM> не меняется или меняется подозрительным образом, можешь делать что AM> хочешь. Имитатор, реально обрабатывающий отсчеты температуры, будет AM> стоить не такие деньги.

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

Всего Вам Хорошего Ольга

Всего Вам Хорошего Ольга

Reply to
Olga Nonova

Привет!

Wed Dec 06 2006 11:04, Anatoly Mashanov wrote to Olga Nonova:

ON>> Как предотвратить перехват логическим анализатором передачу серийного ON>> номера из хранилища в ARM? Ведь, после этого повторить этот серийный ON>> номер ничего не стоит. AM> Hу попробуй повтори передачу серийного номера однопроводного градусника. AM> После того, как головная программа обнаружит, что температура в приборе AM> не меняется или меняется подозрительным образом, можешь делать что AM> хочешь. Имитатор, реально обрабатывающий отсчеты температуры, будет AM> стоить не такие деньги.

Да ерунда это все. Как было верно отмечено, от дизассемблера не защитишься. Ведь саму-то программу из ARM'а можно прочитать. А однопроводный градусник... Hу добавят они к содранному однопроводному градуснику наидешевейший мелкий однокристальник (типа атмеловского в корпусе SO-8) и получат полный аналог оригинального градусника.

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

Юргис

Reply to
Jurgis Armanavichius

Привет!

Wed Dec 06 2006 10:19, Olga Nonova wrote to Anatoly Mashanov:

AM>> Hу попробуй повтори передачу серийного номера однопроводного градусника. AM>> После того, как головная программа обнаружит, что температура в приборе AM>> не меняется или меняется подозрительным образом, можешь делать что AM>> хочешь. Имитатор, реально обрабатывающий отсчеты температуры, будет AM>> стоить не такие деньги. ON> Красивая идея! Буду обмозговывать.

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

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

Она совершенно недостаточна и дизассемблирования тут совсем не нужно :-) Речь ведь о чем идет? Содрали ваше устройство (вместе с градусником) и хотят тиражировать, верно? Так они добавят между ARM'ом и градусником наидешевейший микроконтроллер, который прочитает градусник, подставит правильный серийный номер и "надует" ваш ARM самым наглым образом :-) Он-то, бедненький, будет уверен, что градусник подлинный, а узнать правду у него нет никаких возможностей...

Юргис

Reply to
Jurgis Armanavichius

Hello Jurgis!

Wednesday December 06 2006 11:32, Jurgis Armanavichius wrote to Olga Nonova:

JA> Она совершенно недостаточна и дизассемблирования тут совсем не нужно JA> :-) Речь ведь о чем идет? Содрали ваше устройство (вместе с JA> градусником) и хотят тиражировать, верно? Так они добавят между ARM'ом JA> и градусником наидешевейший микроконтроллер, который прочитает JA> градусник, подставит правильный серийный номер и "надует" ваш ARM JA> самым наглым образом :-) Он-то, бедненький, будет уверен, что JA> градусник подлинный, а узнать правду у него нет никаких JA> возможностей... Для этого нужно апpиоpно ЗHАТЬ, что этот гpадусник именно кодоноситель, а не контpоль заpядника батаpеи.Это совсем дpугой уpовень сдиpания, от котоpого не помогут и более сложные телодвижения.

Andrey

Reply to
Andrey Thibulnik

Hello Olga!

02 Dec 06 10:48, you wrote to Andrej Arnold:

ON> Да, не массовое производство. Однако, вероятность сдира весьма велика. ON> Обьясню почему. Речь идет о модуле общего пользования для встраивания ON> в аппаратуру. Механически он чрезвычайно прост- один кристалл кварц. ON> Hо, в нем сидит полезный софт, оригинальные библиотеки. Вопрос- зачем ON> покупать эти готовые модули и, тем самым, оплачивать труд по созданию ON> оригинального софта, если ничего не стоит самому спаять подобную вещь, ON> содрать содержимое флэш и растиражировать? Иными словами, в данном ON> изделии самое ценное - это софт в виде библиотек. Как защищают ON> авторские права на библиотеки?

Я видел следующую реализацию: незащищенная в сущности прожка для писюка и LPT dongle с защищенным микроконтроллером, реализующим секретные библиотеки.

Anatoly

Reply to
Anatoly Mashanov

Hello Sergei!

03 Dec 06 19:34, you wrote to Olga Nonova:

SP> Злостным нарушением ТУ на программирование микросхем :-) SP> В результате создавались так называемые "плавающие биты".

SP> В современных устройствах - вряд ли возможно, SP> там же вся диаграмма формируется "внутри"...

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

Anatoly

Reply to
Anatoly Mashanov

Hello Olga!

05 Dec 06 19:33, Michael Mamaev wrote to you:

ON>> Дизассемблиpование не волнyет. Волнyет тиpажиpование изделия без ON>> лицензии. MM> Можно добавить в системy что-нибyдь пpостое, недоpогое и некопиpyемое, MM> обладающее yникальным сеpийным номеpом, а этот номеp использовать для MM> шифpования кода в качестве ключа. Таким обpазом каждое yстpойство MM> бyдет иметь индивидyальнyю, не pаботающyю на дpyгих, пpошивкy.

DS18B20 например :-)

Anatoly

Reply to
Anatoly Mashanov

Hello Olga!

05 Dec 06 23:36, you wrote to Michael Mamaev:

ON> Как предотвратить перехват логическим анализатором передачу серийного ON> номера из хранилища в ARM? Ведь, после этого повторить этот серийный ON> номер ничего не стоит.

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

Anatoly

Reply to
Anatoly Mashanov

Пpивет, Anatoly!

*** 06 Dec 06 12:04, Anatoly Mashanov wrote to Olga Nonova:

ON>> Как предотвратить перехват логическим анализатором передачу ON>> серийного номера из хранилища в ARM? Ведь, после этого повторить ON>> этот серийный номер ничего не стоит.

AM> Hу попробуй повтори передачу серийного номера однопроводного AM> градусника. После того, как головная программа обнаружит, что AM> температура в приборе не меняется или меняется подозрительным образом, AM> можешь делать что хочешь. Имитатор, реально обрабатывающий отсчеты AM> температуры, будет стоить не такие деньги.

Сделать иммитатор однопроводного градусника - работа на один свободный вечер (иммитаторов "таблеток" и без того хватает, так что даже изобретать ничего не нужно). Добавить к нему реальный градусник - столь же просто.

с уважением Владислав

Reply to
Vladislav Baliasov

Так а зачем все это вообще? Если кто то сумел понять зачем тут эта микруха стоит значит фирмварь дизассемблирована и оттрассирована - так тогда проще пару байтов в коде поменять и перемкнуть проверку. Хотя тут все зависит от мастерства писателя защиты - лучше всего конечно закодированные куски кода перебрасывать в ОЗУ, там раскодировать на основе сериального номера, и из ОЗУ же и выполнять. Все это слегка напоминает маразм, но хозяин - барин.

И уж по любому лучше ставить на защиту не таблетку а просто микроконтроллер - а в нем делать нетривиальные преобразования входных данных. Тогда по большому счету не нужно "сериализовать" прошивку АРМа - а только для микрика - его и зашитить гораздо легче.

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

Reply to
Arcady Schekochikhin

Доброго времени суток тебе Vladislav!

06 Дек 06 12:49, Vladislav Baliasov -> Anatoly Mashanov:

ON>>> Как предотвратить перехват логическим анализатором передачу ON>>> серийного номера из хранилища в ARM? Ведь, после этого повторить ON>>> этот серийный номер ничего не стоит.

AM>> Hу попробуй повтори передачу серийного номера однопроводного AM>> градусника. После того, как головная программа обнаружит, что AM>> температура в приборе не меняется или меняется подозрительным AM>> образом, можешь делать что хочешь. Имитатор, реально AM>> обрабатывающий отсчеты температуры, будет стоить не такие деньги.

VB> Сделать иммитатор однопроводного градусника - работа на один свободный VB> вечер (иммитаторов "таблеток" и без того хватает, так что даже VB> изобретать ничего не нужно). Добавить к нему реальный градусник - VB> столь же просто.

А ежели проблему побороть чисто механическими методами - залить плату с АРМом и "градусником" каким-нибудь особо ядреным компаундом - и пусть доковыриваются до выводов, что-бы узнать чем это там оно и с кем общается ? Hу или нудно дизассемблируют прошивку.

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

Обращаться в фирму SMS Pnevmatic - чем они свои датчики положения заливают.

А еще можно подгружать ПО из внешней ПЗУшки, до которой добраться по причине ядрености компаунда сложно, да и сделана она из ОЗУшки с литиевой батарейкой, один из выводов которой подключен к схеме длинным тонким проводником равноверно запутанным в объеме заливки. Пока продолбял ОЗУшка уже про все забудет. Hу или вообще внутри какой проц с тем или иным датчиком долбления и злобной программой самоликвидации (самостирания) если долбят заливку. А если скачали прошивку без знания хитростей перефирии - то дизассемблер им в лапки до посинения. Говорят во времена спектрумов писали проги, которые дизассемблировать было сущей жопой, так-как они по мере выполнения декодировали и кодировали участки собственного кода. Hаглядный пример - игра "MOVIE" - мало того, что в экранной области крутится собственная программа-распковщик-загрузчик, дык выполнение одного куска программы декодирует следующий.

Будь счастлив(а) Vladislav... С уважением Wladimir.

Reply to
Wladimir Tchernov

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.