|
Защита от взлома при бутлоадере, к специалистам по бутлоадерям и взлому |
|
|
|
Oct 24 2006, 19:33
|
Гуру
     
Группа: Свой
Сообщений: 2 702
Регистрация: 14-07-06
Пользователь №: 18 823

|
Цитата(SasaVitebsk @ Oct 24 2006, 21:33)  И кто как с этим борется? Я никогда не борюсь. Я сам даже при наличии исходников с трудом разбираюсь. И чем сложнее проект, тем меньше он нужен кому-нибудь. И Ваше светодиодное табло никому не нужно. Но уже по другой причине.
--------------------
Уходя, оставьте свет...
|
|
|
|
|
Oct 24 2006, 19:46
|
дятел
    
Группа: Свой
Сообщений: 1 681
Регистрация: 13-05-06
Из: Питер
Пользователь №: 17 065

|
Цитата(SasaVitebsk @ Oct 24 2006, 22:33)  Заканчиваю серьёзный проект. Таких по объёму у меня ещё не было. Очень жалко потраченного времени (приблизительно месяцев 8). Одназначно придётся применять бутлоадер. И вот вопрос. Давайте обсудим Ваш вопрос с экономической точки зрения: 8 месяцев X (1000-1200уе)(типа ориентировочно)=8000-9600у.е насколько я ничего не знаю, но взлом мк оценивают от 10000 до 15000, то есть если реч идет о тираже 1-10-100 устройств то ИМХО можно не париться Конечно, если речь идет о миллионных тиражах, ну или хотя бы о тысячах, то тогда да, стоит задуматься...
|
|
|
|
|
Oct 24 2006, 19:50
|
Местный
  
Группа: Свой
Сообщений: 433
Регистрация: 28-02-06
Пользователь №: 14 788

|
Цитата(pitt @ Oct 24 2006, 23:21)  Родной, спи спокойно! Никому твой код не нужен, а если кто-то, кое-где у нас порой, то и тогда наврядли! Ну вот только человек хотел защитить свой копилефт а вы А если серьезно то чего боимся: 1. просто слижут весь проект или 2. отдизасмят и вытащат нечто гениальное/секретное или проще - насколько велики возможные потери.
|
|
|
|
|
Oct 24 2006, 21:53
|
Гуру
     
Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521

|
Цитата(Dog Pawlowa @ Oct 24 2006, 22:33)  Цитата(SasaVitebsk @ Oct 24 2006, 21:33)  И кто как с этим борется?
Я никогда не борюсь. Я сам даже при наличии исходников с трудом разбираюсь. И чем сложнее проект, тем меньше он нужен кому-нибудь. И Ваше светодиодное табло никому не нужно. Но уже по другой причине.   Про исходники никто и не парится. Нафига они. Слизал HEX и работай. Причём единожды. И даже все апгрейды у тебя в кармане. 8 месяцев не прога на МК писана. Это же очевидно. Но разработан эмулятор реальный. Продумана система команд, структура, построение, протоколы. Документов написано море. Разрабатывается сайт. Логотипы, конструктивы, отладки, тестовые видеоролики, фонты, конверторы и прочее. И всё это будет бесплатно доступно. Так что простое слизывание проекта - вещь неприятная. Нужно или нет узнаем ч/з год полтора. Сам пока не знаю.  Опыт показывает что в реальную серию идёт одно из 10 изделий. Правда последние мои практически все. Более или менее. На вопрос так никто и не ответил пока.
|
|
|
|
|
Oct 24 2006, 23:05
|
Частый гость
 
Группа: Новичок
Сообщений: 173
Регистрация: 3-09-04
Из: Moscow
Пользователь №: 595

|
Цитата(Леонид Иванович @ Oct 25 2006, 00:32)  Выложить исходник на каком-нибудь популярном ресурсе, тогда никто не станет повторять. Проверено.  А если серьёзно, то думаю, что повторяют один в один, потому что трудоёмко восстанавливать алгоритм, понимать его и вносить модификации, когда можно просто скопировать hex. Если принцип действия будет подробно разжёван и указаны все подводные камни, (как, например, делаете Вы в своих публикуемых проектах, за что Вам отдельное спасибо), то по сравнению с простым копированием едва ли более трудоёмким будет выпуск модернизированного аналога, имеющего бОльшую привлекательность на рынке сбыта. Скажем, просто перепишут на другой (более дешёвый или более маложрущий) МК, используют недавно появившиеся ЭК, которые чуть лучше или доставабельнее оригинальных, изменят внешний вид и чуть расширят функциональность (скажет, интегрируют туда ещё и калькулятор, термометр или дополнительный интерфейс) - вот и отличия, и новые фичи. И если автор первоначального проекта, публикуя своё творение, не ставил перед собой задачу обучить новичков своему ремеслу, то ему будет, как минимум, обиден (и невыгоден материально) такой пиратский подход конкурентов. Так что стоит обратить внимание на реальную ценность проекта для потенциальных конкурентов. Если потенциальных конкурентов нет, например, в силу специфики продукции, а есть только любители, желающие сделать себе на коленках максимум одну копию для личного пользования, то волноваться не стоит - пиратство в малых количествах лишь послужит рекламой Вашему изделию. Цитата(SasaVitebsk @ Oct 24 2006, 22:33)  Одназначно придётся применять бутлоадер. И вот вопрос. Как я понимаю защиту можно пробить если знать некоторые внутренние блоки. (Если я ошибаюсь, - успокойте меня). Эти внутренние куски проги можно "вычислить" по внешним признакам. Ну например достаточно ли для взлома будет таблицы CRC16 или таблицы знакогенератора? Вообще какой объём кода необходимо знать для взлома? И кто как с этим борется? Теоритически данные таблицы можно вынести за пределы проги и не включать их в пространство программы. Располагать по фиксированному адресу. Правда проект будет выгладеть несколько не очень. Вы говорите так, как будто уже выбрали криптосистему и обсуждаете её уязвимость. В таком случае стоит хотя бы назвать её, если она стандартная. Лично я бы поместил в бутлоадер простую самодельную расшифровалку, не прибегая ко всяким DESам, IDEAям и пр. Стандартные криптосистемы обязаны быть стойкими с открытым алгоритмом. В Вашем случае такого требования нет, ибо флеш одновременно хранит и алгоритм, и ключ, так и сделайте алгоритм секретом - этим можно значительно упростить расшифровальщик, т.к. стандартные подходы криптоанализа неприменимы из-за незнания алгоритма. Разница была бы при использовании несимметричных криптоалгоритмов, но такой всё равно не влезет в ресурсы МК. Раз уж Вы хотите сохранить в тайне код Вашей программы, то алгоритм расшифровальщика тоже является его частью и логично хранить в секрете и его. Короче, обычный ADD-XOR-ROL-расшифровальщик с секретными константами вполне подойдёт. И ещё обратите внимание на то, что разрешённая фузами инструкция SPM резко увеличивает вероятность слёта флеши, об этом встречались высказывания на форумах. Для меня бы это имело бОльшее значение, чем возможность производить удалённые апгрейды без раскрытия части кода.
|
|
|
|
|
Oct 25 2006, 05:45
|
Гуру
     
Группа: Свой
Сообщений: 2 702
Регистрация: 14-07-06
Пользователь №: 18 823

|
Цитата(SasaVitebsk @ Oct 25 2006, 00:53)  На вопрос так никто и не ответил пока. Если серьезно, то на телесистемах год назад была дискуссия на тему ограничения количества программирования блоков под бутлоадером. Кажется это то, что требуется. В детали не вдавался - как я сказал выше, мне не нужно. Особо хочу отметить, что экзотикой бутлоадера можно легко вывести устройство из строя. [quote name='SasaVitebsk' date='Oct 25 2006, 00:53' post='168445'] Продумана система команд, структура, построение, протоколы. Документов написано море. Разрабатывается сайт. Логотипы, конструктивы, отладки, тестовые видеоролики, фонты, конверторы и прочее. И всё это будет бесплатно доступно. Так что простое слизывание проекта - вещь неприятная. [/quote В самом деле табло  Когда мы делали табло, то в протоколах, симуляторах и фонтах конкурентов даже не разбирались - сделали свои. Имейте ввиду, в массовой продукции Вы конкурируете с китайцами, а они передирать не будут - у них уже все сделано.
--------------------
Уходя, оставьте свет...
|
|
|
|
|
Oct 25 2006, 08:56
|
Группа: Новичок
Сообщений: 2
Регистрация: 14-04-06
Пользователь №: 16 106

|
Биты защиты от чтения не помогут, если есть загрузчик. Взлом осуществляется так: загрузчиком записывается в свободное место кусочек кода (от взломщика), который все считывает и выводит наружу. Если же загрузчику запретить запись, то он уже не загрузчик.
|
|
|
|
|
Oct 25 2006, 09:33
|
Знающий
   
Группа: Свой
Сообщений: 851
Регистрация: 28-08-04
Пользователь №: 559

|
Цитата(shhh @ Oct 25 2006, 12:56)  Биты защиты от чтения не помогут, если есть загрузчик. Взлом осуществляется так: загрузчиком записывается в свободное место кусочек кода (от взломщика), который все считывает и выводит наружу. Если же загрузчику запретить запись, то он уже не загрузчик. Интересно, Так кто мешает загрузчику сперва почистить всю флеш перез записью программы? и как Цитата кусочек кода получит управление?
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|