簡潔な回答
IDN ホモグラフ攻撃とは?
IDN ホモグラフ攻撃は、キリル文字やギリシャ文字がラテン文字に似て見える国際化ドメイン名を登録するもので、exаmplecoin.com が examplecoin.com と読めてしまいます。名前は xn-- で始まるピュニコードで保存されます。Chrome は、文字体系が混在したラベルに対して、その生の形式を表示し、バージョン 51 以降はユーザーの言語設定を無視します。Wardmint が登録するのは、あなたの名前の ASCII バリアントです。
同じに見える名前と、システムが保存する形
| 表示 | 何が違うか | DNS での保存形式 |
|---|---|---|
| examplecoin.com | 通常のラテン文字、本物の名前 | examplecoin.com |
| exаmplecoin.com | 2 文字目がキリル文字の а(U+0430)で、ラテン文字と混在している | xn--exmplecoin-0qi.com |
| еxamplecoin.com | 1 文字目がキリル文字の е(U+0435)で、ラテン文字と混在している | xn--xamplecoin-jsi.com |
| аррӏе.com | すべての文字がキリル文字: а、р、р、ӏ、е | xn--80ak6aa92e.com |
node -e "console.log(require('url').domainToASCII('аррӏе.com'))"
# xn--80ak6aa92e.comIDN ホモグラフ攻撃はどのように機能しますか?
Unicode には異なる文字体系の同じに見える文字が含まれており、ドメインシステムは、それらを使った名前を誰でも登録できるようにしているから成り立ちます。国際化ドメイン名(IDN)とは、ASCII 以外の文字を含む名前のことです。DNS が扱えるのは ASCII だけなので、そうした各ラベルは、xn-- で始まり、エンコードされた形式が続く文字列であるピュニコードに変換されます。ブラウザが表示すると判断すれば、人には Unicode 版が見えます。名前を保存したりログに記録したりするソフトウェアには、xn-- 形式が見えます。
攻撃者は、ラテン文字 1 文字以上を、似た文字に置き換えた名前を登録します。たとえば、ラテン文字の a の代わりにキリル文字の а を使います。有効な名前なので、レジストリとレジストラはそれを受け付けます。訪問者は examplecoin.com と読んで、あなたのサイトのコピー上でトランザクションに署名してしまいます。
xn-- の接頭辞は何を意味しますか?
接頭辞 xn-- は、ASCII 以外の文字をエンコードした形で含むラベルを示します。上の例では、xn--exmplecoin-0qi.com が exаmplecoin.com の保存形式です。ラベルの ASCII 文字が先に来て、エンコードされたキリル文字がハイフンの後に続きます。xn-- で始まる名前は、それだけで悪意があるわけではありません。ほかの言語の正当なサイトの多くが使っています。重要なのは、デコードした文字列がブランドを模倣しているかどうかです。疑わしい名前は、上のようなスクリプトでデコードするか、クリックする前に検索ツールに貼り付けて確認できます。
Chrome は Unicode とピュニコードのどちらを表示するか、どう決めていますか?
Chrome はラベルごとに別々に判断し、チェックのいずれかに失敗すると xn-- 形式を表示します。文書化されたチェックには、混ぜるべきでない文字体系の混在(ラテン文字とキリル文字またはギリシャ文字)、Unicode セキュリティデータにある混同しやすい文字が混在したもの、そして拡張子がその文字体系でないのに 1 つの文字体系の似た文字だけでできたラベルが含まれます。Chrome は、数字または数字に似た文字だけでできたラベルや、アクセントを取り除くと上位のドメインと一致するラベルも拒否します。すべてのチェックを通過すれば、ラベルは Unicode で表示されます。このポリシーは、ユーザーの言語設定に依存しません。
表のすべてキリル文字の аррӏе.com は、全体が同一の文字体系のケースです。何も混ざっていないため、混在ルールでは捕まらず、Chrome は別の全体が同一の文字体系のチェックに頼ります。ほかのブラウザには独自のポリシーがあり、Wardmint はそれらを読んでいないため、このページで文書化しているのは Chrome だけです。アドレスの混同に関する一般的なリスクは、フィッシング犯が登録する類似ドメインの種類にあります。
ホモグラフドメインからブランドを守るには?
登録できる ASCII バリアントを登録し、残りは監視し、見つけたものを報告します。ホモグラフの名前は、組み合わせが多すぎるため、すべての文字体系について事前に自分で登録することはできません。できるのは、探すことです。dnstwist は、調査に基づく Unicode 文字のセットからホモグリフの名前を生成し、存在するものを確認し、証明書ログには、デコードした形でブランドを含む名前が表示されます。類似ドメインを見つけるガイドにコマンドがあり、Certificate Transparency の監視方法がログを扱っています。
Wardmint のページが説明しているのは ASCII の名前の登録であり、IDN の登録をうたってはいません。ASCII のホモグリフ(l の代わりの 1、m の代わりの rn)のカバー範囲は、どのタイポとも同じです。タイポスクワッティングからブランドを守る方法をご覧ください。
Wardmint の数値は、これについて何を示していますか?
Wardmint は 2026 年 11 月 12 日に Chromium のポリシーを確認し、Unicode とピュニコードのどちらで表示するかを決めるルールを、5 つのチェック群に分類しました。変換と有効性、文字体系の混在、番号と不可視文字、混同しやすい文字、数字・パターン・上位ドメインです。この分類は Wardmint 独自のもので、ルール自体は Chromium のものです。
ホモグラフドメインとは、既知の名前と文字は異なるが、読む人には同じに見えるドメイン名のことです。IDN ホモグラフ攻撃とは、そうした名前を使ってブランドになりすますことです。ピュニコードとは、ASCII 以外の文字を含む名前のために DNS が保存する、xn-- で始まる ASCII エンコーディングです。
ホモグラフ攻撃についてのよくある質問
Unicode ドメインの裏にある本当の名前は見られますか?
はい。1 行のスクリプトか検索ツールで保存形式に変換し、xn-- の文字列とレジストラのデータを読んでください。想定した名前と一致しない場合は警告です。
HTTPS の鍵マークは、ホモグラフサイトから私を守りますか?
いいえ。類似ドメインも他のドメインと同じように証明書を取得できるため、鍵マークが証明するのは暗号化された接続であって、サイトの身元ではありません。
Chrome は、すべてのホモグラフドメインをブロックしますか?
いいえ。文書化された一連のチェックを適用し、いずれかに失敗するとピュニコードを表示します。すべてを通過する名前は Unicode で表示されるため、見慣れないリンクには注意してください。
IDN の類似ドメインも、他のフィッシングドメインと同じように報告できますか?
はい。保存された xn-- の名前、デコードした名前、スクリーンショットを添えて、レジストラの悪用報告の経路を使ってください。手順は、他のフィッシングドメインと同じです。
まとめ
- IDN ホモグラフ攻撃は、ラテン文字を他の文字体系の似た文字に置き換えます。
- DNS は名前を、xn-- で始まるピュニコードとして保存します。
- Chrome はラベルごとに判断し、バージョン 51 以降はユーザーの言語を無視します。
- ラテン文字とキリル文字が混在したラベルを、Chrome は xn-- として表示します。
- HTTPS は、類似ドメインの所有者が誰かを証明しません。
- dnstwist と証明書ログで見つけ、フィッシングドメインとして報告します。
- Wardmint は、29 の拡張子で、あなたの名前の ASCII バリアントを登録します。
出典 (2)
- Chromium IDN display policy (docs/idn.md) — The Chromium Projects (確認日 2026-11-12)
- dnstwist, domain name permutation engine — GitHub (elceef/dnstwist) (確認日 2026-11-12)