Die Bedrohung der Privatsphäre und Sicherheit im Internet wird immer ernster. Wir bei Mozilla verfolgen sie genau. Wir betrachten es als unsere Pflicht, alles zu tun, um Firefox-Benutzer und ihre Daten zu schützen.
Wir sind besorgt über Unternehmen und Organisationen, die heimlich Benutzerdaten sammeln und verkaufen. Aus diesem Grund haben wir den
Tracking-Schutz hinzugefügt und eine
Facebook-Container-Erweiterung erstellt . Weitere Schutzmaßnahmen werden in den kommenden Monaten erscheinen.

Jetzt fügen wir der Liste zwei weitere Technologien hinzu:
- HTTPS DNS ist der neue IETF-Standard, an dessen Entwicklung wir teilgenommen haben
- Trusted Recursive Resolver - eine neue sichere Methode zum Auflösen von DNS, die in Verbindung mit Cloudflare bereitgestellt wird
Dank dieser beiden Initiativen werden Datenlecks beseitigt, die seit ihrer Einführung vor 35 Jahren Teil des Domain Name Systems waren. Und wir brauchen Ihre Hilfe beim Testen. Mal sehen, wie HTTPS DNS und Trusted Recursive Resolver unsere Benutzer schützen.
Aber zuerst wollen wir sehen, wie Webseiten über das Internet übertragen werden.
Wenn Sie bereits wissen, wie DNS und HTTPS funktionieren, können Sie mit dem Thema fortfahren, wie
DNS über HTTPS hilft .
HTTP-Kurzkurs
Wenn Leute erklären, wie ein Browser eine Webseite lädt, erklären sie dies normalerweise folgendermaßen:
- Ihr Browser sendet eine GET-Anfrage an den Server.
- Der Server sendet eine Antwort, bei der es sich um eine Datei handelt, die HTML enthält.

Dieses System heißt HTTP.
Dieses Schema ist jedoch zu vereinfacht. Ihr Browser kommuniziert nicht direkt mit dem Server. Wahrscheinlich, weil sie nicht nahe beieinander liegen.
Ein Server kann Tausende von Kilometern entfernt sein. Und wahrscheinlich besteht keine direkte Verbindung zwischen Ihrem Computer und dem Server.

Bevor die Anfrage vom Browser an den Server gesendet wird, durchläuft sie mehrere Hände. Gleiches gilt für die Antwort.
Ich stelle es mir als Schulkinder vor, die sich im Klassenzimmer gegenseitig Notizen machen. Draußen steht auf dem Zettel, an wen es gerichtet ist. Das Kind, das die Notiz geschrieben hat, wird sie einem Nachbarn übergeben. Dann gibt das nächste Kind es an einen der Nachbarn weiter - wahrscheinlich nicht an den endgültigen Empfänger, sondern an jemanden, der in die richtige Richtung geht.
- Psst ... gib das an Sandy weiterDas Problem ist, dass jeder auf dem Weg die Notiz öffnen und lesen kann. Und es gibt keine Möglichkeit, im Voraus zu wissen, in welche Richtung die Notiz gehen wird, sodass nicht bekannt ist, welche Personen Zugriff darauf erhalten.
Es kann in den Händen von Menschen sein, die schädliche Dinge tun ...
Zum Beispiel teilen sie den Inhalt einer Notiz mit allen.
- Oh, es ist saftig ... Hey Leute! Danny hat sich in Sandy verliebt!Oder ändern Sie die Antwort.
"Magst du mich auch?"
- Hehe, ich werde mich über ihn lustig machen und "Nein" schreiben ...Um diese Probleme zu beheben, wurde eine neue sichere Version von HTTP erstellt. Es heißt HTTPS: Es ist wie eine Sperre für jede Nachricht.

Nur der Browser und der Server kennen die zu entsperrende Kombination. Selbst wenn Nachrichten über mehrere Router gesendet werden, können nur Sie und die Website den Inhalt tatsächlich lesen.
Dies löst viele Sicherheitsprobleme. Es gibt jedoch immer noch unverschlüsselte Nachrichten zwischen Ihrem Browser und dem Server. Die Leute auf dem Weg können sich also immer noch in Ihre Angelegenheiten einmischen.
Beispielsweise sind die Daten während des Verbindungsaufbaus noch offen. Wenn Sie die ursprüngliche Nachricht an den Server senden, senden Sie auch den Servernamen im Feld "Servernamenanzeige". Auf diese Weise können Serverbetreiber mehrere Standorte auf demselben Computer ausführen und gleichzeitig verstehen, an wen Sie sich wenden möchten. Diese anfängliche Anforderung ist Teil des Verschlüsselungs-Setups, aber die anfängliche Anforderung selbst ist nicht verschlüsselt.
Ein weiterer Ort, an dem Daten geöffnet sind, ist DNS. Aber was ist DNS?
DNS: Domain Name System
In einer Metapher für das Weitergeben von Notizen in einer Klasse sagte ich, dass der Name des Empfängers außerhalb der Notiz geschrieben werden sollte. Gleiches gilt für HTTP-Anfragen ... sie müssen angeben, wohin sie gehen sollen.
Sie können jedoch nicht den üblichen Site-Namen verwenden. Keiner der Router versteht, über wen Sie sprechen. Verwenden Sie stattdessen eine IP-Adresse. Auf diese Weise verstehen Router auf dem Weg, an welchen Server Sie die Anforderung senden möchten.
- Bitte senden Sie diese an 208.80.154.224Dies verursacht Probleme. Es ist für Benutzer unpraktisch, sich die Nummern der IP-Adresse zu merken. Ich möchte der Site einen eingängigen Namen geben ... der im Gedächtnis der Leute hinterlegt wird.
Deshalb haben wir ein Domain Name System (DNS). Ihr Browser verwendet DNS, um den Site-Namen in IP-Adresse aufzulösen. Dieser Vorgang - Konvertieren eines Domänennamens in eine IP-Adresse - wird als Auflösung oder Auflösung von Domänennamen bezeichnet.

Wie löst der Browser das Problem?
Eine Möglichkeit besteht darin, eine große Liste wie ein Telefonverzeichnis in einem Browser zu erstellen. Wenn jedoch neue Websites angezeigt werden oder auf neue Server verschoben werden, ist es schwierig, diese Liste auf dem neuesten Stand zu halten.
Anstelle einer einzigen Liste für alle Domainnamen gibt es daher viele kleine Listen, die miteinander verknüpft sind. Dadurch können sie unabhängig voneinander gesteuert werden.

Um die IP-Adresse zu erhalten, die einem Domainnamen entspricht, müssen Sie eine bestimmte Liste suchen, die den gewünschten Domainnamen enthält. Das ist wie einen Schatz zu finden.
Wie sieht eine solche Schatzsuche für eine Site wie English Wikipedia,
en.wikipedia.org
?
Die Domain kann in Teile unterteilt werden.

Mit solchen Teilen können Sie nach einer Liste suchen, die die IP-Adresse der Site enthält. Aber wir brauchen Hilfe bei der Suche. Das Tool, das diese Suche anstelle von uns durchführt und die IP-Adresse findet, wird als Resolver bezeichnet.
Zunächst greift der Resolver auf den sogenannten Root-DNS-Server zu. Er kennt mehrere verschiedene Root-DNS-Server und sendet daher eine Anfrage an einen von ihnen. Der Resolver fragt nach dem Root-DNS, wo zusätzliche Informationen zu Adressen in der
.org
-
.org
obersten Ebene zu finden sind.
- Sie wissen nicht, wie Sie zu en.wikipedia.org gelangen sollen?
- Ich weiß nichts in der .org-Zone, aber 5.6.7.8 kann helfenDer nächste Server wird als TLD-Server (Top Level Domain Name) bezeichnet. Der TLD-Server kennt alle Domänen der zweiten Ebene, die auf
.org
enden.
Er weiß jedoch nichts über die Subdomains von
wikipedia.org
, so dass er auch die IP-Adresse von
en.wikipedia.org
nicht kennt.
Der TLD-Nameserver weist den Resolver an, diese Frage an den Wikipedia-Nameserver zu stellen.
- Sie wissen nicht, wie Sie zu en.wikipedia.org gelangen sollen?
- Fragen Sie 11.21.31.41, er kennt die Websites in der Domain wikipedia.orgDer Resolver ist fast fertig. Ein Wikipedia-Nameserver wird als autorisierender Server bezeichnet. Er kennt alle Subdomains von
wikipedia.org
. So kennt er
en.wikipedia.org
und andere Subdomains wie die deutsche Version von
de.wikipedia.org
. Ein autorisierender Server teilt dem Resolver mit, unter welcher IP-Adresse HTML-Dateien für diese Site abgerufen werden können.
- Sie wissen nicht, wie Sie zu en.wikipedia.org gelangen sollen?
- Oh ja, gehen Sie einfach zu 208.80.154.224Der Resolver gibt die IP-Adresse
en.wikipedia.org
an das Betriebssystem zurück.
Dieser Vorgang wird als rekursive Auflösung bezeichnet, da Sie hin und her gehen müssen und verschiedenen Servern im Wesentlichen dieselbe Frage stellen müssen.
Ich sagte, dass wir einen Resolver brauchen, um bei der Suche zu helfen. Aber wie findet der Browser diesen Resolver? Im Allgemeinen fragt er das Betriebssystem.
"Ich brauche einen Resolver." Kannst du helfen?
- Lassen Sie mich Ihnen natürlich den von mir verwendeten Resolver vorstellenWoher weiß das Betriebssystem, welcher Resolver verwendet werden soll? Es gibt zwei Möglichkeiten.
Sie
können Ihren Computer
so konfigurieren, dass er einen bestimmten Resolver verwendet, dem Sie vertrauen. Aber nur sehr wenige Menschen tun dies.
Verwenden Sie stattdessen einfach die Standardeinstellungen. Standardmäßig verwendet das Betriebssystem den vom Netzwerk angegebenen Resolver. Wenn ein Computer eine Verbindung zum Netzwerk herstellt und seine IP-Adresse empfängt, empfiehlt das Netzwerk einen bestimmten Resolver.
- Darf ich eine IP-Adresse bekommen?
- Kein Problem! Und wenn Sie einen Resolver benötigen, empfehle ich diesenDies bedeutet, dass der verwendete Resolver mehrmals täglich gewechselt werden kann. Wenn Sie tagsüber in ein Café gehen, um zu arbeiten, verwenden Sie wahrscheinlich einen anderen Resolver als morgens. Dies geschieht auch dann, wenn Sie Ihren eigenen Resolver einrichten, da das DNS-Protokoll keine Sicherheit enthält.
Wie kann ich DNS ausnutzen?
Wie gefährdet dieses System Benutzer?
In der Regel teilt der Resolver jedem DNS-Server mit, nach welcher Domain Sie suchen. Diese Anfrage enthält manchmal Ihre vollständige IP-Adresse. Wenn es sich nicht um eine vollständige Adresse handelt, enthält die Anfrage häufig den größten Teil Ihrer IP-Adresse, die leicht mit anderen Informationen kombiniert werden kann, um Ihre Identität festzustellen.
Enthält den größten Teil Ihrer IP-Adresse ...
... und die komplette Domain, die Sie suchenDies bedeutet, dass jeder Server, den Sie um Hilfe bei der Auflösung von Domainnamen bitten, sieht, nach welcher Site Sie suchen. Darüber hinaus sieht jeder auf dem Weg zu diesen Servern auch Ihre Anfragen.
Es gibt verschiedene Möglichkeiten, wie ein solches System Benutzerdaten kompromittiert. Die beiden wichtigsten sind Tracking (Tracking) und Spoofing (Spoofing).
Tracking
Wie oben erwähnt, ist es nicht schwierig, die Identität der Person, die den Zugriff auf eine bestimmte Site anfordert, anhand vollständiger oder teilweiser Informationen über die IP-Adresse zu bestimmen. Dies bedeutet, dass der DNS-Server und jeder Benutzer auf dem Weg zu diesem DNS-Server (Router auf dem Weg) ein Benutzerprofil erstellen können. Sie können eine Liste aller von Ihnen angezeigten Websites erstellen.
Und das sind wertvolle Daten. Viele Menschen und Unternehmen sind bereit, viel zu bezahlen, um Ihren Browserverlauf zu sehen.
Wie viel sind Sie bereit, für Informationen darüber zu bezahlen, was John Doe sah?Auch wenn wir uns unterwegs keine Sorgen um potenziell berüchtigte DNS-Server oder -Router machen mussten, besteht dennoch das Risiko, dass Ihre Daten gesammelt und verkauft werden. Weil der Resolver selbst - den Sie vom Netzwerk erhalten haben - möglicherweise nicht zuverlässig ist.
Selbst wenn Sie dem empfohlenen Resolver aus dem Netzwerk vertrauen, verwenden Sie ihn wahrscheinlich nur zu Hause. Wie bereits erwähnt, erhalten Sie jedes Mal in einem Café, Hotel oder einem anderen Netzwerk wahrscheinlich einen anderen Resolver. Und wer weiß, wie seine Datenerfassungsrichtlinie lautet?
Neben der Tatsache, dass Ihre Daten ohne Ihr Wissen oder Ihre Zustimmung gesammelt und dann verkauft werden, wird das System noch gefährlicher eingesetzt.
Spoofing
Beim Spoofing ändert jemand auf dem Pfad zwischen Ihnen und dem DNS-Server die Antwort. Anstelle einer echten IP-Adresse teilt Ihnen der Betrüger die falsche IP-Adresse für die Site mit. Daher können sie den Zugriff auf eine reale Site blockieren oder eine gefälschte Version von Betrügern senden.
Senden Sie es an 1.6.6.6 ... dies ist eine absolut korrekte Adresse und keine gefälschte Website, die ich kontrolliereAuch hier kann der Resolver selbst infamös wirken.
Angenommen, Sie kaufen in einem Megastore-Geschäft ein. Sie möchten die Preise vergleichen und sehen, ob ein solches Produkt im konkurrierenden Online-Shop big-box.com billiger verkauft wird.
Aber wenn Sie Megastore WiFi in ihrem Handelsraum verwenden, dann verwenden Sie wahrscheinlich ihren Resolver. Er kann eine Anfrage an big-box.com abfangen und Sie anlügen, dass die Site nicht verfügbar ist.
Wie kann die Situation mit Trusted Recursive Resolver (TRR) und DNS über HTTPS (DoH) behoben werden?
Wir bei Mozilla sind der festen Überzeugung, dass wir für den Schutz der Benutzer und ihrer Daten verantwortlich sind, und arbeiten daher daran, diese Sicherheitsanfälligkeiten zu beheben.
Einführung zweier neuer Funktionen, um dies zu beheben: Trusted Recursive Resolver (TRR) und DNS über HTTPS (DoH). Weil es tatsächlich drei Bedrohungen gibt:
- Möglicherweise verwenden Sie einen nicht vertrauenswürdigen Resolver, der Ihre Anforderungen verfolgt oder Antworten von DNS-Servern fälscht.
- Router auf dem Weg können Anfragen verfolgen oder auf die gleiche Weise eingreifen.
- DNS-Server können DNS-Abfragen verfolgen.

Wie vermeide ich das?
- Vermeiden Sie unzuverlässige Resolver mit TRR.
- Schützen Sie sich mit DNS über HTTPS vor Abhören und Spoofing.
- Übertragen Sie so wenig Daten wie möglich, um Benutzer vor der De-Anonymisierung zu schützen.
Vermeiden Sie unzuverlässige Resolver mit TRR
Netzwerke empfehlen möglicherweise keine nicht vertrauenswürdigen Resolver mehr, die Benutzerdaten oder gefälschte DNS-Abfragen erfassen, da nur sehr wenige Benutzer sich der Risiken bewusst sind oder wissen, wie sie sich schützen können.
Selbst für Benutzer, die sich der Risiken bewusst sind, ist es für einen einzelnen Benutzer schwierig, mit seinem Anbieter oder einer anderen Organisation zu vereinbaren, dass sie mit ihren DNS-Abfragen verantwortungsbewusst umgehen.
Wir haben diese Risiken jedoch untersucht ... und wir haben einen gewissen Einfluss. Wir haben lange nach einem Unternehmen gesucht, das uns hilft, die DNS-Daten der Benutzer zu schützen. Und sie fanden eine solche:
Cloudflare .
Cloudflare bietet einen rekursiven Auflösungsdienst mit einer Datenschutzrichtlinie für Benutzer. Sie haben sich verpflichtet, alle personenbezogenen Daten nach 24 Stunden zu löschen und diese Daten niemals an Dritte weiterzugeben. Regelmäßige Überprüfungen werden durchgeführt, um sicherzustellen, dass die Daten tatsächlich wie versprochen gelöscht werden.
Dank dessen verfügen wir über einen vertrauenswürdigen Resolver zum Schutz der Privatsphäre der Benutzer. Dies bedeutet, dass Firefox den Netzwerk-Resolver ignorieren und direkt zu Cloudflare wechseln kann. Jetzt müssen Sie sich keine Sorgen mehr machen, dass Angreifer einen Resolver verwenden, um Benutzerdaten oder DNS-Spoofing zu verkaufen.
Warum haben wir einen Resolver gewählt? Cloudflare ist wie wir besorgt darüber, einen privaten DNS-Dienst zu erstellen. Gemeinsam mit uns haben sie einen guten transparenten DoH-Resolver entwickelt. Das Unternehmen hat sich bereitwillig um zusätzlichen Schutz des Dienstes bemüht, daher freuen wir uns, mit ihnen zusammenzuarbeiten.
Dies bedeutet jedoch nicht, dass Sie Cloudflare verwenden sollten. Benutzer können Firefox so konfigurieren, dass jeder rekursive DoH-fähige Resolver verwendet wird. Sobald neue Dienste verfügbar sind, planen wir, eine einfache Erkennung und einen Wechsel zwischen ihnen zu implementieren.
Schützen Sie sich mit DNS über HTTPS vor Abhören und Spoofing
Der Resolver ist jedoch nicht die einzige Bedrohung. Unterwegs befindliche Router können DNS-Abfragen verfolgen und fälschen, da sie auch den Inhalt von DNS-Abfragen und -Antworten anzeigen. Glücklicherweise gibt es im Internet bereits Technologien zum Schutz vor dem Abhören von Routern auf dem Weg. Dies ist die Verschlüsselung, über die ich gesprochen habe.
Die Verwendung von HTTPS zum Austausch von DNS-Paketen schützt die DNS-Abfragen unserer Benutzer vor Spionage.
Übertragen Sie so wenig Daten wie möglich, um Benutzer vor der De-Anonymisierung zu schützen
Neben dem vertrauenswürdigen Resolver, der unter dem DoH-Protokoll ausgeführt wird, arbeiten Cloudflare und ich an zusätzlichen Sicherheitsmaßnahmen.
In der Regel sendet der Resolver den vollständig qualifizierten Domänennamen an jeden Server: den Root-DNS, die Top-Level-Domain, den Second-Level-Domainnamenserver usw. Der Cloudflare-Server verhält sich jedoch anders. Es wird nur der Teil gesendet, der sich auf einen bestimmten DNS-Server bezieht. Dies wird als
QNAME-Minimierung bezeichnet .
"Sie wissen nicht, wie Sie zum .org-Server gelangen sollen?"Oft enthält der Resolver auch die ersten 24 Bits Ihrer IP-Adresse in der Anforderung. Auf diese Weise kann der DNS-Server herausfinden, wo Sie sich befinden, und das nächste CDN auswählen. DNS-Server können diese Informationen jedoch verwenden, um unterschiedliche Abfragen miteinander zu verknüpfen.
Stattdessen stellt Cloudflare eine Anfrage von einer seiner eigenen IP-Adressen, die sich neben dem Benutzer befindet. Dies ermöglicht die Geolokalisierung ohne Bezugnahme auf eine bestimmte Person. Wir untersuchen auch, wie ein noch besserer und feinerer Lastausgleich unter Berücksichtigung der Privatsphäre implementiert werden kann.
All dies - das Entfernen unnötiger Teile der Domäne und der IP-Adresse - bedeutet, dass der DNS-Server viel weniger Daten über Sie sammeln kann.

Was bleibt bei DoH von TRR übrig?
Diese Schutzmaßnahmen reduzieren die Anzahl der Personen, die den Verlauf der von Ihnen besuchten Seiten sehen können. Datenlecks werden jedoch nicht vollständig beseitigt.
Nachdem Sie eine DNS-Suche durchgeführt haben, müssen Sie unter dieser Adresse noch eine Verbindung zum Webserver herstellen, um eine IP-Adresse zu erhalten. Senden Sie dazu eine Anfrage. Die Anforderung enthält eine SNI (Server Name Indication), die die bestimmte Site auf dem Server angibt. Und diese Anfrage ist nicht verschlüsselt.
Das heißt, Ihr ISP kann immer noch herausfinden, welche Websites Sie besuchen, da diese direkt im SNI aufgeführt sind. Informationen sind auch für Router geöffnet, die die erste Anforderung von Ihrem Browser an den Webserver senden.
Sobald Sie jedoch eine Verbindung zum Webserver herstellen, wird alles verschlüsselt. Und am wichtigsten ist, dass diese verschlüsselte Verbindung für jede Site auf diesem Server verwendet werden kann und nicht nur für die, die Sie ursprünglich angefordert haben.
Dies wird manchmal als HTTP / 2-Verbindung bezeichnet, die eine Verbindung zusammenführt oder einfach wiederverwendet. Wenn Sie eine Verbindung zu einem kompatiblen Server herstellen, werden Sie darüber informiert, welche anderen Websites darauf gehostet werden. Sie können diese Websites dann über Ihre vorhandene verschlüsselte Verbindung besuchen.
Warum ist das nützlich? Weil Sie keine neue Verbindung öffnen müssen, um eine Verbindung zu diesen anderen Sites herzustellen. Das heißt, Sie müssen keine weitere unverschlüsselte erste Anforderung senden, die die SNI und die Offenlegung von Informationen auf der Site angibt, auf die Sie gehen. Sie können also alle anderen Sites auf demselben Server besuchen, ohne sie unterwegs Ihrem Provider und Ihren Routern mitzuteilen.
Mit der wachsenden Popularität von CDN werden immer mehr einzelne Websites von einem einzigen Server bedient. Und da mehrere einheitliche Verbindungen geöffnet sein können, stellen Sie gleichzeitig eine Verbindung zu mehreren gemeinsam genutzten Servern oder CDNs her und besuchen alle Standorte auf verschiedenen Servern, ohne dass Daten verloren gehen. Diese Funktion wirkt also immer effektiver als Schutzgitter.
Wie ist der Status?
Bereits in Firefox können Sie DNS über HTTPS aktivieren. Wir
empfehlen Ihnen, dies zu tun .
Wir möchten DoH standardmäßig für alle Benutzer aktivieren, da jeder Datenschutz und Sicherheit verdient, unabhängig davon, ob er über DNS-Lecks Bescheid weiß oder nicht.
Dies ist jedoch eine bedeutende Änderung, die zuerst getestet werden muss. Deshalb führen wir eine Studie durch. Die Hälfte unserer
Firefox Nightly- Benutzer bittet um Hilfe beim Sammeln von Leistungsdaten.
Beim Testen wird der Standard-Resolver wie bisher verwendet, es werden jedoch auch Anforderungen an den Cloudflare DoH-Resolver gesendet. Anschließend vergleichen wir das Ergebnis, um sicherzustellen, dass alles wie erwartet funktioniert.
Für Studienteilnehmer wird die Cloudflare-DNS-Antwort noch nicht verwendet. Wir überprüfen nur, ob alles funktioniert, und werfen dann die Cloudflare-Antwort aus.

Vielen Dank an die Nightly-Benutzer, die jeden Tag beim Testen von Firefox helfen. Wir hoffen, dass Sie uns auch helfen.