PowerScan
DE

So funktionieren Antidetect-Browser: Die vollständige technische Erklärung

Antidetect-Browser · 11 Min. Lesezeit · von PowerOps

Foto: Unsplash

Fingerprint-Oberflächen, kohärente Identitätserzeugung, Speicherisolierung auf der Festplatte, Routing pro Profil und die ehrlichen Grenzen des gesamten Ansatzes.

Ein Antidetect-Browser erledigt vier Aufgaben. Er speichert die Browserdaten jedes Profils getrennt, er steuert die Geräteidentität, die jedes Profil meldet, er leitet den Datenverkehr jedes Profils unabhängig und er hält alle drei über die Zeit konsistent. Dieser Artikel erklärt auf Mechanismus-Ebene, wie jede dieser Aufgaben gelöst wird, und endet mit dem, was der Ansatz nicht leisten kann.

Die Fingerprint-Oberflächen

Beginnen wir mit dem, was eine Seite auslesen kann, denn alles andere ist eine Reaktion darauf. Ein Skript auf jeder Website kann dem Browser Fragen stellen, und die Antworten beschreiben den Rechner. Die Oberflächen lassen sich natürlich gruppieren.

OberflächeWas eine Seite ausliest
NavigatorBrowsername und -version, Plattform, Sprachliste, gemeldete Prozessoranzahl und Arbeitsspeicher, Touch-Unterstützung
BildschirmBreite, Höhe, verfügbarer Arbeitsbereich, Farbtiefe, Geräte-Pixelverhältnis
CanvasDie exakten Pixel, die beim Zeichnen von Text und Formen außerhalb des Bildschirms entstehen, zu einem stabilen Wert gehasht
WebGLDie Zeichenketten für Grafik-Hersteller und -Renderer sowie Hashes gerenderter Szenen
AudioDie Ausgabe eines Oszillators, der durch den Audioverarbeitungsgraphen läuft und je nach Software-Stack variiert
SchriftartenWelche Schriften installiert sind, aus Textmessungen abgeleitet
Zeitzone und UhrDie gemeldete Zone und der Versatz, verglichen mit dem Ort, von dem der Datenverkehr eintrifft
NetzwerkDie Adresse selbst, die Sicht von WebRTC auf Verbindungskandidaten und die Form des TLS-Handshakes

Keine einzelne Zeile identifiziert einen Rechner. Die Kombination tut es, und an der Kombination fliegen auch Lügen auf: Werte, die nicht zu einem einzigen echten Rechner gehören können, sind ein lauteres Signal als jeder Einzelwert.

Die Erfassung ist billig und lautlos. Jeder Wert in der Tabelle steht jeder Seite über dokumentierte APIs ohne Berechtigungsabfrage zur Verfügung, und das meiste kommt in der ersten Sekunde eines Besuchs an. Wie man auch zu dieser Praxis steht: Sie ist eine feste Tatsache des modernen Webs und die Grundlage, gegen die ein Antidetect-Browser konstruiert wird.

Wie eine kohärente Identität erzeugt wird

Der naive Ansatz ist, jede Frage abzufangen und die Antwort zufällig zu wählen. Er scheitert aus einem strukturellen Grund. Die Antworten beschreiben eine Maschine, sie sind also korreliert, und unabhängig gewürfelte Antworten zerstören die Korrelationen. Ein Windows-User-Agent neben Schriften, die nur mit macOS kommen, eine Bildschirmgröße, die nie ein Laptop hatte, eine Grafikkennung, die nie zusammen mit der behaupteten Plattform existierte: Jedes davon ist ein Widerspruch, den ein Prüfer günstig testen kann.

Ein funktionierender Antidetect-Browser erzeugt die Identität daher als Menge. Er beginnt bei einer realen, verbreiteten Rechnerklasse und leitet jeden Wert aus dieser Wahl ab. Die Plattform bestimmt die plausible Schriftenliste, die Grafikkennungen und die Touch-Unterstützung. Der Bildschirm stammt aus Größen, mit denen diese Klasse von Rechnern tatsächlich ausgeliefert wird. Sprache und Zeitzone ergeben sich aus der vorgesehenen Region des Profils. Die Werte stimmen überein, weil sie gemeinsam aus einer Beschreibung eines Rechners gewählt wurden.

Die zweite Eigenschaft ist ebenso wichtig: Die Menge wird gespeichert. Sie wird beim Anlegen in das Profil geschrieben, und jede Sitzung meldet dieselben Werte, denn ein Gerät, das sich zwischen Besuchen verändert, beschreibt Hardware, die niemand besitzt. Stabilität ist zum größten Teil das, was plausibel bedeutet.

Speicherisolierung auf der Festplatte

Die Speicheraufgabe ist die unscheinbarste und die absoluteste. Jedes Profil besitzt ein Verzeichnis, und alles, was ein Browser dauerhaft ablegt, liegt darin: die Cookie-Datenbank, Local Storage, IndexedDB, der HTTP-Cache, Service-Worker-Registrierungen, Erweiterungszustand, Verlauf und gespeicherte Zugangsdaten. Zwei Profile sind zwei getrennte Verzeichnisse, und jeder laufende Browser zeigt auf sein eigenes.

Vollständige Trennung ist die Eigenschaft, die man prüfen sollte, denn teilweise Isolierung scheitert unbemerkt. Cookies lassen sich leicht trennen. Der Cache kann einen wiederkehrenden Browser über die behaltenen Ressourcen identifizieren. Service Worker können Kennungen halten und zwischen Besuchen weiterlaufen. IndexedDB ist der Ort, an dem moderne Anwendungen die Datensätze ablegen, denen sie wirklich vertrauen. Eine Isolierung, die die bekannten Speicher abdeckt und irgendeinen der anderen teilt, hat nur den sichtbaren Teil des Problems isoliert.

Die andere Hälfte ist Persistenz. Sitzungen sammeln Wert an: bestandene Sicherheitsprüfungen, etablierte Anmeldehistorie, das Bild eines wiederkehrenden Besuchers. Ein Profil behält sein Verzeichnis zwischen den Sitzungen, und erst das macht Account-Arbeit überhaupt möglich. Das Zurückschreiben beim Schließen macht das Verzeichnis dauerhaft, weshalb das Beenden eines Profilprozesses mitten in der Sitzung die gerade aufgebaute Sitzung kosten kann.

Netzwerk-Routing

Jedes Profil trägt seine eigene Route, die beim Start seines Browsers angewendet wird, sodass der Datenverkehr über den Proxy dieses Profils hinausgeht, ohne die Systemeinstellungen oder die Route eines anderen Profils zu berühren.

Die Route ist auch die Komponente, die sich am meisten für eine unabhängige Prüfung lohnt, weil sie von einem Dritten gekauft wird. Einen Endpunkt vor der Zuweisung zu testen und die beobachtete statt der beworbenen Adresse zurückzulesen, fängt einen Fehler ab, solange er noch ein Konfigurationsproblem ist und kein Account-Problem.

Was der Browser selbst verändert

Es gibt zwei Stellen, an denen ein Tool die Antworten verändern kann, die eine Seite erhält, und der Unterschied zwischen ihnen ist die technischste Weggabelung in diesem Thema.

AnsatzFunktionsweiseDie Schwäche
Skript-InjektionEine Erweiterung oder ein eingeschleustes Skript überschreibt die Funktionen, die eine Seite aufruft, sodass Canvas-Lesezugriffe und Navigator-Abfragen ersetzte Werte liefernDie Überschreibungen sind selbst sichtbar. Gepatchte Funktionen lassen sich als gepatcht erkennen, und jede Oberfläche, die der Injektor vergessen hat, antwortet weiter mit dem echten Wert
Im eigenen Code des BrowsersDie Implementierung des Browsers antwortet mit den gespeicherten Werten des Profils, in den Codepfaden, in denen die echten Werte entstehenWeit aufwendiger zu bauen und zu pflegen, weshalb sich darin speziell entwickelte Tools von Erweiterungen unterscheiden

Der Injektionsansatz ist der Ausgangspunkt dieser Kategorie, und seine Grenze ist gut bekannt: Eine Seite kann prüfen, ob native Funktionen noch nativ aussehen, und sie kann dieselbe Oberfläche über einen Pfad erreichen, den die Injektion nicht abgedeckt hat. Speziell entwickelte Antidetect-Browser nehmen die Änderungen deshalb im Browser selbst vor, sodass die gespeicherte Identität das ist, was die Implementierung über jeden Pfad meldet, der sie liest.

Was das Öffnen eines Profils tatsächlich bewirkt

  1. Die gespeicherte Identität wird geladen: eine kohärente Menge von Geräteeigenschaften, dieselbe wie beim letzten Mal.
  2. Der Browser startet gegen das eigene Verzeichnis des Profils, sodass jeder dauerhafte Speicher der des Profils ist.
  3. Die Route wird angewendet: der Proxy, die Namensauflösung über ihn, WebRTC darauf beschränkt.
  4. Die Sitzung läuft und sammelt Zustand im Verzeichnis an.
  5. Beim Schließen wird der Zustand zurückgeschrieben, sodass das nächste Öffnen dasselbe Gerät, denselben Speicher und dieselbe Route fortsetzt.

Jeder Teil dieser Liste ist von außen überprüfbar. Öffnen Sie eine Fingerprint-Testseite zweimal und vergleichen Sie die Werte zwischen den Starts. Sehen Sie sich das Profilverzeichnis auf der Festplatte an. Lesen Sie die beobachtete Adresse zurück. Ein Tool dieser Kategorie sollte zu solchen Prüfungen einladen, denn der Mechanismus ist das Produkt.

Die ehrlichen Grenzen

Der Ansatz hat Ränder, und sie zu kennen gehört zum kompetenten Umgang damit.

Lesen Sie die Grenzen als Definition und nicht als Enttäuschung. Ein Antidetect-Browser ist ein Konsistenzinstrument: getrennter Speicher, eine stabile und plausible Identität, eine passende Route, pro Profil zusammengehalten und bei jedem Öffnen identisch wiederholt. Das ist der gesamte Mechanismus, und alles andere, was über die Kategorie geschrieben wird, ist eine Variation davon.

Alle Artikel · Scan starten