Обратная разработка MCU

Разблокировка микроконтроллеров — MikaTech

Наши ценности и цели

О компании MikaTech

Время пролетело незаметно: с того дня, когда мы в 1998 году выполнили наш первый проект по обратной разработке MCU 8051, до момента создания нашей миллионной лаборатории обратной разработки в 2012 году прошло 14 лет. Теперь мы начинаем новый бизнес по разработке встроенных систем визуализации и надеемся прослужить ещё 10 лет.

подпись Питер Ли Соучредитель и генеральный директор

Внутреннее устройство ATMEGA88 для взлома

 

ATmega88 является широко популярным 8-битным AVR-микроконтроллером, предназначенным для недорогих встраиваемых систем. Он оснащён 8 КБ внутренней флэш-памяти, 512 байтами выделенной энергонезависимой EEPROM и 512 байтами быстрой SRAM для хранения переменных во время выполнения. Этот МК обеспечивает прямое синхронизированное взаимодействие с внешней периферией, что является ключевым архитектурным отличием от более старых семейств микроконтроллеров Microchip PIC, которые мы подробно разбирали в предыдущих статьях по обратной разработке. Каждая аппаратная функция внутри ATmega88 связана с критическими компонентами безопасности, включая регистры блокировки и программируемые перемычки, на которые злоумышленники нацеливаются во время операций декапсуляции для разблокировки защищённых областей памяти и выполнения полного дампа флэш для извлечения прошивки и создания дублирующего оборудования.

 

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

 

Этот чип производится по зрелому 350-нанометровому (нм) КМОП-техпроцессу с использованием трёхслойной металлизации для маршрутизации питания, тактовых и сигнальных цепей по кремниевой подложке. С точки зрения полупроводникового анализа, компоновка кристалла ATmega88 исключительно аккуратна и организована, что делает его идеальным образцом для изучения аппаратной обратной разработки, методов декапсуляции и картографирования схем безопасности МК. Наша лабораторная команда полностью декапсулировала оригинальный образец ATmega88, последовательно удаляя металлические слои с помощью контролируемой химической обработки, и сделала снимки высокого разрешения для создания этого подробного разбора для всех, кто изучает уязвимости кремниевой безопасности и методы обхода перемычек для разблокировки AVR-памяти.

Собственный 0,35-микрометровый (мкм) техпроцесс Atmel обеспечивает стабильное, повторяемое построение слоёв кремния, что упрощает контролируемое удаление слоёв для лабораторного анализа, нацеленного на цепи перемычек и блокировки. На фотографии выше показан полный кристалл ATmega88 под оптическим микроскопом с 200-кратным увеличением, раскрывающий основные функциональные блоки: массивы флэш-памяти, блоки EEPROM, аналоговую периферию АЦП и область ядра ЦП. Каждый сегментированный блок содержит уникальные цепи, управляющие разрешениями доступа к памяти, определёнными набором защитных перемычек микросхемы, которые определяют, могут ли внешние отладочные инструменты выполнять команды считывания памяти.

Мы применили разбавленную плавиковую кислоту (HF) в точно выверенных временных интервалах для частичного растворения и удаления внешнего верхнего металлического слоя, обозначенного как M3 в стеке ATmega88. Частичное травление было выбрано намеренно, а не полное удаление, так как оставшиеся металлические дорожки служат визуальными ориентирами для трассировки сигнальных путей к нижним слоям M2 и M1, а также к нижележащим поликремниевым затворам. Эта техника частичного удаления слоёв является стандартным методом в любой профессиональной лаборатории FIB для взлома, специализирующейся на обратной разработке микроконтроллеров и исследовании внутренних цепей перемычек без полного уничтожения критических ориентиров кристалла, необходимых для картографирования логики разблокировки.

 

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

Теперь, когда верхний металлический слой M3 частично удалён, ранее скрытые основные функциональные модули на кремниевом кристалле становятся полностью различимыми для нашей камеры микроскопа и аналитического ПО. Большой прямоугольный блок SRAM занимает заметную часть компоновки микросхемы, рядом с выделенным банком 32 рабочих регистров ЦП общего назначения, которые МК использует для временного хранения данных во время выполнения программы и циклов считывания датчиков. Эти банки регистров хранят промежуточные значения перед записью в EEPROM или флэш, что делает их второстепенными целями для злоумышленников, выполняющих перехват сигналов в реальном времени после декапсуляции для восстановления частичного кода на ранних этапах извлечения прошивки.

 

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

 

Ранее в нашем анализе мы описывали 350-нм производственный процесс Atmel словом «потрясающий» — мнение, разделяемое аппаратными хакерами и исследователями полупроводников в сообществе клуба мастеров вместе, которые регулярно разбирают микросхемы в образовательных целях. Упорядоченное слоистое построение кристалла ATmega88 позволяет контролируемое частичное травление металла, оставляющее слабые контуры металла в диэлектрических траншеях из диоксида кремния, которые остаются видимыми при регулировке фокуса микроскопа без полного удаления следов маршрутизации слоя. Эта тонкая особенность видимости значительно упрощает трассировку длинных сигнальных шин, проходящих между банком конфигурационных перемычек и логикой безопасности блокировки, отвечающей за ограничение несанкционированных запросов дампа и считывания.

 

Этот производственный нюанс — гораздо больше, чем косметическая деталь для аналитиков кремниевой безопасности. При попытке картографирования электрического пути от плавающего затвора каждой перемычки к вентилям И/ИЛИ, обеспечивающим состояние блокировки памяти, остаточные металлические дорожки M3 служат постоянными визуальными ориентирами, предотвращающими дезориентацию при переключении между увеличениями 200x, 500x и даже 1000x во время сеансов анализа декапсуляции, нацеленных на уязвимости обхода перемычек.

Микрофотография, показанная выше, вместе со вторым снимком области перемычек, захватывает ту же самую область кремния ATmega88, но с одним критическим отличием: на нижнем изображении проведено более глубокое травление HF для полного удаления слоя M3, однако вытравленные канавки в изолирующем слое диоксида кремния всё ещё отмечают исходные позиции маршрутизации, где верхний металл ранее лежал на поликремниевых дорожках банка перемычек. Эти вытравленные углубления создают постоянные опорные линии, которые мы используем для перекрёстной проверки сигнальных соединений, питающих каждую отдельную конфигурационную перемычку на МК.

 

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

 

Легко понять, почему аналитики полупроводниковой безопасности высоко ценят стабильный 350-нм производственный процесс Atmel после сравнения таких пар протравленных слоёв. Мы успешно удалили непрозрачный верхний металлический слой M3, блокировавший обзор нижележащих поликремниевых структур перемычек, но при этом сохранили чёткие позиционные маркеры того, где ранее проходили шины питания и сигналов через эту чувствительную область схемы безопасности. Без этих вытравленных ориентиров трассировка логической цепи от каждой перемычки к управляющим вентилям блокировки памяти потребовала бы значительно более длительных сеансов FIB-резки и зондирования при обратной разработке на основе декапсуляции.

Эти два крупноплановых снимка демонстрируют два отдельных элемента перемычек из полного набора более чем тридцати конфигурационных перемычек, интегрированных в кремний микроконтроллера ATmega88. Одно конструктивное решение вызывает горячие дискуссии в сообществе аппаратного взлома, сфокусированном на безопасности МК: Atmel разместила сплошную металлическую экранирующую пластину непосредственно над структурой плавающего затвора верхнего элемента перемычки, видимого в кадре, — защитная мера, предназначенная для блокировки УФ-стирания и атак лазерным зондированием, подробно описанных в технических руководствах по вскрытию кремния от snaileye.

 

Инженеры Atmel добавили этот экранирующий слой в попытке защитить плавающий затвор перемычек от простых трюков с УФ-декапсуляцией, которые успешно стирают состояния блокировки на старых семействах PIC-микроконтроллеров. Несмотря на эту контрмеру, современное оборудование FIB и лазерной резки, доступное в профессиональных лабораториях обратной разработки, всё ещё может прорезать тонкую металлическую пластину для прямого контакта с нижележащим плавающим затвором, позволяя злоумышленникам вручную изменять логические уровни перемычек для разблокировки защищённых банков флэш и EEPROM для неограниченного считывания и полного восстановления встроенного программного кода.

 

Мы нарисовали тонкие красные сигнальные дорожки на каждом элементе перемычек, видимых на этих парных микрофотографиях, чтобы отследить выделенные входные и выходные шины, соединяющие цепи плавающего затвора каждой перемычки с центральным блоком логики безопасности, содержащим управляющие вентили блокировки ATmega88. Теперь мы ставим открытый аналитический вопрос читателям, изучающим аппаратную безопасность микроконтроллеров: какую функциональную цель выполняют эти выделенные красные поликремниевые и металлические сигнальные дорожки в общей схеме защиты доступа к памяти, встроенной в этот AVR МК?

 

Чтобы расширить этот анализ для новичков в обратной разработке кремния: каждая выделенная дорожка несёт двоичный логический сигнал, генерируемый состоянием заряда, хранящимся на плавающем затворе перемычки. Эти сигналы сходятся в многоходовых логических вентилях, которые оценивают комбинированное состояние всех защитных перемычек и регистров блокировки. Если комбинация вентилей соответствует условию «заблокировано», определённому конструкцией ЦП Atmel, все внешние коммуникационные интерфейсы блокируют каждый запрос считывания и дампа, отправляемый программаторами, защищая проприетарный код, хранящийся во флэш-массиве, от несанкционированного извлечения прошивки, используемого для производства нелицензионных дублирующих устройств.

 

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

 

Ещё один важный образовательный вывод из изучения этих экранированных структур перемычек — понимание ограничений пассивного металлического экранирования как контрмеры безопасности. Хотя металлическая пластина M3 блокирует дешёвые попытки УФ-стирания, она не выдерживает точного фрезерования сфокусированным ионным пучком или импульсной лазерной абляции, используемых в профессиональных лабораториях декапсуляции. После удаления металлического экрана плавающий затвор становится полностью доступным для электрического зондирования, позволяя злоумышленникам манипулировать зарядовыми состояниями перемычек для отключения защиты и разблокировки массивов памяти микроконтроллера для полного дампа флэш и восстановления прошивки.

 

Мы также хотим прояснить разницу между конфигурационными перемычками и перемычками блокировки для читателей, новых в архитектуре AVR. Конфигурационные перемычки управляют настройками периферии, тактовыми источниками и параметрами питания, в то время как выделенные перемычки блокировки существуют исключительно для обеспечения ограничений доступа к памяти. Оба типа перемычек передают сигналы по выделенным красным дорожкам, отмеченным на микрофотографиях, объединяясь внутри общих логических вентилей, которые принимают окончательное решение о разрешении доступа для всех внешних операций считывания и дампа, нацеленных на флэш и EEPROM.

 

При выполнении полной обратной разработки ATmega88 для создания дублирующих устройств хакеры в первую очередь картографируют эти выделенные дорожки перемычек во время анализа декапсуляции. Идентифицируя шины, которые напрямую питают логику оценки блокировки, они могут спроектировать минимальные лазерные или FIB-разрезы, которые навсегда отключают блокировку памяти без необходимости декодировать или изменять каждую отдельную конфигурационную перемычку, разбросанную по кремниевому кристаллу, что значительно ускоряет весь процесс извлечения прошивки и восстановления кода после успешной разблокировки защищённых разделов памяти МК. аппаратная безопасность исследования направлены на улучшение общей безопасности

  • Список микроконтроллеров Atmel для обратной разработки в Mikatech:
  • Полная серия AT89xx: взлом микроконтроллеров: AT89C51 AT89C52 AT89S52 AT89S53 AT89S54 AT89S58 AT89S64 AT89C1051 AT89C2051 AT89C4051 AT89C55 AT89C55WD AT89C5131A AT89C51WD AT89C51ED2 AT89C51CC01 AT89S51 AT89C51CC02 AT89C51CC03 AT89C51RB2 AT89C51RC AT89C51RD2 AT89C51RD-CM AT89C51RC2 AT89C51ID2 AT87C5101 AT89C1051U AT89C2051X2 AT89C5130AM AT89C5130A AT89C5131AL AT89C5131AM AT89C51AC3 AT89C5132 AT89C51AC2 AT89C51CC03C AT89C51SND1C AT89C51CC03U AT89C51IC2 AT89C51RE2 AT89C51SND2 AT89LP2051 AT89LP2052 AT89LP213 AT89LP214 AT89LP216 AT89LP4051 AT89LP4052 AT89LP828 AT89LP428 AT89LS51 AT89LS52 AT89LV51 AT89LS53 AT89LS8252 AT89LV52 AT89LV55 AT89S2051 AT89S4051 AT89S8252 AT89S8253 ...

  • Полная серия AT90xx: взлом микроконтроллеров: AT90S1200 AT90S2323 AT90S2343 AT90S2331 AT90S4433 AT90S8515 AT90S8535 AT90S4414 AT90S4434 AT90S2313 90S1200 90S2323 90S2343 90S2331 90S4433 90S8515 90S8535 90S4414 90S4434 90S2313 ...

  • Полная серия AT90CAN/PWM/USB/xx: чтение микроконтроллеров: AT90CAN32 AT90CAN64 AT90CAN128 AT90PWM2 AT90PWM216 AT90PWM2B AT90PWM3 AT90PWM316 AT90PWM3B AT90USB1286 AT90USB1287 AT90USB162 AT90USB646 AT90USB647 AT90USB82 ...
  • Полная серия AT91SAMxx: взлом прошивки: AT91SAM9XE512 AT91SAM9XE256 AT91SAM9XE128 AT91SAM7S64B AT91SAM7S32B AT91SAM7SE512 AT91SAM7SE256 AT91SAM7SE32 AT91SAM7XC512 AT91SAM7XC256 AT91SAM7XC128 AT91SAM7X512 AT91SAM7X256 AT91SAM7X128 AT91SAM7S161 AT91SAM7S512 AT91SAM7S256 AT91SAM7S128 AT91SAM7S64 AT91SAM7S321 ...

  • Полная серия ATTinyxx: взлом прошивки: ATtiny4 ATtiny5 ATtiny10 ATtiny11 ATtiny12 ATtiny13 ATtiny15 ATtiny20 ATtiny22 ATtiny24 ATtiny25 ATtiny26 ATtiny261 ATtiny28 ATtiny2313 ATtiny40 ATtiny4313 ATtiny43 ATtiny44 ATtiny45 ATtiny461 ATtiny48 ATtiny84 ATtiny85 ATtiny861 ATtiny87 ATtiny88 ATtiny4A ATtiny5A ATtiny10A ATtiny11A ATtiny12A ATtiny13A ATtiny15A ATtiny20A ATtiny22A ATtiny24A ATtiny25A ATtiny26A ATtiny261A ATtiny28A ATtiny2313A ATtiny40A ATtiny4313A ATtiny43A ATtiny44A ATtiny45A ATtiny461A ATtiny48A ATtiny84A ATtiny85A ATtiny861A ATtiny87A ATtiny88A ATtiny4V ATtiny5V ATtiny10V ATtiny11V ATtiny12V ATtiny13V ATtiny15V ATtiny20V ATtiny22V ATtiny24V ATtiny25V ATtiny26V ATtiny261V ATtiny28V ATtiny2313V ATtiny40V ATtiny4313V ATtiny43V ATtiny44V ATtiny45V ATtiny461V ATtiny48V ATtiny84V ATtiny85V ATtiny861V ATtiny87V ATtiny88V ...

  • Полная серия ATMegaxx: взлом микроконтроллеров: ATmega16 ATmega162 ATmega164 ATmega165 ATmega168 ATmega169 ATmega128 ATmega1280 ATmega1281 ATmega2560 ATmega2561 ATmega328 ATmega48 ATmega32 ATmega324 ATmega325 ATmega3250 ATmega329 ATmega3290 ATmega64 ATmega640 ATmega645 ATmega6450 ATmega649 ATmega6490 ATmega8 ATmega88 ATmega8515 ATmega8535 ATmega16L ATmega162L ATmega164L ATmega165L ATmega168L ATmega169L ATmega128L ATmega1280L ATmega1281L ATmega2560L ATmega2561L ATmega328L ATmega48L ATmega32L ATmega324L ATmega325L ATmega3250L ATmega329L ATmega3290L ATmega64L ATmega640L ATmega645L ATmega6450L ATmega649L ATmega6490L ATmega8L ATmega88L ATmega8515L ATmega8535L ATmega16P ATmega162P ATmega164P ATmega165P ATmega168P ATmega169P ATmega128P ATmega1280P ATmega1281P ATmega2560P ATmega2561P ATmega328P ATmega48P ATmega32P ATmega324P ATmega325P ATmega3250P ATmega329P ATmega3290P ATmega64P ATmega640P ATmega645P ATmega6450P ATmega649P ATmega6490P ATmega8P ATmega88P ATmega16A ATmega162A ATmega164A ATmega165A ATmega168A ATmega169A ATmega128A ATmega1280A ATmega1281A ATmega2560A ATmega2561A ATmega328A ATmega48A ATmega32A ATmega324A ATmega325A ATmega3250A ATmega329A ATmega3290A ATmega64A ATmega640A ATmega645A ATmega6450A ATmega649A ATmega6490A ATmega8A ATmega88A ATmega8515A ATmega8535A ...

  • Серия ATFxx: взлом микроконтроллеров: ATF16V8B ATF16V8BL ATF16V8BQ ATF16V8BQL ATF16LV8C ATF16LV8CEXT ATF16V8C ATF16V8CEXT ATF16V8CZ ATF20V8B ATF20V8BL ATF20V8BQ ATF20V8BQL ATF22LV10C ATF22LV10CEXT ATF22LV10CUES ATF22LV10CZ ATF22LV10CQZ ATV22V10 ATF22V10B ATF22V10BQ ATF22V10BL ATF22V10BQL ATF22V10C ATF22V10CEXT ATF22V10CUES ATF22V10CZ ATF22V10CQZ ATF22V10CZUES ATF22V10CQZUES ATF1500A ATF1500ABV ATF1500ABVL ATF1500 ATF1500L ATF1502AS ATF1502ASL ATF1502ASV ATF1502ASVL ATF1504AS ATF1504ASVL ATF1508 ATF1508AS ATF1508ASV ATF2500C ATF2500CL ATF2500CQ ATF2500CQL ATF750C ATF750CEXT ATF750CL ATF750LVC ATF750LVCCEXT ATF750LVCEXT ATF750LVCL ATV2500 ATV2500H ATV2500L ATV2500B ATV2500BL ATV2500BQL ATV5000 ATV5000L ATV750 ATV750B ATV750BL ATV750L ...

  • Серия AT88scxx/90scxx: взлом микроконтроллеров: AT88SC0104 AT88SC0104C AT88SC0204 AT88SC0204C AT88SC0404 AT88SC0404C AT88SC0808 AT88SC0808C AT88SC1003 AT88SC101 AT88SC102 AT88SC1281 AT88SC12816C AT88SC150 AT88SC153 ...

Общие вопросы об извлечении прошивок микроконтроллеров


  • Безопасно ли отправлять оплату в MikaTech?

    Если бы MikaTech была недобросовестной компанией, в интернете за 28 лет истории можно было бы найти массу негативных отзывов о её услугах

    Итак, ответ: ДА! Мы — хорошие люди.

    Почему выбирают Mikatech, нажмите здесь, чтобы узнать


  • Может ли Mikatech взломать микросхемы, не указанные на этом сайте?

    У разных производителей чипов разные номера деталей, но внутреннее ядро может быть выполнено по одной технологии. Было бы невозможно перечислить все номера деталей, к которым применима наша технология, такие как MYSON, STK, FEELING, ANALOG, FUJITSU, NOVATEK, LG/HYNDAI.

    Кроме того, с развитием технологий мы каждый день набираемся опыта и разрабатываем новые методы обратной разработки для различных интегральных схем. Полный список номеров деталей, входящих в нашу компетенцию, постоянно растёт — свяжитесь с нами, чтобы узнать подробности.

  • Будет ли защищена моя конфиденциальность?

    Mikatech Innovative Limited понимает важность конфиденциальности своих клиентов. В момент вашего обращения к Mikatech ваша личная информация будет защищена в соответствии с нашими внутренними регламентами, разработанными за годы практики. Mikatech использует эти данные для индивидуализации обслуживания и никогда не раскрывает их третьим лицам по каким-либо причинам.
    По каждому проекту мы удаляем все данные, материалы и коды через 60 дней после передачи файлов — это защищает нас и вашу конфиденциальность.

  • Законно ли пользоваться услугами Mikatech?

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


  • Я отправил вам письмо, почему нет ответа?

    • A. Наш почтовый сервер временно вышел из строя, ваше сообщение не было доставлено в наш почтовый ящик, даже если на экране отображается сообщение об успешной отправке. Пожалуйста, свяжитесь с нами снова.
    • B. Наш email распознаётся как спам вашим почтовым сервером, поэтому наш ответ был отклонён или перенаправлен в папку спама. Пожалуйста, удалите наш адрес из списка спама или проверьте папку спама, или используйте другой email для связи, например Gmail.
    • C. Ваше письмо распознано как спам нашим почтовым сервером и помещено в папку спама. Пожалуйста, используйте другой email для связи.



    Услуги разблокировки MCU


    время взлома микроконтроллера

    Лет

    28 +
    страны взлома микроконтроллеров

    Стран

    110 +
    клиенты по атакам на микроконтроллеры

    Клиентов

    5000 +
    разблокированные проекты микроконтроллеров

    Проектов

    60000 +