9 Min. LesezeitCompliance

Homograph-Angriff: Wie eine Lookalike-Domain dich täuscht

Ein Homograph-Angriff versteckt eine gefälschte Domain hinter Punycodes xn--Kodierung und täuschend ähnlichen Zeichen. Wie der Trick funktioniert und wie du einen Link zuerst überprüfst.

Sasha Ehrlich
Compliance · EU residency
Eine Browser-Adressleiste, die einen Homograph-Angriff zeigt, mit der täuschenden Domain und der Punycode-Form mit dem xn--Präfix, aus der sie dekodiert wird, in der Elido-Markenpalette

Ein Homograph-Angriff registriert eine Domain aus Zeichen, die identisch aussehen wie die einer echten Domain, es aber nicht sind - ein kyrillisches "a", das für ein lateinisches "a" steht, zum Beispiel -, sodass die Adresse, die ein Mensch liest, und die Adresse, die ein Browser auflöst, zwei verschiedene Dinge sind. Der Trick funktioniert, weil das Domain Name System nur ASCII versteht, sodass jede Nicht-ASCII-Domain in eine ASCII-Form namens Punycode übersetzt wird, markiert mit einem xn--Präfix, bevor sie überhaupt mit DNS in Berührung kommt. Browser dekodieren das für die Anzeige zurück in die lesbare Version, und genau in diesem Dekodierschritt steckt die Täuschung.

Moderne Browser fangen die offensichtlichen Fälle inzwischen ab und zeigen rohes Punycode, wenn ein Label Schriften auf verdächtige Weise mischt, wodurch die meisten der einfachen Angriffe wegfallen, die vor zehn Jahren noch funktionierten. Aber dieser Schutz verlässt die Adressleiste des Browsers nicht.

Ich beschäftige mich beruflich mit Fällen von Brand-Spoofing, und gute Fälschungen lassen mich immer noch für eine halbe Sekunde zögern, bevor mir der Verräter auffällt. Dieser Beitrag behandelt, wie ein Homograph-Angriff funktioniert, wo die Verteidigung des Browsers endet, und was dagegen zu tun ist - egal, ob du kurz davor bist zu klicken oder dir die gespoofte Domain gehört. Für die weiter gefasste Frage, ob Kurzlinks selbst vertrauenswürdig sind, deckt sind URL-Shortener sicher dieses Terrain ab; hier geht es um die Domain, die unter dem Link liegt.

Was Punycode ist und warum es das gibt

DNS wurde für ASCII gebaut, Punkt. Es hat keine native Möglichkeit, die akzentuierten Buchstaben, kyrillischen, arabischen oder chinesischen Zeichen zu speichern, aus denen der Großteil der Schriftsysteme der Welt besteht - ein echtes Problem in dem Moment, als die Domain-Registrierung sich außerhalb englischsprachiger Märkte öffnete.

Punycode ist die Lösung: eine umkehrbare Kodierung, standardisiert als RFC 3492, die ein Unicode-Label in ASCII-Buchstaben, -Ziffern und -Bindestriche umwandelt, die DNS ohne jede Änderung am Übertragungsprotokoll transportieren kann. Eine deutsche Bäckerei, die eine Domain mit Umlaut registriert, oder ein ukrainischer Händler, der eine in Kyrillisch registriert, bekommt einen funktionierenden internationalisierten Domainnamen, der genau wie jeder andere aufgelöst wird, weil darunter einfach ein weiteres ASCII-Label steckt. Die kodierte Form beginnt immer mit xn--, ein Signal: "Das hier ist Punycode, dekodiere es, bevor du es einem Menschen zeigst."

Nichts davon ist für sich genommen eine Schwachstelle - internationalisierte Domainnamen sind ein echtes, notwendiges Feature, kein Workaround, den irgendjemand deaktivieren sollte. Das Problem beginnt eine Ebene höher, in dem Moment, in dem ein Browser entscheidet, wie er dir diesen dekodierten Namen anzeigt.

Wie ein Homograph-Angriff funktioniert

Ein Homograph-Angriff nutzt die Lücke zwischen dem, was eine Domain enthält, und dem, wie sie nach dem Rendern aussieht. In der Praxis tauchen zwei Varianten auf, und sie sind nicht gleich verbreitet.

Die Ganzschrift-Variante registriert eine komplette Domain in einer nicht-lateinischen Schrift, deren Buchstabenformen zufällig der Zielmarke ähneln. Sie ist auffällig im Aufbau und für Verteidiger leichter zu erkennen, weil das gesamte Label fremd ist.

Die Mischschrift-Variante ist die, die tatsächlich zum Einsatz kommt, weil sie nur eine einzige Ersetzung braucht. Nimm eine Domain wie novacloud.com. Tausche das lateinische "o" gegen das optisch identische kyrillische "о" (U+043E), und du erhältst nоvacloud.com - gleiche Form, gleiche Länge, anderer Code-Point, und eine Domain, die zu xn--nvacloud-nbh.com kodiert. Alles andere im Label bleibt unangetastet, sodass das Auge fast nichts hat, worauf es reagieren könnte. Sicherheitsforscher nennen diese Art von Lookalike-Paar ein "Confusable," und eine Handvoll davon deckt den Großteil des lateinischen Alphabets ab.

Gegenüberstellung der echten Domain novacloud.com in lateinischer Schrift, der Lookalike-Domain mit einem gegen das lateinische o getauschten kyrillischen o, und der xn--nvacloud-nbh.com-Form, die ein Browser darunter offenlegt

Ist die Domain erst registriert, ist der Rest des Angriffs gewöhnliches Phishing: eine Pixel für Pixel kopierte Login-Seite, eine dringliche Nachricht, die auf den gespooften Link verweist, und ein Ziel, das keinen Grund hat, an einer Adresse zu zweifeln, die exakt richtig aussieht.

Was Browser heute dagegen tun

Browser-Hersteller haben die einfache Version dieses Angriffs vor Jahren größtenteils mit einer Regel geschlossen, welche Schriften sich in einem Label mischen dürfen. Chromes Richtlinie, dokumentiert in seinem IDN-Handling-Guide, prüft, ob jedes Zeichen in einem Label plausibel zu einer einzigen Schrift gehört oder zu einer kleinen Gruppe von Schriftkombinationen, die legitim zusammen auftreten, wie japanisches Kanji mit Hiragana. Werden Schriften außerhalb dieser erlaubten Gruppe gemischt, zeigt der Browser die rohe xn--Form statt sie zu dekodieren - das größte Kapital des Angriffs, eine völlig normal aussehende Domain, verwandelt sich zurück in eine offensichtlich kodierte Zeichenfolge. Firefox führt eine vergleichbare Prüfung durch, beschrieben in Mozillas IDN-Display-Algorithmus, und Safari wendet seine eigene Version an.

Vollständigen Schutz bietet das nicht. Ein Mischschrift-Label, das nur aus Zeichen innerhalb einer erlaubten Kombination besteht, kann trotzdem als lesbarer, täuschender Name durchschlüpfen, und die Regel wird browserweise durchgesetzt, ohne eine gemeinsame Instanz, die entscheidet, was als sicher gilt.

Wo dieser Schutz endet

Die Prüfung auf Schriftmischung steckt im Rendering-Code der Adressleiste des Browsers. Sie reist nicht mit der URL an andere Orte mit, und genau in dieser Lücke richtet eine gespoofte Domain noch echten Schaden an.

E-Mail-Clients sind die größte Angriffsfläche: Eine Nachricht kann beliebigen Ankertext über einem Link anzeigen, unabhängig vom Ziel, und die meisten Mail-Apps führen überhaupt keine Confusable-Prüfung durch. Chat-Apps entfalten einen geteilten Link zu einer Vorschaukarte aus Seiten-Metadaten, nicht mit einem Punycode-bewussten Renderer. QR-Codes entfernen den Textschritt vollständig, eine Lücke, die wir in sind QR-Codes sicher behandeln, und gedrucktes Material hat gar keine Software-Schicht zwischen Auge und Täuschung.

KanalZeigt das echte Ziel, bevor du handelstTypische Angriffsfläche
Moderner Desktop-BrowserMeist, dank Regeln zur SchriftmischungNiedrig bei gängigen, aktuell gehaltenen Browsern
E-Mail-ClientSelten - Ankertext kann alles behauptenHoch, besonders bei mobilen Mail-Apps
Chat- und Messaging-AppsSelten - Link-Vorschauen nutzen MetadatenHoch, entfaltete Links sehen identisch aus
QR-CodeNein - nichts wird vor dem Scan angezeigtHoch, die Entscheidung fällt in einem Sekundenbruchteil
Gedrucktes MaterialNie - es ist gar keine Software beteiligtAm höchsten, keine technische Prüfung möglich

Wenn dein Team Links unter einer Domain verschickt, die deine Kunden bereits wiedererkennen, hat eine gespoofte Lookalike-Domain deutlich weniger Spielraum, dich über all diese Kanäle hinweg gleichzeitig überzeugend nachzuahmen. Sieh dir an, wie eine benutzerdefinierte Markendomain bei Elido funktioniert, falls du deine Links noch von einer geteilten oder generischen Domain aus verschickst.

Warum eine Markendomain deine beste Verteidigung ist

Ein Homograph-Angriff funktioniert, indem er Wiedererkennbarkeit ausnutzt - er braucht eine erkennbare Marke, um sie zu fälschen. Das klingt wie ein Argument gegen den Aufbau einer eigenen, erkennbaren Domain, ist aber das Gegenteil. Ein unverwechselbarer Branded Short Link, den dein Publikum bereits mit dir verbindet, ist etwas, womit es eine verdächtige Nachricht vergleichen kann; eine generische oder geliehene Shortener-Domain gibt einem Angreifer ohnehin eine Vorlage, die Kunden nicht vom echten Anbieter unterscheiden können, weil keine von beiden aussieht wie "du".

Eine benutzerdefinierte Domain für Kurzlinks einzurichten bedeutet, dass jeder Link, den du verschickst, einen Namen trägt, den Empfänger wiedererkennen, was die Hürde für jeden erhöht, der ihn fälschen will. Das lohnt sich von Link-Cloaking und URL-Masking abzugrenzen, einer bewussten, offengelegten Entscheidung, Links über die eigene Domain zu leiten. Ein Homograph-Angriff ist der gegenteilige Schachzug - er verschleiert die Identität des Angreifers, während er deine imitiert -, und die Verteidigung ist Transparenz darüber, welche Domain wirklich dir gehört.

Die Registrar-Kontrollen, auf die es wirklich ankommt

Zwei Kontrollen leisten den Großteil der eigentlichen Arbeit, sobald du eine schützenswerte Domain besitzt, und sie greifen auf unterschiedlichen Ebenen des Stacks.

Registrar Lock ist die alltägliche Kontrolle - ein Statusflag, oft als clientTransferProhibited angezeigt, das routinemäßige automatisierte Transferanfragen innerhalb des eigenen Registrar-Dashboards blockiert. Jede Domain, die du aktiv nutzt, sollte das aktiviert haben; es kostet nichts. Registry Lock sitzt eine Ebene höher und schaltet den Registry-Betreiber direkt ein, sodass jede Änderung, Übertragung oder Löschung eine manuelle Verifizierung außerhalb des üblichen Kanals braucht - einen Anruf oder eine sichere Passphrase -, bevor sie wirksam wird. Diese Reibung gehört auf die eine oder zwei Domains, bei denen eine unautorisierte Änderung wirklich teuer würde, was für die meisten Unternehmen mindestens die primäre Markendomain bedeutet.

Keines der beiden Locks hindert jemanden daran, eine Lookalike-Domain neben deiner zu registrieren. Dafür braucht es aktives Monitoring: das Beobachten neuer Domain-Registrierungen und öffentlicher Certificate-Transparency-Logs nach Namen, die optisch nah an deiner Marke liegen, damit du es dem Registrar melden oder Kunden warnen kannst, bevor eine Kampagne damit irgendjemanden erreicht.

Was in eine Brand-Protection-Richtlinie gehört

Wenn du eine Domain besitzt, die sich zu spoofen lohnt, sollte der Sicherheitsabschnitt deiner Brand-Protection-Richtlinie konkret genug sein, dass jemand, der neu im Team ist, ihn umsetzen könnte, ohne dich vorher zu fragen.

  • Registrar Transfer Lock auf jeder Domain, die dem Unternehmen gehört, mit zusätzlichem Registry Lock auf der primären Markendomain und allem, was Zahlungen oder Logins abwickelt.
  • Ein wiederkehrender Rhythmus für das Scannen neuer Domain-Registrierungen und Certificate-Transparency-Logs nach Namen, die optisch nah an deiner Marke liegen, keine einmalige Prüfung.
  • Defensive Registrierung der risikoreichsten Lookalike-Labels und verwechselbaren Top-Level-Domains, die du rechtfertigen kannst, priorisiert danach, wie nah sie an deine primäre Domain herankommen.
  • Ein benannter Verantwortlicher und ein Eskalationspfad, um eine entdeckte Lookalike-Domain ihrem Registrar zu melden, plus interne Anleitung, damit Support-Mitarbeiter das Muster erkennen, wenn ein Kunde eine meldet. Die Sicherheits-Checkliste für die Wahl eines Link-Anbieters behandelt die angrenzenden Anbieter-Kontrollen.

Ein Verifizierungsrezept, dem jeder folgen kann

Du musst Punycode nicht verstehen, um einen Link sicher zu prüfen. Vier Schritte, in dieser Reihenfolge ausgeführt, fangen fast alles ab, worauf sich ein Homograph-Angriff verlässt.

  1. Klappe den Link zuerst auf, statt direkt draufzuklicken. Wie du siehst, wohin eine Kurz-URL führt geht die Tools dafür durch, und Elidos eigener Link-Checker macht dasselbe, ohne dass du dem Ziel erst vertrauen musst.
  2. Lies die registrierbare Domain - den Teil unmittelbar vor der Top-Level-Domain - statt irgendetwas, das davor erscheint. Das ist der Teil, den ein Angreifer vollständig kontrollieren muss.
  3. Achte auf ein xn--Präfix, entweder in der rohen aufgeklappten URL oder in der Adressleiste deines Browsers. Siehst du eines, wo du einen einfachen Markennamen erwartet hast, halte inne und behandle es bis zum Beweis des Gegenteils als Lookalike.
  4. Bestätige den Zertifikatsnamen auf der Zielseite. Ein Zertifikat spiegelt wider, was einem Domain-Inhaber tatsächlich ausgestellt wurde, was sich deutlich schwerer überzeugend fälschen lässt als ein gerendertes Label.
Vier Verifizierungsschritte vor dem Klick auf einen Link: den Kurzlink aufklappen, die registrierbare Domain lesen, auf ein xn--Präfix prüfen und den Zertifikatsnamen bestätigen

Keiner dieser Schritte dauert mehr als ein paar Sekunden, sobald sie zur Gewohnheit geworden sind, und du kannst alle vier einem nicht-technischen Kollegen in der Zeit beibringen, die es braucht, diesen Abschnitt einmal zu lesen.

Ein Homograph-Angriff ist ein Anzeigeproblem im Sicherheitskostüm. Punycode tut genau das, wofür es entwickelt wurde; die Täuschung passiert in der Lücke zwischen dem, was eine Domain ist, und dem, was ein Stück Software dir stattdessen zeigt. Browser haben den Großteil dieser Lücke für die Adressleiste geschlossen. Überall sonst ist die Lücke noch offen, weshalb das Aufklappen eines Links und das Lesen der registrierbaren Domain die Gewohnheit bleibt, die funktioniert, egal welcher Kanal den Link vor dich gebracht hat.

Verwandt im Blog

Häufig gestellte Fragen

Was ist ein IDN-Homograph-Angriff?

Ein IDN-Homograph-Angriff registriert eine Domain mit Zeichen aus einer anderen Schrift, die identisch oder nahezu identisch zu denen einer echten Domain aussehen, sodass ein Leser die beiden optisch nicht auseinanderhalten kann. Der klassische Fall tauscht einen einzelnen lateinischen Buchstaben gegen ein kyrillisches oder griechisches Lookalike, zum Beispiel das kyrillische a gegen das lateinische a, während der Rest der Domain unverändert bleibt. Weil das Ersatzzeichen einen anderen zugrunde liegenden Code-Point hat, sind die beiden Domains technisch unterschiedlich und können von verschiedenen Inhabern registriert und kontrolliert werden. Der Angriff funktioniert rein über die optische Erscheinung, weshalb er auf wiedererkennbare, vertrauenswürdige Markennamen abzielt statt auf unbekannte.

Was ist Punycode, und warum gibt es das?

Punycode ist die Kodierung, die Domain-Labels mit Nicht-ASCII-Zeichen in eine ASCII-Zeichenfolge umwandelt, die das Domain Name System speichern und auflösen kann, definiert in RFC 3492. Es gibt sie, weil DNS nur einen begrenzten ASCII-Zeichensatz versteht, sodass eine Domain in Kyrillisch, Arabisch, Chinesisch oder mit akzentuierten lateinischen Buchstaben erst in diese Form übersetzt werden muss, bevor sie nachgeschlagen werden kann. Das kodierte Label beginnt immer mit dem xn--Präfix, das Resolvern und Browsern signalisiert, dass das Folgende eine Punycode-kodierte Zeichenfolge ist und kein einfacher ASCII-Name. Browser dekodieren es dann für die Anzeige zurück in die ursprüngliche Schrift, was ein legitimes und notwendiges Feature ist, nicht die Schwachstelle an sich.

Was bedeutet das xn--Präfix in einer URL?

Das xn--Präfix markiert ein Domain-Label als ASCII Compatible Encoding, erzeugt durch Punycode, und signalisiert, dass der lesbare Name aus Nicht-ASCII-Zeichen übersetzt wurde. Alles nach dem Präfix ist die kodierte Form des ursprünglichen Labels - xn--nvacloud-nbh.com etwa dekodiert zu einer Domain, die wie novacloud.com aussieht, mit einem gegen ein Lookalike getauschten Buchstaben. Die xn--Form zu sehen, wo du einen einfachen Markennamen erwartet hast, ist genau das Warnsignal, das Browser nutzen, denn es bedeutet, dass das Label Schriften auf eine Weise gemischt hat, die der Browser nicht als sicher genug einstufte, um es in der hübschen Version darzustellen. Eine Domain ohne Nicht-ASCII-Zeichen erzeugt niemals eine xn--Form, weshalb es sich immer lohnt, bei einer solchen genauer hinzusehen.

Schützen Browser vor Homograph-Angriffen?

Moderne Browser wenden Regeln zur Schriftmischung an, die die meisten Homograph-Versuche abfangen und stattdessen die rohe Punycode-Form statt der täuschenden Version anzeigen. Chrome und Firefox prüfen beide, ob die Zeichen eines Domain-Labels plausibel zu einer einzigen Schrift oder einer kleinen Gruppe von üblicherweise zusammen verwendeten Schriften gehören, und zeigen andernfalls die xn--Version an, statt sie in etwas zu dekodieren, das als vertrauter Name durchgehen könnte. Das verhindert, dass die einfachsten Ganzschrift-Angriffe als überzeugende Fälschungen angezeigt werden, auch wenn Angreifer innerhalb der erlaubten Zeichensätze immer noch Zeichen finden können, die optisch mit lateinischen Buchstaben verwechselbar sind. Der Schutz beschränkt sich zudem strikt auf die Adressleiste des Browsers - nichts anderes im Stack erbt ihn automatisch.

Wie erkenne ich, ob ein Link eine Lookalike-Domain ist, bevor ich draufklicke?

Klappe den Link zuerst auf, sodass du das vollständige Ziel siehst statt einer kurzen oder abgeschnittenen Version, und lies dann die registrierbare Domain statt irgendetwas, das davor steht. Wenn die Adressleiste oder der Expander ein xn--Präfix zeigt, wo du einen einfachen Markennamen erwartet hast, behandle das bis zum Beweis des Gegenteils als Lookalike-Domain. Den Zertifikatsnamen auf der Zielseite zu prüfen, ist eine nützliche letzte Kontrolle, da ein Zertifikat widerspiegelt, was tatsächlich ausgestellt wurde, statt nur, was angezeigt wird. Nichts davon braucht spezielle Software - nur die Gewohnheit, es zu tun, bevor du ein Passwort oder eine Kartennummer eingibst.

Was ist ein Registry Lock, und braucht meine Domain das?

Ein Registry Lock ist eine Kontrolle auf Ebene der Domain-Registry, die jede Änderung, Übertragung oder Löschung einer Domain blockiert, bis sie manuell außerhalb des üblichen Kanals verifiziert wird, typischerweise per Telefon oder mit einer sicheren Passphrase, was selbst einen kompromittierten Registrar-Account daran hindert, die Domain zu verschieben. Das ist eine stärkere Garantie als das gebräuchlichere Registrar Lock, das nur routinemäßige automatisierte Transfers innerhalb des eigenen Registrar-Dashboards verhindert. Ein Registry Lock ist seine überschaubaren Jahreskosten für jede Domain wert, deren Ausfall oder Übernahme teuer würde, was für die meisten Unternehmen mindestens die primäre Markendomain bedeutet. Es hindert niemanden daran, eine ähnlich aussehende Domain neben deiner zu registrieren - das ist ein separates Problem, das durch Monitoring gelöst wird, nicht durch Locking.

Elido testen

URL einfügen, kurzer Link in Sekunden

Kein Konto nötig. Link bleibt 30 Tage aktiv. Konto erstellen, um ihn dauerhaft zu behalten.

Kostenlos, keine Anmeldung erforderlich · 2 pro Tag

Elido testen

URL-Shortener mit EU-Hosting: eigene Domains, tiefe Analytik und eine offene API. Kostenloser Tarif - keine Kreditkarte nötig.

Tags
homograph attack
punycode
idn homograph attack
lookalike domain
xn-- prefix
spoofed domain

Weiterlesen