Warnung: macOS Sequoia 15 kann die DNS-Verschlüsselung umgehen
DNS-Verschlüsselung 101
- Wenn man in einem Webbrowser einen Hostnamen eingibt, z. B. apple.com, muss dieser Name in eine IP-Adresse aufgelöst werden, damit der Computer eine Verbindung zum Server herstellen kann
- Diese Abfrage erfolgt normalerweise unverschlüsselt, sodass Internetanbieter und andere Parteien, die die Verbindung überwachen, sehen können, welche Websites besucht werden
- Um diese Abfragen zu schützen, bietet Little Snitch 6 die neue Funktion DNS-Verschlüsselung
- Wenn die DNS-Verschlüsselung aktiviert ist, werden alle Namensauflösungen über Little Snitch in verschlüsselter Form ausgeführt
- Dafür registriert Little Snitch einen DNS-Proxy, und macOS sendet alle DNS-Anfragen an diesen Proxy, damit die Auflösung verschlüsselt erfolgt
Aber …
- Bei der Untersuchung von DNS-bezogenen Problemen in macOS 15 Sequoia wurde festgestellt, dass einige DNS-Anfragen, insbesondere solche über bestimmte Low-Level-Legacy-APIs, nicht an den Proxy weitergeleitet werden
- Offenbar gibt es in macOS Sequoia einen Bug, durch den einige Anfragen den installierten DNS-Proxy umgehen und unverschlüsselt an den Standard-Nameserver des Systems gesendet werden
- Dieser Bug betrifft möglicherweise nicht nur Little Snitch, sondern alle Arten von DNS-Proxys
- Wer also die neue DNS-Verschlüsselungsfunktion von Little Snitch 6 oder andere Drittanbieter-DNS-Proxys nutzt, sollte sich bewusst sein, dass einige DNS-Abfragen den Proxy umgehen können, bis Apple das Problem in einem zukünftigen macOS-Update behebt
- DNS-Abfragen über High-Level-APIs sind von diesem Bug hingegen nicht betroffen. Web-Browsing in Safari oder Chrome profitiert also weiterhin von verschlüsselten Abfragen. Firefox könnte dagegen betroffen sein
Reproduktion
- DNS-Verschlüsselung in den Little-Snitch-Einstellungen aktivieren
- Wireshark mit dem Capture-Filter
port 53 starten
- Den folgenden Code in einem Xcode-Playground ausführen:
import Foundation
let domain = "dnsproxytest.com"
var result: UnsafeMutablePointer<addrinfo>?
let status = getaddrinfo(domain, nil, nil, &result)
- Man kann sehen, dass die Abfrage für
dnsproxytest.com in Wireshark unverschlüsselt über UDP-Port 53 erscheint, dem Standard für unverschlüsselte Abfragen
- Außerdem zeigt der Netzwerkmonitor von Little Snitch keinerlei Traffic für diese Abfrage an. Das deutet darauf hin, dass die Abfrage den Netzwerkfilter vollständig umgangen hat
- Der Bug wurde Apple gemeldet, und es wird auf eine schnelle Behebung gehofft. Weitere Updates sollen folgen
Update 2024-09-17, 19:10 Uhr
- Weitere Untersuchungen haben ergeben, dass dieser Bug mindestens seit macOS 14.5 Sonoma existiert und möglicherweise auch in noch älteren Versionen vorhanden ist. Da aktuell kein Zugriff auf ältere 14.x-Systeme besteht, konnte dies nicht getestet werden
Zusammenfassung von GN⁺
- Dieser Artikel behandelt einen Bug in macOS Sequoia 15, durch den die DNS-Verschlüsselung umgangen werden kann
- DNS-Verschlüsselung ist eine wichtige Funktion zum Schutz der Privatsphäre von Internetnutzern
- Der Bug betrifft insbesondere DNS-Anfragen, die über Low-Level-Legacy-APIs erfolgen
- Bis Apple das Problem behebt, sollten Nutzer sich bewusst sein, dass einige DNS-Abfragen unverschlüsselt sein können
- Andere Projekte mit ähnlicher Funktionalität sind DNS-Filtering-Lösungen wie Pi-hole
1 Kommentare
Vielen Dank für diese wichtigen Informationen.
Es ist auf jeden Fall beruhigend, dass man sich bei Safari und Chrome erst einmal keine Sorgen machen muss.