Post-Image

Was verraten Online-Aktivitäten von Messengerdiensten?

Motivation

In den meisten der populären Messenger-Diensten gibt es eine Funktion, den Zeitstempel der letzten eigenen Aktivität mit seinen Kontakten zu teilen - meist formuliert als “zuletzt gesehen am…” oder “zuletzt online um …”.

Inspiriert durch den großartigen Talk auf dem 33c3 von David Kriesel mit dem Namen “SpiegelMining” wollte ich wissen, ob und wie viel man durch eine Auswertung dieser frei zugänglichen Daten über den Alltag einer Person herausfinden kann.

Dabei ging es mir nicht speziell umd den Alltag der Kontakte die hier unfreiwillig “überwacht” wurden, sondern um die allgemeine Frage, wie viel Privatsphäre man mit dieser kleinen Informationen aufgibt. Der Artikel soll damit als Denkanstoß dienen, ob man nicht diese Funktion in seinem Messenger der Wahl deaktivieren möchte.

Je nach Messenger und getroffener Privatsphären Einstellung wird der Zuletzt-Online-Status nämlich auch mit der ganzen Welt geteilt, es ist also irrelevant, ob man die jeweilige Person als Kontakt eingespeichert hat oder nicht.

Die folgende Auswertung habe ich über den Messenger Telegram durchgeführt, weil es hierzu eine sehr gute API in Python gibt (Pyrogram) und aus Zeitgründen wollte ich dieses Projekt in Python durchführen. Mir ist aber wichtig zu erwähnen, dass das mit etwas mehr Aufwand natürlich auch mit jedem anderen Messenger funktioniert (ganz zu schweigen davon, dass die entsprechenden Anbieter der Messenger wie z.B. Facebook bei Whatsapp natürlich auch über diese Daten verfügen #Metadaten).

Technische Umsetzung

Für die Nerds ist ein kleiner Überblick der technischen Realisierung bestimmt spannend.

Wie bereits erwähnt wurde der Scraper in Python geschrieben. Letztendlich hat dieser zum Start einmal alle meine Kontakte ausgelesen und für jeden Kontakt einen Eintrag in eine SQL-Datenbank geschrieben. Dort wurde dann unter anderem auch der Zuletzt-Online-Zeitstempel gespeichert. Danach wurde nur in regelmäßigen Abständen von allen Kontakten der Online-Status erneut ausgelesen. War der nun ausgelesene Zeitstempel neuer als der zuletzt gespeicherte Zeitstempel wurde dieser aktualisiert. Dann wurde in eine zweite Datenbanktabelle nochmals der neue Zeitstempel geschrieben. So konnten alle Online-Zeitstempel mitgeloggt werden.

Wie zu erkennen ist, ist das Ganze nicht besonders komplex, insgesamt vielleicht 500 Zeilen Code.

Zusammengepackt in einen Docker-Container lief das Programm dann für 79 Tage auf einem Server und sammelte fleißig Daten. Insgesamt wurden dabei knapp 35.000 Online-Zeiten aufgezeichnet.

Auswertung der Daten

Useraktivitäten

Die verschiedenen Accounts waren dabei unterschiedlich aktiv. Bei dem aktivsten Account wurden insgesamt über 8200 Aktivitäten aufgezeichnet, der am wenigsten aktive Account hatte insgesamt war insgesamt nur 5-mal online während des Testzeitraums. Bei so wenigen Daten lässt sich natürlich nur schwer ein aussagekräftiges Ergebnis ableiten. Daher wurden diese Accounts aus der weiteren Analyse herausgelassen.

Linkbereich:

Die Seminararbeit als PDF zum Download

Datenschutz, Telegram