Tobias Scheible Cyber Security & IT-Forensik Dozent
Deanonymisierung von anonymen Websites

Deanonymisierung – Projekt Website Profiling

Website Profiling kann eingesetzt werden, um vermeintlich anonyme Websites einem Betreiber bzw. Entwickler zuzuordnen. Dazu werden die relevanten Merkmale einer Website extrahiert und ein eindeutiges Profil erzeugt. Dieses Profil kann daraufhin mit anderen Seiten verglichen werden und so eine Zuordnung erfolgen.

Dienstag, 26. September 2017
1 Kommentar
unbekannte Identität des Betreibers
unbekannte Identität des Betreibers
anonyme Website unbekannte Identität des Betreibers

Die Idee zum Website Profiling kam mir, als ich eine neue Website erstellt habe und von verschiedenen anderen älteren Projekten Dateien und Einstellungen kopiert habe. Immer wieder gibt es Methoden bzw. Quellcode, die sich als nützlich erwiesen haben und daher immer wieder einsetzt werden. Zum Beispiel habe ich ein eigenes PHP-Script zum Komprimieren von JavaScript-Dateien erstellt. Dieses Script setzte ich in all meinen Web-Projekten ein. Würden nun alle Websites untersucht werden, ob dieses spezielle Script zur Komprimierung eingesetzt wird, könnten all Websites, die ich entwickelt habe, mir zugeordnet werden.

Allgemein ist die Verwendung von Code-Schnipsel sehr verbreitet, so dass sogar Sicherheitslücken kopiert werden. Ein Team von Wissenschaftlern hat auf Github, einer Plattform für die Verwaltung von Quellcodes, Sicherheitslücken in Projekten gesucht und die Verbreitung analysiert. Zum Beispiel fanden sie den Code eins fehlerhaften Tutorials in 117 anderen Projekten wieder. [1] Natürlich wird selbstentwickelter oder bereits getesteter Code noch häufiger von Entwicklern erneut eingesetzt, da dies noch einfacher ist.

Daraus habe ich die Theorie entwickelt, dass verschiedene Websites durch die Erstellung eines technischen „Fingerabdrucks“ ein und demselben Entwickler zugeordnet werden können. Würde diese Methode funktionieren, könnten Ermittler bei der Analyse von Websites im Darknet neue Ansatzpunkte erhalten.

Analyse der Websites

Im ersten Schritt muss die Website untersucht werden. Hier gilt es, zu entscheiden, ob exemplarisch nur eine Seite untersucht wird – z.B. die Startseite – oder möglichst alle Unterseiten. Hier stellen vor allem dynamische Websites, die ganze Unterseiten nach dem Zufallsprinzip generieren, eine große Herausforderung dar, da diese eingegrenzt werden müssen. Wichtig ist, dass auch dynamisch nachgeladene Inhalte per AJAX mit beachtet werden und alle Kommunikationsmöglichkeiten, wie z.B. per Web-Sockets, müssen mit in die Analyse einfließen. Aus den erfassten Daten werden anschließend die Merkmale extrahiert.

Technische Merkmale

Zu den technischen Merkmalen gehört dazu, mit welchen Programmiersprachen die Website erstellt wurde und ob sie auf einem bekannten System (Typo3, WordPress, …) basiert. Außerdem ist relevant, ob das Design selbst erstellt wurde oder ein fertiges Theme verwendet wird. Bei einem Theme ist zum Beispiel interessant, von welchem Anbieter es kommt und ob eine potentiell identifizierte Seite auch ein Theme vom gleichen Anbieter verwendet. Die Kombination aus verwendeten Plugins kann auch eine wichtige Rolle spielen, da Entwickler wahrscheinlich auf eine gewisse Anzahl bereits verwendeter Plugins immer wieder zurückgreifen. Zusätzlich können noch die Fehlerseiten untersucht und allgemein geprüft werden, ob Filterungen im Einsatz sind.

Weiter kann noch untersucht werden, ob Konfigurationen des Webservers gleich vorgenommen und ob zum Beispiel bestimmte HTTP-Header gesetzt wurden.

Inhaltliche Merkmale

Neben den technischen Merkmalen spielen auch die inhaltlichen Merkmale eine relevante Rolle. Hier kann zum Beispiel untersucht werden, wie das URL-Schema aufgebaut ist und ob die Titel der einzelnen Seiten einem bestimmten Schema folgen.

Auch Abbildungen können relevante Informationen enthalten: dargestellte Inhalte, ob sie von freien Datenbanken stammen und die Details der Verarbeitung, also welche Auflösungen sie besitzen und mit welchen Kompressionsalgorithmen sie gespeichert wurden. Vielleicht sind noch Meta-Daten des verwendeten Programms vorhanden oder irgendwelche Standardgrafiken können aufgespürt werden.

Erstellung des Profils

Die gesammelten Merkmale können anschließend mit Hilfe einer Metrik in ein individuelles Profil überführt werden – als digitaler Fingerabdruck der Website. Entweder werden direkt zwei Websites miteinander verglichen, um einen Verdacht zu bestätigen, oder es wird ein Abgleich mit gespeicherten Profilen in einer Datenbank vorgenommen.

Grenzen des Website Profiling

Bisher ist die hier beschriebene Technik nur eine erste Idee und es muss noch evaluiert werden, wie groß die Wahrscheinlichkeit einer Deanonymisierung ist. Grundsätzlich ist dies davon abhängig, wie viele eindeutige Merkmale existieren und ob weitere Websites für einen Vergleich überhaupt verwendbar sind. Zum Beispiel wird es bei einem Blog, der von wordpress.com gehostet wird, so gut wie keine individuellen Merkmale in der Programmierung geben.

Gleichzeitig kann natürlich nur eine Website einer anderen zugeordnet werden. Damit ist noch keine Identifizierung einer spezifischen Person möglich. Ein Besitzer kann nicht enttarnt werden, sondern nur der Ersteller bzw. Programmierer einer Website. Es ist also somit keine Möglichkeit zur Enttarnung eines Betreibers, sondern liefert nur weitere Indizien, die vielleicht am Ende zu einer relevanten Person führen könnten.

Ein weiterer Punkt ist die notwendige Technik zum Umsetzen eines Website Profiling Systems. Natürlich kann auf verschiedene Bibliotheken und Anwendungen zurückgegriffen werden, aber die Schnittstellen zwischen den vorhandenen Lösungen müssten entwickelt werden und auch neue Teile müssten wahrscheinlich implementiert werden. Ist das Ziel, eine Website mit Einträgen aus einem Archiv zu vergleichen, erfordert dies eine deutlich größere Infrastruktur. Genauso müsste der Umgang mit Gegenmaßnahmen, also das gezielte Stören einer Untersuchung, noch weiter analysiert werden.

Zusammenfassung

Mit der Idee des Website Profiling könnte eine Technik entwickelt werden, um vermeintlich anonyme Websites einem Betreiber bzw. Entwickler zuzuordnen. Dazu werden alle Merkmale einer Website extrahiert und somit ein eindeutiges Profil erzeugt. Dieses Profil kann daraufhin mit anderen Seiten verglichen werden und so eine Zuordnung erfolgen. Allerdings funktioniert dieser Ansatz nicht bei allen Websites und führt letztendlich zu einer weiteren Spur, die manuell untersucht werden muss.

Diese Idee möchte ich in Zukunft mit Abschlussarbeiten und Projekten weiter untersuchen, ob sie auch in der Praxis angewendet werden können.

Artikelserie „Deanonymisierung“

Dieser Artikel ist Teil meiner Artikelserie „Deanonymisierung“, die ich als Vorbereitung auf meinen Vortrag auf der Konferenz „Internet Security Days 2017“ begonnen habe. Die Artikelserie umfasst folgende Beiträge:

[1] Leveraging Flawed Tutorials for Seeding Large-Scale Web Vulnerability Discovery, Tommi Unruh, Bhargava Shastry, Malte Skoruppa, Federico Maggi, Konrad Rieck, Jean-Pierre Seifert, and Fabian Yamaguchi, 10.04.2017, https://arxiv.org/pdf/1704.02786.pdf

Über Tobias Scheible

Tobias Scheible

Hallo, mein Name ist Tobias Scheible. Ich bin begeisterter Informatiker und Sicherheitsforscher mit den Schwerpunkten Cyber Security und IT-Forensik. Mein Wissen teile ich gerne anhand von Fachartikeln hier in meinem Blog und in meinem Fachbuch. Als Referent halte ich Vorträge und Workshops für Verbände und Unternehmen u. a. auch offene Veranstaltungen für den VDI und die IHK.

Kommentare

Paulina am 2. März 2018 um 08:18 Uhr

Diese Deanonymisierung wird wegen der neuen DSGVO Regeln bestimmt noch hilfreichrer.

Schreibe einen Kommentar!

Hilfe zum Kommentieren und Hiweise

Um kommentieren zu können, geben sie bitte mindestens ihren Namen und ihre E-Mail-Adresse an. Bitte nutzen Sie die Kommentarfunktion nicht dazu, andere zu beleidigen oder Spam zu verbreiten. Trolle und Spammer sind hier unerwünscht! Unangemessene Kommentare, die zum Beispiel gegen geltendes Recht verstoßen, eine Gefährdung anderer Besucher darstellen oder keinen sinvollen Inhalt beinhalten, werden gelöscht oder angepasst.

Name: Ihr Name, der oberhalb des Kommentars steht, gerne auch Ihren echten Namen, das erleichtert die Kommunikation für alle. Sollte ein Spam-Keyword als Name verwendet werden, kann dieses entfernt oder korrigiert werden.

E-Mail: Ihre E-Mail Adresse dient zur Identifizierung weiterer Kommentare und damit ich direkt Kontakt aufnehmen kann. Die E-Mail Adresse wird natürlich nicht veröffentlicht und nicht weitergegeben.

Website: Hier können Sie ihren eigenen Blog bzw. ihre eigene Website eintragen, dadurch wird Ihr Name und Ihr Avatar-Bild verlinkt. Werden rein kommerzielle Angebote offensichtlich beworben, setze ich den Link auf nofollow und unangemessene werden einfach entfernt.

Erlaubte HTML-Tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <hr> <big> <small> <sub> <sup> <u>

Ihre E-Mailadresse wird nicht veröffentlicht. Mit dem Absenden anerkennen Sie die Datenschutzhinweis des Blogs.