ホモグラフ攻撃とは
ホモグラフ攻撃とは、URLの
ホスト名において、真正なサイトに酷似した、見た目が紛らわしい異なる文字を用いて偽装し、ユーザーを偽のサイトに誘導する
スプーフィング攻撃の一種です。この攻撃は、同形異字語攻撃とも呼ばれます。
特に、国際化
ドメイン名(IDN)を使用したホモグラフ攻撃は、
IDNホモグラフ攻撃と呼ばれ、より複雑で巧妙な手口が用いられます。
ホスト名(
ドメイン名)に使用できる文字は、原則として
ASCIIコード内のアルファベット、数字、ハイフン、ドットに限られています。しかし、国際化
ドメイン名では、
Unicodeなどの非
ASCII文字をPunycodeで
エンコードして利用することが可能です。
ブラウザなどのユーザーインターフェースでは、
エンコードされた文字列は通常マスクされ、国際化
ドメイン名の表記がそのまま表示されるため、ユーザーはURLの細かな違いに気づきにくくなります。この点を悪用するのが、ホモグラフ攻撃の狙いです。
攻撃の手口
ホモグラフ攻撃では、見た目が似ている異なる文字コードを悪用します。例えば、
ASCII文字の「C」に対し、ギリシャ文字、非
ASCIIの
ラテン文字、
キリル文字など、字体が似ている文字を組み合わせてURLを偽装します。また、アルファベットの大文字・小文字、全角・半角の違いも利用されます。
IDNホモグラフ攻撃では、さらに多様な文字が利用されます。
ギリシア文字
(非
ASCIIの)
ラテン文字
キリル文字
アルメニア文字
アブジャド
チェロキー文字
ローマ数字
CJK互換用文字
囲みCJK文字・月
数学用英数字記号
アルファベット表示形
アキュート・アクセント
その他全角文字(マルチバイト文字)
これらの文字を組み合わせて、見た目が区別しにくい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でのホモグラフ攻撃の例
IDNを利用したホモグラフ攻撃は、さらに複雑で気づきにくいものが多いです。
正しいドメイン名:
`wikipedia.org`
`朝日.com`
偽装されたドメイン名:
`wikipediа.org` (
キリル文字の「а」を使用)
`wíkipedia.org` (半角の「i」と酷似した「í」を使用)
`朝曰.com` (「日」と酷似した「曰」を使用)
これらの例では、
キリル文字やアクセント付きの文字、似たような漢字が使われており、注意深く見ないと見分けがつきません。
その他の注意点
Unicodeには、ゼロ幅スペースやゼロ幅非接合子など、表示されない制御コードも定義されていますが、これらは国際化
ドメイン名には使用できません。また、
中国語を使用する人にとっては、
繁体字と
簡体字がホモグラフ文字として問題になる場合があります。そのため、一部のTLDでは、
繁体字と
簡体字の両方を同時にドメイン登録するように要求している場合もあります。
ホモグラフ攻撃への対策
ホモグラフ攻撃を防ぐためには、以下の点に注意する必要があります。
URLを注意深く確認し、少しでも違和感を感じたら安易にアクセスしない。
ブラウザやセキュリティソフトの最新版を常に使用する。
セキュリティに関する情報を常に収集し、最新の攻撃手法に対する知識を深める。
疑わしいリンクやメールには不用意にアクセスしない。
ホモグラフ攻撃は、技術的な対策とユーザー自身の意識向上の両方が重要となります。