aforestman 0 17 февраля, 2006 Опубликовано 17 февраля, 2006 · Жалоба Защита программ для многих является темой актуальной и производители охотно идут на встречу разработчикам. Они же (производители) пытаясь облегчить нам жизнь придумывают всякие ISP, Bootloader-ы и прочее. Но это все программы, а следовательно они потенциально опасны. Конечно Bootloder не Windows - много не наворочаешь, но и в паре килобайт кода могут поджидать неприятные сюрпризы: 1. Недокументированные вызовы 2. Функции без контроля входных параметров 3. Просто ляпы (ну это уже совсем маловероятно) По работе больше приходится сталкиваться в основном с 51 кристаллами, однако проблема на мой взгляд присуща всем семействам. К сожалению за примерами далеко ходить не пришлось. 1. Phillips P89LPC922 (Просто предупреждение) Bootloader содержит недокументированный вызов, позволяющий прочитать содержимое незащищенного кристалла. Фишка в том, что это нельзя сделать с помощью программатора (верификация не поддерживается). К чести Philips надо сказать, что хорошо документированный исходник выложен у них на сайте, а сам Bootloader можно легко заменить. 2. Atmel AT89C51ED2 (Жалко тех, кто его использует) Bootloader зашит в ПЗУ и имеет дыру, позволяющую его же средствами обойти защиту любого уровня. Причем, учитывая специфику кода, можно утвеждать что данную дыру имеют все кристаллы семейства AT89C51XX2. К чему это я все. Хотелось бы знать насколько серьезно по Вашему мнению следует относиться к теме защиты вообще, и следует ли тратить дополнительные время и средства на изучение устойчивости системы к взлому? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
acex2 0 17 февраля, 2006 Опубликовано 17 февраля, 2006 · Жалоба 2. Atmel AT89C51ED2 (Жалко тех, кто его использует) Bootloader зашит в ПЗУ и имеет дыру, позволяющую его же средствами обойти защиту любого уровня. Причем, учитывая специфику кода, можно утвеждать что данную дыру имеют все кристаллы семейства AT89C51XX2. А можно поподробнее вот про эту дырку? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Кнкн 5 17 февраля, 2006 Опубликовано 17 февраля, 2006 · Жалоба 2. Atmel AT89C51ED2 (Жалко тех, кто его использует) Bootloader зашит в ПЗУ и имеет дыру, позволяющую его же средствами обойти защиту любого уровня. Причем, учитывая специфику кода, можно утвеждать что данную дыру имеют все кристаллы семейства AT89C51XX2. А можно поподробнее вот про эту дырку? Мне тоже интересно. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
VslavX 0 17 февраля, 2006 Опубликовано 17 февраля, 2006 · Жалоба MSP430 с загрузчиком версии 1.10 и младше тоже имеет дыру в безопасности из-за глюка. Поэтому мы в свое время от них и отказались. Не знаю, сделал TI уже маску с v1.30 или все еще обещает? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aforestman 0 20 февраля, 2006 Опубликовано 20 февраля, 2006 · Жалоба А можно поподробнее вот про эту дырку? Суть в том, что чтобы вы не прописали в биты LB0-LB2 HSB, всегда существует возможность перейти в Atmel-овский бутлоадер (речь идет о версии 1.0.0) и с его помощью прочитать содержимое флэша и EEPROM. Письмо мы им отправили месяца полтора назад, обещали исправить, как водится, as soon as possible. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
acex2 0 20 февраля, 2006 Опубликовано 20 февраля, 2006 · Жалоба Суть в том, что чтобы вы не прописали в биты LB0-LB2 HSB, всегда существует возможность перейти в Atmel-овский бутлоадер (речь идет о версии 1.0.0) и с его помощью прочитать содержимое флэша и EEPROM. Собственно, HSB и не должен защищать от доступа к флэш из ISP. Он защищает от доступа при помощи внешнего параллельного программатора. These security bits (HSB) protect the code access through the parallel programming interface. They are set by default to level 4. The code access through the ISP is still possible and is controlled by the "software security bits" which are stored in the extra Flash memory accessed by the ISP firmware. Для блокировки ISP используется байт SSB. The SSB protects any Flash access from ISP command. The command "Program Software Security Bit" can only write a higher priority level. Only a full chip erase in parallel mode (using a programmer) or ISP command can reset the software security bits. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aforestman 0 20 февраля, 2006 Опубликовано 20 февраля, 2006 · Жалоба Сильно извиняюсь за ошибку. Вместо LB0-LB2 HSB следует читать LB0-LB1 SSB и далее по тексту. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
acex2 0 21 февраля, 2006 Опубликовано 21 февраля, 2006 · Жалоба Сильно извиняюсь за ошибку. Вместо LB0-LB2 HSB следует читать LB0-LB1 SSB и далее по тексту. Ну да, бутлоадер вызывается без проблем и при установленном SSB на уровень 2. Но читать обратно из флеша не дает. По крайней мере, через Flip и утилитку от mcu.cz. Причем последняя заведомо не проверяет значение SSB перед попыткой чтения. Мы можете пошагово расписать всю процедуру чтения из флэша защищенного чипа? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aforestman 0 22 февраля, 2006 Опубликовано 22 февраля, 2006 · Жалоба Мы можете пошагово расписать всю процедуру чтения из флэша защищенного чипа? Вот что мы отоправляли на Atmel (протокол терминального режима). We tried to use your device AT89C51ED2 in our PLC design but found a serious problem with ISP Bootloader protection. See description: We set Level2 security using FLIP :020000050700F2FC. We cannot read :050000040000002000D7L We cannot write :020000030400F7P ********** Then we type next commmand :040000xxxxxxxxxxxx. ************************************ And now we can read code :050000040000002000D7 0000=0208600220038E828F832202200BAE82 0010=AF8322022013742D01760002201B1176 0020=01 And we can write Flash :020000030400F7. xxx из гуманитарных соображений Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
max_ 0 22 февраля, 2006 Опубликовано 22 февраля, 2006 · Жалоба а можно поподробнее о Phillips P89LPC922, я так думаю все семейство этим страдает (интерес в частности по 936) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aforestman 0 22 февраля, 2006 Опубликовано 22 февраля, 2006 · Жалоба а можно поподробнее о Phillips P89LPC922, я так думаю все семейство этим страдает (интерес в частности по 936) Эта фича действительно присуща всем кристаллам (метка DCMD: в исходниках), однако дырой ее назвать нельзя. Вот пример: Формат команды :05000009XXXXYYYY00CC XXXX - с адреса YYYY - по адрес CC - контрольная сумма Дамп зашищенного блока Вводим :050000090000001F00D3 нажимаем любую клавишу и ничего не получаем 0000=00000000000000000000000000000000 0010=00000000000000000000000000000000 Дамп незашищенного блока Вводим :050000091F001F1F0095 нажимаем любую клавишу и получаем 1F00=C1037452D195EFF1F4E173AB33EB6014 1F10=AD30AC317F80740078FF7696C2D112FF Мы обычно собираем все константы программы с адреса 0x1C00 (последний блок для 922) и оставляем этот блок, включая бутлоадер, открытым, а первые семь защищаем. Кстати эта фича почему-то не описана в UM, хотя она очень удобна при отладке. Для интересущихся пособие по матчасти Adding_ISP_in_source_code.zip Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
yornik 0 27 февраля, 2006 Опубликовано 27 февраля, 2006 · Жалоба Кто из этого топика убрал всю содержательную инфу о дырках в BSL-загрузчике v.1.10 MSP430? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
KiV 0 28 февраля, 2006 Опубликовано 28 февраля, 2006 · Жалоба Кто из этого топика убрал всю содержательную инфу о дырках в BSL-загрузчике v.1.10 MSP430? Вот мне тоже интересно, кто? Или может уже стало незаконным говорить о недоработках чипов и программ? Или кто-то считает, что таким образом можно защитить собственные изделия? "Слово не воробей..." Если кто-то сказал о том, что дыра существует, кто-то другой сможет ее найти. Ведь не представляет большого труда прочитать загрузчик, дизассемблировать и найти лазейку. Тем более если знать, ЧТО искать. А вообще-то хотелось-бы услышать, ПОЧЕМУ были удалены посты. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
rezident 0 28 февраля, 2006 Опубликовано 28 февраля, 2006 · Жалоба [А вообще-то хотелось-бы услышать, ПОЧЕМУ были удалены посты. А вы не в курсе, что человек - хозяин своего слова? Захотел - дал, захотел - взял обратно Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ig_z 0 28 февраля, 2006 Опубликовано 28 февраля, 2006 · Жалоба Кто из этого топика убрал всю содержательную инфу о дырках в BSL-загрузчике v.1.10 MSP430? А вообще-то хотелось-бы услышать, ПОЧЕМУ были удалены посты. Корневой топик на сахаре я прибил по просьбе собеседника. Свои вопросы в этой конфе я убрал уже по личной инициативе, хотя там нет никакого криминала. Кто убил начатую мной ветку в мсп430 конфе - я не в курсе, но подозреваю что это могут делать только модераторы. Вопросы на сахаре и электрониксе я задал 22 февраля. До 25 обсуждение шло через пень колоду. Что произошло 26 я не знаю, а 27 все уже было кончено. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться