Dekodierung der Netzwerkaktivität in Vivaldi

In diesem Artikel taucht der Vivaldi-Sicherheitsexperte Yngve Pettersen tief in die Netzwerkaktivitäten in Vivaldi ein.
Yngve Pettersen erklärt hier, welche Netzwerkaktivitäten der Vivaldi-Browser im Hintergrund durchführt, auf welche Weise und warum dies geschieht.

Vivaldi Anfragen an Google

Herunterladen von Komponenten

Mehrere Funktionen in Vivaldi hängen von separat gepflegten und aktualisierten Komponenten ab, die von den Chromium/Google-Teams bereitgestellt werden. Diese Komponenten sind auf dieser speziellen Seite aufgeführt: vivaldi://components. Die heruntergeladenen Komponenten bieten zusätzliche Funktionen, die im Haupt-Quellcode nicht sinnvoll sind, in der Regel weil sie Updates benötigen, die nicht mit dem normalen Browser-Update-Zyklus übereinstimmen.

Die wichtigsten sind der sicherheitsrelevante Certificate Assistant und die CRLset Komponenten, sowie die Widevine Komponente, mit der Sie DRM-geschützte Videos online ansehen können (z.B. Netflix).

Diese Komponenten werden kurz nach dem ersten Start von Vivaldi heruntergeladen und installiert. Vivaldi wird automatisch nach Updates für diese Komponenten suchen.

Die erste Anfrage für diese Downloads geht an die Server update.googleapis.com und clients2.google.com, aber die eigentlichen Downloads können von/über andere Server wie redirector.gvt1.com und r3---sn-8xouxav-vnas.gvt1.com erfolgen.

CookiesKeine
VerwaltungComponentUpdatesEnabled policy in vivaldi://policy
Netzwerkanmerkunghttps://cs.chromium.org/­chromium/­src/­components/­update_client/net/­network_impl.cc?­l=24&­rcl=17b2a­df184f­b218b6096­359b8a06­a92be6d22d7

SafeBrowsing-Daten

Die SafeBrowsing-Funktionalität wird verwendet, um Sie vor dem Zugriff auf Websites zu schützen, die beispielsweise gefährliche Downloads anbieten. Diese Funktionalität basiert auf einer von Google geführten Blacklist, und Vivaldi wird mehrmals täglich Updates für die Grundliste vom Server safebrowsing.google.com herunterladen.

Früher verwendete SafeBrowsing eine Technik namens Bloom-Filter, aber Google hat dies mittlerweile auf ein einfacheres System umgestellt.

Das aktuelle System erstellt einen „Hash“ (eine kryptographische Prüfsumme) der URL, sowie von Teilen der URL, die Sie besuchen möchten. Dieser Hash lässt sich nicht leicht umkehren, um den ursprünglichen Text zu erhalten, der zu seiner Berechnung verwendet wurde. Weiterhin ist es möglich, dass mehrere Texte zum gleichen Hash führen, aber damit die ursprünglichen Texte zu finden ist ebenfalls sehr hart, was auch der eigentliche Sinn der Prüfsumme ist. Dabei wird mit einem kurzen Teil der berechneten Hashes in der Grundliste gesucht, um festzustellen, ob es einen Blacklist-Eintrag für einen der Teilbereiche der URL gibt. Wenn dies der Fall ist, wird für jeden der übereinstimmenden Teile eine Anforderung gesendet, und der Server antwortet mit einer Liste aller vollständigen Hashes, die einem der Präfixe entsprechen.

Wenn einer dieser vollständigen Hashes aus der Liste mit einem der berechneten Hashes übereinstimmt, wird die URL, die Sie besuchen wollten, blockiert, da es sich sehr wahrscheinlich um eine schädliche URL handelt.

Da jeweils nur ein Teil des Hashes der URL (oder des URL-Teils) an den SafeBrowsing-Server gesendet wird, weiß der Dienst nicht, welche URL Sie besucht haben, oder welche Übereinstimmungen, falls überhaupt, es mit den vollständigen Hashes gegeben hat.

CookiesEinige Modi erlauben Cookies, aber von einem isolierten Cookie-Speicher, der nicht mit anderen Websites geteilt wird.
Verwaltungchrome://settings/syncSetup
Netzwerkanmerkunghttps://cs.chromium.org/­chromium/­src/­chrome/­browser/­safe_browsing/­client_side_model_loader.cc?­l=125&­rcl=2b5ee7­a019262c57d80b274­0925a5226a­be97bb4

 

https://cs.chromium.org/­chromium/­src/components/­safe_browsing/­db/­v4_get_hash_protocol­_manager.cc?­l=305&­rcl=17b2adf­184fb218b609­6a359b8a0­6a92be6d22d7

https://cs.chromium.org/­chromium/­src/components/­safe_browsing/­db/­v4_update_protocol­_manager.cc?­l=312&­rcl=17b2ad­f184fb218b6­096a359b8a­06a92be6d22d7

Diese Option ist standardmäßig deaktiviertURL-Upload im Zweifelsfall
Verwaltung„Suchanfragen und das Surfen verbessernSuchanfragen und das Surfen verbessern“ Option in chrome://settings/syncSetup
Netzwerkanmerkunghttps://cs.chromium.org/­chromium/src/­components/­safe_browsing/­realtime/­url_lookup_service.cc?­l=54

Download-Schutz

Wenn Sie beispielsweise ein Installationsprogramm für Windows herunterladen, kann diese Software für Ihren Computer gefährlich sein, wenn es z.B. ein Trojaner oder andere Malware ist. Um möglichst viele Benutzer vor solchen Gefahren zu schützen, prüft der SafeBrowsing-Code in Chromium und Vivaldi auf gefährliche URLs und Downloads auf der Whitelist. Wenn die Reputation der heruntergeladenen Datei nicht lokal bestimmt werden kann, werden einige detaillierte Informationen an den SafeBrowsing-Server gesendet, darunter die URL, der Referrer, Hashes der Datei, sowie vorhandene Code-Signatur-Informationen. Der Browser erhält im Gegenzug eine Rückmeldung darüber, ob die Datei hinreichend sicher oder möglicherweise gefährlich ist.

Leider ist es sehr schwierig, die Reputation einer Datei ohne all diese Informationen zu ermitteln, da Malware-Anbieter zwar die tatsächlichen Signaturen der Download-URLs sowie die tatsächlichen Downloads ändern können, aber in der Regel müssen einige Teile gleich gehalten werden. Es gab in der Vergangenheit schon Angriffe, die den Schutz umgangen haben, bevor die URL und die Referrer zu den Daten hinzugefügt wurden.

Dieses System wird auch von Mozilla Firefox verwendet.

CookiesErlaubt, aus dem isolierten Cookie-Speicher von SafeBrowsing (zur Zählung eindeutiger Benutzer).

 

Permitted, from SafeBrowsing’s isolated cookie store (for counting unique users)

VerwaltungDie SafeBrowsing Einstellung in Chrome://settings/syncSetup
Netzwerkanmerkunghttps://cs.chromium.org/­chromium/­src/­chrome/­browser/­safe_browsing/­download_protection/­check_client­_download­_request­_base.cc?­l=568&­rcl=17b2adf­184fb218b6­096a359b8­a06a92be6d22d7

Rechtschreibprüfung

Vivaldi verwendet die Rechtschreibprüfung von Chromium. Die Rechtschreibprüfung von Chromium lädt von Google ein Wörterbuch für den lokalen Gebrauch herunter und startet den Download über redirector.gvt1.com.

CookiesKeine
Verwaltungchrome://settings/languages
Netzwerkanmerkunghttps://cs.chromium.org/­chromium/­src/­chrome/­browser/­spellchecker/­spellcheck_hunspell_dictionary.cc?­rcl=95bfa1651­b4e2e8­43fa06ead­8506e22f17­8c00f8&l=282

Weitere Aktivitäten

Die Chromium-Codebasis kann unter bestimmten Bedingungen Netzwerktests durchführen, um zu überprüfen, ob sie sich hinter einem „Captive Portal“ wie einem öffentlichen WiFi-Netzwerkportal befindet, das ein Login oder einen EULA-Akzeptanz-Klick erfordert.

CookiesKeine
Verwaltungchrome://settings/languages
Netzwerkanmerkunghttps://cs.chromium.org/­chromium/­src/chrome/­browser/­captive_portal/­captive_portal_service.cc?­rcl=ee1c95­1278003­09d94e54­57d41983­d326fda1fcf&l=252

Anfragen an Vivaldi

Benutzerzahl (User count requests)

Vor kurzem haben wir beschlossen, die Art und Weise, wie wir unsere Benutzer zählen, zu ändern, da einige Leute die Verwendung von eindeutigen IDs als eine Form des Tracking wahrnehmen. Wir sind derzeit dabei, eine neue Art der Benutzerzählung zu implementieren, die keine eindeutigen IDs erfordert.

Bevor wir die eindeutige ID vollständig entfernen können, durchlaufen wir mehrere Schritte, um sicherzustellen, dass der neue Code wie vorgesehen funktioniert und dass wir den von ihm gemeldeten Zahlen vertrauen können. Für weitere Details schauen Sie sich diesen Artikel an, in dem erklärt wird, wie wir unsere Benutzer zählen.

Liste zum blockieren von missbräuchlicher Werbung

Anfang dieses Jahres haben wir unsere eigene Unterstützung für die Blockierung von Anzeigen auf Websites mit schlechten Werbepraktiken, wie irreführenden Anzeigen oder Anzeigen, die Sie die Website nicht verlassen lassen, implementiert. Diese Funktionalität wird mithilfe einer von Google bereitgestellten Liste umgesetzt. Diese Liste wird nicht direkt von Google heruntergeladen, stattdessen wird sie auf unseren eigenen Servern gehostet, nachdem wir auf unseren Backend-Servern eine einfache Vorverarbeitung der von Google herutergeladenen Listen durchgeführt haben. Die Liste wird täglich auf den neuesten Stand gebracht sowie automatisch vom Browser aktualisiert und bei störenden Websites angewendet, ohne, dass der Server jedes Mal kontaktiert werden muss.

Automatische Prüfung auf Updates

Vivaldi für Mac und Windows überprüft regelmäßig, ob es eine aktualisierte Version von Vivaldi gibt.

Vom Benutzer initiierte Aktivitäten

Sync

Wenn Sie die Synchronisierung Ihrer Daten mit dem Synchronisierungsdienst von Vivaldi aktivieren, werden Sie über den Server login.vivaldi.net in Ihr Konto eingeloggt, und die Synchronisierung erfolgt danach durch die Kommunikation mit dem bifrost.vivaldi.com Server.

Push-Benachrichtigungen

Wenn Sie einer Website (z.B. einer Nachrichten-Website) erlauben, Ihnen Benachrichtigungen zu senden, installiert die Website ein kleines Skript in Ihrem Browser, das angibt, woher Sie die Benachrichtigungen erhalten möchten. Es gibt mehrere Dienstleister dafür, und die Website entscheidet, welcher davon verwendet wird. Einer davon ist das Cloud Messaging (GCM)-System von Google, das auf mtalk.google.com gehostet wird. Relevante interne URLs für dieses System sind:

  • chrome://settings/content/notifications
  • chrome://settings/siteData
  • vivaldi://gcm-internals.

Installierte Erweiterungen

Vom Benutzer installierte Erweiterungen können sich mit der eigenen Website des Anbieters verbinden, um Updates anzufordern oder verschiedene Nutzungsdaten zu melden. Das ist nichts, was Vivaldi kontrollieren kann, daher empfehlen wir unseren Nutzern immer, ihre Extensions sorgfältig auszuwählen und sicherzustellen, dass sie dem Extension Provider/Lieferanten vertrauen können.

Warum Netzwerkaktivitätsscanner Ihnen nicht das gesamte Bild zeigen.

Benutzer, die Netzwerkaktivitätsscanner ausführen, verwenden in der Regel nur einen Netzwerkaktivitätsmonitor. Dieser führt einen Reverse-DNS-Lookup durch, was dazu führt, dass ein „zufälliger“ Hostname angezeigt wird.

Dienste wie die Google-Server, mit denen sich Vivaldi verbindet, werden in großen Serverparks auf mehreren Servern gehostet, sogar an mehreren geografischen Standorten, und jeder dieser Server hat einen eindeutigen Hostnamen. Dieser eindeutige Name ist es, der im Reverse-DNS-Index für seine IP-Adresse registriert ist.

Es ist sehr unwahrscheinlich, dass die Scanner eine vollständige Liste der Server erhalten, auf denen die wichtigsten Anwendungen von Google, Amazon oder Microsoft unter einer bestimmten IP-Adresse gehostet werden, oder dass die Liste überhaupt den Namen des Servers enthält, mit dem der Client tatsächlich verbunden ist.

Der bessere Weg, um herauszufinden, mit welchen Servern sich Vivaldi verbindet, ist, die DNS-Anfragen und -Antworten zu protokollieren. Dadurch erfahren Sie genau, zu welchen Servern Ihr Browser eine Verbindung herstellt.

Eine noch bessere Möglichkeit besteht darin, die von Vivaldi bereitgestellten Informationen zu nutzen, um das Geschehen zu verfolgen. Starten Sie Vivaldi mit dem Argument --enable-logging=stderr --v=1. Dies erzeugt eine große Ansammlung von Daten, die in der Datei chrome_debug.log im User Data Verzeichnis der Installation gespeichert werden. In den dort gespeicherten Daten befinden sich Zeilen die den folgenden Text enthalten: NetworkDelegate::NotifyBeforeURLRequest:. Dadurch wird angezeigt, welche URLs angefordert wurden.

Abschließend sei festgestellt, dass keiner der automatischen Dienste Details oder Statistiken Ihrer Browseraktivitäten an Vivaldi oder Google sendet.

Ein großes Dankeschön an Varun Khaneja (@vakh) vom Chromium-Team für die Überprüfung relevanter Teile dieses Artikels.

Hauptfoto von Luca Bravo auf Unsplash.

* * *

Weitere Informationen:

Bleiben Sie fern von Big Tech und haben Sie Spaß dabei

Vivaldi herunterladen