ホモグラフ攻撃(ホモグラフこうげき、)は、URLのホスト名の文字として、真正なサイトに酷似した、異なる文字( = 見た目の形が紛らわしい文字)を用いて偽装し、偽のサイトに誘導するスプーフィング攻撃の一種で、同形異字語攻撃ともいう。
国際化ドメイン名を使用したホモグラフ攻撃はIDNホモグラフ攻撃 (あいでぃーえぬほもぐらふこうげき)と呼ぶ肉眼では偽物と見抜けない国際化ドメイン悪用のURL偽装、Google Chromeなどで対策進む 窓の杜 2017年4月21日配信 2021年7月28日閲覧。と呼ばれる。
ホスト名(ドメイン名)に使用できる文字は、原則としてASCIIコード内のアルファベット・数字アルファベットの大文字・小文字は区別されない。(A - Z、0 - 9)とハイフン(-)、ドット(.)だけであるが、国際化ドメイン名ではUnicodeほかの非ASCII文字をPunycodeによりエンコードして利用できる一方、ブラウザなどのユーザにとってはエンコードされた文字列は通常マスクされ、国際化ドメイン名の表記でそのまま利用できる。
この場合において、例えば ASCII文字 "C" に対し、ギリシア文字、(非ASCIIの)ラテン文字、キリル文字など、それぞれにおいて字体が異なる酷似した文字コードに割り当てられており、IDNホモグラフ攻撃は、アルファベットの大文字・小文字、全角・半角の文字記号など、これらの「見た目の形が紛らわしい文字」を用い、偽サイトのURLに割り当てることで人間の目を欺いて悪用する。
ASCII文字でのホモグラフ
ASCII文字でのホモグラフ攻撃の一例:
正しいドメイン名 GOOGLE.COM google.com microsoft.com apple.com を、偽装したドメイン名の例は以下のようになる。
G0OGLE.COM(半角数字の 0(ゼロ)を混ぜて偽装している) googIe.com(大文字の I(アイ)を混ぜて偽装している) rnicrosoft.com(r と n をくっつけ、 m に見えるよう偽装している) appie.com(小文字の i(アイ)を混ぜて偽装している)
IDNホモグラフ Unicode下では、主に半角のアルファベット(ラテン文字)と字形が酷似した以下のものなどが悪用される。 ギリシア文字、 (非ASCIIの)ラテン文字 キリル文字 アルメニア文字 アブジャド チェロキー文字 ローマ数字"Number Forms"(U+2150-218Fの"Roman Numeral"、 CJK互換用文字 囲みCJK文字・月、数学用英数字記号U+1D400 - U+1D7FF、アルファベット表示形U+FB00 - U+FB4F アキュート・アクセント その他全角文字(マルチバイト文字)
ほかUnicodeにはゼロ幅スペース、ゼロ幅非接合子や双方向テキストに関する制御コードが定義されているが、これらはおおむね国際化ドメイン名に使用できない。
また、中国語使用者には繁体と簡体の漢字がシノニム的なホモグラフ文字として問題になる。一部のTLDでは、「繁体字表記」と「簡体字表記」の両方を同時にドメイン登録するように要求している場合がある。
IDNでのホモグラフ攻撃の一例:
正しいドメイン名 wikipedia.org 朝日.com
偽装ドメイン名 wikipediа.org(キリル文字の а を混ぜて偽装している) wíkipedia.org(半角の i(スモールアイ)と酷似した、 í を混ぜて偽装している) 朝曰.com(「日」と酷似した、「曰」で偽装している)
脚注 注釈
出典
関連項目 国際化ドメイン名 Punycode タイポスクワッティング Unicode正規化 ホモグリフ 全角と半角 大文字と小文字