IDN ホモグラフ攻撃の仕組みと見抜き方
国際化ドメイン名(IDN)では、さまざまな文字体系の文字をドメインに使えます。ホモグラフ攻撃では、ラテン文字の一部を別の文字体系のそっくりな文字に置き換えたドメインが登録されます。リンクは信頼できるアドレスに見えますが、実際には別のドメインにつながります。
具体例
- 入力
- еxаmple.com
- 検出された文字体系
- キリル文字 (Cyrl), ラテン文字 (Latn)
- 検出された文字数
- 2
| 位置 | 文字 | コードポイント | 文字体系 | 置換後 | ルール |
|---|---|---|---|---|---|
| 0 | е | U+0435 | キリル文字 | e | 紛らわしい文字の対応表 |
| 2 | а | U+0430 | キリル文字 | a | 紛らわしい文字の対応表 |
- Punycode(DNS が実際に問い合わせる名前)
- xn--xmple-4ve7a.com
- 厳密な ASCII フォールバック
- example.com
仕組み
- DNS は ASCII しか扱えないため、それ以外の文字を含むラベルは xn-- で始まる Punycode に変換されます。Punycode 表記こそが本当の名前です。見慣れたアドレスが xn--… に変わるなら、見た目どおりのドメインではありません。
- ブラウザーは通常、ラベル内で文字体系が混在していると Punycode 表記を表示します。しかしメールソフト、チャットアプリ、文書ではだますための Unicode 表記がそのまま表示されることが多く、一つのそっくりな文字体系だけで書かれたラベルは見逃されることがあります。
- ドメインを確認するには、検出ツールに貼り付けます。検出された文字がある、一つのラベルに複数の文字体系がある、またはクリーンアップ後の表記が元と異なる場合は、リンクを使わずにアドレスを自分で入力するか、ブックマークから開いてください。
変換はベストエフォート型です。マッピングされた混同可能要素と NFKC フォールディングは決定的ですが、一部の正当な Unicode にはフラグが立てられません。
あなたのテキスト
貼り付けまたは入力 - 入力すると結果が更新されます (長い入力の場合は軽くデバウンスされます)。
11 文字をスキャン
2 件の疑わしい文字
厳密な ASCII フォールバック
オリジナル (疑わしい文字にマークが付いています)
元のビュー内の疑わしい文字には下線が引かれ、「疑わしい」というラベルが付けられます。ハイライトカラーに加えて。
suspicious character еxsuspicious character аmple.com
クリーンアップ後の出力
文字の分析
| インデックス (0 ベース) | 元の文字 | 置換後 | コードポイント | 理由 |
|---|---|---|---|---|
| 0 | е | e | U+0435 | Non-ASCII confusable mapped to a safer Latin ASCII equivalent. |
| 1 | x | x | U+0078 | Not flagged as a confusable or compatibility character. |
| 2 | а | a | U+0430 | Non-ASCII confusable mapped to a safer Latin ASCII equivalent. |
| 3 | m | m | U+006D | Not flagged as a confusable or compatibility character. |
| 4 | p | p | U+0070 | Not flagged as a confusable or compatibility character. |
| 5 | l | l | U+006C | Not flagged as a confusable or compatibility character. |
| 6 | e | e | U+0065 | Not flagged as a confusable or compatibility character. |
| 7 | . | . | U+002E | Not flagged as a confusable or compatibility character. |
| 8 | c | c | U+0063 | Not flagged as a confusable or compatibility character. |
| 9 | o | o | U+006F | Not flagged as a confusable or compatibility character. |
| 10 | m | m | U+006D | Not flagged as a confusable or compatibility character. |