MCU Reverse Engineering

Mikrocontroller entsperren – MikaTech

Unsere Werte und Ziele

Über MikaTech

Die Zeit verging schnell – vom ersten MCU-Reverse-Engineering-Projekt mit einem 8051 im Jahr 1998 bis zur Einrichtung unseres Millionen-Dollar-Reverse-Engineering-Labors im Jahr 2012 vergingen 14 Jahre. Heute starten wir unser neues Geschäftsfeld der eingebetteten visuellen Systementwicklung und hoffen, weitere 10 Jahre dienen zu können.

Unterschrift Peter Lee Mitgründer & CEO

Dallas MCU-Crack

Dallas Semiconductor, heute eine Tochtergesellschaft von Maxim Integrated Products, entwirft und produziert analoge, digitale und Mixed-Signal-Halbleiter (integrierte Schaltungen, ICs). Zu den Spezialgebieten gehören Kommunikationsprodukte (einschließlich T/E- und Ethernet-Produkte), Mikrocontroller, Batteriemanagement, Temperatursensorik und -management, nichtflüchtiger RAM, Mikroprozessor-Supervisoren, Verzögerungsleitungen, Siliziumoszillatoren, digitale Potentiometer, Echtzeituhren, temperaturkompensierte Quarzoszillatoren (TCXOs), iButton (allgemein als Dallas-Key bekannt) und 1-Wire-Produkte. Das in Dallas, Texas, ansässige Unternehmen wurde 1984 gegründet und 2001 von Maxim Integrated Products übernommen. Sowohl die Marke Maxim als auch Dallas Semiconductor wurden bis 2007 aktiv genutzt. Seitdem wird der Name Maxim für alle neuen Produkte verwendet, obwohl die Marke Dallas Semiconductor für einige ältere Produkte beibehalten wurde.

  • Mikatech Dallas MCU Reverse-Engineering-Liste:
  • DS87CXX-Serie Controller-Duplikation: DS87C520 DS87C530 DS87C550 ...
    DS89CXX-Serie Controller-Duplikation: DS89C420 DS89C430 DS89C450 ...

 

1. 1-Wire Single-Wire-IC-Familie (DS24xx / DS28xx / DS19xx iButton)

1.1 DS24xx 1-Wire Speicher- und Funktions-ICs

DS2401 (64-Bit eindeutige ROM-ID)

DS2405 (1-Wire Einzelkanalschalter)

DS2406 (Zweikanalschalter + EEPROM)

DS2408 (8-Kanal I/O-Erweiterer)

DS2430A (1Kb EEPROM)

DS2431 (1Kb EEPROM mit Schreibschutz)

DS2432 (SHA-1 verschlüsseltes sicheres EEPROM)

DS2433 / DS24B33 (4Kb EEPROM)

DS2438 (Temperatur + Batteriemonitor + ADC)

DS2450 (4-Kanal 1-Wire ADC)

1.2 DS28xx Sichere & spezielle 1-Wire-Chips

DS28E01 (SHA-256 Authentifizierungschip)

DS28E04 (sicheres 4Kb EEPROM)

DS28EC20 (20Kb EEPROM)

DS28EA00 (1-Wire Mehrpunkt-Digitalthermometer)

DS28S60 (kryptografischer Sicherheitschip)

1.3 DS19xx iButton Standalone-Datenlogger (batteriebetrieben)

DS1921 (Thermochron Temperaturlogger)

DS1922 (hochkapazitiver Temperaturlogger)

DS1923 (Temperatur + Feuchtelogger)

DS1961 (SHA-sicherer Speicher-iButton)

DS1963 (Mehrseiten sicheres EEPROM iButton)

DS1990A (eindeutiger ID-iButton-Schlüssel)

2. Digitale Temperatursensor- & Thermostat-Serie (DS18xx / DS17xx / DS56)

2.1 DS18xx 1-Wire Temperatursensoren

DS1820 (9-Bit Digitalthermometer)

DS18S20 (hochpräziser 9-Bit-Sensor)

DS18B20 (9~12-Bit programmierbare Auflösung, am häufigsten)

DS1822 (kostengünstiger 12-Bit-Sensor)

DS1825 (Mehrkanal-1-Wire-Temperatursensor)

DS1821 (1-Wire Thermostat mit Schaltausgang)

2.2 DS17xx I2C/SMBus Temperatursensoren

DS1720 (2-Draht-Digitalthermometer)

DS1721 (Sensor mit zwei Temperaturalarmen)

DS1722 (Niederspannungs-SMBus-Temperatursensor)

DS1775 (Remote-Dioden-Temperaturmonitor)

2.3 Analoger Thermostat-IC

DS56 (analoger Temperaturschalter mit zwei Schwellwerten)

3. Echtzeituhr (RTC) & Zeitmess-ICs (DS12xx / DS13xx / DS15xx / DS16xx)

3.1 DS12xx Modul-RTC (eingebaute Batterie + Quarz, Legacy-PC-Uhr)

DS1287 (Industriestandard PC-Motherboard-RTC)

DS12CR887 (Niederspannungs-Upgrade von DS1287)

DS1202 (serielle SPI-RTC)

DS1204 (RTC mit Watchdog-Timer)

DS1216 (Smart-Socket-RTC-Modul)

3.2 DS13xx I2C Low-Power RTC (am weitesten verbreitet)

DS1302 (3-Draht serielle RTC)

DS1307 (I2C 5V Basis-RTC)

DS1337 (I2C Alarm-RTC mit Rechteckwellenausgang)

DS1338 (Niederspannungs-3.3V I2C RTC)

DS1340 (ultra-niedrige Leistungs-RTC mit Trickle-Lader)

DS1374 (RTC mit Temperaturkompensation)

3.3 DS15xx Hochintegrierte RTC (Watchdog / Power Control / NVSRAM)

DS1501 / DS1511 (Y2K-konforme RTC + Watchdog + 256B NVSRAM)

DS1553 / DS1554 (Datenprotokollierungs-RTC mit großem NVSRAM)

3.4 DS16xx Mehrspannungs-RTC

DS1685 / DS1687 (3V/5V Y2K RTC, kompatibel mit DS1287)

DS1602 (SPI RTC mit Batteriemonitor)

4. Nichtflüchtiger SRAM (NVRAM / NVSRAM) Serie (DS1220 / DS1225 / DS1230 / DS1245)

DS1220AB / DS1220Y (16K NVSRAM)

DS1225AB / DS1225Y (64K NVSRAM)

DS1230AB / DS1230Y (256K NVSRAM)

DS1245AB / DS1245Y (1024K 1MB NVSRAM)

DS1213 (Smart-Socket-NVRAM-Träger)

5. Li-Ionen-Batteriemonitor & Fuel-Gauge-ICs (DS27xx)

DS2740 (niedriger Leistungs-Batteriemonitor)

DS2750 / DS2751 / DS2752 (Einzelzellen-Fuel-Gauge)

DS2760 (hochpräziser Li-Ionen-Batteriemonitor mit integriertem Messwiderstand)

DS2770 / DS2771 (Mehrzellen-Batterieschutz-IC)

DS2780 / DS2781 (Standalone-Fuel-Gauge für Batteriepacks)

6. Hochgeschwindigkeits-8051-kompatible Flash-Mikrocontroller (DS80Cxx / DS89Cxx)

6.1 DS80C Serie Hochgeschwindigkeits-8051

DS80C310 / DS80C320 / DS80C323 (Einzelzyklus-Hochgeschwindigkeits-8051)

DS80C400 (vernetzter 8051 mit TCP/IP-Hardware)

6.2 DS89C Ultra-Hochgeschwindigkeits-Flash-8051

DS89C420, DS89C430, DS89C440, DS89C450 (16KB/32KB/64KB im Anwendungsprogrammierbarer Flash)

7. Digitale Potentiometer (digital gesteuerte Widerstände) Serie (DS180x / DS166x)

DS1802 (duales digitales Potentiometer)

DS1803 (8-Kanal digitales Potentiometer)

DS1804 (Einzelkanal nichtflüchtiges digitales Poti)

DS1669 (kostengünstiger digitaler Rheostat)

DS1689 (digitales Potentiometer für Audiopegel)

8. Telekom T1/E1 Single-Chip-Transceiver (DS21xx Serie)

DS2152, DS2154 (Legacy T1/E1 Transceiver)

DS21352, DS21354, DS21552, DS21554 (neue Generation 3.3V T1/E1 SCTs)

DS2188 (Mehrport-Telekom-Leitungsschnittstellen-Chip)

9. Watchdog-Timer, Spannungsüberwachung & Reset-ICs

DS1232 (Mikroprozessor-Supervisor-Watchdog)

DS1830 (Niederspannungs-Reset-Supervisor)

DS1705 (Spannungsdetektor mit Watchdog)

10. Verschiedene Spezialfunktions-ICs

DS21Q43 (Leitungsschnittstellen-Schutzchip)

DS9097 / DS9097E (1-Wire USB-Adapter-Schnittstellenchip)

DS1420 (RS232 zu 1-Wire Brücke)

Ergänzende technische Hinweise

  1. Markengeschichte
  2. Dallas Semiconductor wurde 2001 vollständig von Maxim Integrated übernommen; Maxim wurde 2021 von Analog Devices übernommen. Alle DS-Serie-Geräte werden weiterhin von ADI/Maxim betreut.
  3. Namenssuffix-Regel
  4. Suffix-Buchstaben geben Spannung (-3=3.3V, -5=5V), Gehäuse (S=SOIC, Q=QFP, P=DIP), Temperaturbereich (kommerziell / industriell) und eingebaute Batteriemodule (CR=integrierte Lithiumbatterie) an.
  5. Umfangseinschränkung
  6. Dieser Katalog listet nur standardmäßige kommerzielle IC-Familien auf. Kundenspezifische Masken-ICs, Evaluierungsplatinen und Adaptermodule sind ausgeschlossen. Jedes Basismodell hat Hunderte von vollständigen Bestellnummern, die sich durch Speichergröße, Pinzahl, Gehäuse und Temperatur unterscheiden, die nicht einzeln aufgeführt werden können.
  7. Kerntechnologie-Merkmal
  8. Die ikonische proprietäre Technologie von Dallas Semiconductor ist der 1-Wire®-Ein-Draht-Bus, der Stromversorgung und bidirektionale Datenkommunikation über nur eine Signalleitung plus Masse ermöglicht.

Allgemeine Fragen zur Mikrocontroller-Firmware-Extraktion


  • Ist es sicher, eine Zahlung an MikaTech zu senden?

    Wenn MikaTech ein schlechtes Unternehmen wäre, könnten Sie im Internet über die 28-jährige Geschichte hinweg jede Menge schlechter Bewertungen über den Service finden.

    Die Antwort lautet also: JA! Wir sind gute Leute.

    Warum Mikatech wählen? Hier klicken, um mehr zu erfahren


  • Kann Mikatech auch ICs knacken, die nicht auf dieser Website gelistet sind?

    Verschiedene Chiphersteller verwenden unterschiedliche Teilenummern, aber der innere Kern des Chips kann mit derselben Technologie hergestellt werden. Es wäre unmöglich, alle Teilenummern aufzulisten, bei denen unsere Technologie anwendbar ist, z. B. MYSON, STK, FEELING, ANALOG, FUJITSU, NOVATEK, LG/HYNDAI.

    Durch den Fortschritt der Technologie sammeln wir täglich mehr Erfahrung und entwickeln neue Methoden für das Reverse Engineering verschiedener integrierter Schaltkreise. Die vollständige Liste der Teilenummern, die in unseren Leistungsumfang fallen, wird immer größer. Bitte kontaktieren Sie uns, um dies zu klären.

  • Wird meine Privatsphäre geschützt?

    Mikatech Innovative Limited versteht die Bedeutung der Privatsphäre seiner Kunden. In dem Moment, in dem Sie Mikatech kontaktieren, werden Ihre persönlichen Daten gemäß unseren Verwaltungsrichtlinien geschützt, die wir im Laufe der Jahre entwickelt haben. Mikatech verwendet diese Informationen, um seinen Service für Sie zu personalisieren, und gibt sie niemals an Dritte weiter, aus welchem Grund auch immer.
    Bei jedem Projekt löschen wir alle Daten, Materialien und Codes 60 Tage nach der Lieferung der Dateien. Dies schützt uns und Ihre Privatsphäre.

  • Ist es legal, den Service von Mikatech in Anspruch zu nehmen?

    Ja, es ist völlig legal.
    Mikatech erbringt seine Reverse-Engineering-Dienste nur zu Bildungszwecken. Es kann illegal sein, die oben genannten Dienste in einigen Ländern oder Regionen zu nutzen. Bitte überprüfen Sie Ihre lokalen Gesetze. Mikatech übernimmt keine Verantwortung im Zusammenhang mit der Nutzung der oben genannten Dienste, die als illegal angesehen werden könnte.


  • Zeitangriffe und der MCU-Lockbit-Lock

    Zeitangriffe nutzen die Variation der Ausführungszeit von kryptografischen oder sicherheitskritischen Operationen aus. Der MCU-Lockbit-Lock basiert oft auf Passwortvergleichen. Wenn der Vergleich bei einer Nichtübereinstimmung frühzeitig zurückkehrt, kann der Angreifer die Zeit messen. Dies enthüllt das richtige Passwort Byte für Byte. Das Auslesen eines EEPROM-Prozessors kann passwortgeschützt sein. Der Angreifer kann die Zeit nutzen, um das Passwort zu erraten. Sobald es erraten ist, kann er Flash und EEPROM auslesen. Dekapsulation und Code-Wiederherstellung sind nicht erforderlich. Das Kopieren von Inhalten des kryptografischen Speichers wird möglich. Das Reverse Engineering des Mikrocontrollers kann dann fortgesetzt werden. Die Firmware-Extraktion ist das endgültige Ziel. Der MCU-Lockbit-Lock wird durch einen einfachen Timing-Seitenkanal besiegt. Um dies zu verhindern, muss der Vergleich zeitkonstant sein. Er muss unabhängig vom Passwort die gleiche Anzahl von Zyklen benötigen. Viele MCUs implementieren einen zeitkonstanten Vergleich in Hardware. Die Hardware vergleicht alle Bytes gleichzeitig. Dies eliminiert Timing-Unterschiede. Andere Operationen können jedoch Timing-Variationen aufweisen. Zum Beispiel können Speicherzugriffszeiten von der Adresse abhängen. Wenn der Angreifer Cache-Fehler verursachen kann, kann er Daten ableiten. Einige MCUs haben Befehlscaches. Das Cache-Verhalten leckt Informationen. Der MCU-Lockbit-Lock kann durch Ausnutzung von Cache-Timing umgangen werden. Der Angreifer kann die Ausführungszeit einer Funktion überwachen. Wenn die Funktion auf eine geheime Tabelle zugreift, verrät die Zeit den Index. Dies ist ein klassischer Angriff. Das Auslesen eines EEPROM-Prozessors könnte vom Cache beeinflusst werden. Das Auslesen von Flash und EEPROM könnte variable Latenz aufweisen. Der Angreifer kann das nutzen. Um Zeitangriffe zu bekämpfen, verwenden MCUs deterministischen Speicherzugriff. Sie deaktivieren Caches während sicherheitsempfindlicher Operationen. Sie verwenden auch zufällige Verzögerungen. Die zufälligen Verzögerungen fügen Rauschen hinzu. Aber sie eliminieren das Leck nicht vollständig. Der Angreifer kann das Rauschen mitteln. Daher ist zeitkonstantes Verhalten die einzige robuste Lösung. Der MCU-Lockbit-Lock sollte in Hardware implementiert sein. Hardware hat keine Timing-Variationen aufgrund der Mikroarchitektur. Sie ist deterministisch. Die Lock-Entscheidung sollte ein einziger kombinatorischer Pfad sein. Dieser Pfad hat eine feste Verzögerung. Der Angreifer kann keine Informationen extrahieren. Zusätzlich kann der MCU Blinding verwenden. Blinding randomisiert die Eingabe. Dies macht Zeitangriffe schwieriger. Zum Beispiel kann das Passwort mit einem zufälligen Wert XOR-verknüpft werden. Der Vergleich wird mit den geblindeten Werten durchgeführt. Der zufällige Wert ändert sich bei jedem Versuch. Der Angreifer kann die Zeit nicht mit dem Passwort korrelieren. Der MCU-Lockbit-Lock enthält auch eine maximale Anzahl von Versuchen. Nach einigen Fehlversuchen blockiert der Lock dauerhaft. Dies verhindert iterative Zeitangriffe. Das Auslesen eines EEPROM-Prozessors wird dann deaktiviert. Das Auslesen von Flash und EEPROM wird deaktiviert. Das Kopieren von Inhalten des kryptografischen Speichers wird deaktiviert. Das Reverse Engineering des Mikrocontrollers wird gestoppt. Die Firmware-Extraktion ist unmöglich. Zusammenfassend sind Zeitangriffe eine subtile, aber effektive Methode, um den MCU-Lockbit-Lock zu brechen. Abwehrmaßnahmen umfassen zeitkonstante Vergleiche, Cache-Management, zufällige Verzögerungen, Blinding und Versuchsbegrenzungen. Diese stellen sicher, dass Auslesen, Dump, Dekapsulation, Kopieren, Reverse Engineering und Extraktion nicht von Timing-Leckagen profitieren.

    mikrocontroller_hack_zeit

    Jahre

    28 +
    mikrocontroller_hack_länder

    Länder

    110 +
    mikrocontroller_angriff_kunden

    Kunden

    5000 +
    mikrocontroller_projekte_entsperrt

    Projekte

    60000 +