Toolkit zur Erkennung von in Chrome installierten Add-ons wurde veröffentlicht

Es wurde ein Toolkit veröffentlicht, das eine Methode zur Erkennung von im Chrome-Browser installierten Add-ons implementiert. Die resultierende Liste von Add-ons kann verwendet werden, um die Genauigkeit der passiven Identifizierung einer bestimmten Browserinstanz in Kombination mit anderen indirekten Indikatoren wie Bildschirmauflösung, WebGL-Funktionen, Listen installierter Plugins und Schriftarten zu erhöhen. Die vorgeschlagene Implementierung prüft die Installation von mehr als 1000 Add-Ons. Zum Testen Ihres Systems wird eine Online-Demonstration angeboten.

Die Definition von Add-ons erfolgt durch eine Analyse der von den Add-ons bereitgestellten Ressourcen, die für externe Anfragen verfügbar sind. Typischerweise umfassen Add-ons verschiedene begleitende Dateien, z. B. Bilder, die im Add-on-Manifest durch die Eigenschaft web_accessible_resources definiert werden. In der ersten Version des Chrome-Manifests war der Zugriff auf Ressourcen nicht eingeschränkt und jede Website konnte die bereitgestellten Ressourcen herunterladen. In der zweiten Version des Manifests war der Zugriff auf solche Ressourcen standardmäßig nur für das Add-on selbst erlaubt. In der dritten Version des Manifests konnte festgelegt werden, welche Ressourcen welchen Add-Ons, Domains und Seiten zugewiesen werden können.

Webseiten können die von der Erweiterung bereitgestellten Ressourcen mithilfe der Fetch-Methode anfordern (z. B. „fetch('chrome-extension://okb....nd5/test.png')“), was normalerweise durch die Rückgabe von „false“ angezeigt wird dass das Add-on nicht installiert ist. Um zu verhindern, dass ein Add-on das Vorhandensein einer Ressource erkennt, generieren einige Add-ons ein Verifizierungstoken, das für den Zugriff auf die Ressource erforderlich ist. Der Aufruf von fetch ohne Angabe eines Tokens schlägt immer fehl.

Wie sich herausstellt, kann der Schutz des Zugriffs auf Add-on-Ressourcen umgangen werden, indem die Ausführungszeit des Vorgangs geschätzt wird. Trotz der Tatsache, dass fetch bei einer Anfrage ohne Token immer einen Fehler zurückgibt, ist die Ausführungszeit des Vorgangs mit und ohne das Add-on unterschiedlich – wenn das Add-on vorhanden ist, dauert die Anfrage länger als wenn das Add-on vorhanden ist es ist nicht installiert. Durch die Beurteilung der Reaktionszeit können Sie das Vorhandensein des Nahrungsergänzungsmittels ziemlich genau bestimmen.

Einige Add-ons, die keine extern zugänglichen Ressourcen enthalten, können durch zusätzliche Eigenschaften identifiziert werden. Beispielsweise kann das MetaMask-Add-on definiert werden, indem die Definition der Eigenschaft window.ethereum ausgewertet wird (wenn das Add-on nicht festgelegt ist, gibt „typeof window.ethereum“ den Wert „undefiniert“ zurück).

Source: opennet.ru

Kommentar hinzufügen