oleghmt 0 21 декабря, 2006 Опубликовано 21 декабря, 2006 · Жалоба Tanya Как раз дополнительные корпуса ставить не хочется, в частности и из-за повышения цены. Так что, как я понимаю, оптимальным будет вариант написать свой прошивальщик с криптозащитой. Поскольку пример имеется, им и займуся, когда руки дойдут. :-) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
karabas 0 24 декабря, 2006 Опубликовано 24 декабря, 2006 · Жалоба Эт точно, сам видел как слызывали память чипа на FRAM и при вполне реалистичном бюджете. А уж чипы на FLASH так вообще скопировать детская задача. Сорри за возможный офф. Вопрос как к невольному (а может и нет :) ) участнику - "сам видел как слызывали ..." - и сколько стоит сейчас клонировать кристалл (типа AVR, ARM(LPC, AT91, STR))? Спрашиваю не как потенциальный заказчик на взлом, а как разработчик, пытающийся понять как оптимизировать схемотехнику/архитектуру устройства для защиты от копирования. Пока просматривается рассмотренный выше вариант с битом защиты от считывания памяти программ в кристалле + несколько таких кристаллов от разных производителей, соединенных в цепочку. в каждом из них криптозащита со своим ключем. от кристаллов требуется только расшифровка данных и передача ее следующему в цепочке - не такая уж и сложная задача для чипов с малой памятью в маленьком корпусе. стоимость каждого чипа - порядка 1.5$. я думаю, что за дополнительные 10$ (то бишь 5-6 чипов) можно получить довольно высокую стойкость к взлому. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zltigo 2 24 декабря, 2006 Опубликовано 24 декабря, 2006 · Жалоба Пока просматривается рассмотренный выше вариант с битом защиты от считывания памяти программ в кристалле + несколько таких кристаллов от разных производителей, соединенных в цепочку. в каждом из них криптозащита со своим ключем. от кристаллов требуется только расшифровка данных и передача ее следующему в цепочке - не такая уж и сложная задача для чипов с малой памятью в маленьком корпусе. стоимость каждого чипа - порядка 1.5$. я думаю, что за дополнительные 10$ (то бишь 5-6 чипов) можно получить довольно высокую стойкость к взлому. Что-то паронаидальное :) просматривается. И в бездумной чепочке достаточно банально снять протокол программирования последнего и только его "ломать". Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Alex03 0 25 декабря, 2006 Опубликовано 25 декабря, 2006 · Жалоба Пока просматривается рассмотренный выше вариант с битом защиты от считывания памяти программ в кристалле + несколько таких кристаллов от разных производителей, соединенных в цепочку. в каждом из них криптозащита со своим ключем. от кристаллов требуется только расшифровка данных и передача ее следующему в цепочке..... Что-то паронаидальное :) просматривается. И в бездумной чепочке достаточно банально снять протокол программирования последнего и только его "ломать". :) Дык можно последний на первый закольцевать и дешифровать в 1000000 кругов! :) :) :) :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AlexandrY 3 25 декабря, 2006 Опубликовано 25 декабря, 2006 · Жалоба Никакие цепочки чипов не помогут если чипы общего применения. Как-то видел проект где вскрывали игровую консоль сделаную в СНГ. Основной процессор был ARM выполняющий программу из SDRAM На защите стоял мелкий AVR. AVR участвовал в раскриптовке содержимого FLASH при загрузке в SDRAM. Ну что, AVR вскрыли, пропатчили лоадер который он передает в ARM. Этим патченым лоадером слили уже расшифрованную прогу из RAM-а (заметьте, с алгоритмом шифрования даже не разбирались!), а потом ее уже не шифрованную записали обратно во FLASH, а в лоадере убрали шифрацию. Кстати алгоритм шифрования идентифицировали сразу же, это был RC4. Есть проги в сети которые по дампу программы независимо для какого проца она написана находят и идентифицируют большинство общеизвестных алгоритмов шифрования и сжатия по характерным таблицам. В RC4 правда нет таблиц но зато примитивный легко идентифицируемый алгоритм. Инвазивное вскрытие AVR обходится менее 5 тыс. $. Временные затраты на всю работу были менее месяца. Это еще не применяя микропробинг и анализ трафика на шинах! Грубый патч как метод не срабатывает только когда дивайс имеет уникальный серийный номер к которому привязывается защита и дивайс должен проходить online проверку как оригинальный. Тогда приходится серьезно исследовать алгоритмы. Но тут надо помнить, что как не велик был бы общий объем кода программы сами алгоритмы защиты обнаруживаются и локализуются в программе очень быстро даже когда не до конца известна архитектура аппаратной платформы. Если алгоритмы самопальные то они будут примитивны (иначе у их разработчика крыша съедет при отладке), если алгоритмы стандартны, то хакеры быстро найдут их исходники чтобы воспроизвести их работу в патче. Отсюда вывод - нельзя делать ставку на сложность и хитроумность софтварной защиты. Инвазивное вскрытие самый узкий момент во всей технологии. Тут совет один, чем меньше технологическая норма кристалла тем меньше лабораторий в мире смогут снять защиту в кристалле. Прикидочно на сегодня чтобы цена взлома подскочила до 50 тыс.$ и выше надо чтобы норма кристалла была не больше 0.18 мкм Либо ставить как часть приложения смарткарты или заказные SoC-и со спецзащитой. Сорри за возможный офф. Вопрос как к невольному (а может и нет :) ) участнику - "сам видел как слызывали ..." - и сколько стоит сейчас клонировать кристалл (типа AVR, ARM(LPC, AT91, STR))? Спрашиваю не как потенциальный заказчик на взлом, а как разработчик, пытающийся понять как оптимизировать схемотехнику/архитектуру устройства для защиты от копирования. Пока просматривается рассмотренный выше вариант с битом защиты от считывания памяти программ в кристалле + несколько таких кристаллов от разных производителей, соединенных в цепочку. в каждом из них криптозащита со своим ключем. от кристаллов требуется только расшифровка данных и передача ее следующему в цепочке - не такая уж и сложная задача для чипов с малой памятью в маленьком корпусе. стоимость каждого чипа - порядка 1.5$. я думаю, что за дополнительные 10$ (то бишь 5-6 чипов) можно получить довольно высокую стойкость к взлому. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
lazycamel 0 2 января, 2007 Опубликовано 2 января, 2007 · Жалоба Однозначно первый вариант. Второй и третий ломаются элементарно - пишется прошивка которая тупо сливает по любому доступному интерфейсу содержимое "неизменной" части прошивки. Интересный вопрос - по какому интерфейсу вы запишите прошивку в SAM7S с установленым битом Security ? Учитывая что апдейтер прошивки внутри девайса будет использовать любой алгоритм однонаправленого шифрования ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Сергей Борщ 140 2 января, 2007 Опубликовано 2 января, 2007 · Жалоба Однозначно первый вариант. Второй и третий ломаются элементарно - пишется прошивка которая тупо сливает по любому доступному интерфейсу содержимое "неизменной" части прошивки. Интересный вопрос - по какому интерфейсу вы запишите прошивку в SAM7S с установленым битом Security ? По тому же самому по которому заливается "штатная" прошивка. Учитывая что апдейтер прошивки внутри девайса будет использовать любой алгоритм однонаправленого шифрования ?Теперь я не понял вопроса. В раскритикованных втором и третьем вариантах прошивка не шифруется. Именно это и позволяет подсунуть любую прошивку. Шифруется она в одобренном первом варианте. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sfinks 0 2 января, 2007 Опубликовано 2 января, 2007 · Жалоба А не проще посмотреть, как это сделали в коммерческом проекте до Вас? Если у вас нет примеров, могу выслать прошивку такого проекта (его уже хакнули) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Playnet 0 2 января, 2007 Опубликовано 2 января, 2007 · Жалоба Tanya Так что, как я понимаю, оптимальным будет вариант написать свой прошивальщик с криптозащитой. Поскольку пример имеется, им и займуся, когда руки дойдут. :-) Если интерфейс для прошивки стандартный, подкручиваем к шнуру прошивальщика провода и в raw пишем прочитанное на комп.. Там будет и расшифрованная прошивка. Короче, на любую хитрую Ж найдется свой болт. Смысл имеет только аппаратная защита.. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
boez 0 3 января, 2007 Опубликовано 3 января, 2007 · Жалоба Полуофф, но кому-то может и будет интересно. Есть такое семейство, зовется TMS320LF240xA. Там есть Code Security. Пароль 64 бита. Записывается при программировании (под него отведено кусок флеши, 4 слова). После этого при подаче питания процессор стартует разлоченным, но лочится сразу при подключении жтага. В залоченном состоянии доступа к флеши нет. Чтобы перешить проц другой прошивкой, или даже просто стереть флешу - нужно вписать в спец. регистры правильный пароль!!! Вроде в 28хх серии то же самое, но пароль 128 бит. Конечно если нужна прошивка клиентом - это не помогает, а вот просто от перепрошивки левыми прошивками - помогает... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
oleghmt 0 8 января, 2007 Опубликовано 8 января, 2007 · Жалоба Пробую реализовать вариант защиты прошивки путём использования USB. То-есть идея следующая - зашиваю в кристал прогу, которая запускает USB, проверяет связь с внешней средой и при наличии команды на перепрошивку принимает кусок зашифрованой прошивки, расшифровывает и прописывает в нужное место флеша. Столкнулся с проблемой - непонятно как организовать запись даных на флеш. В даташите написано, что существует встроенный буфер для записи размером в страницу и после записи в него, нужно в регистры контролера флеша записать нужную команду. Но где находиться этот буфер не написано. Подскажите, пожалуйста, как организовать запись своих данных на флеш, а то по даташиту никак разобраться не могу. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Andrey_N 0 25 января, 2007 Опубликовано 25 января, 2007 · Жалоба Вдруг пригодится. Видел на компьтерах Compaq вроде бы биос прошивался через прошивальщик в виде exe файла, где внутри был имидж запакованный(может и пришитый к конкретному железу). Видел также промышленный контроллер, в нем прошивку можно было залить через сом порт, стоял там Lattice ispsi 1016, ватчдог 21DY4YB и проц интеловский(плюс флэха на 4мб и памяти пару метров) При вкл девайса проходила иницилизация и запускался лодарь , а потом уже и весь девайс(вкл всю переферию). Из идей: Прошивку шифровать, лить через УСБ или ком , в процессе заливки сам заливальщик должен проверить содержимое основного и вторичного контроллера на чек сумму по такому то адресу. Если к концу заливки прошивальщик узнает что чек разный, последняя часть прошивки меняется и вливается ловушка. Которая либо тупо вообще портит работу устройства или по случайному алгоритму начитает вводит девайс в ступор. До кучи влепить на доп.проце (контроллере) проверку чеков в памяти основного по таймеру, если что не так в ступор. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Andrey_N 0 26 января, 2007 Опубликовано 26 января, 2007 · Жалоба Вот интересный материал по пикам, хотя и не очень то в тему. http://www.pology.zp.ua/har/usb_module.html Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Nixon 4 26 января, 2007 Опубликовано 26 января, 2007 · Жалоба По поводу защиты прошивки AT91SAM7X256 посмотрите атмелевский родной аппнот "Safe and Secure Bootloader Implementation" для SAM'ов. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
АДИКМ 0 31 января, 2007 Опубликовано 31 января, 2007 · Жалоба Существует две причины, благодаря которым можно получить чужую прошивку - 1. Ошибки разработчика программы загрузчика/обновлятеля. 2. Ошибки допущенные при разработке MCU (всем известные) Если вторая причина неисправима, то первую легко избежать... Сказки о инвазивном/неинвазивном вскрытии останутся сказками, пока не будет опубликовано полное описание процесса, который позволит вычитать прошивки в 100 однотипных микроконтроллерах сто раз с каждого с одинаковым результатом. Существует фирма, названия не помню, могу поискать, которая предоставляет экспертные услуги по анализу содержимого кристалла, на предмет не использует ли кто-нибудь ваши ноу-хау при производстве своих микросхем. Стоимость такой оценки примерно 1М. Отчет полный. Так вот подумайте сами, что должно быть за устройство, которое выгодно так вскрывать? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться