Es ist wieder Zeit für einen Quick Check. In diesem Check schauen wir uns eine recht ungewöhnliche Kamera an, nämlich eine, die ihren Strom aus einer Lampenfassung bezieht. Somit sind die lästigen Tage des Batterietauschs oder Kabelversteckens vorbei. Punkten tut sie des Weiteren durch ihre leichte Installation (wenn eine freie Glühbirnenfassung vorhanden ist). Die Technologie erweitert Anwendungsbereiche für diskrete Überwachung in Privathaushalten und Gewerbe. Die Kamera verspricht somit erst einmal hohen Komfort, bei kleinem Geldbeutel. Ob sie allerdings beim Thema Sicherheit genauso gut abschneiden, haben wir in unserem Quick Check untersucht.

Merkmale

Die WI-FI Panorama Camera aus China (mehr Informationen über Typbezeichnung oder Hersteller gibt weder die Verpackung noch das Gerät selbst leider nicht preis) nutzt eine Lampenfassung als Stromversorgung und bietet einen Live-Videostream, Videoaufnahme, Screenshots, Zwei-Weg-Audio und eine Warnfunktion bei Bewegung. Sie ermöglicht eine 360-Grad Überwachung mit voreingestellten Positionen. Die begleitende Applikation unterstützt Auflösungen von 720p, 1080p, 2K und 4K, wobei nur deutlichste Veränderungen zwischen 720p und 1080p erkennbar sind.

Mobile Applikationen

Die mobile Applikation ftycampro (com.fty.cam in getesteter Version 1.88 für Android) wurde, wie bei unserem Quick-Check üblich, einer statischen Analyse unterzogen. Dies zeigte, dass die Applikation Klartextkommunikation erlaubt und bei nicht richtiger Implementierung der Kommunikation Daten preisgibt, die geheim sein sollten. Weiteres zu diesem Punkt später im Abschnitt Lokale- und Online-Kommunikation.

Weiterhin gewährt der Benutzer der Applikation den Zugriff auf den externen Speicher der SD-Karte. Auf diesen kann von jeder anderen Applikation mit der entsprechenden Berechtigung zugegriffen werden. Normalerweise führt dies nicht zu Problemen bei Kameraanwendungen, da sie dort Videos und/oder Bilder abspeichern. Jedoch ist es immer ratsam zu schauen, was hier gespeichert wird und bei genauerer Betrachtung ergab sich, dass dort der QR-Code zum Einloggen in die Kamera gespeichert wird. Dies ermöglicht allen anderen Applikationen auf dem Smartphone diesen QR-Code zu nutzen und wenn das nicht genug ist, sind die Kennnummer (UID), sowie das Passwort zur Kamera darin in Klartext zu sehen.

In der weiteren Analyse wurde noch ein Tracker: Google Firebase Analytics identifiziert.

Lokale und Online-Kommunikation

Die statische Analyse wies, wie im vorherigen Abschnitt bereits erwähnt, auf mögliche Schwachstellen in der Klartextkommunikation hin. Durch das Beobachten der Kommunikation von Gerät und Applikation wird dies nun genauer betrachtet.

Wie man es schon erahnen konnte, hat die genauere Analyse ergeben, dass die Kommunikation komplett in Klartext vonstattengeht. Dies bedeutet, dass die einzigartige Identifikation des Gerätes (UID) ohne Verschlüsslung übertragen wird. Die UID wird im Login verfahren dazu genutzt, die IP-Adresse und den Port der Kamera zu ermitteln, somit kann jeder mit der UID den Standort der Kamera ermitteln und bei schwachen/voreingestellten Passwörtern den Zugriff erlangen.

Bei weiterer Analyse ergab sich, dass das Passwort beim Login und Änderung des Passwortes in Klartext übermittelt wird. Dabei wird das Passwort nun „raffiniert“ unkenntlich gemacht, indem jedem Zeichen der 1 höhere oder niedrigere ASCII-Wert zugewiesen wird. Da wird, aus dem Password: „AAaabbccddeeffgg11223344“ in dem Klartext Login: „@@„ccbbeeddggff00332255“.

Damit ist das Passwort auf jeden Fall nicht sicher, auch das Erstellen von einem sicheren Passwort ist nicht von der Applikation verlangt. Das Passwort muss nur einen großen Buchstaben, einen kleinen Buchstaben, eine Zahl enthalten und länger als 5 Zeichen sein. So sieht kein sicheres Passwort aus. Dazu kommt das, wenn man das Passwort falsch eingibt, und aufgefordert wird das richtige Passwort einzugeben, nicht die Möglichkeit hat Sonderzeichen einzugeben.

Der UDP-Videostream wird auch in Klartext übertragen. Dies ermöglicht jedem diesen mitzuschneiden und die Pakete wieder zusammenzufügen, um dann das Video anzuschauen.

Die Herangehensweise war wie folgt:

  • Ermitteln der Pakete die das Video übertragen mittels einem Dissector für P2P Kommunikation.
  • Extrahieren der Pakete von Wireshark mittels der Filterfunktion pppp.message_type == MSG_DRW in ein json Dokument, dabei zu beachten das Häkchen bei Bytes zu setzen.
  • Zusammenfügen der Pakete zu einem MJPEG mittels des folgenden Scripts.

  • Anschauen, indem man es in einzelne Bilder teilt mit ff mjpeg -i output.mjpeg frame%d.jpg

Die genannten Probleme in der P2P Kommunikation von Shenzhen Yunni Technology iLnkP2P existierten schon in 2019. Damals berichtete Paul Marrapese in seinem Blog und der Dev Con von den Problemen. In denen Berichtet er von seinen Funden und meldete sie mittels 2 CVEs. Wir haben diese auf ihre aktalität überprüft und unsere eigenen Test hinzugefügt.

Der erste CVE-2019-11220, gibt an, dass Nachrichten in Klartext zu lesen sind, darunter eingeschlossen das Passwort und der Videostream.

Der zweite CVE-2019-11219 besagt, dass der Angreifer beliebige UID der Kameras ermitteln kann und somit in Kombination aus schwachen Standardpasswörtern als Werkeinstellung, in unserem konkreten Falle admin:admin, dazu führt, dass Zugriff auf alle Geräte möglich ist.

Die UID, die bei der Herstellung des Gerätes einmalig vergeben wird, besteht in unserm Falle aus 3 Großbuchstaben, die den Hersteller/Vertreiber identifizieren, 6 Zahlen, als Identifikation des Gerätes und 5 Großbuchstaben als Sicherheitssumme über den Rest der UID. Das Herstellerpräfix lässt sich einfach ermitteln, indem man alle Kombinationen ausprobiert und an die Server der Testkamera sendet. Eine UDP anfrage sieht wie folgt aus:

Das Herstellerpräfix wird in Klartext gesendet, also kann man diese einfach durchgehen. Darauf folgen verschiedene Antworten:

  • 0x00 Erfolg, die gesamte UID existiert.
  • 0xFD Präfix existiert nicht.
  • 0xFF Präfix existiert, aber Rest der UID ist nicht korrekt.

Im Gegensatz zu 2019 existiert heute ein Anfragenlimit für die Servern und nach 4 Nachrichten erhält man keine Antwort mehr. Daraufhin mussten wir warten, um weitere Anfragen zu senden. Mit unseren 3 Buchstaben ergab sich hiermit eine Anzahl von 13.824 Möglichkeiten. Mit den 4 Nachrichten pro 20 Sekunden Begrenzung ergibt sich eine Zeit von 19.2 Stunden, um den gesamten Herstellerpräfixraum zu überprüfen.

Im nächsten Schritt konnte man 2019 zu jeder der 6 Zahlen die Sicherheitsbuchstaben errechnen, da der Algorithmus mit der Applikation mitgeliefert wurde, dies ist jedoch nicht mehr der Fall. Damit ist es erheblich schwerer geworden vorhandene Geräte zu finden, da nun 10^5 Möglichkeiten für die Zahlen bestehen und für jede Zahl eine Prüffolge von 24^5 Möglichkeiten. Dies macht 7.962.624 Möglichkeiten, um zu testen, ob eins von 100.000 Geräten existiert unter dem Präfix. Mit dem korrekten Präfix, haben wir bei unseren Anfragen an den Server jedoch keine Limitierungen mehr (außer die maximale Severauslastung), womit es theoretisch in absehbarer Zeit möglich ist, existierende Geräte zu finden.

Datenschutz und Privatsphäre

Im Rahmen des Quick Checks haben wir uns die Datenschutzerklärung (letzte Änderung 23.12.2021) angeschaut. Um diese jedoch zu verstehen, sollte man ein gutes Verständnis in Chinesisch haben, da nur eine chinesische Variante vorliegt. Natürlich haben wir uns eine übersetzte Variante angeschaut.

Dazu ist jedoch nicht viel zu sagen, sie enspricht nicht der DSGVO, somit fassen wir die wenigen gegebenen Informationen hier zusammen. Der Hersteller erhebt laut Datenschutzerklärung nur Daten, die zur Nutzung benötigt werden. Weitergabe der Daten erfolgt nur wenn Regulierungs- und Justizbehörden () in diesem Fall also die chinesischen) dies verlangen. Des Weiteren gibt es einen Punkt, der übersetzt besagt: “Web camera data automatically received and recorded when you use the APP service.“ Der Punkt könnte bedeuten, dass der Standort der Kamera und die aktive Zeit der Kamera gespeichert werden, aber könnte auch alle anderen Funktionen der Kamera beinhalten wie den Videostream mit Sprache. Wir konnten in folge unserer Analyse nur herausfinden, dass ein Herzschlag von der Kamera übertragen wurde und Nachrichten zum Login übertragen wurden. Somit scheint nur der Standort und aktive Zeit übertragen und gespeichert zu werden, aber nicht die Videos oder andere Kommunikation.

Dabei anzumerken ist, dass man der Datenschutzerklärung mit dem Start der Applikation zustimmt, ohne selbst eine Wahl zu haben. Zu erwähnen ist, dass die Datenschutzerklärung im GooglePlayStore nichts mit der Nutzungsvereinbarung in der Applikation zu tun hat und diese vermutlich nicht zu dieser Applikation gehört. Weiterhin stehen dem Nutzer keine Rechte zu, Daten einzusehen, zu korrigieren oder zu löschen. Der Tracker von Google wird außerdem nicht erwähnt.

Fazit

Zusammenfassend ermöglicht die Kamera, zumindest vom Konzept her, eine tatsächlich recht clevere Kameralösung mit einer guten Idee für die Stromversorgung.  Durch die genannten Probleme im Bereich Sicherheit jedoch ist es für Dritte möglich Zugriff auf die Kamera und die Live-Videos zu erhalten. Da die Kamera somit in allen relevanten Sicherheitsbereichen schwerwiegende Schwachstellen aufweist, können wir hier beim besten Willen keine Sterne vergeben.