Toniebox
Toniebox

Toniebox – eine Musikbox für Kinder unter der Lupe

Die Toniebox ist ein würfelförmiges Spielzeug, mit dem man Hörbücher und Lieder abspielen kann. Wie gut ist es? Welche Alternativen gibt es?

Die Toniebox ist ein würfelförmiges Kinderspielzeug, mit dem man ganz einfach Hörbücher und Lieder abspielen kann. Seit dem Jahr 2016 vertreibt die Düsseldorfer Firma Boxine GmbH das Spielzeug. Wir erklären, was am Marktführer dran ist und welche Alternativen es dazu gibt.


Es geht um Produkte, die heute in vielen Kinderzimmern den früheren Kassettenrekorder und den CD-Player ersetzen sollen und dabei das Risiko minimieren „Opfer“ von Bandsalat und zerkratzen Silberscheiben zu werden. Die bekanntesten kommerziellen und kindgerechte Lösungen heißen Hörbert, Jooki, Toniebox oder Tigerbox (Touch). Natürlich ist die Open Source und Maker-Szene in diesem Bereich auch aktiv und hat ihre eigenen Bastellösungen entwickelt, wie z.B. die Phoniebox auf Raspberry Pi Basis und den TonUINO, welcher auf einem Arduino aufsetzt.
Als Hacker hat man einen ganz anderen Blick auf viele technische Dinge. Besonders wenn es um Produkte geht, die die eigenen Kinder benutzen möchten, sollen oder wollen. Datenschutz steht dort mit Security an erster Stelle.

Daher würde für mich persönlich niemals eine Lösung ins Haus kommen, die diese beiden Punkte nicht wertschätzt. Systeme wie z.B. Amazon Echo oder Google Home (nennt sich jetzt Nest Mini) sind deshalb außen vor. Aus diesem Grund hat sich Team RevvoX entschlossen eine der erfolgreichsten kommerziellen Musikboxen für Kinder einmal genauer unter die Lupe zu nehmen.

Was ist eine Toniebox?

Bei der Toniebox handelt es sich um einen Würfel mit ca. 12 cm Kantenlänge, auf den man spezielle Figuren, genannt Tonies, aufstellen kann, um genau diesem Würfel dann Geschichten oder Lieder zu entlocken. In den Figuren steckt ein individueller RFID Tag (SLIX-L), den die Box lesen und so die passenden Inhalte über WLAN aus der Cloud auf den internen microSD-Speicher laden und abspielen kann. Danach geht es auch offline. Neben fertigen Hörfiguren ist es auch möglich, eigene Inhalte auf sogenannte Kreativ-Tonies zu spielen. Dies funktioniert ausschließlich über die vom Hersteller bereitgestellte Webseite.

Dies hat mich und meine Mitstreiter von Team RevvoX im Dezember 2019 zusammengeführt und dazu bewegt herauszufinden, wie das Ganze im Detail funktioniert. Ob man die Box vielleicht auch ohne Cloud und ohne Figuren nutzen könnte? Ist es möglich die Firmware des Herstellers durch eine Eigene zu ersetzen? Welche Daten werden von der Box an den Hersteller geschickt?

Die Hard- und Software der Toniebox

Die Toniebox besteht im Inneren aus einer sehr durchdachten und robusten Platine. Im Detail sind dort die folgenden Komponenten verbaut:

Toniebox, Platine von oben
Die Toniebox Platine von oben gesehen.
und von unten:
Toniebox, platine unten
Weitere Fotos und technische Details der Toniebox kann man hier einsehen. Die ungekürzte Hardwareübersicht ist hier verfügbar.

Die Daten der Platine auf einen Blick:

Toniebox gestapelt
Quelle tonies.de, thx!

– Prozessor: TI CC3200 Mikrocontroller mit 80MHz + 256kB RAM
– Flash: ISSI IS25LQ032B 4MB
– Speicher: SanDisk Edge 8GB
– DAC/Verstärker: TI TLV320DAC3100
– Beschleunigungssensor: NXP MMA8451Q
– RGB-LED
– Betriebssystem: Eigenentwickelte proprietäre Firmware.
– Keine Mikrofone (wichtig!)

Da die Box nur über eine RGB-LED und zwei Knöpfe an den Ohren verfügt, werden Fehler sehr kindgerecht als Tiername verpackt. Zum Beispiel Codewort Elefant, wenn die Verbindung zum Internet wegen einem falschen WLAN-Kennwort fehlschlägt. Oder das Codewort Murmeltier, wenn der aufgestellte Tag unbekannt ist. Die eingesetzte Firmware ist sehr robust und es konnten dort bisher noch keine sicherheitskritischen Fehler entdeckt werden.

Eigene Tags – Declouding

Innerhalb von Team RevvoX war schnell die Idee geboren, eigene Inhalte auf die Toniebox zu bringen ohne den Umweg über die Cloud von Boxine zu gehen. Die verbaute SD-Karte und das einfache Datenformat kam uns dort sehr entgegen. Es hat sich herausgestellt, dass es sich bei den Dateien um OPUS codierte OGG-Dateien mit einem individuellen Header in einer von der UID abhängigen Ordner/Dateistruktur handelt. Die Originalinhalte der Box lassen sich durch Abschneiden des Headers (4kB) in abspielbare OGG-Dateien umwandeln. Durch Umbenennen des Ordners und der Datei lassen die Inhalte sich auch mit einer anderen UID verknüpfen. Beispiel: Der Inhalt der UID FE:DC:BA:98:76:54:32:10 liegt im Ordner “10325476” und in diesem liegt die Datei “98BADCFE” mit dem eigentlichen Inhalt.

Die Tags werden von Boxine mit einem für alle Tonies identischem Kennwort geschützt. Ohne dieses Kennwort antwortet der Tonie bzw. der Tag nur noch auf die nötigen Kommandos zum Entsperren aus dem so genannten Privacy Mode (GET RANDOM / SET PASSWORD). Die Toniebox versucht die Tags zuerst mit dem spezifischen Boxine Kennwort aus dem Privacy Mode aufzuwecken. Klappt dies nicht, probiert sie das von den Tags durch NXP werksseitige gesetzte Standardkennwort (0x0F0F0F0F). Eigene, im Handel frei erhältliche SLIX-L Tags funktionieren daher ohne Änderung des Kennwortes. Ist ein Tag im Privacy Mode, kann dieser nicht mit einem beliebigen RFID Leser z.B. vom Smartphone gelesenen werden, da sie die nötigen Kommandos nicht unterstützen.

Was macht die Toniebox im Detail?

1) Aufwecken des Tags aus Privacy-Mode (NXP spezifisch)
2) Auslesen der UID
3) Auslesen des Speichers
4) Tag in Privacy Mode versetzen (NXP spezifisch)

Dies erlaubt es einen beliebigen Tonie Tag mit Hilfe der Toniebox aus dem Privacy Mode zu wecken, indem man einen Tonie ganz kurz auf die Box klopft (auch Klopf-Methode oder Knock-Methode genannt). Dadurch kann die Box den Tag nicht mehr sperren bevor sie mit dem Auslesen fertig ist. Anschließend sind die Tags mit jedem beliebigen ISO15963 RFID Reader lesbar. Auf Smartphones ist dann auch ein Auslesen der UID möglich. Zum Beispiel mit “NXP Tag Info” auf Android oder mit “NFCmanager” auf iOS.

Mit Hilfe eines ChameleonMini wurde schon beim Kongress 36c3 ein Tonie simuliert. Siehe das Video unten. Dabei wurde aber nur die UID und der Privacy Mode nachgebildet und so konnten nur Tonies simuliert werden, die schon auf die Box heruntergeladen wurden. Der für den Download der Inhalte notwendige Schlüssel im Speicher des Tags fehlte bei der Umsetzung.

Hilfreich für die weitere Entwicklung war der Proxmark3. Dort gab es zwar eine rudimentäre Unterstützung für ISO15693 basierende Tags aber ohne die herstellerspezifischen Erweiterungen wie zum Beispiel dem Privacy-Mode beim SLIX-L. Wir haben die bestehende Firmware um die für die Toniebox relevanten Kommandos erweitert, Dies hat uns erlaubt die Kommunikation der Tags mit der Box zu verstehen, die UID (8 Byte) und die Daten des Tags (32 Byte) auszulesen, Tags aufzuwecken, das Kennwort zu ändern und auch Tags damit vollständig, inklusive der Speicherblöcke, zu simulieren. Im Gegensatz zum ChameleonMini ist mit dem Proxmark3 eine vollständige Simulation der Tags inklusive des Downloads von Inhalten aus der Tonie Cloud möglich.

Eigene Audiodateien mit der Toniebox verwenden

Um selbst Dateien erzeugen zu können musste der Dateiheader nachgebildet und OPUS Pages in 4kB Blöcken generiert werden. Datenformat siehe hier. Damit war „Teddy the Tonie Encoder Decoder for DIYs“ geboren. Es handelt sich dabei um ein Open Source Tool um aus eigenen Audiodateien z.B. mp3s Inhalte in das Format der Toniebox umzuwandeln, auf dessen SD-Karte zu spielen und mit originalen Tonies oder eigenen SLIX-L Tags zu verknüpfen. Siehe hier in diesem Video:

Dies funktioniert ohne Modifikationen der originalen Firmware der Box. Daneben ist es auch möglich die Inhalte als OGG-Datei zu exportieren und auch eine Anbindung zum Proxmark3 ist integriert, um die Tags aus dem Privacy Mode zu wecken und die UID auszulesen.

enter tag uid
Screenshot: Einfach selbst den UID Tag ändern. Quelle, thx!

AGB und Datenschutz

Als nächstes möchte ich Euch die allgemeinen Geschäftsbedingungen, im Detail die Datenschutzrichtlinie der Toniebox, näherbringen. Keine Sorge ich fasse hier das Wichtigste zusammen. Siehe der Block „Datennutzung Toniebox“ und die AGBs.

Die übertragenen Daten konnten wir mit Hilfe von einer Man-in-the-Middle Attacke (Details siehe hier.) nachvollziehen. Etwas Positives dabei: Die Daten werden per https übertragen und es war ein Austausch des Root-Zertifikates im Flashspeicher der Box notwendig. Später hatte sich herausgestellt, dass man die übertragenen Daten auch parallel auf der seriellen Schnittstelle der Box ausgeben werden. Die hat die unten folgende Analyse und Prüfung der übertragenen Daten ungemein erleichtert. (siehe hier)

Jede Toniebox verfügt über eine Toniebox-ID, mit dem diese eindeutig identifizierbar ist. Auf der Box ist ein individuelles Zertifikat hinterlegt mit dem sich die Box dann an den Servern des Herstellers Boxine authentifizieren kann. Die Box verbindet sich beim Einschalten automatisch mit den Servern und übermittelt diverse Daten an Boxine: Dazu gehören neben der IP-Adresse, einem Zeitstempel und dem Client-Zertifikat auch Events wie das Aufstellen eines Tonies (inkl. Kennung), das Ändern der Lautstärke, das Spulen und Skippen und das An- und Abstecken eines Kopfhörers. Die Daten werden in Echtzeit übertragen.

Welche Daten überträgt das Gerät?

Zusätzlich wird auch der Name (SSID) des aktuell verbundenen WLAN Netzwerkes an den Hersteller übertragen. Mit Hilfe von kostenlosen Online Tools wie wigle.net lässt sich leicht herausfinden wo sich dieses WLAN befindet. Zumindest dann, wenn der Name des WLANs halbwegs eindeutig ist. Dies wurde von Team RevvoX schon Anfang 2020 festgestellt und veröffentlicht. Der Hinweis in der Datenschutzrichtlinie zur WLAN SSID wurde erst Mittel 2020 aufgenommen. Der Grund für die Änderung ist naheliegend…

Weiterhin behält sich der Hersteller vor die Inhalte der Kreativ-Tonies zu überprüfen und an Dritte weiterzugeben. Auch können jederzeit beliebige Regelungen eingeführt werden, falls es z.B. zu Überlastungen der Cloud kommen sollte. Das beinhaltet beispielsweise eine Limitierung der Uploads auf Kreativ-Tonies oder eine kostenpflichtige Premium-Mitgliedschaft.

Fazit Toniebox

Wie in der Einleitung angesprochen, erwarte ich besonders bei einem Produkt für unsere Kleinsten den Fokus auf Security und Datenschutz. Die Box überträgt sehr umfangreiche Nutzungsdaten. Besonders die Übertragung der WLAN-SSID ist als besonders kritisch zu betrachten. Aber: Alles wird in der Datenschutzerklärung und den Allgemeinen Geschäftsbedingungen transparent dargestellt. Der Offline-Modus der Box erlaubt es die Box, bis auf beim Aufspielen neuer Inhalte, ohne Verbindung zum Internet und damit ohne Datenübertragung an der Hersteller zu verwenden.

Sehr erfreulich ist es, dass sich die Box von Erwachsenen sehr leicht öffnen lässt und man so sehr einfach an den Akku und die anderen Bauteile kommt, um diese gegebenenfalls auszutauschen.

Mit der Toniebox erhält man nicht nur eine sehr durchdachte Hardware inklusive einem Referenzmodell an Gehäuse-Entwicklung, sondern auch eine sauber entwickelte Firmware, die in ein perfektes Ökosystem eingebettet ist.

Einzig und alleine der langsame Mikroprozessor und die fehlende Bluetooth-Unterstützung schmälert das Gesamtbild.

Welche Alternativen gibt es?

Hackiebox

Toniebox, disco mode

Neben einem Tool TeddyBench gibt es die Bestrebung die proprietäre Firmware von Boxine durch eine eigene Open Source Firmware zu ergänzen. Die Open Source Firmware namens Hackiebox besteht aus zwei Modulen. Einmal aus einem SD-Bootloader und daneben aus der eigentlichen Custom Firmware Hackiebox (CFW). Der SD-Bootloader startet standardmäßig die originale Firmware (OFW) im ersten Slot. Daneben kann eine beliebige Firmware von der SD-Karte geladen und gestarten werden. Dazu muss beim Starten der Box das große Ohr gedrückt gehalten und mit dem kleinen Ohr ein anderer Startslot ausgewählt werden. Ist die OFW gebootet, kann die Toniebox ohne Einschränkungen, auch mit der Cloud zum Herunterladen der Tonies genutzt werden.

Selbst Firmware-Updates der OFW bleiben weiterhin möglich. Für die Custom Firmware existiert aktuell eine frühe Alpha Version als Proof of Concept. Damit lässt sich sämtliche Hardware der Box ansteuern. Es existiert ein Webinterface mit einer Kommandozeile. Der Download beziehungsweise der Upload von und zur Box ist mit der Webinterface auch möglich. (Flash + SD-Karte) Damit lässt sich die Firmware schon ohne Ausbau der SD-Karte aktualisieren. Neben dem Entsperren und Auslesen der Tags spielt die CFW schon eingeschränkt WAV-Dateien ab.

Folgende Weiterentwicklungen sind unter aktuell auf der Agenda:

1) Benutzerfreundliche WLAN Konfiguration über Hotspot

2) OPUS Decoder um die Toniedateien abzuspielen
3) MP3 Decoder

4) Toniebox als WLAN Lautsprecher (wie z.B. Chromecast)

Erste Gegenmaßnahmen seitens Boxine

Am Morgen des 09.11.2020 meldeten sich erste User bei Team RevvoX, dass ihre bespielten SLIX-L Tags zu einem Fehler mit dem Codewort Murmeltier führen würden. Dies war vorher sonst nur der Fall, wenn ein eigener Tag verwendet wurde und für diesen kein Inhalt auf der Box vorhanden war. Jetzt funktionierten aber auch eigene Tags nicht mehr, die vorher über die SD-Karte bespielt wurden. Der Verdacht lag nahe, dass dies durch das kürzlich erschienene Firmware Update auf Version 3.0.8 vorbereitet und am 09.11.2020 serverseitig scharf geschaltet wurde.

Workaround: Zum Abspielen eigener Tags muss sichergestellt sein, dass die Box offline ist. Zum Aufspielen neuer Inhalte von Tonies kann die Box problemlos online gehen. Es wird aber zukünftig empfohlen ein Backup der eigenen Inhalte anzulegen. (Weitere Details dazu sind hier verfügbar.)

Noch ein Anliegen…

Bitte nutzt die bereitgestellten Tools verantwortungsbewusst. Ansonsten könnte Boxine sehr schnell weitere Gegenmaßnahmen ergreifen, um den Zugriff auf die Audiodateien der Box zu erschweren. Das Team RevvoX hat sich die Erforschung der technischen Funktionsweise der Box auf die Fahne geschrieben und hat auch Software zwecks Verwaltung von eigenen Tags und eigenen Audio-Files veröffentlicht, distanziert sich jedoch ganz klar von jeglicher Verletzung von Urheberrechten.

Tigerbox Touch

Team RevvoX

Team RevvoX besteht aus insgesamt vier Mitgliedern. g3gg0. Gambrius, honeybee und moritz.

RevvoX Community

Mittlerweile gibt es über 150 Mitglieder in der RevvoX Community auf Telegram.

Ausblick von Toniebox & Co.

Mittlerweile hat auch eine Tigerbox Touch den Weg zu Team RevvoX gefunden. Dort reichen ein paar Schlagworte: Verkaufsstart Oktober 2019; Software: Android 5.1.1, Patchlevel April 2016. Alleine diese Fakten laden zu weiteren Analysen und Experimenten ein.

Beweisbild siehe Screenshot rechts.

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.