Auf in eine weitere Runde des Quick Checks. Dieses Mal haben wir die billigste IP Kamera auf Amazon, die A9 Kamera, angeschaut. Sie ist mit einem Preis von unter 10 Euro am unteren Ende der Preisskala von IP Kameras. Bekommt man für diesen Preis jedoch auch die Sicherheit, die jedes IoT-Produkt haben sollte?

 

Merkmale

Die A9 Battery IP Kamera wird von SALUCIA vertrieben und ist für unter 10 Euro erhältlich. Sie stellt eine kostengünstige Lösung für Sicherheitsüberwachung dar. Mit HD-Qualität, Nachtsicht, Bewegungserkennung und unkomplizierter Montage ist sie vielseitig einsetzbar. Die Kamera ermöglicht Aufnahmen auf microSD-Karte oder Echtzeitüberwachung per App und zeigt sich auch bei schwachem Licht effektiv. Die integrierte Bewegungserkennungsfunktion und der magnetische Befestigungsmechanismus vervollständigen ihr Profil und bieten eine preisgünstige Lösung für Überwachungsbedürfnisse.

Mobile Applikationen

Gemäß unserer üblichen Quick Check-Vorgehensweise wurde die mobile Anwendung V720 (com.naxclow.v720 in der getesteten Version 2.1.6 für Android) einer statischen Analyse unterzogen.

Die Beschaffung der App verlief nicht ohne Schwierigkeiten. Trotz wiederholter Versuche stießen wir bei verschiedenen Smartphones auf die Meldung „Diese App ist nicht verfügbar“, als wir sie aus dem Play Store herunterladen wollten. Interessanterweise fanden wir die App jedoch problemlos über den PC im Play Store, wo sie auch aktiv gepflegt wird – das letzte Update erfolgte am 31. Juli 2023.

Die Bedienungsanleitung listet ausschließlich diese App als empfohlene Option für die Kameranutzung auf. Um unserem Vorgehen gemäß der Anleitung treu zu bleiben, haben wir die APK-Datei für die App von apkpure heruntergeladen und darauf geachtet, dass es sich um die identische Version handelt.

Unsere statische Analyse offenbarte bedenkliche Aspekte in Bezug auf die App. Sie erlaubt unverschlüsselte Kommunikation, was bei unsachgemäßer Umsetzung zur Preisgabe vertraulicher Daten führen könnte – ein Thema, das wir im Abschnitt „Lokale- und Online-Kommunikation“ vertiefen werden. Des Weiteren stießen wir auf App-Berechtigungen, deren Zweck in der App fragwürdig erscheint.

Zu diesen Berechtigungen zählt zunächst GET_TASKS, welche Informationen über aktive und zuletzt genutzte Apps bereitstellt. Ebenfalls bedenklich ist die READ_PHONE_STATE Berechtigung, die Zugriff auf Telefonnummern, Seriennummern und sogar die Telefonnummern aus aktiven Telefonaten ermöglicht. Abschließend fallen die Berechtigungen BIOMETRIC und AD_ID auf. Wir konnten keine klare Verwendung von biometrischen Daten feststellen und hinsichtlich der Ad_Id ist stets Vorsicht geboten, da ihre Verwendungszwecke genau überdacht werden sollten.

Bei unserer Analyse haben wir 4 Tracker entdeckt:

Trackers mit Einträgen in der Exodus Privacy Datenbank

Wie inzwischen üblich, sehen wir hier Google Firebase Analytics, das heutzutage in nahezu jeder App anzutreffen ist und das Verhalten sowie Abstürze der App überwacht. Im Werbebereich sind Google AdMob und Pangle vertreten, welche die in der App geschaltete Werbung zur Verfügung stellen. Abschließend stößt man auf Amplitude, das das Verhalten des App-Nutzers analysiert – eine Praxis, die allgemein mit Vorsicht zu betrachten, aber heutzutage auch keineswegs unüblich ist.

Lokale und Online-Kommunikation

Die Initiierung der Online-Verbindung erfolgt in wenigen einfachen Schritten. Zunächst wird der „Mode“-Knopf gedrückt, bis die Lampe in rascher Folge aufleuchtet. Anschließend erfolgt die Konfiguration der Internetverbindung via App, gefolgt von einer Bluetooth-Verbindung. So wird die Kamera erfolgreich registriert und der Remote-Zugriff ermöglicht. Bei dieser Methode läuft die Kommunikation über einen Server in Hongkong. Obwohl die Übertragung zwischen App und Server sowie Server und App sicher erscheint, gibt es kritische Punkte zu beachten.

Insbesondere die Kommunikation zwischen Server und Kamera, sowie Kamera und Server, erfolgt unverschlüsselt im Klartext. Um eine ganzheitliche Sicherheit zu gewährleisten, ist eine gezielte Absicherung dieser Verbindungen von hoher Bedeutung. Die Übertragung zwischen Server und App ist zwar verschlüsselt, jedoch sollte beachtet werden, dass eine zusätzliche Websocket-Verbindung stets einen Heartbeat überträgt. Da dieser Vorgang über HTTP initialisiert wird, birgt dies ein Risiko, da HTTP ein unverschlüsseltes Protokoll ist. Dadurch könnten Unbefugte die Nachrichten mitverfolgen und den Inhalt auslesen.

Am Beginn dieser Websocket-Verbindung wird ein Token übertragen. Dieser Token fungiert in der App als Authentifizierungsmethode. Die Authentifizierung ermöglicht es dem Server, mit dem die App kommuniziert, sicherzustellen, dass es sich tatsächlich um das aktuelle Smartphone handelt, das über diese App Nachrichten sendet. Dieser Token wird bei der Installation der App vom Server abgefragt und danach nicht mehr verändert.

WebSocket-Verbindung in Wireshark zeigt Klartext Übermittlung des Tokens

Sollte es Unbefugten gelingen, diesen Token auszulesen, könnten sie Nachrichten an den Server schicken und sich als der Benutzer der App ausgeben. Dadurch wäre es ihnen möglich, Informationen über alle mit der App verbundenen Geräte abzurufen. Wie das Beispiel verdeutlicht, wurde ein Gerät ermittelt und sowohl der Typ als auch die Seriennummer angezeigt.

Anfrage mit Token an Server, um alle registrierten Geräte der App zu ermittlen

Durch Verwendung des Tokens und der neu erlangten Seriennummer können die Verbindungsparameter der Videoübertragung abgefragt werden. Das ermöglicht einem Unbefugten, die Liveübertragung der Kamera einzusehen, ohne dass der Eigentümer davon erfährt.

Anfrage mit Token und Seriennummer, um Videoübertragungsparameter zu erhalten

Abschließend besteht auch die Möglichkeit, das Passwort der Kamera zu ändern.

Anfrage mit Token und Seriennummer, um das Passwort zu ändern

Die App selbst ist nicht mit einem Passwort geschützt und bietet dem User nur die Möglichkeit jede Kamera einzeln mit einem Passwort zu schützen. Das Standardpasswort für unsere getestete Kamera ist hierbei leer gewesen und wir wurden auch nicht aufgefordert, eines zu setzen. Man muss schon unter Einstellungen den Passwortschutz aktivieren. Dann kann man ein 6-stelliges Passwort setzen, das jedoch nur aus Zahlen besteht und somit anfällig ist, per Brute Force ermittelt zu werden. Besorgniserregend ist zudem, dass man per unserer vorher gezeigten Anfrage das Passwort ändern kann, ohne das alte Passwort abzufragen. Dazu kommt, mit der Anfrage gilt auch nicht mehr das 6 Stellen Limit der App womit es möglich ist, längere Passwörter zu setzen als in der App, was zur Folge hat, dass es technisch möglich wäre, besseren Passwortschutz zu implementieren, uns die App aber dabei behindert.

Die Herausforderungen setzen sich auch bei der Videoübertragung fort. Hierbei wird ein UDP-Stream genutzt und die übertragenen Daten liegen unverschlüsselt vor. Dies macht die Übertragung anfällig für einfache Sniffing-Angriffe. Dabei erfassen Angreifer den Netzwerkverkehr mittels Tools wie Wireshark. Das hat zur Folge, dass Unbefugte potenziell Einblicke in den Video-Stream gewinnen könnten. Wer genauere Informationen über das Format wünscht, findet im später erwähnten GitHub-Projekt zur Kamera weiterführende Informationen.

Vor dem Hintergrund dieser erheblichen Schwachstellen ist es ratsam, die App nicht in öffentlichen Netzwerken zu verwenden.

Neben der herkömmlichen Online-Kommunikation bietet die Kamera eine zweite Option: den AP-Modus, der den lokalen Betrieb ermöglicht. Indem der „Mode“-Knopf erneut gedrückt wird und die schnelle Blinkfolge aufleuchtet, startet die Kamera einen Hotspot. Über diesen können sich Nutzer in der App verbinden und die Kamera lokal, ohne den Server, nutzen. Ein weiterer Aspekt ist, dass das Drücken des „Mode“-Knopfes auch als Reset-Funktion dient, was zur Abmeldung aus allen Apps führt, in denen die Kamera registriert ist. Daher ist es unabdingbar, die Kamera vor direktem Zugriff zu schützen, um potenzielle Übernahmen durch Angreifer zu verhindern.

Für diejenigen, die aufgrund der genannten Risiken Bedenken haben oder dem Server in Hongkong nicht vollends vertrauen, gibt es Alternativen. Eine Möglichkeit besteht darin, das GitHub-Projekt „a9-v720“ von intx82 zu nutzen, um sich selbst mit der Kamera zu verbinden. Alternativ kann man mit Hilfe des Projektes auch selbst einen Server aufsetzen, um die komplette Kontrolle über die Kommunikation zu behalten.

Insgesamt lässt sich festhalten, dass der unverschlüsselte Video-Stream und die Übertragung eines wichtigen Tokens im Klartext die Gesamtkommunikation als unsicher kennzeichnen.

Datenschutz und Privatsphäre

Innerhalb des Umfangs der Quick Checks war es unser Ziel, die Datenschutzerklärung zu überprüfen. Leider stellten wir fest, dass sowohl im Google Play Store als auch im App Store sowie innerhalb der App selbst jeweils eine „404 Not Found“ Fehlermeldung angezeigt wurde, als wir darauf zugreifen wollten. Eine Analyse der Datenschutzerklärung war somit nicht möglich.

Fazit

Als Kamera im lokalen Netz ist die AP Battery IP Kamera eine großartige und preisgünstige Lösung. Jedoch ist es wegen der genannten Mängel in der Online-Kommunikation nicht ratsam, diese nicht über das Internet benutzen oder nur mit dem selbst aufgesetzten Server und somit auch selbst angepasstem Security Level. Zusammenfassend gibt es in allen drei Kategorien Probleme – seien es die Tracker zur Verhaltensanalyse, die Online-Kommunikation oder die nicht vorhandene Datenschutzerklärung und somit können wir dem Gerät, so wie es vorliegt, keine Sterne vergeben.