Stellungnahmen zu aktuellen Artikeln

Stellungnahme zu einer geschlossenen Sicherheitslücke in den Schutzranzen Apps

A. Aguiar, CTO, Coodriver GmbH

PDF File

Am 22. Januar 2018 wurde Coodriver von der Forschungsgruppe Sicherheit in Verteilten Systemen der Universität Hamburg auf eine Sicherheitslücke bei den Schutzranzen Apps aufmerksam gemacht, die damals in den Stores zur Verfügung standen.

Welche Apps sind betroffen

  • Android Kind bis Version 1.1.5
  • Android Fahrer bis Version 1.1.7
  • iOS Kind bis Version 1.2.3
  • iOS Fahrer bis Version 1.4.1

Der Angriff

Durch einen SSL-Proxy auf einem mobilen Gerät konnte ein Man-in-the-Middle Angriff auf die durch TLS 1.2 gesicherten Kommunikationen durchgeführt werden. Dieser Angriff ist möglich, weil sowohl Android wie iOS Betriebssysteme zulassen, dass lokal installierte Apps die eigentliche Verifizierung des Server-Zertifikates umgehen, auf der die Sicherheit von TLS beruht. 

Durch den Angriff konnten Dritte die HTTP-Header der Kommunikationen mit dem Schutzranzen API lesen und somit den Sicherheitstoken „HTTP-basis-Auth“ lesen. Mit diesem konnten Dritte direkt auf allen Endpoints des Schutzranzen APIs zugreifen. 

Coodriver ist bei der App Version davon ausgegangen, dass die TLS Implementierungen von weitverbreiteten mobilen Geräten und Betriebssystemen vertrauenswürdig sind. Allerdings ist es inzwischen bekannt, dass sowohl bei Android wie bei iOS sogar bei Zertifikat-Pinning die Verifizierung des Zertifikats umgangen werden kann, z.B. mit den Werkzeugen https://github.com/iSECpartners/ios-ssl-kill-switch oder https://www.nccgroup.trust/us/about-us/resources/android-ssl-bypass. Es heißt also, dass die Gefahrenlage falsch eingeschätzt wurde.

In Zukunft werden solche Angriffe auf die Kommunikation der Schutzranzen Apps durch eine End-to-end-Verschlüsselung mit AES 256 vermieden. Apps und Server verschlüsseln die über HTTPS übertragene Daten bei allen Endpoint-Zugriffen. Somit kann der Inhalt der Kommunikation auch dann nicht gelesen werden, wenn Dritte das Sicherheitstoken ergattern. Zusätzlich werden wir regelmäßig, bei jeder Major Release und mindestens einmal im Jahr, einen Penetration-Test durchführen lassen.

Die Sicherheitslücke

Ein für Debug-Zwecke vorgesehener Endpoint, der alle Daten zu allen Trackern liefert, war auf dem Produktions-Server erreichbar. Zusätzlich war dieser Endpoint mit dem gleichen Sicherheitstoken erreichbar, wie die für Produktion benötigten Endpoints. Mit dem durch den Angriff gelesenen Sicherheitstoken konnten also die Forscher an eine Liste aller Tracker, samt IMEI, Telefonnummer, und „letzte bekannte Position“, gelangen. Es waren keine persönlichen Daten wie Namen oder Adressen lesbar. 

Dies wird in Zukunft dadurch vermieden, dass Endpoints für Debug-Zwecke mit einem anderen Sicherheitstoken ausgestattet sind, als die für die Apps notwendigen. In den neuen Versionen der Apps ist die Ortungsfunktion nicht mehr vorhanden, und die „letzte bekannte Position“ wird nicht mehr gespeichert, weil sie nicht mehr benötigt wird.

Wir werden in Zukunft auch die OWASP Mobile App Security Checklist (https://www.owasp.org/index.php/OWASP_Mobile_Security_Testing_Guide) benutzen, um die Sicherheit der Lösung vorab zu testen.

Welche Daten konnten gelesen werden

Über die Endpoints können alle Funktionen der Schutzranzen Apps aufgerufen werden: Sektoren aktivieren durch Senden einer Position, Liste der aktiven Sektoren lesen, Informationen zu den Trackern. 

Ein Dritter konnte somit auf einer Liste aller zu einem Zeitpunkt aktiven Sektoren zugreifen. Das bedeutet keine De-anonymisierung, da es weiterhin nicht möglich ist, zu erkennen, wie viele Kinder sich in einem Sektor aufhalten, oder das/die Kind(er) bzw. Tracker zu identifizieren, die einen Sektor aktiviert haben. 

Es wäre auch theoretisch möglich gewesen, Push-Notifications zu verschicken, und damit die Familienfunktionen zu missbrauchen. Allerdings wäre der UUID der gegenseitigen Kinder-App dafür notwendig, was sich nicht mit geringem Aufwand für eine beliebige Person ermitteln lässt, und auch nicht in unserem Server gespeichert ist. 

Daten zu jedem Tracker können nur gelesen werden, wenn der IMEI des Trackers bekannt ist. Durch die oben beschriebene Sicherheitslücke konnten die Forscher eine Liste von sensiblen Daten aller damals aktiven Trackern herunterladen. Danach konnten die Forscher jeden Tracker beliebig orten oder anrufen. Sie konnten auch die letzte bekannte Position jedes Trackers abrufen, da diese für eine bessere Benutzbarkeit der Ortungsfunktion 24 Stunden lang gespeichert wurde.

Die Tracker wurden damals ausschließlich durch Test-Personen benutzt. Es ist somit kein externer Benutzer durch die Sicherheitslücke in Gefahr gekommen.

Apps kostenlos herunterladen

Mehr Sichtbarkeit und Sicherheit für Kinder. Laden Sie kostenlos die Autofahrer-App herunter und die für Ihr Kind kostenpflichtig für nur 1 € pro Monat.