Dies ist eine kleine Awareness/Cybersicherheits-Schulung über Phishing mittels Homoglyphen Angriff, wie ich sie auch hier demonstriere.
Homoglyphen sind Zeichen, die sich zum Verwechseln ähnlich sehen. Es sind technisch völlig andere Zeichen mit anderem Zeichencode und anderer Bedeutung, obwohl sie optisch oft nur winzige Unterschiede aufweisen, die man in der Eile leicht übersieht. Für einen Computer haben sie daher aber eine ganz andere Bedeutung, denn dieser "sieht" nicht die optische Repräsentation sondern immer nur den Code.
Als Angreifer kann man sich diese Täuschung zu nutze machen, indem man Links erzeugt, die dem eigentlich Link sehr ähnlich sehen, aber auf eine völlig andere Webseiten-Atrappe führen. Auf so einer Webseiten-Atrappe hat man dann z.B. ein Login-Portal nachgebaut, um Daten abzugreifen. Also man nutzt dies im klassischen Phishing. Ziel des Angriffs ist also nicht der Computer, sondern der Mensch.
Hier ein Beispiel:
Es sieht für den Otto-Normal-Nutzer so aus, als wäre da unterhalb des n einfach ein kleiner Dreckfussel am Bildschirm. Ist es aber nicht. Es kein "n", sondern das Unicode Zeichen "ņ", also der lateinische Kleinbuchstabe N mit Cedille, codiert in 0xC5 0x86.
Und damit lässt sich dank punycode und IDN die Domain xn--fialmedia-wvb.de encodieren und separat registrieren. Natürlich lässt sich dann auch X509 Zertifikat erstellen und damit mehr Sicherheit suggerieren.
Dem unachtsamen Nutzer fällt dies nicht auf. Er sieht das vermeintlich sichere Schloß neben dem Domain-Namen und findet "Alles ist in Ordnung". Es ist doppelt gefährlich, da man den Link auch noch verschleiern kann, indem man im Link-Text die korrekte Domain angibt, und nur im Ziel die IDN Homoglyphen Domain. Dann sieht man zwar die Linkvorschau, achtet jedoch in den seltensten Fällen darauf, dass dort ein kleines Zusatzpixel an Dreck zu sehen ist. Siehe an diesem Phishing Beispiel https://finalmedia.de - Fahre mit der Maus darüber und beachte die Statusleiste.
Wenn dein Browser sicherheitstechnisch optimiert ist, zeigt er dir im Hover den Link als punycode an und du siehst direkt die Falle. Ansonsten zeigt dein Browser dir den Link mit dem kleinen Cedille an - und das kannst du sehr leicht übersehen.
Also was tun, sprach Zeus? Einfach im Browser (Hier beispielsweise Firefox) die IDN Interpretation abschalten und stattdessen den Punycode "plain" anzeigen lassen. Denn dann fällt es sofort auf. Also unter about:config nach "idn" suchen und dann Feld auf "true" stellen:
Danach sieht man alle IDN Domains direkt als punycode und erkennt auch einen Angriffsversuch, da auch die Linkvorschau den Punycode anzeigt und nicht den bereits interpretierten IDN Namen:
Zumindest für IDN Homoglyphen ist es damit gelöst. Allerdings kannst du auch konventionell mit ASCII Zeichen täuschen, Vertipp-Domains verwenden, also z.B. statt finalmedia.de ein finalnedia.de die sich zudem sehr ähnlich sehen. Dies ist auch im obigen Awareness Schulungs-Beispiel genannt.
Kann ich bei DE Domains alle Unicode Zeichen in punycode in Domains codieren?
DNS unterstützt das, ja. Also für Spoofing sind ganz Tolle Einträge möglich, gerade mit Bindestrich, Geviertelstrich, Gedankenstrich, Minus Zeichen in Domains. Diese sind aber keine von der DENIC gestatteten Zeichen.
Also bei DE Domain kannst du dennoch viele täuschende Domains mit den offiziell von der Denic erlaubten 93 Unicode Zeichen als punycode bauen und registrieren:
à 224 00E0 Latin small letter a with grave Kleiner lateinischer Buchstabe a mit Gravis ă 259 0103 Latin small letter a with breve Kleiner lateinischer Buchstabe a mit Brevis â 226 00E2 Latin small letter a with circumflex Kleiner lateinischer Buchstabe a mit Zirkumflex å 229 00E5 Latin small letter a with ring above Kleiner lateinischer Buchstabe a mit Ring oben ä 228 00E4 Latin small letter a with diaeresis Kleiner lateinischer Buchstabe a mit Diärese (= Umlaut ä) ã 227 00E3 Latin small letter a with tilde Kleiner lateinischer Buchstabe a mit Tilde ą 261 0105 Latin small letter a with ogonek Kleiner lateinischer Buchstabe a mit Ogonek ā 257 0101 Latin small letter a with macron Kleiner lateinischer Buchstabe a mit Macron æ 230 00E6 Latin small letter ae Kleiner lateinischer Buchstabe ae ć 263 0107 Latin small letter c with acute Kleiner lateinischer Buchstabe c mit Akut ĉ 265 0109 Latin small letter c with circumflex Kleiner lateinischer Buchstabe c mit Zirkumflex č 269 010D Latin small letter c with caron Kleiner lateinischer Buchstabe c mit Caron ċ 267 010B Latin small letter c with dot above Kleiner lateinischer Buchstabe c mit Punkt oben ç 231 00E7 Latin small letter c with cedilla Kleiner lateinischer Buchstabe c mit Cedille ď 271 010F Latin small letter d with caron Kleiner lateinischer Buchstabe d mit Caron đ 273 0111 Latin small letter d with stroke Kleiner lateinischer Buchstabe d mit Querstrich é 233 00E9 Latin small letter e with acute Kleiner lateinischer Buchstabe e mit Akut è 232 00E8 Latin small letter e with grave Kleiner lateinischer Buchstabe e mit Gravis ĕ 277 0115 Latin small letter e with breve Kleiner lateinischer Buchstabe e mit Brevis ê 234 00EA Latin small letter e with circumflex Kleiner lateinischer Buchstabe e mit Zirkumflex ě 283 011B Latin small letter e with caron Kleiner lateinischer Buchstabe e mit Caron ë 235 00EB Latin small letter e with diaeresis Kleiner lateinischer Buchstabe e mit Diärese ė 279 0117 Latin small letter e with dot above Kleiner lateinischer Buchstabe e mit Punkt oben ę 281 0119 Latin small letter e with ogonek Kleiner lateinischer Buchstabe e mit Ogonek ē 275 0113 Latin small letter e with macron Kleiner lateinischer Buchstabe e mit Macron ğ 287 011F Latin small letter g with breve Kleiner lateinischer Buchstabe g mit Brevis ĝ 285 011D Latin small letter g with circumflex Kleiner lateinischer Buchstabe g mit Zirkumflex ġ 289 0121 Latin small letter g with dot above Kleiner lateinischer Buchstabe g mit Punkt oben ģ 291 0123 Latin small letter g with cedilla Kleiner lateinischer Buchstabe g mit Cedille ĥ 293 0125 Latin small letter h with circumflex Kleiner lateinischer Buchstabe h mit Zirkumflex ħ 295 0127 Latin small letter h with stroke Kleiner lateinischer Buchstabe h mit Querstrich í 237 00ED Latin small letter i with acute Kleiner lateinischer Buchstabe i mit Akut ì 236 00EC Latin small letter i with grave Kleiner lateinischer Buchstabe i mit Gravis ĭ 301 012D Latin small letter i with breve Kleiner lateinischer Buchstabe i mit Brevis î 238 00EE Latin small letter i with circumflex Kleiner lateinischer Buchstabe i mit Zirkumflex ï 239 00EF Latin small letter i with diaeresis Kleiner lateinischer Buchstabe i mit Diärese ĩ 297 0129 Latin small letter i with tilde Kleiner lateinischer Buchstabe i mit Tilde į 303 012F Latin small letter i with ogonek Kleiner lateinischer Buchstabe i mit Ogonek ī 299 012B Latin small letter i with macron Kleiner lateinischer Buchstabe i mit Macron ı 305 0131 Latin small letter dotless i Kleiner lateinischer Buchstabe i ohne Punkt ĵ 309 0135 Latin small letter j with circumflex Kleiner lateinischer Buchstabe j mit Zirkumflex ķ 311 0137 Latin small letter k with cedilla Kleiner lateinischer Buchstabe k mit Cedille ĺ 314 013A Latin small letter l with acute Kleiner lateinischer Buchstabe l mit Akut ľ 318 013E Latin small letter l with caron Kleiner lateinischer Buchstabe l mit Caron ļ 316 013C Latin small letter l with cedilla Kleiner lateinischer Buchstabe l mit Cedille ł 322 0142 Latin small letter l with stroke Kleiner lateinischer Buchstabe l mit Querstrich ń 324 0144 Latin small letter n with acute Kleiner lateinischer Buchstabe n mit Akut ň 328 0148 Latin small letter n with caron Kleiner lateinischer Buchstabe n mit Caron ñ 241 00F1 Latin small letter n with tilde Kleiner lateinischer Buchstabe n mit Tilde ņ 326 0146 Latin small letter n with cedilla Kleiner lateinischer Buchstabe n mit Cedille ŋ 331 014B Latin small letter eng Kleiner lateinischer Buchstabe Eng ó 243 00F3 Latin small letter o with acute Kleiner lateinischer Buchstabe o mit Akut ò 242 00F2 Latin small letter o with grave Kleiner lateinischer Buchstabe o mit Gravis ŏ 335 014F Latin small letter o with breve Kleiner lateinischer Buchstabe o mit Brevis ô 244 00F4 Latin small letter o with circumflex Kleiner lateinischer Buchstabe o mit Zirkumflex ö 246 00F6 Latin small letter o with diaeresis Kleiner lateinischer Buchstabe o mit Diärese (= Umlaut ö) ő 337 0151 Latin small letter o with double acute Kleiner lateinischer Buchstabe o mit Doppel-Akut õ 245 00F5 Latin small letter o with tilde Kleiner lateinischer Buchstabe o mit Tilde ø 248 00F8 Latin small letter o with stroke Kleiner lateinischer Buchstabe o mit Querstrich ō 333 014D Latin small letter o with macron Kleiner lateinischer Buchstabe o mit Macron œ 339 0153 Latin small ligature oe Kleine lateinische Ligatur oe ĸ 312 0138 Latin small letter kra Kleiner lateinischer Buchstabe Kra ŕ 341 0155 Latin small letter r with acute Kleiner lateinischer Buchstabe r mit Akut ř 345 0159 Latin small letter r with caron Kleiner lateinischer Buchstabe r mit Caron ŗ 343 0157 Latin small letter r with cedilla Kleiner lateinischer Buchstabe r mit Cedille ś 347 015B Latin small letter s with acute Kleiner lateinischer Buchstabe s mit Akut ŝ 349 015D Latin small letter s with circumflex Kleiner lateinischer Buchstabe s mit Zirkumflex š 353 0161 Latin small letter s with caron Kleiner lateinischer Buchstabe s mit Caron ş 351 015F Latin small letter s with cedilla Kleiner lateinischer Buchstabe s mit Cedille ß 223 00DF Latin small letter sharp s Kleiner lateinischer Buchstabe ß ť 357 0165 Latin small letter t with caron Kleiner lateinischer Buchstabe t mit Caron ţ 355 0163 Latin small letter t with cedilla Kleiner lateinischer Buchstabe t mit Cedille ŧ 359 0167 Latin small letter t with stroke Kleiner lateinischer Buchstabe t mit Querstrich ú 250 00FA Latin small letter u with acute Kleiner lateinischer Buchstabe u mit Akut ù 249 00F9 Latin small letter u with grave Kleiner lateinischer Buchstabe u mit Gravis ŭ 365 016D Latin small letter u with breve Kleiner lateinischer Buchstabe u mit Brevis û 251 00FB Latin small letter u with circumflex Kleiner lateinischer Buchstabe u mit Zirkumflex ů 367 016F Latin small letter u with ring above Kleiner lateinischer Buchstabe u mit Ring oben ü 252 00FC Latin small letter u with diaeresis Kleiner lateinischer Buchstabe u mit Diärese (= Umlaut ü) ű 369 0171 Latin small letter u with double acute Kleiner lateinischer Buchstabe u mit Doppel-Akut ũ 361 0169 Latin small letter u with tilde Kleiner lateinischer Buchstabe u mit Tilde ų 371 0173 Latin small letter u with ogonek Kleiner lateinischer Buchstabe u mit Ogonek ū 363 016B Latin small letter u with macron Kleiner lateinischer Buchstabe u mit Macron ŵ 373 0175 Latin small letter w with circumflex Kleiner lateinischer Buchstabe w mit Zirkumflex ý 253 00FD Latin small letter y with acute Kleiner lateinischer Buchstabe y mit Akut ŷ 375 0177 Latin small letter y with circumflex Kleiner lateinischer Buchstabe y mit Zirkumflex ÿ 255 00FF Latin small letter y with diaeresis Kleiner lateinischer Buchstabe y mit Diärese ź 378 017A Latin small letter z with acute Kleiner lateinischer Buchstabe z mit Akut ž 382 017E Latin small letter z with caron Kleiner lateinischer Buchstabe z mit Caron ż 380 017C Latin small letter z with dot above Kleiner lateinischer Buchstabe z mit Punkt oben ð 240 00F0 Latin small letter eth Kleiner lateinischer Buchstabe Eth þ 254 00FE Latin small letter thorn Kleiner lateinischer Buchstabe Thorn
Und natürlich kannst du diese auch registrieren, um deine eigenen Domains vor solchen Angriffen zu schützen. Dann kann sie zumindest kein Dritter registrieren.