ChromeとFirefoxのホモグラフ攻撃対策を迂回する方法 12
よく思いつくなあ 部門より
形の似た文字をドメイン名に使い、フィッシングサイトなどを正規サイトに偽装する「IDNホモグラフ攻撃」は以前から知られており、Webブラウザー側での対策も行われているが、Google ChromeとMozilla Firefoxの対策を迂回する方法が発見されたそうだ(Xudong Zheng氏のブログ、Wordfenceのブログ、Register、Neowin)。
ASCII外の文字を含む国際化ドメイン名はPunycodeという方式でASCIIに変換して表現される。このようなドメイン名はPunycodeに変換されたことを示すため「xn--」が先頭に付加されるが、ChromeやFirefoxのアドレスバーやリンクのツールチップでは元の文字に逆変換して表示される。
ChromeやFirefoxではホモグラフ攻撃対策の一環として、ドメイン名にラテン文字やキリル文字、ギリシャ文字が混在している場合にPunycodeのまま表示する。しかし、文字種を混在させなければ逆変換表示になることを利用し、キリル文字だけで偽ドメイン名を作れば対策の迂回が可能だ。
キリル文字にはラテン文字と似た字形の文字が多く、フォントによっては全く同じ字形で表示されることもある。PoCとして、Xudong Zheng氏は「https://apple.com/」に見えるドメイン https://www.xn--80ak6aa92e.com/ (https://аррӏе.com/)、Wordfenceは「https://epic.com/」に見えるドメイン https://www.xn--e1awd7f.com/ (https://www.еріс.com/)を公開している。
なお、Internet ExplorerやMicrosoft EdgeではPunycode表記のまま表示される。Safariも同様のようだ。また、Firefoxでは「about:config」で「network.IDN_show_punycode」の値をtrueに変更すれば逆変換を無効にしてPunycode表示に固定することも可能だ。Chromeにはオプションが存在しないが、Chrome 58で対策が行われているとのことだ。
ぷにコード (スコア:0)
って読む奴が続出するんだろうなー
asciiでないドメインネームなんて (スコア:0)
それ自体が怪しいから、問題なし。
Re: (スコア:0)
「asciiでないドメインか判別しづらい」ってのが今回の問題では?
Re: (スコア:0)
アホだねお前
Re: (スコア:0)
国際化ドメイン(笑)は最近売れてますかwwww
Re: (スコア:0)
そうでもない [it.srad.jp]。正直な話こっち [it.srad.jp]のほうが怪しい。
「Σd(ゝ∀・)ィィネ!!」ドメインとか取れないかしら? (スコア:0)
でもサイト内容は(+д+)マズーなんだ
こんな問題にはどうしよう (スコア:0)
朝日と、朝曰のように、字体がよく似た文字を使われてしますと、
punycode にしても、正しい punycode を知らないと正しいかどうかを
判断することができないのが難点ですね。
# 日本語ドメイン使うなということが解決法になるのかな
Re: (スコア:0)
突き詰めると「Punycode」なんてドメイン名で実装したやつがクソなんだよなぁ
こんなことになるのは有識者が少し考えりゃわかるのに、商売を優先した結果がこれじゃん
こんなクソ仕様をサポートするブラウザごと投げ捨てるべき
まだ使いどころがあるだけActiveXのほうがマシなぐらいだ
Re:こんな問題にはどうしよう (スコア:1)
Punycode (RFC 3492) はそもそもドメイン名で使用することを想定して
設計さられたものなので、実装ではなくRFCがクソなのでは?
Punycode is a simple and efficient transfer encoding syntax designed for
use with Internationalized Domain Names in Applications (IDNA).
それともRFCやW3Cなどの定義に準拠しないブラウザが良いってこと?
このRFCがクソなのには同意。当時から危険性が指摘されていたにも関わらず、
ゴリ押しされた経緯についても糞だとは思う。
なお、Chromeは対策済み。Firefoxもabout:configで対応可能で手元の環境では
IE, Firefox, Chrome共にhttps://www.xn--80ak6aa92e.com/などの表記が確認できた。
# Edgeのみなぜかhttpsが省略して表示される。
Re: (スコア:0)
Safariは2005年にはこの問題を解決(言い換えればRFC無視?)してたそうで、
やはりクソなもの(ユーザーに害をもたらすもの)は無視した方がいいと思うな。
なお、Safariは常にスキーム名(http,https)は省略される。
正当な証明書付きのhttpsでのみ鍵マーク(EVの場合、緑+名称)がつき、そのほかは常に何も表示しない。
オレオレ証明書httpsでも鍵なしでhttp同等扱い。
Re: (スコア:0)
>オレオレ証明書httpsでも鍵なしでhttp同等扱い
あー。これいい。
いちいち許可するかどうか聞いてくるのうざい。
http同等で処理したら何か問題あるんだろうか。