Keine Kontrolle über Links
Im folgenden Blogartikel erfahren Sie, warum ein wichtiger Faktor zur Kontrolle eines Phishing-Mails ausgehebelt wird und wie Sie sich effektiv davor schützen können. Eine wenig bekannte Technik ermöglicht, dass ein vorhandener Link in E-Mails nicht mehr eindeutig geprüft werden kann.
Bekanntes Phishing per E-Mail
Die Phishing-Mails der Kriminellen werden immer besser. Mittlerweile gehören Schreibfehler der Vergangenheit an. Auch das optische Erscheinungsbild lässt auf eine plausible Nachricht schliessen. Immer öfter werden Sie mit Ihrem Namen angeschrieben oder die Phisher kennen sogar Ihre Adresse. Häufig wird der Benutzer auf einen weiterführenden Link gelockt.
Nachfolgend ein Beispiel eines gut gestalteten PayPal Phishing-Mails, welches den Benutzer auf das Klicken „Stornierung durchführen“ verführen soll.
In der Vergangenheit war es möglich, mit dem Mauspfeil über den Link oder Button zu fahren. So konnte kontrolliert werden, wohin die Internet-Adresse wirklich führt und wurde dadurch gewarnt.
Klickt ein Nutzer trotzdem darauf, wird ihm beispielsweise eine geklonte Seite angezeigt um Login-Daten abzufangen oder es findet eine Infektion mittels Schadcode statt. Der Kreativität des Angreifers sind keine Grenzen gesetzt.
Zusätzliche Täuschung mittels Punycode
Was wäre, wenn der Benutzer das wahre Ziel nicht mehr verifizieren könnte? Wenn selbst beim Mouseover nicht das effektive Ziel angezeigt wird? Dies ist mittels Punycode möglich! Somit ist ein wichtiges Element zur Erkennung eines Spam E-Mails nicht mehr anwendbar.
Dabei handelt es sich nicht um eine Sicherheitslücke im Programm, sondern um eine clevere Technik das ausländische Alphabet zu nutzen.
Bestandteile des Punycode
Um die nachfolgende Thematik nachvollziehen zu können, gehe ich kurz auf die Zeichentabellen (Codierungen) ein, welche wir täglich unbewusst nutzen.
Am Anfang des Computerzeitalters wurde die ASCII-Tabelle (American Standard Code for Information Interchange) erschaffen. Sie beinhaltet das lateinische Alphabet (Zeichen A-Z), die zehn arabischen Ziffern und mehrere Sonderzeichen / Interpunktionszeichen. Weitere Alphabete wie das Arabische oder das Kyrillische waren nicht vorgesehen. Darum wurde der Unicode Standard entwickelt. Darin sind nun alle gängigen Alphabete der Welt enthalten.
Funktion und Verwendung
Das DNS (Domain Name System) schreibt jedoch vor, dass Domainnamen ausschliesslich in ASCII verarbeitet werden dürfen. Hier kommt der Punycode zum Einsatz. Er beschreibt ein standardisiertes Verfahren zum Umwandeln von Unicode-Zeichenketten in ASCII kompatible Zeichen.
Nachfolgend ein Beispiel mit Zeichen aus dem kyrillischen Alphabet. Das kyrillische Wort „Achtung“ wird mittels Punycode zu ASCII-Zeichen umgewandelt. Die nachfolgende Schreibweise nennt sich ACE-String.
Внимание!.com (Domain)
Wird zu
xn--!-7sbfnnb0agd.com (ACE-String)
Wie zu erkennen ist, findet eine mögliche Anfrage nicht an „Achtung.com“ statt, sondern an das umgewandelte kyrillische Äquivalent „xn--!-7sbfnnb0agd.com“.
Eine kurze Zusammenfassung
Punycode wandelt Alphabete ausländischer Sprache, nach standardisierten Vorgaben, in den uns bekannten ASCII und im DNS verwendeten Zeichensatz um. Somit bestehen für eine Domain, welche nicht aus ASCII-Zeichen besteht, immer zwei Varianten. Entweder die Darstellung mit den Zeichen des ursprünglichen Alphabets oder als ACE-String.
Wo liegt die Gefahr?
In mehreren Alphabeten ausländischer Sprachen sind lateinische Buchstaben enthalten. Mit diesen wird es möglich, eine Domain mit legitimem Aussehen zu kreieren. Beim Aufrufen wird diese aufgrund des ausländischen Alphabets automatisch mittels Punycode umgewandelt und verweist so auf eine komplett andere Domain als vom Benutzer angenommen. Die wirkliche Gefahr besteht also, wenn eine bereits vorhandene Domain einer Firma im ausländischen Alphabet nachgebaut wird.
Ein Angriffsszenario
Wir stellen uns die fiktive Firma „Expapo AG“ vor. Es handelt sich dabei um eine weltbekannte Firma von der es legitim ist ein E-Mail zu erhalten. Gemäss dem Text haben wir die erbrachten Dienstleistungen nicht bezahlt und können via Kundenkonto die Rechnung einsehen oder die Stornierung begründen. Von der Problemlösung sind wir somit nur einen Klick entfernt.
Wie im Screenshot ersichtlich ist, wird selbst beim Mouseover expapo.com angezeigt. In diesem Fall jedoch in kyrillischer Schrift! Bis anhin konnte der Benutzer annehmen, dass es sich um die Originalseite der Firma Expapo handelt. Ohne das Wissen über die im Blog behandelte Täuschungsmöglichkeit, wird das Opfer nun auf den Link klicken und landet so auf dem Webserver des Angreifers. Da sich dort die geklonte Originalseite der weltbekannten Firma befindet, währt sich das Opfer weiterhin in Sicherheit.
Damit hat der Angreifer bereits zwei Ziele erreicht:
- Der Benutzer hat auf den Link geklickt.
- Er geht davon aus, dass er auf der vertrauenswürdigen Originalseite ist.
Wie in der Einleitung erwähnt, stehen ihm nun Möglichkeiten offen. Abhängig vom Interesse wird der Angreifer eine weiterführende Angriffstechnik zur Kompromittierung des Systems wählen. Er kann das Opfer beispielsweise über ein in der Seite eingebettetes Skript versuchen zu infizieren. Andere Möglichkeiten wären die Aufforderung zum Download einer Datei, das Vorgaukeln eines Logins um den Benutzernamen und das Passwort für die originale Seite zu erlangen oder schlicht die Begleichung der Rechnung mittels Kreditkarte anzubieten.
Ob der Domainname in originaler Form oder als ACE-String anzeigt wird, hängt vom eingesetzten E-Mail-Client und Browser ab. Die beschriebene Täuschung funktioniert in der aktuellsten Version von Microsoft Outlook. Nach dem Anklicken wird der Domainname im Firefox unverändert angezeigt, die Browser Chrome und Internet Explorer hingegen zeigen den ACE-String an. Da sich das Opfer dann aber bereits auf der Webseite befindet, ist das Risiko einer Kompromittierung hoch.
Testen Sie es selbst aus! Für die Demonstration haben wir zwei Domains registriert. Sie können die Domains kopieren und sich selbst per E-Mail zusenden. Können Sie die beiden Seiten voneinander unterscheiden, ohne darauf zu klicken?
Bei der ersten Adresse handelt es sich um die Seite des fiktiven Angreifers. Bei der nachfolgenden um die Originalseite der fiktiven Firma.
Wie Sie sich schützen können
Neben der vorgestellten Attacke gibt es noch weitere Möglichkeiten den Link zu manipulieren. Wie kann sich der Benutzer nun davor schützen?
Werden Sie in einem E-Mail direkt oder indirekt zum Anklicken eines Links aufgefordert, seien Sie misstrauisch! Die sicherste Variante ist die manuelle Eingabe der Adresse in den Browser. Dies bedeutet, dass im vorgestellten Beispiel der Benutzer nach Erhalt des E-Mails den Browser öffnet und selbst www.expapo.com eingibt. So gelangt er auf die Originalseite und kann keine Informationen zur geforderten Rechnung finden. Den Link zu kopieren und einzufügen reicht nicht aus, da dann auch die ursprüngliche Codierung bestehen bleibt. Mit dieser einfachen und effektiven Technik wird die Täuschung nicht zugelassen.
Im Blog wurde bewusst nicht auf IDN (internationalized domain name) eingegangen. Punycode beschreibt genau genommen das Enkodierungsschema. Er stellt bei der Umwandlung dem Domainnamen ein xn—voran und bildet ihn anschliessend in ASCII ab. Der korrekte Fachausdruck der umgewandelten Domain ist ein ACE-String.