ホモグラフ攻撃

ホモグラフ攻撃（ホモグラフこうげき、）は、URLのホスト名の文字として、真正なサイトに酷似した、異なる文字（ = 見た目の形が紛らわしい文字）を用いて偽装し、偽のサイトに誘導するスプーフィング攻撃の一種で、同形異字語攻撃ともいう。
国際化ドメイン名を使用したホモグラフ攻撃はIDNホモグラフ攻撃 (あいでぃーえぬほもぐらふこうげき)と呼ぶと呼ばれる。
ホスト名（ドメイン名）に使用できる文字は、原則としてASCIIコード内のアルファベット・数字（A - Z、0 - 9）とハイフン(-)、ドット(.)だけであるが、国際化ドメイン名ではUnicodeほかの非ASCII文字をPunycodeによりエンコードして利用できる一方、ブラウザなどのユーザにとってはエンコードされた文字列は通常マスクされ、国際化ドメイン名の表記でそのまま利用できる。
この場合において、例えば ASCII文字 "C" に対し、ギリシア文字、（非ASCIIの）ラテン文字、キリル文字など、それぞれにおいて字体が異なる酷似した文字コードに割り当てられており、IDNホモグラフ攻撃は、アルファベットの大文字・小文字、全角・半角の文字記号など、これらの「見た目の形が紛らわしい文字」を用い、偽サイトのURLに割り当てることで人間の目を欺いて悪用する。
ASCII文字でのホモグラフ.
ASCII文字でのホモグラフ攻撃の一例：
正しいドメイン名
を、偽装したドメイン名の例は以下のようになる。
IDNホモグラフ.
Unicode下では、主に半角のアルファベット（ラテン文字）と字形が酷似した以下のものなどが悪用される。
ほかUnicodeにはゼロ幅スペース、ゼロ幅非接合子や双方向テキストに関する制御コードが定義されているが、これらはおおむね国際化ドメイン名に使用できない。
また、中国語使用者には繁体と簡体の漢字がシノニム的なホモグラフ文字として問題になる。一部のTLDでは、「繁体字表記」と「簡体字表記」の両方を同時にドメイン登録するように要求している場合がある。
IDNでのホモグラフ攻撃の一例：
正しいドメイン名
偽装ドメイン名