реклама на сайте
подробности

 
 
2 страниц V  < 1 2  
Reply to this topicStart new topic
> Как защитить от клонирования оставив возможность обновить прошивки, AT91SAM7X256
OlegHmt
сообщение Dec 21 2006, 12:06
Сообщение #16


Участник
*

Группа: Участник
Сообщений: 70
Регистрация: 5-12-06
Пользователь №: 23 146



Tanya

Как раз дополнительные корпуса ставить не хочется, в частности и из-за повышения цены.


Так что, как я понимаю, оптимальным будет вариант написать свой прошивальщик с криптозащитой. Поскольку пример имеется, им и займуся, когда руки дойдут. :-)
Go to the top of the page
 
+Quote Post
karabas
сообщение Dec 24 2006, 22:14
Сообщение #17


Участник
*

Группа: Свой
Сообщений: 46
Регистрация: 21-06-04
Пользователь №: 80



Цитата(AlexandrY @ Dec 20 2006, 13:31) *
Эт точно, сам видел как слызывали память чипа на FRAM и при вполне реалистичном бюджете.
А уж чипы на FLASH так вообще скопировать детская задача.

Сорри за возможный офф. Вопрос как к невольному (а может и нет smile.gif ) участнику - "сам видел как слызывали ..." - и сколько стоит сейчас клонировать кристалл (типа AVR, ARM(LPC, AT91, STR))? Спрашиваю не как потенциальный заказчик на взлом, а как разработчик, пытающийся понять как оптимизировать схемотехнику/архитектуру устройства для защиты от копирования. Пока просматривается рассмотренный выше вариант с битом защиты от считывания памяти программ в кристалле + несколько таких кристаллов от разных производителей, соединенных в цепочку. в каждом из них криптозащита со своим ключем. от кристаллов требуется только расшифровка данных и передача ее следующему в цепочке - не такая уж и сложная задача для чипов с малой памятью в маленьком корпусе. стоимость каждого чипа - порядка 1.5$. я думаю, что за дополнительные 10$ (то бишь 5-6 чипов) можно получить довольно высокую стойкость к взлому.
Go to the top of the page
 
+Quote Post
zltigo
сообщение Dec 24 2006, 23:20
Сообщение #18


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(karabas @ Dec 24 2006, 21:14) *
Пока просматривается рассмотренный выше вариант с битом защиты от считывания памяти программ в кристалле + несколько таких кристаллов от разных производителей, соединенных в цепочку. в каждом из них криптозащита со своим ключем. от кристаллов требуется только расшифровка данных и передача ее следующему в цепочке - не такая уж и сложная задача для чипов с малой памятью в маленьком корпусе. стоимость каждого чипа - порядка 1.5$. я думаю, что за дополнительные 10$ (то бишь 5-6 чипов) можно получить довольно высокую стойкость к взлому.

Что-то паронаидальное smile.gif просматривается. И в бездумной чепочке достаточно банально снять протокол программирования последнего и только его "ломать".


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
Alex03
сообщение Dec 25 2006, 08:41
Сообщение #19


Местный
***

Группа: Свой
Сообщений: 359
Регистрация: 9-12-05
Пользователь №: 12 034



Цитата(zltigo @ Dec 25 2006, 01:20) *
Цитата(karabas @ Dec 24 2006, 21:14) *

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

Что-то паронаидальное smile.gif просматривается. И в бездумной чепочке достаточно банально снять протокол программирования последнего и только его "ломать".


smile.gif
Дык можно последний на первый закольцевать и дешифровать в 1000000 кругов!
smile.gif smile.gif smile.gif smile.gif
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение Dec 25 2006, 17:42
Сообщение #20


Ally
******

Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050



Никакие цепочки чипов не помогут если чипы общего применения.
Как-то видел проект где вскрывали игровую консоль сделаную в СНГ.
Основной процессор был ARM выполняющий программу из SDRAM
На защите стоял мелкий AVR.
AVR участвовал в раскриптовке содержимого FLASH при загрузке в SDRAM.
Ну что, AVR вскрыли, пропатчили лоадер который он передает в ARM. Этим патченым лоадером слили уже расшифрованную прогу из RAM-а (заметьте, с алгоритмом шифрования даже не разбирались!), а потом ее уже не шифрованную записали обратно во FLASH, а в лоадере убрали шифрацию.
Кстати алгоритм шифрования идентифицировали сразу же, это был RC4. Есть проги в сети которые по дампу программы независимо для какого проца она написана находят и идентифицируют большинство общеизвестных алгоритмов шифрования и сжатия по характерным таблицам. В RC4 правда нет таблиц но зато примитивный легко идентифицируемый алгоритм.
Инвазивное вскрытие AVR обходится менее 5 тыс. $.
Временные затраты на всю работу были менее месяца.
Это еще не применяя микропробинг и анализ трафика на шинах!
Грубый патч как метод не срабатывает только когда дивайс имеет уникальный серийный номер к которому привязывается защита и дивайс должен проходить online проверку как оригинальный.
Тогда приходится серьезно исследовать алгоритмы. Но тут надо помнить, что как не велик был бы общий объем кода программы сами алгоритмы защиты обнаруживаются и локализуются в программе очень быстро даже когда не до конца известна архитектура аппаратной платформы.
Если алгоритмы самопальные то они будут примитивны (иначе у их разработчика крыша съедет при отладке), если алгоритмы стандартны, то хакеры быстро найдут их исходники чтобы воспроизвести их работу в патче.
Отсюда вывод - нельзя делать ставку на сложность и хитроумность софтварной защиты.
Инвазивное вскрытие самый узкий момент во всей технологии.
Тут совет один, чем меньше технологическая норма кристалла тем меньше лабораторий в мире смогут снять защиту в кристалле. Прикидочно на сегодня чтобы цена взлома подскочила до 50 тыс.$ и выше надо чтобы норма кристалла была не больше 0.18 мкм
Либо ставить как часть приложения смарткарты или заказные SoC-и со спецзащитой.


Цитата(karabas @ Dec 24 2006, 23:44) *
Сорри за возможный офф. Вопрос как к невольному (а может и нет smile.gif ) участнику - "сам видел как слызывали ..." - и сколько стоит сейчас клонировать кристалл (типа AVR, ARM(LPC, AT91, STR))? Спрашиваю не как потенциальный заказчик на взлом, а как разработчик, пытающийся понять как оптимизировать схемотехнику/архитектуру устройства для защиты от копирования. Пока просматривается рассмотренный выше вариант с битом защиты от считывания памяти программ в кристалле + несколько таких кристаллов от разных производителей, соединенных в цепочку. в каждом из них криптозащита со своим ключем. от кристаллов требуется только расшифровка данных и передача ее следующему в цепочке - не такая уж и сложная задача для чипов с малой памятью в маленьком корпусе. стоимость каждого чипа - порядка 1.5$. я думаю, что за дополнительные 10$ (то бишь 5-6 чипов) можно получить довольно высокую стойкость к взлому.
Go to the top of the page
 
+Quote Post
lazycamel
сообщение Jan 2 2007, 13:01
Сообщение #21


Участник
*

Группа: Свой
Сообщений: 48
Регистрация: 5-11-04
Пользователь №: 1 053



Цитата(Сергей Борщ @ Dec 20 2006, 13:46) *
Однозначно первый вариант. Второй и третий ломаются элементарно - пишется прошивка которая тупо сливает по любому доступному интерфейсу содержимое "неизменной" части прошивки.


Интересный вопрос - по какому интерфейсу вы запишите прошивку в SAM7S с установленым битом Security ?

Учитывая что апдейтер прошивки внутри девайса будет использовать любой алгоритм однонаправленого шифрования ?
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Jan 2 2007, 15:23
Сообщение #22


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Цитата(lazycamel @ Jan 2 2007, 12:01) *
Цитата(Сергей Борщ @ Dec 20 2006, 13:46) *

Однозначно первый вариант. Второй и третий ломаются элементарно - пишется прошивка которая тупо сливает по любому доступному интерфейсу содержимое "неизменной" части прошивки.

Интересный вопрос - по какому интерфейсу вы запишите прошивку в SAM7S с установленым битом Security ?
По тому же самому по которому заливается "штатная" прошивка.
Цитата(lazycamel @ Jan 2 2007, 12:01) *
Учитывая что апдейтер прошивки внутри девайса будет использовать любой алгоритм однонаправленого шифрования ?
Теперь я не понял вопроса. В раскритикованных втором и третьем вариантах прошивка не шифруется. Именно это и позволяет подсунуть любую прошивку. Шифруется она в одобренном первом варианте.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
sfinks
сообщение Jan 2 2007, 17:57
Сообщение #23


Участник
*

Группа: Участник
Сообщений: 22
Регистрация: 2-01-07
Пользователь №: 24 051



А не проще посмотреть, как это сделали в коммерческом проекте до Вас? Если у вас нет примеров, могу выслать прошивку такого проекта (его уже хакнули)
Go to the top of the page
 
+Quote Post
Playnet
сообщение Jan 2 2007, 18:54
Сообщение #24


Частый гость
**

Группа: Свой
Сообщений: 132
Регистрация: 10-05-06
Пользователь №: 16 930



Цитата(OlegHmt @ Dec 21 2006, 12:06) *
Tanya
Так что, как я понимаю, оптимальным будет вариант написать свой прошивальщик с криптозащитой. Поскольку пример имеется, им и займуся, когда руки дойдут. :-)

Если интерфейс для прошивки стандартный, подкручиваем к шнуру прошивальщика провода и в raw пишем прочитанное на комп.. Там будет и расшифрованная прошивка.
Короче, на любую хитрую Ж найдется свой болт. Смысл имеет только аппаратная защита..
Go to the top of the page
 
+Quote Post
boez
сообщение Jan 3 2007, 12:20
Сообщение #25


Частый гость
**

Группа: Новичок
Сообщений: 79
Регистрация: 1-11-06
Пользователь №: 21 868



Полуофф, но кому-то может и будет интересно. Есть такое семейство, зовется TMS320LF240xA. Там есть Code Security. Пароль 64 бита. Записывается при программировании (под него отведено кусок флеши, 4 слова). После этого при подаче питания процессор стартует разлоченным, но лочится сразу при подключении жтага. В залоченном состоянии доступа к флеши нет. Чтобы перешить проц другой прошивкой, или даже просто стереть флешу - нужно вписать в спец. регистры правильный пароль!!!
Вроде в 28хх серии то же самое, но пароль 128 бит.

Конечно если нужна прошивка клиентом - это не помогает, а вот просто от перепрошивки левыми прошивками - помогает...
Go to the top of the page
 
+Quote Post
OlegHmt
сообщение Jan 8 2007, 16:50
Сообщение #26


Участник
*

Группа: Участник
Сообщений: 70
Регистрация: 5-12-06
Пользователь №: 23 146



Пробую реализовать вариант защиты прошивки путём использования USB. То-есть идея следующая - зашиваю в кристал прогу, которая запускает USB, проверяет связь с внешней средой и при наличии команды на перепрошивку принимает кусок зашифрованой прошивки, расшифровывает и прописывает в нужное место флеша.
Столкнулся с проблемой - непонятно как организовать запись даных на флеш. В даташите написано, что существует встроенный буфер для записи размером в страницу и после записи в него, нужно в регистры контролера флеша записать нужную команду. Но где находиться этот буфер не написано.
Подскажите, пожалуйста, как организовать запись своих данных на флеш, а то по даташиту никак разобраться не могу.
Go to the top of the page
 
+Quote Post
Mitek
сообщение Jan 25 2007, 21:35
Сообщение #27


Участник
*

Группа: Участник
Сообщений: 54
Регистрация: 12-06-06
Пользователь №: 17 988



Вдруг пригодится.
Видел на компьтерах Compaq вроде бы биос прошивался через прошивальщик в виде exe файла, где внутри был имидж запакованный(может и пришитый к конкретному железу).
Видел также промышленный контроллер, в нем прошивку можно было залить через сом порт, стоял там Lattice ispsi 1016, ватчдог 21DY4YB и проц интеловский(плюс флэха на 4мб и памяти пару метров) При вкл девайса проходила иницилизация и запускался лодарь , а потом уже и весь девайс(вкл всю переферию).


Из идей:
Прошивку шифровать, лить через УСБ или ком , в процессе заливки сам заливальщик должен проверить содержимое основного и вторичного контроллера на чек сумму по такому то адресу.
Если к концу заливки прошивальщик узнает что чек разный, последняя часть прошивки меняется и вливается ловушка.
Которая либо тупо вообще портит работу устройства или по случайному алгоритму начитает вводит девайс в ступор.

До кучи влепить на доп.проце (контроллере) проверку чеков в памяти основного по таймеру, если что не так в ступор.
Go to the top of the page
 
+Quote Post
Mitek
сообщение Jan 26 2007, 08:19
Сообщение #28


Участник
*

Группа: Участник
Сообщений: 54
Регистрация: 12-06-06
Пользователь №: 17 988



Вот интересный материал по пикам, хотя и не очень то в тему.
http://www.pology.zp.ua/har/usb_module.html
Go to the top of the page
 
+Quote Post
Nixon
сообщение Jan 26 2007, 11:19
Сообщение #29


Гуру
******

Группа: Админы
Сообщений: 2 736
Регистрация: 17-06-04
Из: Киев
Пользователь №: 48



По поводу защиты прошивки AT91SAM7X256 посмотрите атмелевский родной аппнот "Safe and Secure Bootloader Implementation" для SAM'ов.


--------------------
Вам помочь или не мешать?
Go to the top of the page
 
+Quote Post
АДИКМ
сообщение Jan 31 2007, 16:58
Сообщение #30


Знающий
****

Группа: Свой
Сообщений: 630
Регистрация: 2-08-05
Пользователь №: 7 294



Существует две причины, благодаря которым можно получить чужую прошивку -
1. Ошибки разработчика программы загрузчика/обновлятеля.
2. Ошибки допущенные при разработке MCU (всем известные)

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

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

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


--------------------
летаю на пепелаце...
Go to the top of the page
 
+Quote Post

2 страниц V  < 1 2
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 03:16
Рейтинг@Mail.ru


Страница сгенерированна за 0.01513 секунд с 7
ELECTRONIX ©2004-2016