Homoglyph 攻撃とは?キリル・ギリシャ・漢字を使った類似ドメインの見分け方
目次
この記事でわかること
- Homoglyph 攻撃の仕組み(Unicode UTS#39 confusables)
- Punycode(RFC 3492)の役割と落とし穴
- ブラウザでの判別方法
- Web 担当者向けの検出・対策
Homoglyph 攻撃とは
「見た目が同じ文字」を ASCII の代わりに使って、正規ドメインそっくりの偽ドメインを作る攻撃です。Unicode 標準 UTS#39 - Unicode Security Mechanisms で confusable(紛らわしい)と分類されている文字が悪用されます。
代表的な置換例(example の中で):
| ASCII | Unicode 代替 | 文字名 |
|---|---|---|
| a | а | Cyrillic A |
| e | е | Cyrillic E |
| o | о | Cyrillic O |
| p | р | Cyrillic ER |
| c | с | Cyrillic ES |
| x | х | Cyrillic Kha |
| i | і | Cyrillic I |
| l | 1 | 数字 1 |
| o | 0 | 数字 0 |
Punycode の役割
ドメインに非 ASCII 文字を使うために、Unicode を ASCII 表記にエンコードする方式が Punycode(RFC 3492)。例:
еxample.com(先頭が Cyrillic е)→xn--xample-9bd.com
ブラウザはアドレスバーで xn--xample-9bd.com ではなく 見た目通りの еxample.com を表示することがあり、ユーザは判別困難です。
各ブラウザの IDN 表示ポリシー
| ブラウザ | デフォルト挙動 |
|---|---|
| Chrome / Edge | 同一スクリプト内(全部 Cyrillic 等)なら Unicode 表示、混在は Punycode 表示 |
| Firefox | ホワイトリスト方式(信頼できる TLD のみ Unicode 表示) |
| Safari | 第二レベルドメインの混在文字を検出して Punycode 表示 |
混在攻撃(ASCII + Cyrillic 混合)は多くのブラウザで Punycode 表示されますが、全部 Cyrillic の場合は Unicode 表示でユーザに気付かれません。
検出方法
1. UTS#39 confusables から候補を生成
ドメイン番人の 類似ドメイン棚卸し 単発チェック は、UTS#39 confusables の高頻度サブセット(24 文字対応)で候補を生成します。
2. RDAP で登録状況を確認
各候補が登録済か未登録かを RDAP で確認。登録済は次のステップへ。
3. ブラウザでの実機確認
実際にブラウザで開いて、Punycode 表示か Unicode 表示かを確認。Unicode 表示なら 危険度高。
4. WHOIS の登録者情報を確認
「最近登録された」「外国の捨てメールアドレスで登録」「Whois Privacy で隠している」等のシグナルがあれば攻撃用と判断。
対策
1. 自社ブランドの主要 Homoglyph を防御取得
example.com の場合、特に注意すべき:
еxample.com(Cyrillic e)examp1e.com(数字 1)exampl0.com(数字 0)
これらを自社で予防的に取得しておく(年 $10〜20)。費用対効果は十分。
2. EV SSL 証明書の併用
EV 証明書はアドレスバーに会社名を表示します(一部ブラウザ)。Homoglyph 偽ドメインは EV 取得が困難なので、ブランド識別の補助になります。
3. ユーザ教育
URL を直接タイプするのではなく ブックマークから開くように社内案内。リンク経由でも、URL のホバー表示確認を習慣化。
4. DMARC ポリシーの強化
なりすましメール対策として _dmarc.example.co.jp を p=reject まで強化。詳しくは DMARC 設定方法 を参照。
まずは現状を把握しましょう
ドメイン番人の 類似ドメイン棚卸し 単発チェック で 30 秒で確認できます。Cyrillic / Greek の高頻度 homoglyph を含む 200+ 候補を網羅。
棚卸しと是正対応の支援は 類似ドメイン棚卸し+ブランド保護診断(5 万円〜)でご相談ください。
関連記事:
総合点検は 無料のドメイン診断 を、SSL 単独は SSL 単発チェック をご利用ください。