ホモグリフ攻撃とは?
ホモグリフ攻撃(ホモグラフ攻撃、視覚的ななりすまし攻撃とも呼ばれます)は、正規の文字に見た目が似た文字でドメイン名を登録する、高度なフィッシング手法です。たとえば「m」に見える「rn」を使ったり、ラテン文字の「a」(U+0061)をキリル文字の「а」(U+0430)に置き換えたりします。人間の視覚の限界を悪用し、利用者を悪意あるサイトへ誘導します。よくあるホモグリフ置換
ASCIIに基づく置換
| 元の表記 | 偽装表記 | 見た目の効果 |
|---|---|---|
| m | rn | 「rn」が「m」に見える |
| w | vv | 「vv」が「w」に似て見える |
| l(小文字のL) | 1(数字の1) | ほぼ同じに見える |
| O | 0 | 混同されやすい |
| cl | d | 組み合わせると似て見える |
Unicode/IDNの置換
| ラテン文字 | キリル文字 | Unicodeコードポイント |
|---|---|---|
| a | а | U+0061 と U+0430 |
| e | е | U+0065 と U+0435 |
| o | о | U+006F と U+043E |
| p | р | U+0070 と U+0440 |
| c | с | U+0063 と U+0441 |
ホモグリフ攻撃の仕組み
攻撃の手順
1. 標的の特定: 価値の高いブランドドメインを選ぶ
2. 文字の分析: 置換できる文字を見つける
3. ドメイン登録: 見た目が似たドメインを登録する
4. Webサイトの複製: 正規サイトの外観をコピーする
5. 配布: 偽装リンクを含むフィッシングメールを送る
6. 認証情報の窃取: 偽サイトでログイン情報を取得する
実際の例
Legitimate: apple.com
Spoofed: аррӏе.com (uses Cyrillic а, р, ӏ, е)
app1e.com (uses number 1 for l)
appIe.com (uses capital I for l)
技術的な防御手段
ブラウザの保護
現代のブラウザは、IDNのホモグラフ攻撃に対して次のような対策を実装しています。
- 疑わしいドメインではUnicodeの代わりにPunycode(xn--)を表示する
- 異なるスクリプトが混在するドメイン名に警告を表示する
- 既知のホモグリフパターンをブロックする
Punycode変換
IDNドメインはASCII互換エンコーディングへ変換されます。
Unicode: аррӏе.com
Punycode: xn--80ak6aa92e.com
DNSレベルの保護
- レジストリによってはIDNの文字セットを制限する
- 似た文字の登録を防ぐポリシーを設ける
- 似たドメインに同一登録者要件を適用する
検出と防止
利用者向け
1. URLを注意深く確認する: クリック前にリンクへカーソルを合わせる
2. ブックマークを使う: 保存したブックマークから重要なサイトへ移動する
3. 証明書を確認する: SSL証明書の組織名を確認する
4. ブラウザの保護機能を有効にする: ブラウザを最新に保つ
5. パスワードマネージャーを使う: 偽装ドメインでは自動入力されない仕組みを活用する
組織向け
1. 防御用ドメインを登録する: よくあるホモグリフの派生を取得する
2. DMARCを導入する: メール認証で送信元ドメインのなりすましを防ぐ
3. 類似ドメインを監視する: ブランド監視サービスを利用する
4. 従業員を訓練する: 視覚的ななりすましのリスクを教育する
5. 悪用を報告する: 発見した偽サイトの削除を申請する
ブランド保護の戦略
組織はホモグリフ攻撃に対して先回りで防御する必要があります。
- ドメインポートフォリオの拡張: ブランドドメインのUnicode派生を登録する
- 商標監視: 侵害の可能性がある登録を監視する
- 自動検出: 見た目が似たドメインをスキャンするツールを導入する
- 法的措置: 商標を侵害するドメインにUDRP手続きを行う
- 顧客への周知: 公式ドメインを顧客に明確に伝える
ホモグリフ攻撃は、人間の視覚認識と技術的な文字エンコーディングの差を悪用する継続的なセキュリティ脅威です。包括的な防御には、技術的な制御と利用者への教育の両方が必要です。