Bei einem Homograph-Angriff registrieren Betrüger eine Domain, deren Buchstaben aus einem anderen Alphabet stammen, aber genauso aussehen wie die echten, etwa ein kyrillisches „а“ statt des lateinischen „a“. Technisch ist das eine andere Domain, die intern als Punycode mit dem Präfix xn-- gespeichert wird. Moderne Browser zeigen verdächtige Fälle als Punycode an.
2017 zeigte der Sicherheitsforscher Xudong Zheng eine Website, deren Adresse in Chrome, Firefox und Opera als apple.com erschien. Kein einziger Buchstabe war lateinisch. Er hatte eine Domain aus kyrillischen Zeichen registriert, die zufällig genauso aussehen. Das war kein neuer Trick, aber eine eindrucksvolle Demonstration, dass die damaligen Browserregeln nicht ausreichten. Ein solcher Homograph-Angriff funktioniert, weil Menschen Formen lesen und Computer Codepunkte.
Was ist ein Homograph-Angriff?
Homographen sind Zeichen, die gleich aussehen, aber verschieden sind. Das lateinische a (U+0061) und das kyrillische а (U+0430) sind im Druck kaum zu unterscheiden. Für das DNS sind es zwei völlig verschiedene Zeichen, also auch zwei verschiedene Domains.
Möglich wird das durch internationalisierte Domainnamen, kurz IDN. Seit es sie gibt, können Domains Umlaute, Akzente und ganze nicht-lateinische Schriften enthalten. Das ist ein Fortschritt für alle, die nicht auf Englisch schreiben, und gleichzeitig eine Einladung für Fälschungen.
Punycode: die echte Schreibweise einer Domain
Das DNS selbst kennt nur Buchstaben, Ziffern und Bindestrich. Internationalisierte Domains werden deshalb in eine ASCII-Form umgewandelt, den Punycode, erkennbar am Präfix xn--. Du kannst das mit Python selbst ausprobieren:
python3 -c "print('аррӏе'.encode('idna'))"
b'xn--80ak6aa92e'
Die fünf Zeichen in Anführungszeichen sind kyrillisch. Was aussieht wie „apple“, heißt im DNS xn--80ak6aa92e. Mit einer Umlaut-Domain sieht es so aus:
python3 -c "print('müller'.encode('idna'))"
b'xn--mller-kva'
Das zweite Beispiel ist harmlos, das erste ist der Kern des Problems. Beide beginnen mit xn--. Punycode allein ist also kein Alarmsignal, aber er zeigt dir, was wirklich registriert ist.
Wann Browser Punycode statt Buchstaben anzeigen
Die großen Browser haben nach 2017 nachgeschärft. Chrome prüft jede Domain in mehreren Schritten und zeigt sie als Punycode an, wenn einer davon anschlägt. Nach der Chromium-Dokumentation gehören dazu:
| Prüfung | Beispiel | Ergebnis in Chrome |
|---|---|---|
| Mischung von Schriften, die verwechselbar ist | lateinisch + kyrillisch in einem Wort | Punycode |
| Ganze Domain aus verwechselbaren Zeichen einer fremden Schrift, Endung passt nicht | аррӏе.com (kyrillisch) | Punycode, xn--80ak6aa92e.com |
| Ähnlichkeit mit einer sehr bekannten Domain | googlé.com | Punycode |
| Unsichtbare oder gefährliche Zeichen | Null-Breite-Zeichen | Punycode |
| Normale Umlaut-Domain | müller.de | Unicode, also normal lesbar |
Zusätzlich blendet Chrome eine Warnseite ein, wenn eine Adresse einer bekannten oder von dir häufig besuchten Domain zum Verwechseln ähnlich sieht. Alle diese Prüfungen laufen lokal im Browser.
Firefox arbeitet mit einem Regelwerk auf Basis des Unicode-Standards UTS #39 und zeigt Domains als Punycode, wenn sie Schriften auf unzulässige Weise mischen. Über network.IDN_show_punycode in about:config kannst du Firefox anweisen, alle internationalisierten Domains als Punycode anzuzeigen.
Diese Regeln greifen gut gegen die bekannten Muster. Sie sind aber Heuristiken. Verlass dich nicht darauf, dass dir jede Fälschung als xn-- angezeigt wird, besonders in Mail-Programmen und Messengern, die Links anders darstellen als der Browser.
Wo Homographen trotzdem durchrutschen
Gefährlicher als der Browser sind Stellen, an denen niemand die Adresse genau liest:
- Mail-Clients und Messenger, die verlinkten Text anzeigen, nicht die Ziel-URL.
- Ähnliche Zeichen innerhalb des lateinischen Alphabets, etwa
rnstattmoder die Ziffer0statto. Das ist eher Typosquatting als ein Homograph-Angriff, wirkt aber ähnlich. - Absender von E-Mails, wo die Domain im Anzeigenamen versteckt wird.
- QR-Codes, deren Ziel du vor dem Öffnen kaum prüfst.
Wie du verdächtige Domains generell auseinandernimmst, steht unter Phishing-Domain erkennen.
Schutz für Nutzer
Ein paar Gewohnheiten fangen fast alle Fälle ab. Logins und Bankseiten über Lesezeichen oder durch Eintippen öffnen, nicht über Links in Mails. Einen Passwortmanager nutzen, der Daten nur auf der exakt gespeicherten Domain ausfüllt. Bietet er auf einer scheinbar bekannten Seite nichts an, ist das ein Grund, genau hinzusehen. Und Passkeys oder Sicherheitsschlüssel als zweiten Faktor, denn die sind an die echte Domain gebunden und funktionieren auf einer Fälschung schlicht nicht.
Wenn du eine solche Seite findest, melde sie. Wie das geht, steht im Ratgeber Phishing-Seite melden.
Homographen der eigenen Marke beobachten
Wenn du eine Marke betreibst, willst du wissen, ob jemand gerade eine Fälschung vorbereitet. Dafür gibt es zwei Quellen, die beide öffentlich sind.
Die erste sind die Certificate-Transparency-Logs. Fast jede Phishing-Seite braucht ein TLS-Zertifikat, und jedes öffentlich vertraute Zertifikat wird dort protokolliert. Eine Suche bei crt.sh nach dem Punycode-Präfix xn-- in Kombination mit deiner Endung zeigt dir allerdings zu viele Treffer. Sinnvoller ist ein Werkzeug, das Varianten deines Namens erzeugt und gezielt danach sucht.
Das Open-Source-Werkzeug dnstwist, das im Artikel über Typosquatting beschrieben ist, erzeugt auch Homoglyphen-Varianten, also Domains mit verwechselbaren Zeichen, und zeigt sie in Unicode und als Punycode an. Du siehst damit, welche dieser Varianten bereits registriert sind und ob sie einen Mailserver oder eine Website haben.
Die zweite Quelle sind deine eigenen Kunden. Richte eine Adresse ein, an die sie verdächtige Mails weiterleiten können, und nenne sie auf deiner Website. Wer täglich Phishing-Meldungen sieht, erkennt eine neue Kampagne oft Stunden früher als jedes Werkzeug.
Findest du eine aktive Fälschung, melde sie beim Registrar und beim Hoster. Bei Homographen ist der Missbrauch meist leicht zu belegen, denn eine kyrillische Kopie einer deutschen Bank hat selten eine harmlose Erklärung.
Schutz für Domaininhaber
Ob ein Homograph deiner Domain überhaupt registrierbar ist, hängt von der Endung ab. Jede Registry legt fest, welche Zeichen sie zulässt und ob Schriften gemischt werden dürfen. Für eine bekannte Marke lohnt es sich, gezielt nachzusehen, welche IDN-Varianten unter den wichtigen Endungen möglich sind.
Die naheliegenden Schreibweisen deines Namens kannst du mit einer Domain-Suche für deine Marke prüfen, auch Umlaut-Varianten wie deine-märke.de. Für Endungen mit IDN-Unterstützung siehst du die Konditionen auf den Seiten zur .de-Endung und zur .eu-Endung. Welche Varianten du am Ende registrierst, ist eine Abwägung zwischen Risiko und laufenden Kosten. Für Marken, die Zahlungen abwickeln, sind die zwei, drei offensichtlichsten Fälschungen die Gebühr meist wert.
Domain gefunden? Prüfen und registrieren kannst du sie direkt bei Domain ohne Lockvogelpreis – Jahrespreis ab 2,99 €.
Häufige Fragen
Was bedeutet xn-- am Anfang einer Domain?
Das Präfix xn-- kennzeichnet eine internationalisierte Domain in ihrer ASCII-Form, dem sogenannten Punycode. Aus „müller.de“ wird zum Beispiel „xn--mller-kva.de“. Das ist erst einmal nichts Verdächtiges. Zeigt der Browser aber Punycode, wo du einen bekannten Markennamen erwartest, ist Vorsicht angebracht.
Kann ich Firefox so einstellen, dass immer Punycode angezeigt wird?
Ja. In about:config setzt du network.IDN_show_punycode auf true. Dann zeigt Firefox alle internationalisierten Domains als xn--, auch harmlose wie Umlaut-Domains. Für die meisten ist das zu viel, für Menschen, die oft mit Zahlungsdaten arbeiten, kann es sinnvoll sein.
Sind Umlaut-Domains wie bäcker.de unsicher?
Nein. Umlaute sind Teil der deutschen Schreibweise, und Browser zeigen sie normal an. Problematisch sind Mischungen aus verschiedenen Alphabeten oder Domains, die komplett aus fremden Zeichen bestehen und dabei wie ein bekanntes lateinisches Wort aussehen.
Schützt ein Passwortmanager vor Homograph-Angriffen?
Ziemlich gut. Ein Passwortmanager füllt Zugangsdaten nur auf der exakt gespeicherten Domain aus. Auf einer Fälschung mit kyrillischem Buchstaben bietet er nichts an, auch wenn die Adresse für dich identisch aussieht. Das ist ein deutliches Warnsignal.