Es wurde ein Toolkit zur Bestimmung von Erweiterungen, die in Chrome installiert sind, veröffentlicht.

Es wurde ein Tool veröffentlicht, das eine Methode zur Erkennung von in Chrome installierten Erweiterungen implementiert. Die erhaltene Liste der Erweiterungen kann zur Verbesserung der Genauigkeit der passiven Identifizierung einer bestimmten Browserinstanz verwendet werden, in Kombination mit anderen indirekten Hinweisen wie Bildschirmauflösung, WebGL-Eigenschaften, Listen installierter Plugins und Schriftarten. Die vorgeschlagene Implementierung überprüft die Installation von über 1000 Erweiterungen. Eine Online-Demonstration zur Überprüfung Ihres Systems steht ebenfalls zur Verfügung.

Die Definition von Erweiterungen erfolgt durch die Analyse der von den Erweiterungen bereitgestellten Ressourcen, die für externe Anfragen verfügbar sind. In der Regel umfassen Erweiterungen verschiedene begleitende Dateien, wie zum Beispiel Bilder, die im Manifest der Erweiterung durch die Eigenschaft web_accessible_resources definiert sind. In der ersten Version des Manifests war der Zugriff auf Ressourcen nicht eingeschränkt, und jede Website konnte die bereitgestellten Ressourcen laden. In der zweiten Version des Manifests war der Zugriff auf solche Ressourcen standardmäßig nur für die Erweiterung selbst erlaubt. In der dritten Version des Manifests wurde die Möglichkeit eingeführt, zu definieren, welche Ressourcen an welche Erweiterungen, Domains und Seiten ausgeliefert werden können.

Webseiten können die im Erweiterungs-Paket bereitgestellten Ressourcen über die fetch-Methode anfordern (z. B. „fetch('chrome-extension://okb….nd5/test.png')“). Wenn der Rückgabewert „false“ lautet, deutet das normalerweise darauf hin, dass die Erweiterung nicht installiert ist. Um die Erkennung der Erweiterung durch das Vorhandensein von Ressourcen zu blockieren, generieren einige Erweiterungen ein Überprüfungstoken, das für den Zugriff auf die Ressource erforderlich ist. Ein fetch-Aufruf ohne Angabe des Tokens schlägt immer fehl.

Es stellte sich heraus, dass der Zugriffsschutz auf die Ressourcen von Erweiterungen umgangen werden kann, indem die Ausführungszeit der Operation bewertet wird. Obwohl ein fetch ohne Token immer einen Fehler zurückgibt, unterscheidet sich die Ausführungszeit je nach Vorhandensein der Erweiterung — wenn die Erweiterung vorhanden ist, benötigt die Anfrage mehr Zeit als wenn sie nicht installiert ist. Durch die Bewertung der Reaktionszeit kann man relativ genau auf das Vorhandensein der Erweiterung schließen.

Einige Erweiterungen, die keinen externen Ressourcen Zugriff bieten, können durch zusätzliche Eigenschaften identifiziert werden. Zum Beispiel kann die Erweiterung MetaMask durch die Bewertung der Eigenschaft window.ethereum identifiziert werden (wenn die Erweiterung nicht installiert ist, gibt „typeof window.ethereum“ den Wert „undefined“ zurück).

Quelle: opennet.ru

Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server 🔥 Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server | ProHoster