Обход защиты от копирования в микроконтроллерах с использованием сшивания


47

Микроконтроллеры ATmega обычно имеют два бита замка, LB1 и LB2. Один предотвращает дальнейшее программирование, а другой предотвращает считывание вспышки. Если оба установлены, чип необходимо удалить, прежде чем его можно запрограммировать снова. Это предотвращает считывание флэш-памяти и обратное проектирование. Подобные механизмы можно найти во многих других семействах микроконтроллеров.

Некоторые другие процессоры имеют широко зарегистрированные обходы, например. PIC 18F452, где отдельный блок можно стереть, а прошивку записать, чтобы зачитать другие блоки (documented в «Сердце тьмы - исследование неизведанных заводи HID iCLASSTM security»).

Время от времени сообщения форума создаются компаниями, предлагающими свои услуги для считывания защищенных чипов ATmega. Есть также сайты, обычно .ru, которые предлагают эти услуги. Цена, как правило, составляет от 500 до 1500 долларов США с периодом оборота в несколько недель.

Я подозреваю, что при этих расходах они не декапсулируют чип и не используют лазерный зонд для сброса бит предохранителя. Я спросил, вернули ли чип неповрежденный, но не получили ответа.

В этом research («Защита от копирования в современных микроконтроллерах») упоминается в разделе «Неинвазивные атаки на микроконтроллеры», что многие микроконтроллеры могут защищать от копирования с помощью синхронизации часов, мощности или сглаживания данных. Однако я не видел практических примеров или дальнейших исследований в этой области.

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

У кого-нибудь есть дополнительная информация об использовании скрещивания для обхода защиты от копирования?

+8

Ненавижу делать эти поздравительные, непродуктивные заявления, но УДИВИТЕЛЬНЫЙ вопрос. 10 апр. 132013-04-10 16:42:25

  0

Компания [RussianSemiResearch] (http://RussianSemiResearch.com) может читать многие микроконтроллеры с защитой. 30 дек. 132013-12-30 19:53:37

  0

Ну, если блокировка реализована правильно, вы не можете играть с загрузчиком, чтобы изменить блокировку битов и обратно код чтения. Но в то же время люди писали, чтобы получить avr разблокирован за 500 $, Как они это достигают? Есть идеи? 12 май. 152015-05-12 07:54:04

  0

На этом канале YouTube она предлагает множество практических примеров сглаживания и объяснения каждого шага, это может помочь вам: https://www.youtube.com/channel/UCaEgw3321ct_PE4PJvdhXEQ. 06 фев. 172017-02-06 08:51:22

13

Какую дополнительную информацию вы ищите? Я предполагаю, что ваша цель - прочитать содержимое вспышки микроконтроллера ATmega. Вы нашли информацию о том, как работают глюкеры, теперь, я думаю, вы хотите получить подтверждение, что это вообще возможно, прежде чем совершить строительство? В таком случае да это возможно. Я не могу предоставить вам какие-либо документы, потому что это основано на практическом опыте (не обязательно на ATmega mcu).

Поскольку, как правило, нет возможности обеспечить основные часы встроенной платы самостоятельно (в отличие от смарт-карт) вам придется делать либо мощность, либо лазерную, либо электромагнитную сбой. Предполагая, что вы сделаете власть, вы в основном должны заменить основной источник энергии цели одним предоставленным вами. В этом случае вы можете вводить свои глюки мощности (отрицательные или положительные).

Существует множество причин, по которым защита от копирования может быть обойдена всеми в зависимости от реализации механизма защиты. В некоторые моменты времени вы можете попробовать:

  • Сразу после холодного сброса. Скажите, что значение бит защиты от копирования хранится в OTP. Система выполняет некоторую инициализацию сразу после сброса. Это может включать передачу значения бит защиты во внутренний регистр. Ключ в этот момент времени может, например, «отменить» передачу, изменить значение на шине или предотвратить сохранение значения в регистре назначения.
  • В любое время во время выполнения. Сбой во время выполнения может повлиять на любой регистр. Это дикий выстрел, но забавные вещи могут случиться (привет JTAG разблокировать!)
  • Во время проверки разрешений. Если чтение флэш-памяти защищено, это означает, что он должен проверить в какой-то момент, если у вас есть разрешение. Если вы можете повлиять на результат этого решения, он может предоставить вам доступ к извлечению содержимого.
  • И еще много причин, которые вы можете придумать, но также и множество причин того, что может предотвратить успех (например, постоянное физическое разъединение интерфейса JTAG с противотуберкулезные средства и т. д.)
+2

Спасибо за ответ. Я специально не хотел обойти ATmega, это был всего лишь пример микроконтроллера, где нет общеизвестного метода. Я действительно искал практический пример аппаратного и программного обеспечения - все кажется очень многословным. 11 апр. 132013-04-11 14:59:15


0

Это не ответ на ваш вопрос, а другой подход, о котором я думал несколько часов.

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

Моя идея - атаковать со стороны программного обеспечения, а не аппаратного обеспечения.

Предположения:

  1. Устройство позволяет обновление прошивки в полевых условиях с помощью USB, UART и т.д.

  2. Прошивка не шифруется (ну, из моего опыта, иногда ISN» т).

Моя идея состоит в том, чтобы изменить файл прошивки и ввести конкретный код операции, который очищает регистр блокировки.

Это только идея, я никогда не пробовал раньше, но я предполагаю, что это возможно ....

  0

Если блокировка выполнена правильно, изменить прошивку невозможно без сброса. 11 апр. 132013-04-11 13:45:30

  0

Я не могу говорить для всех микроконтроллеров, но в SAM3 Atmel (Arm Cortex M3) это немного, что можно изменить взад и вперед. 11 апр. 132013-04-11 13:51:56

  0

Это не так много замка, не так ли? Я не верю, что это относится к их контроллерам AVR. 11 апр. 132013-04-11 13:54:08

+1

Вы правы в отношении AVR, как указано здесь: http://electronics.stackexchange.com/questions/53282/protecting-avr-flash-from-reading-through-isp 11 апр. 132013-04-11 13:59:54

  0

Поскольку это не проблема скрепления, я не Думаю, это должен быть ответ здесь. 12 апр. 132013-04-12 02:10:16

  0

С помощью инъекционных кодов операций мы также можем читать и отправлять прошивку, а не исправлять их в большинстве случаев. 06 фев. 172017-02-06 09:28:07

  0

О точке 2 - каждая ценная прошивка зашифрована и расшифровывается в памяти MCU. За исключением случаев, когда разработчик очень глуп. 26 сен. 172017-09-26 08:34:22


5

Это непосредственно не направлены на обход защиты от копирования, но есть существенные исследования в области сбоя вращения встроенных систем с помощью инъекции неисправностей Джаспер ван Вуденберг. Приложения его исследования включают в себя манипулирование решениями филиалов и инструкциями по утечке и криптовыми ключами, поэтому есть вероятные способы применить его и к вашей цели.

Слайды из своей речи в 2012 году, можно найти здесь: http://www.riscure.com/news-events/fault-injection-attacks-on-embedded-chips (больше публикаций по компании можно найти here)

Он совсем недавно gave a talk at Infiltrate 2013, что прикоснулся сильно в этой области, так что следите за для слайдов и видео из этого.

Кроме того, может быть полезно узнать о Xbox 360 glitch hack и о процессе, который там есть.

  0

Xbox-глюк взломал ссылку мертвым 10 июл. 152015-07-10 13:25:53


1

Для считывания содержимого вспышки для Atmel AVR ATmega MCU вы можете разбить главный чип. Он не возвращает чип неповрежденный, но предоставляет код и программу.

  0

Вы декапировали чип и читали флешку визуально или с помощью лазера? Это возможно, но не вопрос, который я задаю. 15 авг. 132013-08-15 13:30:20


-1

Я видел одну из этих компаний в Китае, я видел много микроскопов, поэтому я предполагаю декапсулирование чипа и внесение некоторых изменений на чипе.