Digital sozialisiert, Denker, Macher und Angel Investor.

Fingerabdruck des Browsers als OpenSource

F

Ein altes Thema zu Hause in der Forensik, verschiedentlich genutzt und mit dem Browserrecon-Projekt gibt es nun eine OpenSource Implementierung.

Eine dauernde Herausforderung im Web ist die Zustandslosigkeit des HTTP-Protokolls. Gewisse sehen es als Chance (REST-APIs) und andere finden es nur mühsam und versuchen dem Browser den Backbutton zu verbieten (bitte niemals tun!). Auch mühsam findet es die messende und werbende Zunft, die sich auf die «klebende Wirkung» von Cookies stürzt und gleich danach die Diskussion entfacht, welcher Typ von Cookies (mit welcher Cookie Domain) wie häufig löscht wird.
Ein alternativer oder ergänzender Ansatz ist Fingerprinting von Browsern.

Ausgangslage ist, dass die Anfrage des Browsers an den Webserver ziemlich viele Daten drin hat, aus denen sich ein Browserprofil berechnen lässt. Ziel ein ziemlich stabiler Fingerabdruck. Hier ein Teil eines typische Browser-Header (FFox 3 auf Windows):

User-Agent Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.0.3) Gecko/2008092417 Firefox/3.0.3
Accept text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language en-us,en;q=0.5
Accept-Encoding gzip,deflate
Accept-Charset ISO-8859-1,utf-8;q=0.7,*;q=0.7

Mit einer solchen passiven Analyse kann ich schon einiges festschreiben und in Kombination mit der IP und dem Socket ziemlich gut validieren, ob es zweimal der selber User war u.s.w.

Einen Schritt weiter geht die aktive Analyse mit Hilfe von JavaScript (den Browser nach Eigenschaften fragen) und noch weiter gehen Browser-Plugins mit denen ich noch mehr aus dem Client rauskitzeln kann. Die browserspy.dk zeigt da ein paar eindrückliche Sachen bis hin zum Auslesen über Flash oder Java welche Schriften der PC installiert hat (und viele andere mehr).


Man nehme nun Aspekte, die man als stabil vermutet und verrechnet diese zu einem Fingerabdruck, welcher den Client identifiziert. Dieser wird normalerweise zur Validierung eines normalen Cookies-Trackings genutzt resp. wird die alte Cookie-ID nach einem Löschen erneut gesetzt und somit die Langfristigkleit der Identifikation verbessert.

Zurück zum Browserrecon-Project welches die Herstellung der Fingerabdrucks in der Dokumentation die folgt skzizziert
i-5903d9f415f360970f88ae41f1c2c96d-browsercon-architecture.png
Die Nutzung dieses Ansatzes ist mannigfaltig. So beispielsweise zur Click-Fraud-Analyse, Sicherheitswerkzeuge die Session-Highjacking verhindern wollen oder Crawler-Fallen. Neu findet auch die Online-Werbung daran gefallen, weil der Ansatz stabiler ist als die ausschliessliche Nutzung von Cookies um Werbung zu verschiessen.

Die Königsdisziplin ist dann, den Fingerabdruck mit Userverhalten zu kombinieren (mit welcher Frequenz tipp der User sein Passwort ein) oder auch HW-Unterschiede zu messen wie die Differenzmessung von Zeitsignalen.

Ein Blick in das Projekt mit einem Fokus der Plattformerkennung (in PHP implementiert) lohnt sich auf jeden Fall: Browserrecon

kommentieren

Von Jürg Stuker
Digital sozialisiert, Denker, Macher und Angel Investor.