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

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


Участник
*

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



Собственно задача такова:
Нужно иметь возможность обновлять прошивки процесора у клиентов самими клиентами. То-есть при исправлении ошибок или внесении новой функциональности нужно выслать прошивку клиенту и он сам должен её залить в кристал. Но, при этом, нужно сделать так, чтобы клиент не смог склонировать устройство и зашивать в него полученую прошивку.
Сталкивался ли кто-то с такими задачами?

Пока-что у меня только общие идеи, поскольку до реализации этой части я пока не добрался. Поэтому эти идеи могут быть и неправильными. Но сами идеи следующие:
1. Написать свой загрузчик с возможностью расшифровки данных. В загрузчике заложен ключ и ID устройства. Соответсвенно клиенту сбрасывается зашыфрованая прошивка. Загрузчик расшифровывает её, получает из неё ID для которого она предназначена, сравнивает и при совпаденни прошивает флеш.
2. Чуть попроще. Часть кода, которая не будет никогда изменяться, прошивается сразу. В этой части зашивается ID и код сравнения. Прошивка не шифруется. Основная программа в какой-то момент передает управление на процедуру сравнения ID, которая в зависимости от результатов сравнения переходит в нужноё место основной программы. Как в таком случае защитить ID в прошивке, чтобы его нелегко было найти?
3. Модификация второго. Во многих местах кода открытой прошивки поставить загрузку данных из закрытой области, и выполнять с ними какие-то операции вычисляя по этим данным и данным открытой области несколько констант, которые используются закрытой частью. Этот набор операций должен изменить константы таким образом, чтобы при правильном ID получить нужные значения. При неверных значениях закрытая часть программы будет неправильно работать.

Ещё такой вопрос - можно ли пошагово проанализировать работу процесора (скажем с помощью JTAG) и посмотреть какие инструкции исполняются на каждом шаге и что находиться в регистрах процесора не зная что прошито в самом процесоре?

Возможно есть варианты получше?

Спасибо
Go to the top of the page
 
+Quote Post
etoja
сообщение Dec 19 2006, 12:51
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 121
Регистрация: 14-01-05
Из: Москва
Пользователь №: 1 952



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

Мысли о защите от копирования характерны для начинающих разработчиков.
Go to the top of the page
 
+Quote Post
zltigo
сообщение Dec 19 2006, 14:59
Сообщение #3


Гуру
******

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



Цитата(OlegHmt @ Dec 19 2006, 11:40) *
1. Написать свой загрузчик с возможностью расшифровки данных.

Так и сделать. Варианты с нешифрованным образом принципиально ничем не проще, только много ненадежнее. У Atmel-а был какой-то AN для AVR AES загрузчика - можете взять шифрование оттуда в качестве образчика. Сам загрузчик там писан левой ногой - лучше и не смотрите smile.gif в ту сторону, ну а шифровщик/дешифратор я портировал для ARM.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
OlegHmt
сообщение Dec 19 2006, 15:44
Сообщение #4


Участник
*

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



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

Мысли о защите от копирования характерны для начинающих разработчиков.


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


zltigo

Спасибо, поищу
Go to the top of the page
 
+Quote Post
АДИКМ
сообщение Dec 19 2006, 19:01
Сообщение #5


Знающий
****

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



Ещё такой вопрос - можно ли пошагово проанализировать работу процесора (скажем с помощью JTAG) и посмотреть какие инструкции исполняются на каждом шаге и что находиться в регистрах процесора не зная что прошито в самом процесоре?

Вот этот пункт непонятен. Прибор то будет обновлять через COM/USB/Ethernet я так понимаю? А доступ к JTAG Вы закроете. Так что никто ничего не проанализирует...


--------------------
летаю на пепелаце...
Go to the top of the page
 
+Quote Post
Stanislav
сообщение Dec 19 2006, 19:20
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 4 363
Регистрация: 13-05-05
Из: Москва
Пользователь №: 4 987



Цитата(OlegHmt @ Dec 19 2006, 12:40) *
1. Написать свой загрузчик с возможностью расшифровки данных. В загрузчике заложен ключ и ID устройства...
Тоже так делал. Только задача была "проще" - двухпроцессорная система. Код одного из процов, во внешней флеши, шифровался.

Цитата(АДИКМ @ Dec 19 2006, 19:01) *
Ещё такой вопрос - можно ли пошагово проанализировать работу процесора (скажем с помощью JTAG) и посмотреть какие инструкции исполняются на каждом шаге и что находиться в регистрах процесора не зная что прошито в самом процесоре?

Вот этот пункт непонятен. Прибор то будет обновлять через COM/USB/Ethernet я так понимаю? А доступ к JTAG Вы закроете. Так что никто ничего не проанализирует...
Против лома нет приёма... Разве что упрятать контакы жутага под БГА корпус...
Есть ещё вариант: использовать для загрузки дешифратор на ПЛИС с "временной" прошивкой, существующей только при загрузке. Здесь есть простор, чтобы порезвиться...

Только думаю, что "абсолютно надёжных" методов всё равно нет. sad.gif
Впрочем, смысл защиты, как мне кажется, состоит в том, чтобы отсечь "халявщиков". А спецы, способные распотрошить защиту, вряд ли будут хернёй заниматься...


--------------------
Самонадеянность слепа. Сомнения - спутник разума. (с)
Go to the top of the page
 
+Quote Post
Edmundo
сообщение Dec 19 2006, 19:38
Сообщение #7


Мастер
****

Группа: Свой
Сообщений: 730
Регистрация: 18-02-06
Из: Москва
Пользователь №: 14 474



Цитата(OlegHmt @ Dec 19 2006, 12:40) *
Ещё такой вопрос - можно ли пошагово проанализировать работу процесора (скажем с помощью JTAG) и посмотреть какие инструкции исполняются на каждом шаге и что находиться в регистрах процесора не зная что прошито в самом процесоре?

Если программа работает с флеша, а не копируется в память, то по идее SAM-овский security bit должен помочь (вернее помешать такому просмотру).


--------------------
شامل
Go to the top of the page
 
+Quote Post
zltigo
сообщение Dec 19 2006, 20:32
Сообщение #8


Гуру
******

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



Цитата(OlegHmt @ Dec 19 2006, 14:44) *
Спасибо, поищу

Сейчас посмотрел, это документ AVR231.
Из выходного формата были выброшены все record type завязанные на прошивку коннкретного чипа
(с этим нормально загрузчик разбирается - ему лучше знать в какой чип попал) и выходной/загружаемый формат вместо сырого бинарника был сделан в "стиле HEX". Теперь все платформеннонезависимо. Загрузчик с дополнительными наворотами в виде аварийного входа по перемычке на JTAGе, поддержки командной строки, вызова штатного загрузчика, загрузки HEX файлов (если защита не активизирована), поддержки легкого декомпрессора и еще всяких мелочей уложился где-то в 7K.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
Stanislav
сообщение Dec 19 2006, 20:59
Сообщение #9


Гуру
******

Группа: Свой
Сообщений: 4 363
Регистрация: 13-05-05
Из: Москва
Пользователь №: 4 987



Цитата(Edmundo @ Dec 19 2006, 19:38) *
Если программа работает с флеша, а не копируется в память, то по идее SAM-овский security bit должен помочь (вернее помешать такому просмотру).
Да, действительно, был не прав. sad.gif C SAM7 работать раньше не доводилось...


--------------------
Самонадеянность слепа. Сомнения - спутник разума. (с)
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Dec 20 2006, 12:46
Сообщение #10


Гуру
******

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



Цитата(OlegHmt @ Dec 19 2006, 11:40) *
2. Чуть попроще.
3. Модификация второго.
Возможно есть варианты получше?
Однозначно первый вариант. Второй и третий ломаются элементарно - пишется прошивка которая тупо сливает по любому доступному интерфейсу содержимое "неизменной" части прошивки. В отличие от AVR атмел не догадался вставить в ARM возможность защитить одну область кода от чтения из второй области. На AVR второй и третий вариант проходят замечательно. Причем сэкономленное на дешифровке место в программной памяти можно использовать для необновляемых (и тоже защищенных от чтения) низкоуровневых функций управления окружающим железом.


--------------------
На любой вопрос даю любой ответ
"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
dch
сообщение Dec 20 2006, 12:54
Сообщение #11


Профессионал
*****

Группа: Участник
Сообщений: 1 179
Регистрация: 15-09-04
Из: 141070 г. Королев МО, улица Горького 39-121
Пользователь №: 661



Помоему это не так уходит, нужно обеспечиь зщиту помещения, компьютеров, а потом беспокоится о вскрытии прошивок. Потом если нет контроля над сбытом, то программные ухищрения никак не помогают. С контрофактом никто не борется.
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение Dec 20 2006, 13:31
Сообщение #12


Ally
******

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



Эт точно, сам видел как слызывали память чипа на FRAM и при вполне реалистичном бюджете.
А уж чипы на FLASH так вообще скопировать детская задача.

Цитата(dch @ Dec 20 2006, 14:24) *
Помоему это не так уходит, нужно обеспечиь зщиту помещения, компьютеров, а потом беспокоится о вскрытии прошивок. Потом если нет контроля над сбытом, то программные ухищрения никак не помогают. С контрофактом никто не борется.
Go to the top of the page
 
+Quote Post
Andrei....
сообщение Dec 21 2006, 09:54
Сообщение #13


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

Группа: Новичок
Сообщений: 104
Регистрация: 20-03-06
Пользователь №: 15 402



а есть ли процессоры в большими объёмами flash (скажем 1Mb) и sram (от 256 kb) на борту, и с возможностью их закрытия от считывания?
Go to the top of the page
 
+Quote Post
Tanya
сообщение Dec 21 2006, 10:54
Сообщение #14


Гуру
******

Группа: Модераторы
Сообщений: 8 752
Регистрация: 6-01-06
Пользователь №: 12 883



Цитата(OlegHmt @ Dec, 12:40) *
Возможно есть варианты получше?

Спасибо

Может это не проще, но...
Можно второй процессор поставить, через который проходит часть информационного потока (шифруется)...
Ведь какие-то функции не будут меняться.
Можно и "свой-чужой" запрос-ответ с хэшированием ID и random.
Раз Вы боитесь, значит устройство недешевое. Тогда, что Вам лишний корпус?

Сообщение отредактировал Tanya - Dec 21 2006, 11:03
Go to the top of the page
 
+Quote Post
SergeyDDD
сообщение Dec 21 2006, 11:01
Сообщение #15


Местный
***

Группа: Свой
Сообщений: 231
Регистрация: 7-12-06
Из: Киев
Пользователь №: 23 248



Цитата(etoja @ Dec 19 2006, 13:51) *
Мысли о защите от копирования характерны для начинающих разработчиков.


Глупости!!! В противном случае это можно заявить всем производителям
Go to the top of the page
 
+Quote Post
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 Текстовая версия Сейчас: 21st July 2025 - 21:03
Рейтинг@Mail.ru


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