dymo 550
dymo 550

Dymo 550 DRM Label mit Hardware-Hack umgangen

Der Entwickler JS hat das Dymo 550 Label DRM mit einem STM32-Spoofmodul umgangen. Damit kann man weiterhin auf günstige Ersatzlabels setzen.

Vor anderthalb Monaten fing der Labeldrucker-Hersteller Dymo an, eine neue Serie seiner Geräte auf den Markt zu bringen. Diese können wegen eines DRMs nur noch mit Originallabels genutzt werden.

Nun hat es ein Hacker geschafft, mithilfe eines STM32 Entwicklerboards dieses DRM auszuschalten.

Funktionsweise Dymo DRM

Das DRM der Dymo-Labels funktioniert wie folgt: In jeder Labelrolle ist ein SLIX2-RFID Chip integriert. Dieser wird von einer auf einem extra Board befindlichen RFID-Leseeinheit gelesen. Bei jedem Druckvorgang wird darüber ein Zähler auf dem SLIX2-Chip dekrementiert. Sind alle Labels gedruckt, ist dieser Zähler auf 0. Es ist nicht möglich, diesen Zähler anschließend wieder mit einem externen Gerät zu inkrementieren, da dazu das richtige Passwort fehlt.

Durch eine für Dymo individuelle Signatur wird sichergestellt, dass man stattdessen nicht einfach beliebige andere SLIX2-RFID Chips verwenden kann, um dieses Problem zu umgehen.

Dymo Label Spoofing – Erste Idee

Der Entwickler js_12345678_55AA / freePDK / JS postete bereits am 07.03.2022 die Idee, das RFID-Modul einfach zu spoofen. Das bedeutet, dass man das RFID-Board einfach durch ein eigenes Modul ersetzt, welches die Kommunikation des Originals einfach simuliert.

Dymo 550 Board Verbindung
Dymo 550 Steckverbindung zum RFID-Board

Die von DYMO verwendeten SLIX2-Tags haben NICHT die werksseitige „Originalitätssignatur“ von NXP, sondern sie verwenden eine kundenspezifische Signatur von DYMO.
(Die Signatur signiert nur die UID des Tags, sie ist für jede UID statisch. Spoofing von Tags ist immer noch möglich, man muss nur UID + SIGNATUR von einem gültigen Dymo-Tag lesen)

Es ist unwahrscheinlich, dass sie die verwendeten UIDs in der Firmware der STM32-MCU erfassen. Wenn sie es täten, gäbe es keinen Grund, den Zähler in den Tag zu implementieren…

Es gibt „magische SLIX“-Tags (bei denen man die UID selbst einstellen kann), aber magische „SLIX2-Tags“ sind noch nicht verfügbar… Aber sie werden sicher bald kommen (Toniebox, Dymo, verschiedene Ticket-Systeme, … alle verwenden SLIX2)
(in einem magischen SLIX2-Tag braucht man nur die UID + Signatur vom Original-Tag)

Übersetzung der Ideen aus dem eevblog-Forum

Und weiter:

Das Spoofing der gesamten RFID-Leseplatine (einfaches I2C) scheint eine triviale Aufgabe zu sein. In Wirklichkeit verwendet man nur eine handvoll Befehle, die an den Tag gesendet werden:

Der „Inkrementzähler“ wird unmittelbar nach dem Inkrement geprüft. Aber nichts anderes ist vorhanden oder gar verfügbar, um das Spoofing von Original-Tags zu verhindern.

Es ist auch sehr unwahrscheinlich, dass DYMO jemals eine „Schwarze Liste“ einführt (theoretisch wäre es möglich, vor allem in Kombination mit dem Host-PC, der die UID ausliest, und einer Online-Verbindung), aber da man die Etiketten in der Originalverpackung im Geschäft auslesen kann (ohne sie zu kaufen), würde dies DYMO in die Gefahr bringen, Originalmaterial als schlecht zu melden, nur weil jemand die Verpackung vor dem Kauf ausgelesen hat…

Die gesamte „Lösung“ von DYMO basiert auf dem falschen Sicherheitskonzept.

ICODE SLIX2 ist einfach der falsche Tag. ICODE DNA wäre die richtige Wahl gewesen… Aber sicher mussten sie Kosten sparen.

Können wir das Schreibkennwort durch Raten „finden“ (falls man es finden kann…) Der Zähler könnte auf jeden beliebigen Wert geschrieben werden, das Datenblatt erwähnt keine Sperre nach mehreren Fehlversuchen, ein Reset des Tags reicht aus)

Übersetzung der Ideen aus dem eevblog-Forum

Kurzer Hinweis: Die Toniebox verwendet keine SLIX2-Tags, sondern die SLIX-L Variante.

Anti-DRM Board

Nur drei Wochen später hat der Entwickler JS seinen ersten funktionsfähigen Prototypen vorgestellt. Dieses Board kann man einfach anstatt des RFID-Boards anstecken, sodass man keine Dymo-Labelrollen mehr verwenden muss. Die benötigte Hard- und Software findet sich in seinem GitHub Repository.

Benötigte Hardware sind ein STM32F103 Bluepill-Board, zwei JST ZH 1,25 mm 6-Pin Stecker mit Kabel und zwei 4,7 kΩ Widerstände.

Dabei gibt es zwei unterschiedliche Varianten. In der Ersten muss das Original-RFID-Board zusätzlich zum STM32-Entwicklerboard angeschlossen werden. Dabei liest der STM32 die UID + Signatur der Labelrolle aus und simuliert den Dekrementbefehl nur.

In der zweiten Variante verwendet man das Original-RFID-Board nicht. Die UID + Signatur ist dann fest in die Firmware des STM32-Entwicklerboards einprogrammiert. Dafür spart man sich aber ein paar Lötarbeiten und Widerstände.

Unterstützung des Free-DMO-STM32 Projektes

Der Entwickler bittet darum, UID / Signatur Pärchen für die Allgemeinheit zur Verfügung zu stellen. Dazu hat er die Android-App Free Dmo Tag Dump entwickelt und bereitgestellt. Damit kann er möglichst viele verschiedene Produkte mit dem Emulator abbilden.

Fazit und mögliche Gegenmaßnahmen

Ich persönlich freue mich, dass das Problem des Dymo DRMs so schnell Geschichte ist. Wir von Team RevvoX hatten auch schon mit dem Gedanken gespielt, ein solches Board zu entwickeln, konzentrieren uns dann aber doch weiterhin auf die Tonie- bzw. Tigerbox.

In Zukunft könnte Dymo dazu übergehen, das RFID-Board auf der Originalplatine zu integrieren, was den Aufwand für den Einbau des Plug&Play Emulators beträchtlich erhöhen würde, da dann Lötarbeiten notwendig werden. Auch könnte Dymo dazu übergehen, das RFID-Board selbst mit einer Signatur zu versehen, sodass eine Emulation nicht mehr ohne Weiteres möglich ist. Aber im Zweifel simuliert man dann den Tag selbst. Lasst die Katz- und Mausspiele beginnen.

Kurz gesagt: FCK DRM. Wenn schon die Kunden nicht mit den Füßen abstimmen, bzw. es erst merken, wenn sie neue Labels brauchen, ist es wichtig, dass Entwickler wie JS solche DRMs unbrauchbar machen. Jede Art von DRM ist am Ende nur ein Nachteil für den ehrlichen Kunden. Das haben Gran Turismo 7 Fans erst kürzlich zu spüren bekommen …

Tarnkappe.info

Über

honeybee schreibt seit Ende 2020 für die Tarnkappe. Der Einstieg war ein Reverse Engineering Artikel über die Toniebox. Die Biene liebt es, Technik aller Art in ihre Bestandteile zu zerlegen. Schraubendreher und Lötkolben liegen immer in Reichweite. Themen wie Softwareentwicklung, Reverse Engineering, IT-Security und Hacking sind heiß geliebt.