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

 
 
> Что там 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
Непомнящий Евген...
сообщение Jun 14 2015, 06:49
Сообщение #6


Знающий
****

Группа: Свой
Сообщений: 771
Регистрация: 16-07-07
Из: Волгодонск
Пользователь №: 29 153



Цитата(adnega @ Jun 10 2015, 10:52) *
Давайте попробуем виртуально повзламывать прошивку в Level_1 через отладчик?
0. Подключаемся по JTAG.
1. По USB приходит команда обновить прошивку.


Гм. Когда вы подключаетесь через JTAG к залоченному процу, код из FLASH исполняться не будет. Вы можете подключиться житагом и загрузить свой собственный код из ОЗУ к примеру. Однако этот код не будет иметь доступа к FLASH

Цитата
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.


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


Когда вы подключите житаг к работающему процу, произойдет сброс. Регистры блока крип при этом обнулятся. Ваш загрузчик из FLASH не сможет быть запущен при подключенном житаге и Level1

Т.е. максимум что вы получите - это содержимое ОЗУ на момент сброса.

UPD Тут я похоже наврал, сброса не будет. Но регистры блока cryp - write-only. Кроме того, вам уже написали выше, что можно отключить ножки отладки - таким образом во время работы программы вы к процу подключиться не сможете - только после сброса.


Цитата(Dr.Alex @ Jun 10 2015, 12:36) *
Но всё равно просматриваются варианты изучить протокол юсб (соснифить работу загрузочного софта), написать свой муляж софта, и затем покопаться жтагом во всех доступных местах (недоступен-то только флеш) чтобы заставить бутлодырь сделать ошибку.


И как вы предлагаете защититься от этого на уровне проца? Опять же, вам уже писали, за не слишком космическую денежку можно вычитать из проца вашу программу вместе со всеми ключами. Подозреваю это будет проще и дешевле предлагаемого вами
Go to the top of the page
 
+Quote Post
Dr.Alex
сообщение Jun 14 2015, 10:15
Сообщение #7


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

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



Неужели не понятно, что если бы был 100-процентный способ отключить жтаг при левеле1, то не требовался бы левел2?

Поскольку каждый вновь зашедший начинает перечислять все глупости заново (как и всегда),
и совершенно не хочет думать головой, приходится закрыть тему.
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
||- - Dr.Alex   Цитата(adnega @ Jun 10 2015, 10:52) Как п...   Jun 10 2015, 07:59
|||- - adnega   Цитата(Dr.Alex @ Jun 10 2015, 10:59) Это ...   Jun 10 2015, 09:28
||||- - Dr.Alex   Цитата(adnega @ Jun 10 2015, 12:28) Я бра...   Jun 10 2015, 09:30
|||- - 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
|- - 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 Текстовая версия Сейчас: 16th July 2025 - 04:23
Рейтинг@Mail.ru


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