Обратный инжиниринг MCU

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

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

О MikaTech

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

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

Взлом MCU Dallas

Dallas Semiconductor, ныне дочерняя компания Maxim Integrated Products, проектирует и производит аналоговые, цифровые и смешанные полупроводниковые изделия (интегральные схемы, ИС). Специализация включает коммуникационные продукты (включая T/E и Ethernet), микроконтроллеры, управление батареями, термодатчики и термоуправление, энергонезависимую SRAM, супервизоры микропроцессоров, линии задержки, кремниевые генераторы, цифровые потенциометры, часы реального времени, термокомпенсированные кварцевые генераторы (TCXO), iButton (известный как Dallas Key) и продукты 1-Wire. Компания, базирующаяся в Далласе, штат Техас, основана в 1984 году и приобретена Maxim Integrated Products в 2001 году. Бренды Maxim и Dallas Semiconductor активно использовались до 2007 года. С тех пор для всех новых продуктов используется имя Maxim, хотя бренд Dallas Semiconductor сохранен для некоторых старых продуктов.

  • Список микроконтроллеров Dallas для обратного инжиниринга от Mikatech:
  • Серия DS87CXX (дублирование контроллера): DS87C520 DS87C530 DS87C550 ...
    Серия DS89CXX (дублирование контроллера): DS89C420 DS89C430 DS89C450 ...

 

1. Семейство 1-Wire (DS24xx / DS28xx / DS19xx iButton)

1.1 DS24xx – память и функциональные ИС 1-Wire

DS2401 (64-битный уникальный ROM ID)

DS2405 (одноканальный ключ 1-Wire)

DS2406 (двухканальный ключ + EEPROM)

DS2408 (8-канальный расширитель ввода/вывода)

DS2430A (1 Кбит EEPROM)

DS2431 (1 Кбит EEPROM с защитой записи)

DS2432 (защищенная EEPROM с SHA-1)

DS2433 / DS24B33 (4 Кбит EEPROM)

DS2438 (температура + контроль батареи + АЦП)

DS2450 (4-канальный АЦП 1-Wire)

1.2 DS28xx – защищенные и специализированные чипы 1-Wire

DS28E01 (чип аутентификации SHA-256)

DS28E04 (защищенная EEPROM 4 Кбит)

DS28EC20 (20 Кбит EEPROM)

DS28EA00 (многоточечный цифровой термометр 1-Wire)

DS28S60 (криптографический чип безопасности)

1.3 DS19xx – автономные регистраторы данных iButton (с батареей)

DS1921 (регистратор температуры Thermochron)

DS1922 (регистратор температуры большой емкости)

DS1923 (регистратор температуры + влажности)

DS1961 (iButton с защищенной памятью SHA)

DS1963 (многостраничная защищенная EEPROM iButton)

DS1990A (уникальный ID-ключ iButton)

2. Серия цифровых датчиков температуры и термостатов (DS18xx / DS17xx / DS56)

2.1 DS18xx – датчики температуры 1-Wire

DS1820 (9-битный цифровой термометр)

DS18S20 (высокоточный 9-битный датчик)

DS18B20 (9~12-битное программируемое разрешение, самый массовый)

DS1822 (недорогой 12-битный датчик)

DS1825 (многоканальный датчик температуры 1-Wire)

DS1821 (термостат 1-Wire с ключевым выходом)

2.2 DS17xx – датчики температуры с интерфейсом I2C/SMBus

DS1720 (2-проводной цифровой термометр)

DS1721 (датчик с двойной температурной сигнализацией)

DS1722 (низковольтный датчик температуры SMBus)

DS1775 (монитор температуры удаленного диода)

2.3 Аналоговый термостат

DS56 (аналоговый температурный ключ с двумя уставками)

3. Часы реального времени (RTC) и таймкиперы (DS12xx / DS13xx / DS15xx / DS16xx)

3.1 DS12xx – модульные RTC (со встроенной батареей и кварцем, устаревшие PC-часы)

DS1287 (промышленный стандарт RTC для материнских плат ПК)

DS12CR887 (низковольтная версия DS1287)

DS1202 (последовательный SPI RTC)

DS1204 (RTC с сторожевым таймером)

DS1216 (модуль RTC в смарт-сокете)

3.2 DS13xx – низкопотребляющие RTC с I2C (наиболее широко используемые)

DS1302 (последовательный 3-проводной RTC)

DS1307 (базовый I2C 5В RTC)

DS1337 (I2C RTC с сигналом тревоги и выходом меандра)

DS1338 (низковольтный 3,3В I2C RTC)

DS1340 (сверхмаломощный RTC с подзарядкой)

DS1374 (RTC с температурной компенсацией)

3.3 DS15xx – высокоинтегрированные RTC (сторожевой таймер, управление питанием, NVSRAM)

DS1501 / DS1511 (RTC с поддержкой Y2K + сторожевой таймер + 256 байт NVSRAM)

DS1553 / DS1554 (RTC для регистрации данных с большой NVSRAM)

3.4 DS16xx – многонапряжные RTC

DS1685 / DS1687 (3В/5В Y2K RTC, совместим с DS1287)

DS1602 (SPI RTC с контролем батареи)

4. Серия энергонезависимой SRAM (NVRAM / NVSRAM) (DS1220 / DS1225 / DS1230 / DS1245)

DS1220AB / DS1220Y (16 Кбайт NVSRAM)

DS1225AB / DS1225Y (64 Кбайт NVSRAM)

DS1230AB / DS1230Y (256 Кбайт NVSRAM)

DS1245AB / DS1245Y (1024 Кбайт, 1 Мбайт NVSRAM)

DS1213 (держатель NVRAM в смарт-сокете)

5. Монитор Li-ion батарей и датчики уровня заряда (DS27xx)

DS2740 (маломощный монитор батареи)

DS2750 / DS2751 / DS2752 (датчик уровня заряда для одного элемента)

DS2760 (высокоточный монитор Li-ion со встроенным резистором)

DS2770 / DS2771 (микросхема защиты многобатарейных сборок)

DS2780 / DS2781 (автономный датчик уровня заряда для батарейных блоков)

6. Высокоскоростные Flash-микроконтроллеры, совместимые с 8051 (DS80Cxx / DS89Cxx)

6.1 Серия DS80C – высокоскоростной 8051

DS80C310 / DS80C320 / DS80C323 (одноцикловый высокоскоростной 8051)

DS80C400 (сетевой 8051 с аппаратной поддержкой TCP/IP)

6.2 DS89C – сверхвысокоскоростной Flash 8051

DS89C420, DS89C430, DS89C440, DS89C450 (16/32/64 Кбайт внутрисистемно программируемой Flash)

7. Серия цифровых потенциометров (DS180x / DS166x)

DS1802 (двойной цифровой потенциометр)

DS1803 (8-канальный цифровой потенциометр)

DS1804 (одноканальный энергонезависимый цифровой потенциометр)

DS1669 (недорогой цифровой реостат)

DS1689 (цифровой потенциометр для регулировки громкости)

8. Одиночные трансиверы T1/E1 для телекома (серия DS21xx)

DS2152, DS2154 (устаревшие трансиверы T1/E1)

DS21352, DS21354, DS21552, DS21554 (новое поколение 3,3В T1/E1 SCT)

DS2188 (многопортовая микросхема линейного интерфейса)

9. Сторожевые таймеры, мониторы питания и сброса

DS1232 (супервизор микропроцессора со сторожевым таймером)

DS1830 (супервизор сброса при низком напряжении)

DS1705 (детектор напряжения со сторожевым таймером)

10. Прочие специализированные ИС

DS21Q43 (чип защиты линейного интерфейса)

DS9097 / DS9097E (адаптер 1-Wire USB)

DS1420 (мост RS232 – 1-Wire)

Дополнительные технические примечания

  1. История бренда: Dallas Semiconductor полностью приобретена Maxim Integrated в 2001 г.; Maxim приобретена Analog Devices в 2021 г. Все устройства серии DS по-прежнему поддерживаются ADI/Maxim.
  2. Правила суффиксов: суффиксы указывают напряжение (-3=3,3В, -5=5В), корпус (S=SOIC, Q=QFP, P=DIP), температурный диапазон (коммерческий/промышленный) и наличие встроенной батареи (CR=интегрированная литиевая).
  3. Ограничения: каталог включает только стандартные серийные коммерческие ИС. Индивидуальные маскируемые ИС, оценочные платы и адаптерные модули исключены. Для каждой базовой модели существуют сотни полных артикулов, различающихся по объему памяти, количеству выводов, корпусу и температуре, которые невозможно перечислить полностью.
  4. Ключевая технологическая особенность: фирменная технология Dallas Semiconductor – однопроводная шина 1-Wire®, обеспечивающая питание и двунаправленный обмен данными через единственный сигнальный провод плюс землю.

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


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

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

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

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


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

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

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

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

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

  • Законно ли получать услуги от Mikatech?

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


  • Атаки по времени и блокировка MCU

    Атаки по времени используют вариации времени выполнения криптографических или критически важных для безопасности операций. Блокировка MCU часто основана на сравнении пароля. Если при несовпадении сравнение завершается досрочно, злоумышленник может измерить время. Это позволяет угадать правильный пароль побайтово. Чтение защищенного процессора EEPROM может быть защищено паролем. Злоумышленник может использовать временные задержки для подбора пароля. После подбора он может выполнить дамп Flash и EEPROM. Декапсуляция и восстановление кода не требуются. Становится возможным копирование содержимого криптографической памяти. Затем можно проводить обратный инжиниринг микроконтроллера. Конечная цель – извлечение прошивки. Блокировка MCU преодолевается простым временным побочным каналом. Чтобы предотвратить это, сравнение должно выполняться за постоянное время. Оно должно занимать одинаковое число тактов независимо от пароля. Многие MCU аппаратно реализуют сравнение за постоянное время. Аппаратура сравнивает все байты одновременно. Это устраняет временные различия. Однако другие операции могут иметь временные вариации. Например, время доступа к памяти может зависеть от адреса. Если злоумышленник может вызвать промахи кэша, он может сделать вывод о данных. Некоторые MCU имеют кэш команд. Поведение кэша раскрывает информацию. Блокировка MCU может быть обойдена с помощью анализа времени кэша. Злоумышленник может отслеживать время выполнения функции. Если функция обращается к секретной таблице, время выдает индекс. Это классическая атака. Чтение защищенного процессора EEPROM может зависеть от кэша. Дамп Flash и EEPROM может иметь переменную задержку. Злоумышленник может использовать это. Для противодействия атакам по времени MCU используют детерминированный доступ к памяти. Они отключают кэши во время операций, связанных с безопасностью. Также применяют случайные задержки. Случайные задержки добавляют шум, но не устраняют утечку. Злоумышленник может усреднить шум. Поэтому постоянное время – единственное надежное решение. Блокировка MCU должна быть реализована аппаратно. Аппаратура не имеет временных вариаций из-за микроархитектуры. Она детерминирована. Решение о блокировке должно быть одной комбинационной цепью с фиксированной задержкой. Злоумышленник не может извлечь информацию. Кроме того, MCU может использовать ослепление (blinding), которое рандомизирует входные данные, что усложняет атаки по времени. Например, пароль может быть XORed со случайным значением. Сравнение выполняется над ослепленными значениями. Случайное значение меняется при каждой попытке. Злоумышленник не может коррелировать время с паролем. Блокировка MCU также включает ограничение числа попыток. После нескольких неудач блокировка становится постоянной. Это предотвращает итеративные атаки по времени. Чтение защищенного процессора EEPROM отключается. Дамп Flash и EEPROM становится невозможным. Копирование содержимого криптографической памяти отключается. Обратный инжиниринг MCU останавливается. Извлечение прошивки становится невозможным. В заключение, атаки по времени – это тонкий, но эффективный метод взлома блокировки MCU. Защита включает сравнение за постоянное время, управление кэшем, случайные задержки, ослепление и ограничение числа попыток. Эти меры гарантируют, что чтение, дамп, декапсуляция, копирование, обратный инжиниринг и извлечение не получат выгоды от утечки времени.



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


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

    Лет

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

    Стран

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

    Клиентов

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

    Проектов

    60000 +