Pull to refresh

Comments 31

Вопрос, на который внятного ответа «да» пока не встречал: STM RDP level 2 удалось победить?

Вырастает сложность и время реализации конечно, нужно понизить до 1 уровня, и воспроизводить параметры атаки с попытками второго понижения. Метод был описан продавцами железки как раз для атких атак предназначенной- ChipWhisperer. Но что-то не нахожу странички. Включив воображение можно той-же атакой попытатся включить отладку например, что так-же дает определенный вектор для дальнейших атак.

Саму идею «понизим до RDP 1 и сведём задачу к решённой» встречал не раз, но пока не видел ни одного подтверждения успеха уже за несколько лет. При том, что с обходами RDP 1 люди не особо стесняются и пишут об успехах открыто.

Спасибо! Вот там, среди прочего, озвучен интересный момент: единожды успешно сглитчив RDP 2 на RDP 1, можно «закрепить успех», прописав этот самый RDP 1 в Option Bytes, не вызвав полного стирания. А дальше уже спокойно обходить RDP 1 без необходимости заново понижать 2->1 при каждом сбросе.

Спасибо, поправил.

Вроде эта тема уже всплывала тут много раз. Все это работает на древних ядрах. Что на счет М4? Там rdp имеет 8 разрядов и еще оин комплиментарный байт. Долго но не невозможно?)))

Ломать палкой танк никто не будет. Описанный мной метод хорошо работает в первую очередь с STM8. Для более сложных архитектур есть другие методы, которые хорошо описаны, к примеру https://www.usenix.org/system/files/woot20-paper-obermaier.pdf

К тому-же я хотел рассказать в первую очередь про те моменты, которые в сети умалчивают, а именно- о важности уровня просадки.

Такое уже наверняка быстрее ломать микрозондом или другими инвазивными способами.

а что, если целевой мк тактировать снаружи, вместо 8 МГц кварца дать 1 кГц тактовой, не проще пробить будет? или у stm8 тоже есть встроенный rc осциллятор и мк трогается с него?

Смысл попасть импульсом во фронт такта. К тому-же чем меньше частота, тем дольше будет перебор, т.к. время инициализации возрастет.

Есть что интересное по взлому CPLD?

Flash Readout Protection (RDP) никак не может сокращаться до RDP, т.к. Readout - это одно слово.
Логичнее сокращение FRP. И кстати в статье на которую ведёт ссылка такая же проблема с сокращениями.

Сокращение RDP сами STM используют

Это терминология производителя. Она так упоминается во всех документах от ST.

А если для атаки использовать ПЛИС? Алгоритм вроде бы не особо хитрый, а время реакции у ПЛИС куда лучше. Или не прокатит?

Прокатит конечно, но я не работаю с ПЛИС, и исходил из своих возможностей. К тому-же черная таблетка снижает порог входа до 10$ за весь стенд.

По цене да, абсолютно точно лучше с черной таблеткой. Я просто к тому, что если где-то ещё более строгие тайминги или точность таймингов может повысить шансы, соответственно и скорость получения информации, то как будто бы ПЛИС тут уже по интереснее.

Но конечно не в домашних условиях и не тогда, когда этим занимаешься раз в год))

Лично видел железный мод для nintendo switch, где используется почти любой мосфет и обрезанный rp2040, чтобы залез в корпус. Очень даже работает. А так-да, если занимаешься этим постоянно- имеет смысл подобрать высокочастотную железку, чтобы иметь больше контроля.

RP2040 в принципе в роли генераторов не плохо так используют. У меня тестер для процессоров Z80 лежит, вот на этом тестере генератор клока для cpu тоже на RP2040

Я и на атмеге таймером генерировал вплоть до 8МГц. Это не проблема вообще.

Спасибо, очень интересно! Для меня - это настоящий хакинг. Прям читаю и чувствую в воздухе запах паленого железа )

Рекомендую вам добавить себе в статью, а не бегло состаться на другую статью про стм32. Есть большая разница между тем, как работает защита на стм8 и стм32. В стм32 уровень защиты rdp1 это когда в спец регистре записано "ЧТО УГОДНО", а rdp0 - 0xAA, rdp2 - 0xCC.
У вас же, в стм8 "ЧТО УГОДНО" означает - отсутствие зашиты, а 0xAA - защита есть.

И, конечно, при помощи глича состояние "что угодно" более вероятное событие, чем какое то конкретное значение вроде 0х00, 0х55 или 0хАА.

Собственно в этом и кроется причина почему стм32 в rdp1 гличат иначе.
Ну и утверждение, что мы "чтобы ядро приняло 0 , который означает отсутствие защиты, даже если он записан 1 или 2 " немного не верно. Это справедливо, если вы гличите исполнение ядра (атакуете работу кода) - там всякие ветвления можно сбивать и получится в итоге, так как вы написали.

Но вы тут атакуете не работу непосредственно кода, а процесс аппаратной инициализации МК. Тут получить где-то какое то конкретное значение, например, 0 вместо 2....ну оооочень маловероятная штука)

В общем шалость удалась, так как требовалось получить не конкретное значение, а "что угодно" кроме 0хАА.


А, еще кое что. Если осциллограф выкрутить посильнее то вы этот процесс инициализации сможете увидеть - это помогает сократить перебор офсета и сразу локализовать окно для перебора

А можно подробнее про "заложенные подлянские таймеры отказа"?

Из относительно оправданных- в каком-то мед оборудовании встречал, где после некоторых часов отработки устройство окирпичивается, независимо от физического состояния. Заказ такой был, но я за него не взялся тогда. Слышал что где-то еще встречается, но именно как незадокументированная подлянка от производителя. После некоторых часов наработки устройство окирпичивается, но если перезаписать старым дампом еепрома- чудесным образом оживает.

Разве про трактора John Deere не слышали? Даже тут на Хабре была статья.

В предыдущем проекте занимался защитой контроллера от Silabs efr32bg24. Там помимо защиты от чтения флеша еще двойной секьюр бут, плюс прошивка подписывается и при желании шифруется. Ещё можно заблокировать swd интерфейс навсегда или с возможностью его включить до следующего резета.

В мануалах было упомянуто как раз про пауэлглитч, мол, если процессор это обнаруживает, то самоокирпичивается

да, отдельное спасибо за уровни.

Я как-то для начала погрузился в вопросы времени. А так как не сработало, начал подозревать, что нужно величиной "просадки" ещё поиграться. Оказывается, не зря

А есть ли такое для других МК, например pic или avr?

Sign up to leave a comment.

Articles