it-swarm.com.de

Wie kann man sich gegen Homographenangriffe verteidigen?

In Bezug auf dieses Wikipedia-Beispiel eines Homograph-Angriff wurden bei der URL von Wikipedia die lateinischen Zeichen A und E durch eine ähnliche kyrillische Kopie (wikipediа.org) Ersetzt. Diese Charaktere sehen so ähnlich aus, wie können sie unterschieden werden?

16
toffee.beanns

Browser-Anbieter versuchen bereits , Sie vor Homograph-Angriffen zu schützen, indem sie Richtlinien durchsetzen, wie IDNs ( Internationalized Domain Names ) in der angezeigt werden sollen URL-Leiste.

Ihre Maßnahmen umfassen das Blacklisting potenziell verwirrbarer Symbole (z. B. ֊, Der "armenische Bindestrich" U + 058A) und das Anzeigen von URLs mit Zeichen aus nicht-lateinischen Alphabeten als Punycode unter bestimmten Bedingungen. Also, wenn Sie besuchen

https: //wikipediа.org

die URL wird in Ihrer URL-Leiste als angezeigt

https://xn--wikipedi-86g.org/

befolgen Sie die Punycode-Konvertierungsregeln, die Sie leicht von wikipedia.org unterscheiden können.

Wenn Sie an dem spezifischen Algorithmus interessiert sind, den Ihr Browser zum Anzeigen von IDNs verwendet, siehe:

Das Konvertieren fehlerhafter IDNs unter Beibehaltung der Benutzerfreundlichkeit (z. B. wenn Sie jemandem in Deutschland immer noch ein Literal ä Anzeigen möchten) hat sich jedoch als etwas schwer fassbar erwiesen, weshalb auch 2018 Neue Angriffe sind aufgetaucht.

Wenn Sie dem integrierten Schutz Ihres Browsers nicht vertrauen, steht auch eine Browsererweiterung zur Verfügung, die Sie vor IDN-Domänen warnt (wie @defalt hervorhebt). Oder Sie können eine manuelle Erkennungsmethode wählen, wie @wchargin in seine Antwort beschreibt.

18
Arminius

Arminius 'Antwort erwähnt die Bedingungen, unter denen Browser Punycode anstelle der tatsächlichen Unicode-Glyphen rendern. Nach meiner Erfahrung reichen diese Bedingungen nicht aus: Beispielsweise wird die URL https: //аррӏе.com/ (Link ist sicher, könnte aber eine Phishing-Site sein!) Von Chrome aber nicht von Firefox:

(Screenshot of Firefox's URL bar demonstrating a homograph attack

Hier ist die Lösung, die ich persönlich benutze. Es mag übertrieben sein, aber es schützt vor genau diesem Angriff.

Voraussetzung für diese Lösung ist, dass Sie immer die Adressleiste lesen, bevor Sie Daten eingeben, wenn Sie Anmeldeinformationen in eine Website eingeben. * Du solltest das trotzdem tun! - aber es ist tatsächlich notwendig für das Folgende.

Mein Verfahren ist einfach. Bevor ich Anmeldeinformationen eingebe, kopiere ich den Text in die Adressleiste und starte dann das Programm hexob, das ich wie folgt definiert habe (in einer Datei ~/bin/hexob):

#!/bin/sh
xsel -ob | xxd | xmessage -file -

Dieses Programm zeigt die Codeeinheiten für die UTF-8-Codierung der Zwischenablage in einem Meldungsfeld wie folgt an:

(Screenshot of the result of <code>hexob</code>: an <code>xmessage</code> box with a hex dump of a legitimate login URL

Ich kann schnell überprüfen, indem ich den Host lese, ob dies eine gültige Anmelde-URL ist: Da der Host auf der rechten Seite korrekt angezeigt wird, befinden sich alle Codepunkte des Hosts in ASCII.

Wenn mich andererseits jemand mit https: //аррӏе.com/ verlinkt hätte, was einen Homographenangriff veranschaulicht, würde das Meldungsfeld folgendermaßen aussehen:

(Screenshot of the result of <code>hexob</code> for a deceptive URL

Hier sehe ich die Codeeinheiten für die UTF-8-Codierung von https://аррӏе.com/, Die sich stark von der UTF-8-Codierung von https://Apple.com/ Unterscheidet. Die meisten Codepunkte befinden sich nicht in ASCII, daher ist für ihre UTF-8-Codeeinheiten das MSB festgelegt, und daher werden sie nur als eine bestimmte Anzahl von . Auf der rechten Seite angezeigt. Wenn auf der rechten Seite im Host-Teil der URL . S angezeigt wird, stoppe ich und gebe keine Anmeldeinformationen ein .

Ich tippe C-l C-c Super-p hexob RET, Um diesen gesamten Vorgang abzuschließen, der nur wenige Sekunden dauert. (Mein Super-p Könnte Ihr Alt-F2 Oder ähnliches sein.)

* Beachten Sie, dass Sie dies jedes Mal tun müssen , wenn Sie Daten eingeben möchten. Wenn Sie sich beispielsweise bei Google anmelden und Ihr Passwort eingeben, sagt Google "Passwort falsch", müssen Sie diesen Vorgang erneut ausführen. Dies liegt daran, dass die Anmeldeseite von Google eine offene Weiterleitung hat: Ich kann eine Seite erstellen, die Sie zum Anmeldesystem actual von Google weiterleitet und Sie nach dem Anmelden automatisch zu meiner Phishing-Seite weiterleitet, die aussieht Genau wie das Login-System von Google, wird jedoch von mir gesteuert.

7
wchargin

Eine andere Sache, die in den anderen Antworten nicht erwähnt wird: Neben den anderen Vorteilen hilft Ihnen ein Passwort-Manager, sich vor diesen Angriffen zu schützen: Ihre für www.google.com gespeicherten Anmeldeinformationen werden nicht automatisch auf www ausgefüllt. googIe.com (das vorletzte Zeichen ist ein Großbuchstabe I), was darauf hindeutet, dass etwas nicht stimmt. Sie müssen das Kennwort manuell und explizit kopieren und einfügen, um sich auf dieser Site anzumelden.

4
Federico Poloni