Verkehrsanalyse von Telemetrieinformationen eines Android-Smartphones / Sudo Null IT News

Das Sammeln von Telemetriedaten über Benutzer und deren Aktionen im Web und in Anwendungen ist eine Gebühr für die Nutzung „kostenloser“ Dienste im Internet. Benutzer zahlen mit ihrer Aufmerksamkeit und Zeit, die sie in diesen Diensten und Anwendungen verbringen. Daher sind Hersteller mobiler Plattformen, IT-Unternehmen und soziale Netzwerke daran interessiert, die maximale Datenmenge von Geräten zu erhalten.

Wenn einzelne Telemetriedaten keine Bedrohung für eine bestimmte Person darstellen, kann ihre Gesamtheit viele Informationen über eine Person, ihre Interessen, ihre Familie und ihre Arbeit liefern. Gleichzeitig entsteht durch die ständige Verbindung von Geräten mit der Infrastruktur von IT-Giganten die potenzielle Gefahr, vertrauliche Informationen preiszugeben oder die Umgebung mit Smartphone-Mikrofonen und -Kameras zu untersuchen.

Dieser Artikel geht der Frage nach, welche konkreten Informationen ein Smartphone an die Server der Anbieter übermittelt.

Ausgangsbedingungen und Werkzeuge

Wir haben das Smartphone Samsung SM-A505FN (Handelsname Samsung Galaxy A50) mit auf Werkseinstellungen zurückgesetzter Firmware und installiertem russischem Softwarepaket ohne synchronisierte Konten untersucht.

Zum Zeitpunkt der Verkehrserfassung wurde das Smartphone nicht verwendet (mit Ausnahme des Startens von Kamera, Kalender, Nachrichten, Kontakten und Taschenrechner). Die meisten Anfragen laufen im Hintergrund.

BurpSuite und Wireshark wurden verwendet, um den Datenverkehr zu untersuchen und mit base64-, gzip- und xxd-Archiven zu arbeiten.

Untersuchen von Zugriffen auf Google-bezogene Ressourcen

Zunächst wurden DNS-Anfragen analysiert.

Hier sehen Sie, welche Domänen das Gerät anfordert, und die DNS-Serverantworten mit IP-Adressen für jede angeforderte Domäne:

Es ist klar, dass dies nicht alles ist, mit wem das Smartphone kommunizieren und Daten austauschen möchte, aber dieser Artikel konzentriert sich auf *google* und ein wenig auf *samsung* mit *yandex*.

Ich möchte gleich anmerken, dass ein Smartphone zwar so viele Domains anfordert, aber nicht mit allen spezifische Daten austauscht. Einige Dienste werden benötigt, um die Internetverbindung zu prüfen oder die Uhrzeit zu synchronisieren.

So prüft das Smartphone die Internetverbindung:

Oder synchronisieren Sie die Zeit mit time.android.com oder *.pool.ntp.org.

Die erste *google*-Domain im Anfrageverlauf von BurpSuite ist crashlyticsreports-pa.googleapis.com.

Im Hauptteil der POST-Anforderung sind einige zufällige nicht lesbare Zeichen sichtbar. Schaut man sich die Anfrage genauer an, sieht man im Accept-Encoding-Header das gzip-Format, was bedeutet, dass es sich um ein Archiv handelt und mit hoher Wahrscheinlichkeit etwas drin ist.

Um die Daten vorsichtig aus dem Archiv zu holen und sie nicht zu beschädigen, wäre die beste Lösung, alles von der elften Zeile bis zum Ende auszuwählen und in base64 zu codieren.

Sie sehen am Anfang der Zeile einen charakteristischen Satz von Bytes für das base64-codierte „.gz“-Archiv. Sie können daraus eine JSON-Datei extrahieren.

Der Firebase-Dienst hat Informationen über das Gerät gesammelt (Modellnummer, auf dem Gerät installierter Chipsatz, Modell, Firmware-Name), dann werden bereits Informationen zu Fehlern in Anwendungen angezeigt, insbesondere zu den Methoden, bei denen der Fehler aufgetreten ist, und dem Grad seines Fehlers Kritikalität aufgeführt.

Die nächste Google-Suche war diese:

Hier sendet die Anfrage den Namen der Anwendung, ihre (Anwendungs-)Version, Android-Version und Kennung mit dem Parameter „usage_tracking_enabled=0“. Anscheinend ist dies eine Werbekennung, um Anzeigen auf YouTube anzuzeigen.

Hier prüft das Smartphone das Vorhandensein und die Notwendigkeit der Aktualisierung des Systems WebView:

Und hier ist eine weitere Anfrage mit dem Archiv nur auf play.googleapis.com.

Um den Inhalt des Archivs abzurufen, müssen Sie ähnliche Schritte wie oben ausführen.

Hier sind die Daten in einem anderen Format. Außerdem stehen die Geräteinformationen an erster Stelle, und dann finden Sie unter den ASCII-Zeichen eine deutliche Erwähnung einiger Anwendungen.

Neben den Klarnamen der Pakete sieht darin alles nach eindeutigen Bezeichnern aus, höchstwahrscheinlich handelt es sich dabei um die Bezeichner anderer Anwendungen. Nach dieser Anfrage gibt es zwei weitere mit gleicher Bedeutung, aber mit unterschiedlichen Werten.

Und in dieser Anfrage hat das Smartphone bereits eine Werbekennung:

Der Wert des rdid-Parameters ist die dem Gerät zugewiesene Werbekennung.

Auf play.googleapis.com schon bekannt, nur auf einem anderen Endpunkt (/log/batch) gehen auch Archive, aber nicht gzip, diesmal wurde Brotli zur Komprimierung verwendet, was am Content-Type-Header zu erkennen ist

Alles beginnt wie immer mit grundlegenden Informationen über das Gerät, aber dann erscheinen Anwendungen mit Versionen und Tokens.

Andere Fehlerinformationen bereitgestellt

Hier finden Sie Informationen zum Fehler in der Methode, während die Anwendung ausgeführt wird.

Außerdem werden Informationen mit einigen globalen Werten übertragen

All dies wird vom Paket “com.google.android.gms” gesendet.

Untersuchung des Datenverkehrs zu Samsung- und Yandex-Ressourcen

Beim Start der Standard-Kameraanwendung schickte das Smartphone sofort eine Anfrage an den Samsung-Server mit dem Namen der geöffneten Anwendung. Anscheinend entschied sich das Gerät, nach Updates zu suchen.

Eine der folgenden Anfragen sendet ein Archiv mit unbekanntem Inhalt

Die Daten aus dem Archiv sind eher ein Parametersatz.

Aber die Samsung Galaxy Store-Seite wurde geladen, obwohl niemand danach gefragt hat.

Bald tauchte eine Anfrage an Yandex im Verkehr auf. Neben einer Reihe von Parametern enthält die Anfrage auch ein Archiv.

Die Anfrage an den Yandex-Server gibt nicht an, was für die Komprimierung verwendet wird, und aus den ersten Bytes der Nachricht aus dem Anfragetext geht nicht hervor, wie die Daten komprimiert wurden, sodass es nicht möglich war, hineinzuschauen. Aber eine andere Anfrage verwendet gzip für die Komprimierung. Komprimierte Daten können untersucht werden.

Dieses Archiv enthält einen Standard-“Header” und eine Vielzahl von Parametern. Die Parameter unten in der Abbildung sind beispielhaft aus der Mitte entnommen.

Neben einzelnen Diensten mit implizitem Eigentum waren Facebook und Microsoft sehr aktiv. Sie gehörten zu den ersten, die die Präsenz des Internets “spürten” und betrachteten es als ihre heilige Pflicht, alle möglichen Server sofort zu benachrichtigen.

Angesichts all dessen können wir sagen, dass Smartphones ein geschäftiges Leben haben. Alles, was in dem Artikel gesagt wurde, ist fast ein Standardtelefon ohne synchronisierte Konten. Zum Zeitpunkt der Verkehrserfassung habe ich das Telefon nicht verwendet (außer zum Starten der Kamera, des Kalenders, der Nachrichten, der Kontakte und des Taschenrechners), es lag nur auf der Seite und die meisten Anfragen liefen im Hintergrund. Geolokalisierung war nicht enthalten, ich wage zu vermuten, dass es damit nicht weniger interessant wäre.

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *