Ungeachtet der Vorteile ist ein Verständnis der praktischen Verbreitung und der Konfiguration von DMARC wichtig. Um dies zu klären, wurde eine umfassend angelegte Analyse durchgeführt, die sich auf die deutsche Top-Level-Domain (.de) konzentrierte. Die Untersuchung umfasste die Prüfung von DNS-Einträgen von über 11,6 Millionen aktiven .de-Domains. Ziel war es, die Verbreitung des DMARC-Einsatzes zu bestimmen, die konfigurierten Richtlinien zu bewerten und den Reifegrad der E-Mail-Authentifizierung innerhalb einer prominenten länderspezifischen Top-Level-Domain zu ermitteln.
Die Analyse des DMARC-Implementierungsstatus, selbst innerhalb einer einzelnen Top-Level-Domain, stellt ein bedeutendes Unterfangen dar. Daher wurde eine Methodik entwickelt, die auf eine umfangreiche Datenerfassung und strenge Analyseverfahren setzt. Die vorliegende Untersuchung konzentriert sich ausschließlich auf Organisationsdomains, die unter der Top-Level-Domain `.de` registriert sind, und schließt Subdomains von der Analyse aus.
Datenerfassung
Wir haben Domainnamen aus verschiedenen Quellen zusammengetragen, um eine umfassende Liste zu erstellen. Dazu gehören der Common Crawl URL-Index (insbesondere die Version CC-MAIN-2024-30), verschiedene öffentlich zugängliche Domainlisten und kommerzielle Domaindaten (Stand März 2025). Auf die Verwendung von .de-Zonendateien wurde in dieser Studie verzichtet, da diese in der Regel nicht von der DENIC freigegeben werden.
Die Rohdaten wurden auf Qualität und Eindeutigkeit geprüft. Wir haben die Domainvalidität anhand der Public Suffix List überprüft, um ungültige Einträge herauszufiltern, und uns ausschließlich auf Organisationsdomains konzentriert.
Es ist zu beachten, dass diese aggregierten Listen Domains enthalten können, die inzwischen abgelaufen sind oder nie registriert wurden. Außerdem besteht die Möglichkeit, dass einige Quellen Honeypots oder digitale Wasserzeichen (eindeutige Domainnamen, die eingefügt werden, um die Nutzung der Liste nachzuverfolgen) enthalten. In unserem spezifischen Quellenmix sind uns jedoch keine solcher Domains aufgefallen.
Datenerhebung
Wir verwendeten massdns, einen leistungsstarken Stub-Resolver, der für seine Fähigkeit bekannt ist, eine große Anzahl von DNS-Lookups gleichzeitig zu verarbeiten.
Wir wählten absichtlich ein Profil mit geringer Parallelisierung für massdns mit den Parametern hashmap-size 2, resolve-count 3 und retry never. Diese Konfiguration wurde gewählt, um die Last auf den öffentlichen Resolvern zu minimieren. Erste Tests zeigten, dass Wiederholungsversuche bei dieser Konfiguration extrem selten waren, sodass die Einstellung retry never akzeptabel war.
Um die Zuverlässigkeit zu gewährleisten und eine Überlastung eines einzelnen Anbieters zu vermeiden, haben wir massdns so konfiguriert, dass es einen Pool von 27 vertrauenswürdigen, öffentlichen DNS-Resolver abfragt, darunter bekannte Dienste wie Google Public DNS (8.8.8.8), Cloudflare (1.1.1.1) und Quad9 (9.9.9.9). Die Abfragen wurden auf mehrere AWS EC2 Spot-Instanzen verteilt, um die Arbeitslast effektiv zu verwalten.
Alle DNS-Antworten (einschließlich Erfolge, Timeouts, Fehler wie NXDOMAIN usw.) wurden im newline-delimited JSON (ndjson)-Format protokolliert, einschließlich Metadaten wie Time-To-Live (TTL)-Werte und die spezifischen Resource Record (RR)-Daten innerhalb der ndjson-Ausgabe. Der gesamte Rohdatensatz belief sich auf etwa 20 GB.
Aufgrund der parallelen Datenerfassung über mehrere Instanzen war es möglich, dass dieselbe Domain mehr als einmal abgefragt wurde. Diese doppelten DNS-Antworteinträge wurden in der späteren Datenverarbeitungsphase identifiziert und herausgefiltert.
Für jede Domain in unserer Liste haben wir speziell nach den folgenden DNS-Eintragstypen gefragt:
- MX-Einträge (Mail Exchanger) für die Domain selbst.
- TXT (Text)-Einträge für die Domain selbst.
- TXT-Records für die entsprechende _dmarc-Subdomain (z. B. _dmarc.example.de) zum Abrufen der DMARC-Richtlinie.
Die DNS-Datenerfassung erfolgte in einem bestimmten Zeitraum zwischen dem 17. April 2025 und dem 23. April 2025. Die Abfrage von MX- und organisatorischen TXT-Einträgen dauerte etwa 4 Tage, während die spezifischen _dmarc-TXT-Einträge in 2 Tagen abgefragt wurden.
Verarbeitung der Daten
Die ndjson-Rohdaten wurden mit selbsterstellten Python-Skripten verarbeitet. Jede Zeile (die ein JSON-Objekt für eine einzelne DNS-Anfrage und -Antwort darstellt) wurde geparst und analysiert. Die relevanten Informationen wurden in einem strukturierten, für die Analyse geeigneten Format zusammengefasst.
In Anbetracht der Komplexität und der möglichen Variationen in der Syntax der DMARC-Datensätze haben wir speziell für dieses Projekt eine eigene Python-Bibliothek entwickelt. Diese Bibliothek wurde so konzipiert, dass sie robust gegen Parsing-Fehler ist und sich streng an die DMARC-Spezifikation in RFC 7489 hält.
Für SPF-Datensätze (die in TXT-Datensätzen auf der Ebene der Organisationsdomain zu finden sind) führten wir eine gezielte Analyse anstelle eines vollständigen, rekursiven Parsings durch. Unsere Skripte konzentrierten sich darauf, das Vorhandensein von SPF-Datensätzen zu identifizieren und Schlüsseleigenschaften zu extrahieren, wie z. B. den all-Mechanismus (~all, -all, ?all). SPF-Einträge wurden nicht rekursiv aufgelöst, da dies mehr DNS-Anfragen erfordern würde.
Um die Genauigkeit unserer Erfassungs- und Verarbeitungspipeline sicherzustellen, führten wir manuelle Validierungsprüfungen durch. Es wurde eine Zufallsstichprobe von Domains ausgewählt, deren relevante DNS-Einträge (MX, TXT, _dmarc.TXT) manuell mit dem Standard-Befehlszeilentool dig abgefragt wurden. Die über dig erhaltenen Ergebnisse wurden mit den von unserem System verarbeiteten Daten verglichen, um die Konsistenz und Korrektheit zu bestätigen.
Es wurden Optimierungen implementiert, um die Belastung der DNS-Server während der Datenerfassung so gering wie möglich zu halten. Die mit dieser Methode beschafften Datensätze stammen aus öffentlich zugänglichen Einträgen und sind selbst offen zugänglich. Darüber hinaus wurden bei der Verwaltung aller gesammelten Informationen ethische Standards und Datenschutzpraktiken eingehalten, um einen verantwortungsvollen Umgang während des gesamten Prozesses zu gewährleisten.