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

 
 
> Что там ST учудил с защитой кода.....
Dr.Alex
сообщение Jun 9 2015, 19:04
Сообщение #1


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

Группа: Свой
Сообщений: 1 386
Регистрация: 5-04-05
Из: моська, RF
Пользователь №: 3 863



Вроде бы сразу несколько возможностей, а всё отстой какой-то....
Если сделать RDP Level 2, то необратимо отваливается JTAG.
Если включить всё остальное вместе взятое (RDP Level 1 и PCROP), то фактически защиты нифига никакой нет.
Пример: есть бутлодырь, грузящий шифрованную АЕСом прошивку по USB.
Но если подключиться жтагом во время прошивки, то можно будет найти в RAM расшифрованную прошивку, или сразу ключи АЕСа.
Так ведь? Или я во что-то не въехал?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Dr.Alex
сообщение Jun 10 2015, 06:55
Сообщение #2


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

Группа: Свой
Сообщений: 1 386
Регистрация: 5-04-05
Из: моська, RF
Пользователь №: 3 863



Цитата(mantech @ Jun 10 2015, 08:58) *
Бутлодырь такой навороченный, что его нельзя нормально протестить? Честно говоря никогда таких проблем не было laughing.gif

Ребята, вы немного не зазнавайтесь там :-)))
Помнится, я тут спрашивал, например, кто какой скорости работы по USB HS добился, в ответ молчок.
То есть никто вообще USB HS не использует (а у меня бутлодырь именно через него),
хотя я несколько месяцев с СТМ работаю, а некоторые якобы уже много лет,
зато все уверяют что могут за скромное время (адекватное задаче) всё это абсолютно безглючно написать и протестить :-))))
Ну блажен кто верует :-))))

Цитата(adnega @ Jun 10 2015, 09:17) *
Я же вводил условие, что прошивку нужно обезопасить от подделки, чтоб свой код врагу загрузить возможности не было.
А второе условие, что алгоритм работы загрузчика закрыт.

Как вы не поймёте, что единственная защита это неизвестность ключа АЕС
Именно это и ТОЛЬКО это и можно подразумевать под "прошивку обезопасить от подделки" и "алгоритм работы закрыт",
ну это же банальность, почему это приходится столько раз напоминать?
Иначе ваше "условие" звучит так: у меня самый навороченный замок, главное чтобы никто не догадался что ключ всегда под ковриком.

Цитата(adnega @ Jun 10 2015, 09:17) *
Да, загрузчик можно написать самый простейший. Не понятно в чем сложность и как можно загубить партию?

Вот русским языком же говорю третий раз что загрузчик написан (и не простейший, а нормальный по юсб),
и что вариант необратимо убить жтаг допускается, но НЕ ПРИВЕТСТВУЕТСЯ. Вот и всё.
Go to the top of the page
 
+Quote Post
adnega
сообщение Jun 10 2015, 07:25
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 2 724
Регистрация: 14-05-07
Из: Ярославль, Россия
Пользователь №: 27 702



Цитата(Dr.Alex @ Jun 10 2015, 09:55) *
Как вы не поймёте, что единственная защита это неизвестность ключа АЕС Именно это и ТОЛЬКО это

А для всех ли систем это справедливо? Если есть доступ через интерфейс отладчика, очевидно, что "неизвестности ключа" мало.
У каждого правила есть рамки применимости (которые не во всех книжках указывают), а вы слишком категоричны.

По теме:
1. В USB жесткие тайминги. Отладка будет сильно затруднена, т.к. интерфейс будет отваливаться на стороне хоста. Добавить условие, что прошивать можно только через 10 минут после "power on reset" и жизнь врага станет адом.
2. В режиме отладки стирание/запись во Flash не работает. Вы даже стирание страницы не сможете произвести. Да, одну страницу враг может и утянет.

При чем тут ST и "чудачества"? Как по-вашему должен был бы работать идеальный Level 1? JTAG для одной команды Mass Erase что ли?

PS. Создается впечатление, что вас на ST насильно пересадили)
Go to the top of the page
 
+Quote Post
Dr.Alex
сообщение Jun 10 2015, 07:35
Сообщение #4


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

Группа: Свой
Сообщений: 1 386
Регистрация: 5-04-05
Из: моська, RF
Пользователь №: 3 863



Цитата(adnega @ Jun 10 2015, 10:25) *
А для всех ли систем это справедливо? Если есть доступ через интерфейс отладчика, очевидно, что "неизвестности ключа" мало.

В этом случае ключ быстро станет известным, а то и сами данные. Так что всё нормльно.

Цитата(adnega @ Jun 10 2015, 10:25) *
По теме:
...
...
При чем тут ST и "чудачества"? Как по-вашему должен был бы работать идеальный Level 1? JTAG для одной команды Mass Erase что ли?
PS. Создается впечатление, что вас на ST насильно пересадили)

Мне пабарабану, какое создаётся впечатление, но всё это как раз не по теме.
Если не нравится, как я написал заголовок, пожалуйтесь модератору, он переименует.
Тема: какие режимы лично ВЫ используете, и каковы их особенности.
Было бы лучше если бы левел2 был обратим. Ведь делается же массЕрасе при сбросе левела1!
Go to the top of the page
 
+Quote Post
adnega
сообщение Jun 10 2015, 07:52
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 2 724
Регистрация: 14-05-07
Из: Ярославль, Россия
Пользователь №: 27 702



Цитата(Dr.Alex @ Jun 10 2015, 10:35) *
Тема: какие режимы лично ВЫ используете, и каковы их особенности.
Было бы лучше если бы левел2 был обратим. Ведь делается же массЕрасе при сбросе левела1!

Насчет названия:
Как правило темы, начинающиеся с "ST учудил", заканчиваются выводом "сам дурак".
Помню единственное исключение, когда была опечатка в документации от ST (с кем не бывает?).

По теме:
Level_1 это обратимый Level_2 в вашей терминологии.

Level_2 это способ сделать так, чтобы враг не смог стереть прошивку в принципе.

Давайте попробуем виртуально повзламывать прошивку в Level_1 через отладчик?
0. Подключаемся по JTAG.
1. По USB приходит команда обновить прошивку.
2. Загрузчик пытается стереть/подготовить сектор и обламывается. Ибо
Цитата
Any attempted program/erase operation sets the PGERR flag of Flash status register (FLASH_SR).

3. Процесс обновления заканчивается с ошибкой.

Разве не так?
Go to the top of the page
 
+Quote Post
Dr.Alex
сообщение Jun 10 2015, 07:59
Сообщение #6


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

Группа: Свой
Сообщений: 1 386
Регистрация: 5-04-05
Из: моська, RF
Пользователь №: 3 863



Цитата(adnega @ Jun 10 2015, 10:52) *
Как правило темы, начинающиеся с "ST учудил", заканчиваются выводом "сам дурак".

Меня это совершенно не волнует. Я слишком большой сноб и слишком уверен в себе, чтобы об этом беспокоиться.

Цитата(adnega @ Jun 10 2015, 10:52) *
Any attempted program/erase operation sets the PGERR flag of Flash status register (FLASH_SR).

Это откуда?
У меня в RM0090 rev7 такого вроде нет.
Да и потом, ведь не обязательно подключаться сначала. Можно и в процессе. И вынуть ключ прямо из регистров блока CRYP :-))))
Go to the top of the page
 
+Quote Post
adnega
сообщение Jun 10 2015, 09:28
Сообщение #7


Гуру
******

Группа: Свой
Сообщений: 2 724
Регистрация: 14-05-07
Из: Ярославль, Россия
Пользователь №: 27 702



Цитата(Dr.Alex @ Jun 10 2015, 10:59) *
Это откуда?
У меня в RM0090 rev7 такого вроде нет.
Да и потом, ведь не обязательно подключаться сначала. Можно и в процессе. И вынуть ключ прямо из регистров блока CRYP :-))))

Я брал у stm32f0x2, но в RM0090 rev9 в разделе 3.7.3 Read protection (RDP):
Цитата
When the read protection Level 1 is set:
– No access (read, erase, program) to Flash memory or backup SRAM can be
performed while the debug feature is connected or while booting from RAM or
system memory bootloader. A bus error is generated in case of read request.

Что по сути не отличается.
Go to the top of the page
 
+Quote Post
Dr.Alex
сообщение Jun 10 2015, 09:30
Сообщение #8


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

Группа: Свой
Сообщений: 1 386
Регистрация: 5-04-05
Из: моська, RF
Пользователь №: 3 863



Цитата(adnega @ Jun 10 2015, 12:28) *
Я брал у stm32f0x2, но в RM0090 rev9 в разделе 3.7.3 Read protection (RDP)

Ладно. Но это ничего не меняет.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Dr.Alex   Что там ST учудил с защитой кода.....   Jun 9 2015, 19:04
- - adnega   Цитата(Dr.Alex @ Jun 9 2015, 22:04) Или я...   Jun 9 2015, 19:46
|- - Dr.Alex   Цитата(adnega @ Jun 9 2015, 22:46) А како...   Jun 9 2015, 20:05
|- - adnega   Цитата(Dr.Alex @ Jun 9 2015, 23:05) Если ...   Jun 9 2015, 20:16
||- - Dr.Alex   Цитата(adnega @ Jun 9 2015, 23:16) Еще ка...   Jun 9 2015, 20:21
||- - adnega   Цитата(Dr.Alex @ Jun 9 2015, 23:21) Да не...   Jun 9 2015, 20:36
||- - Aner   QUOTE (adnega @ Jun 10 2015, 00:36) Если ...   Jun 9 2015, 20:43
||- - Dr.Alex   Цитата(adnega @ Jun 9 2015, 23:36) Т.е. и...   Jun 9 2015, 20:58
||- - adnega   Цитата(Dr.Alex @ Jun 9 2015, 23:58) Если ...   Jun 10 2015, 06:17
|- - mantech   Цитата(Dr.Alex @ Jun 9 2015, 23:05) Может...   Jun 10 2015, 05:58
- - Aner   Зачем так делать? Пишите свой бутлодырь с закрываш...   Jun 9 2015, 19:51
- - Golikov A.   перестановочный шифр не взламываемый, потому что н...   Jun 9 2015, 21:08
|- - Dr.Alex   Цитата(Golikov A. @ Jun 10 2015, 00:08) ...   Jun 9 2015, 21:16
- - Golikov A.   ПРОСТИТЕ прочитал вашу добавку после того как напи...   Jun 9 2015, 21:24
|- - mantech   Цитата(Dr.Alex @ Jun 10 2015, 09:55) То е...   Jun 10 2015, 07:03
||- - Dr.Alex   Цитата(mantech @ Jun 10 2015, 10:03) Може...   Jun 10 2015, 07:20
||- - mantech   Цитата(Dr.Alex @ Jun 10 2015, 10:20) Верн...   Jun 10 2015, 07:42
|||- - adnega   Цитата(Dr.Alex @ Jun 10 2015, 10:59) Да и...   Jun 10 2015, 09:30
|||- - Dr.Alex   Цитата(adnega @ Jun 10 2015, 12:30) Доста...   Jun 10 2015, 09:36
|||- - adnega   Цитата(Dr.Alex @ Jun 10 2015, 12:36) Возм...   Jun 12 2015, 05:11
||- - Непомнящий Евгений   Цитата(adnega @ Jun 10 2015, 10:52) Давай...   Jun 14 2015, 06:49
||- - Dr.Alex   Неужели не понятно, что если бы был 100-процентный...   Jun 14 2015, 10:15
|- - sadat   Цитата(Dr.Alex @ Jun 10 2015, 09:55) Ребя...   Jun 11 2015, 16:24
|- - Dr.Alex   Цитата(sadat @ Jun 11 2015, 19:24) совсем...   Jun 11 2015, 16:56
- - Golikov A.   Я не очень понимаю смысл темы. Вам говорят решени...   Jun 10 2015, 07:08
- - Aner   Непонятно, может у вас большой сноб уже в параною ...   Jun 10 2015, 09:12
|- - Dr.Alex   Цитата(Aner @ Jun 10 2015, 12:12) не прощ...   Jun 10 2015, 09:24
- - adnega   Кста, посмотрел в модуль CRYP - регистр с ключами ...   Jun 10 2015, 09:44
|- - Aner   QUOTE (adnega @ Jun 10 2015, 13:44) Кста,...   Jun 10 2015, 11:18
- - pavel-pervomaysk   Если прибор очень востребован, дорогой, актуальный...   Jun 12 2015, 05:34
- - bugdesigner   Я использую ROP=1 для защиты бутлоадера, обновлени...   Jun 12 2015, 09:04
|- - Dr.Alex   Цитата(bugdesigner @ Jun 12 2015, 12:04) ...   Jun 12 2015, 09:53
|- - bugdesigner   Цитата(Dr.Alex @ Jun 12 2015, 12:53) Я зн...   Jun 12 2015, 11:49
|- - Dr.Alex   Цитата(bugdesigner @ Jun 12 2015, 14:49) ...   Jun 12 2015, 12:15
- - ViKo   Хочу уточнить вопрос. Задам защиту чтения Уровень ...   Jun 12 2015, 11:54
|- - bugdesigner   Цитата(ViKo @ Jun 12 2015, 14:54) Должна ...   Jun 12 2015, 12:11
|- - ViKo   Цитата(bugdesigner @ Jun 12 2015, 15:11) ...   Jun 12 2015, 12:27
|- - bugdesigner   Цитата(ViKo @ Jun 12 2015, 15:27) Сбрасыв...   Jun 12 2015, 14:34
|- - Dr.Alex   Цитата(bugdesigner @ Jun 12 2015, 17:34) ...   Jun 12 2015, 19:27
|- - bugdesigner   Цитата(Dr.Alex @ Jun 12 2015, 22:27) Во-п...   Jun 13 2015, 04:48
|- - Dr.Alex   Цитата(bugdesigner @ Jun 13 2015, 07:48) ...   Jun 13 2015, 09:39
|- - bugdesigner   Цитата(Dr.Alex @ Jun 13 2015, 12:39) Не н...   Jun 13 2015, 12:01
|- - Dr.Alex   Надоело повторять каждому одно и то же. Для начала...   Jun 13 2015, 12:05
- - Golikov A.   А через жтаг можно узнать текущую выполняемую кома...   Jun 13 2015, 13:54
|- - Dr.Alex   Варианты навскидку: 1) прописывать PC, пытаясь пер...   Jun 13 2015, 14:04
|- - bugdesigner   Даже если не отключать дебаг порт, можно и нужно н...   Jun 13 2015, 14:23
|- - Dr.Alex   Цитата(bugdesigner @ Jun 13 2015, 17:23) ...   Jun 13 2015, 19:11
|- - Timmy   Цитата(Dr.Alex @ Jun 13 2015, 22:11) Вы у...   Jun 14 2015, 04:08
- - Golikov A.   Цитатато в принципе невозможно. Как только Вы подк...   Jun 13 2015, 15:51


Closed TopicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th July 2025 - 07:00
Рейтинг@Mail.ru


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