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

 
 
4 страниц V  < 1 2 3 4 >  
Closed TopicStart new topic
> Что там ST учудил с защитой кода.....
Aner
сообщение Jun 10 2015, 11:18
Сообщение #31


Гуру
******

Группа: Свой
Сообщений: 4 869
Регистрация: 28-02-08
Из: СПБ
Пользователь №: 35 463



QUOTE (adnega @ Jun 10 2015, 13:44) *
Кста, посмотрел в модуль CRYP - регистр с ключами "write only", что логично. Т.е. вычитать ключи не получится.
Можно расшифрованную порцию хранить в батареечной SRAM, она тоже защищена от доступа в режиме отладки.

батареечный SRAM как то старо при FRAMe. Может быть и внешняя флешка с криптованной прогой, и абдейт удобно делать, при большём объеме кода. Пусть снифферят скока влезет.
Go to the top of the page
 
+Quote Post
sadat
сообщение Jun 11 2015, 16:24
Сообщение #32


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

Группа: Свой
Сообщений: 117
Регистрация: 6-07-05
Из: Белгород
Пользователь №: 6 575



Цитата(Dr.Alex @ Jun 10 2015, 09:55) *
Ребята, вы немного не зазнавайтесь там :-)))
Помнится, я тут спрашивал, например, кто какой скорости работы по USB HS добился, в ответ молчок.
То есть никто вообще USB HS не использует (а у меня бутлодырь именно через него),
и что вариант необратимо убить жтаг допускается, но НЕ ПРИВЕТСТВУЕТСЯ. Вот и всё.

Цитата
Или у STM32F207 (я лично получал для Mass-Storage порядка 7-8 МБайт/Сек.).
kovigor
Цитата
у меня получалось более 10мб/с в комплекте с тормозной сд-картой. на ulpi3300 и f215.
MBR
Скорость High Speed USB на STM32F2/F4
ну и далее поиском по форуме на USB3300.
Наверное, мало кто вопрос увидел.

По теме: со 2 уровня уж никак нельзя проц снять, совсем-совсем?
Go to the top of the page
 
+Quote Post
Dr.Alex
сообщение Jun 11 2015, 16:56
Сообщение #33


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

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



Цитата(sadat @ Jun 11 2015, 19:24) *
совсем-совсем?

совсем-совсем! :-)))
Go to the top of the page
 
+Quote Post
adnega
сообщение Jun 12 2015, 05:11
Сообщение #34


Гуру
******

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



Цитата(Dr.Alex @ Jun 10 2015, 12:36) *
Возможно, не знаю. А да? :-)))))))

Пруф.
Go to the top of the page
 
+Quote Post
pavel-pervomaysk
сообщение Jun 12 2015, 05:34
Сообщение #35


Местный
***

Группа: Свой
Сообщений: 253
Регистрация: 28-12-07
Из: Украина г. Первомайск
Пользователь №: 33 716



Если прибор очень востребован, дорогой, актуальный, его обязательно слижут.
Хотите защититься от копирования - ставьте адекватную цену, проблем не будет.
Go to the top of the page
 
+Quote Post
bugdesigner
сообщение Jun 12 2015, 09:04
Сообщение #36


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

Группа: Участник
Сообщений: 123
Регистрация: 12-06-15
Из: Земля
Пользователь №: 87 133



Я использую ROP=1 для защиты бутлоадера, обновление через USB (USB-flash). При включенном ROP=1 нельзя посмотреть содержимое RAM, FLASH или регистров, нельзя запустить код в RAM, можно только изменить уровень защиты на нулевой (ROP=0), но это приведет к автоматическому стиранию flash. Поэтому не вижу способа взлома через JTAG/SWD. ROP=1 вполне достаточно для защиты бутлоадера, а защита самой программки - это уж дело бутлоадера (шифрование, цифровая подпись).
Если я не прав, то расскажите хоть приблизительно технологию, как можно "утянуть" бутлоадер или расшифровать прошивку.
Go to the top of the page
 
+Quote Post
Dr.Alex
сообщение Jun 12 2015, 09:53
Сообщение #37


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

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



Цитата(bugdesigner @ Jun 12 2015, 12:04) *
При включенном ROP=1 нельзя посмотреть содержимое RAM, FLASH или регистров

Вы ничего не напутали?
Я знаю не ROP а RDP, и при RDP=1 как раз есть доступ к РАМ (кроме бэкап) и регистрам.
Go to the top of the page
 
+Quote Post
bugdesigner
сообщение Jun 12 2015, 11:49
Сообщение #38


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

Группа: Участник
Сообщений: 123
Регистрация: 12-06-15
Из: Земля
Пользователь №: 87 133



Цитата(Dr.Alex @ Jun 12 2015, 12:53) *
Я знаю не ROP а RDP, и при RDP=1 как раз есть доступ к РАМ (кроме бэкап) и регистрам.

ROP/RDP - это одно и то же (read out protection). В режиме 1 можно запустить программу из RAM, но доступ к flash из этой программы невозможен. Для полного спокойствия нужно сразу после запуска перевести линии SWD/JTAG в режим IO и доступ будет полностью отрезан.
Go to the top of the page
 
+Quote Post
ViKo
сообщение Jun 12 2015, 11:54
Сообщение #39


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Хочу уточнить вопрос. Задам защиту чтения Уровень 1. Загрузчик держу в секторе 0. Из него загружаю и прошиваюсь зашифрованной прошивкой.
Если я установлю защиту записи для сектора 0 nWRP[0], то при попытке записать в него выскочит ошибка WRPERR. Мне и не надо в него записывать. А что будет, если некто попытается изменить защиту чтения на Уровень 0? Должна стереться вся флэш-память. В том числе и сектор 0? И ошибка от стирания защищенного сектора уже не сработает?

Какой выигрыш я получу, защищая сектор 0 от записи? sm.gif
Go to the top of the page
 
+Quote Post
bugdesigner
сообщение Jun 12 2015, 12:11
Сообщение #40


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

Группа: Участник
Сообщений: 123
Регистрация: 12-06-15
Из: Земля
Пользователь №: 87 133



Цитата(ViKo @ Jun 12 2015, 14:54) *
Должна стереться вся флэш-память. В том числе и сектор 0? И ошибка от стирания защищенного сектора уже не сработает?
Какой выигрыш я получу, защищая сектор 0 от записи? sm.gif

Если защитить сектор от записи, но не установить read out protection = 1, этот сектор можно прочитать через SWD/JTAG.
Если установить read out protection = 1, то, независимо от защиты на запись, прочитать ничего нельзя.
Если установлен read out protection = 1, и установить установить read out protection = 0 (отключить звщиту), то все содержимое flash будет стерто, не взирая на защиту от записи.
Go to the top of the page
 
+Quote Post
Dr.Alex
сообщение Jun 12 2015, 12:15
Сообщение #41


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

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



Цитата(bugdesigner @ Jun 12 2015, 14:49) *
В режиме 1 можно запустить программу из RAM, но доступ к flash из этой программы невозможен.

Достаточно того, что есть доступ к РАМ и регистрам.

Цитата(bugdesigner @ Jun 12 2015, 14:49) *
Для полного спокойствия нужно сразу после запуска перевести линии SWD/JTAG в режим IO и доступ будет полностью отрезан.

Никакого полного спокойствия не предвидится.
От ресета до того, как вы отключите жтаг, пройдёт много тактов процессора, достаточно для того чтобы автоматическая программа (а не юзер, шлёпающий по кнопкам IARa) успела подключиться и помешать вам отключить жтаг.
Go to the top of the page
 
+Quote Post
ViKo
сообщение Jun 12 2015, 12:27
Сообщение #42


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Цитата(bugdesigner @ Jun 12 2015, 15:11) *
Если...

Интересует комбинация, которую я задал. rolleyes.gif 0 - включает защиту от записи. Сбрасываем уровень защиты чтения на 0.
Go to the top of the page
 
+Quote Post
bugdesigner
сообщение Jun 12 2015, 14:34
Сообщение #43


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

Группа: Участник
Сообщений: 123
Регистрация: 12-06-15
Из: Земля
Пользователь №: 87 133



Цитата(ViKo @ Jun 12 2015, 15:27) *
Сбрасываем уровень защиты чтения на 0.

Сотрутся все секторы, даже если они защищены от записи. Те защита от записи в этой ситуации игнорируется.

Цитата(Dr.Alex @ Jun 12 2015, 15:15) *
От ресета до того, как вы отключите жтаг, пройдёт много тактов процессора, достаточно для того чтобы автоматическая программа (а не юзер, шлёпающий по кнопкам IARa) успела подключиться и помешать вам отключить жтаг.

Ну и что в результате? Доступа к содержимому флеш нет. Какую полезную информацию можно получить от содержимого памяти и регистров на момент инициализации GPIO?
Go to the top of the page
 
+Quote Post
Dr.Alex
сообщение Jun 12 2015, 19:27
Сообщение #44


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

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



Цитата(bugdesigner @ Jun 12 2015, 17:34) *
Ну и что в результате? Доступа к содержимому флеш нет. Какую полезную информацию можно получить от содержимого памяти и регистров на момент инициализации GPIO?

Вы кажется пропустили всю тему.
Во-первых есть возможность не дать записать в регистры то что не нужно, то есть не дать отключить жтаг.
А за тем вынуть из РАМ либо ключ аеса либо декодированную прошивку.
Go to the top of the page
 
+Quote Post
bugdesigner
сообщение Jun 13 2015, 04:48
Сообщение #45


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

Группа: Участник
Сообщений: 123
Регистрация: 12-06-15
Из: Земля
Пользователь №: 87 133



Цитата(Dr.Alex @ Jun 12 2015, 22:27) *
Во-первых есть возможность не дать записать в регистры то что не нужно, то есть не дать отключить жтаг.
А за тем вынуть из РАМ либо ключ аеса либо декодированную прошивку.

Допустим, что мы успели приаттачиться к DP до момента, пока он не был отключен. Теперь нам нужно пропустить момент отключения DP и запустить ядро процессора. Что у нас получится - HardFault, потому, что доступ к flash при подключенном DP заблокирован. Можете провести экспериментик - напишите маленькую программку, чтоб гоняла какой-нибудь цикл, поставьте RDP=1 и попробуйте подключиться к SWD/JTAG дебаггером. А потом попробуйте запустить свой код из flash.
Go to the top of the page
 
+Quote Post

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

 


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


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