M0 鈴木宏彰 1
IDN( 国際化ドメイン名 ) とは 通常のドメイン名はアルファベット 数字 ハイフンなどの ASCII 文字の集合からなり 単一の言語でしか表現できない ( 例 :waseda.jp) Unicode を使用することにより多言語にも対応したドメイン名が IDN( 例 : 早稲田.jp) IDN はブラウザ側で Punycode と呼ばれる Unicode から ASCII 文字への変換アルゴリズムを適応してから名前解決が行われる 例 : 早稲田.jp punycode 変換 xn--0gvz35a4wd.jp 2
IDN ホモグラフ攻撃とは Unicode に存在する外形的に似た文字を使用し, 既存のドメイン名に対して視覚的に見分けがつきにくい IDN を登録し, 攻撃者が用意した web サイトにユーザーを誘導する攻撃 例 :facebook.com に対して ƒɑcebook.com(xn--cebook-2tb24m.com) や faᴄebook.com(xn-- faebook-wx1c.com) などの IDN( ホモグラフドメイン名 ) が存在 非常に似ているドメイン名は防衛目的として 正規のドメイン名を保持している企業やドメイン管理の行う企業などによって保護されている場合もある 3
1. IDN ホモグラフ攻撃に利用されている可能性があるドメイン名 ( 潜在的ホモグラフドメイン名 ) を検出し それらを良性ホモグラフ 悪性ホモグラフ 要注意ホモグラフの三つに分類 2. 悪性ホモグラフドメイン名の分布状況の調査 どのようなサイトにホモグラフドメイン名のリンクがあるのか? 3. 日本語 IDNのホモグラフドメイン名が登録可能なものを調査 日本語 IDNでは エ と 工 は登録可能 例 : 工場.com エ場.com エアコン.com 工アコン.com 4
攻撃対象ドメイン :Alexa ランキングにおいて TLD が.com または.net で SLD の文字列の長さが 5 以上になっているドメイン名を上位のものから 1000 個ずつ抽出 DNS ゾーンファイルから登録されている潜在的ホモグラフドメイン名を調査 5
編集距離 (Levenshtein 距離 ) 二つの文字列間の類似度を示す指標の一つ 2 つの文字列がある場合に, 片方の文字列に対して置換, 挿入, 削除からなる 3 つの編集処 理を繰り返して, 他方の文字列と一致するために必要な最小の操作回数 例 :cafeとcoffeeの編集距離は3 (cafe caffe coffe coffee) 潜在的ホモグラフドメイン名の検出方法 ステップ 1:Alexa ランキングから抽出したドメイン名の SLD の長さが等しいドメイン名を DNS ゾーンファイルから引き出す 更にその中から編集距離が 1 または 2 になっているものを引き出す 正規のドメイン名と比較して 置換が 1 回または 2 回行われているドメイン名を抽出 6
潜在的ホモグラフドメイン名の検出方法 ( 続き ) ステップ 2: 置換文字が 正規のドメイン名との差分となる文字の形状と似ているものを潜在的ホモグラフドメイン名として検出し 似ていないものを除外 ステップ 2 の時に 類似文字のリストを生成することで二回目の以降の分析においてリストを参照し 処理を自動化することができる ステップ 3: 二回目以降の分析で 初回の分析では出現していない ( 類似文字のリストに含まれていない ) が 正規のドメイン名との差分となる文字の形状と似ているものをステップ 2 で除外したものの中にあるか調べる あった場合 潜在的ホモグラフドメイン名として検出 7
分類に使用したデータ WHOIS 情報 ネームサーバドメイン名が正規のドメイン名のものと一致しているかどうか 外部の企業に防衛目的のドメイン名の取得を委託している場合がある その場合 ネームサーバドメイン名も異なっている アクセス先 アクセス可能かどうか またはアクセス先が正規のドメイン名と一致しているかどうか アクセス時の HTTP ステータスコードも記録 VirusTotal クリーンサイト マルウェア配布サイト フィッシングサイト 悪性サイト 8
分類方法 良性ホモグラフ ネームサーバドメイン名が正規のドメイン名と同じもの またはアクセス先が正規のドメイン名になっているもの 悪性ホモグラフ アクセス先 ( ネームサーバドメイン名が ) が正規のドメイン名のものと異なっており VirusTotal によるスキャン結果で悪性と判定されたもの 要注意ホモグラフ アクセス先 ( ネームサーバドメイン名が ) が正規のドメイン名のものと異なっており VirusTotal によるスキャン結果で悪性と判定されなかったもの パーキングページ 転売目的などが考えられる 9
結果 検出した潜在的ホモグラフドメイン名について 合計で約 120 万の IDN の中から 1,638 個の潜在的ホモグラフドメイン名を検出 10
結果 調査時間について 合計時間 = ステップ1 + ステップ2,3 = 1767 秒 ( 約 30 分 ) + 約 5 時間 = 約 5 時間 30 分 Liu らによる既存研究 A Reexamination of Internationalized Domain Names: The Good, the Bad and the Ugly 合計 140 万の IDN の中から 画像処理を利用してホモグラフドメイン名を 1,516 個検出 メモリが 4G のマシンを使用して 102 時間かかった 細かい条件 (IDN の総数 対象ドメイン名 ) が異なるが 102/5.5=18.5 倍の高速化を達成 11
結果 ホモグラフが多数生成されたドメイン名 仮想通貨の取引所のサイト 12
結果 分類結果 良性 アクセス先が正規のドメイン名と一致したものが 71 個 その他はエラーかアクセス不可 13
結果 分類結果 悪性 アクセス先が正規のドメイン名とは異なり クライアントエラーなども起きずに異なるページに到達したのは 161 個 VirusTotal の判定結果の内訳 マルウェア配布サイト :9 個 フィッシングサイト :170 個 悪性サイト :84 個 14
結果 フィッシングサイト 割合 一つのドメイン名に対して フィッシングサイトと判定されたサイトの数 検出した潜在的ホモグラフドメイン名の合計 割合を考慮すると netflix.com や micorsoft.com, coinbase.comなどのペイメントが関わってくるサイトのドメイン名がフィッシングの対象になりやすい傾向にある. 15
結果 要注意ホモグラフ アクセスできなかったものが 527 件 オリジナルのサイトと異なるページに遷移したものが 769 件存あり その内 エラーが発生せずにアクセスが成功したものが 653 件 使用される頻度が高かったネームサーバドメイン名を調べるとほとんどがレジストラのもの ドメインパーキングとして利用されていることが想定される 16
調査方法 Selenium と Chrome ヘッドレスブラウザを用いて 悪性ホモグラフドメイン名に対して Google 検索 検索にヒットしたサイトの説明文の中に, 該当ドメイン名を含むサイトの URL を保存 1 回のクエリに対するトップ 60 件の応答を調査対象とする 17
結果 表 7 は悪性ホモグラフドメイン名のヒット数が高かった上位 10 のドメイン名を示す 主にドメイン名を調査するサイトやブラックリストなどがヒットした 一方 facebook や twitter などの SNS 経由で流通しているケースも存在 不特定多数のユーザが訪れる可能性があるため 悪性ホモグラフドメイン名がもたらすリスクは大きい 18
調査で使用したデータ confusables.txt Unicode Consortium が提供している外形が近い文字のペアのリスト.com.net.jp にそれぞれ対応する IDN table.com.net.jp において登録可能な日本語の文字集合を示したリスト 漢字の新字体 旧字体のペア 364 組 confusable.txt は似ている文字のペアを全て網羅しているわけではない 新字体 旧字体のペアで似ているものも存在している 19
調査方法 各 IDN Table で confusables.txt のペアが登録かどうかを調べる 各 IDN Table で新字体 旧字体のペアが登録かどうかを調べる 各ゾーンファイルから 似ている文字のペアどちらかを使用しているドメイン名の数をカウント 結果 confusables.txt から 12 組 25 個の形が似ている文字のペアを発見 カタカナと漢字の組み合わせが多い 漢字の 卜 (U+535C).com で 27 件,.net で 7 件,.jp で 0 件 カタカナの ト (U+30C8).com で 15,547 件,.net で 5,756 件,.jp で 5,568 件 20
結果 269 組の漢字の新字体と旧字体のペアが日本語 IDN として.com.net.jp で登録可能 新字体を使用しているドメイン名の方が多く登録されており それらに対して対応する旧字体を使用した IDN ホモグラフ攻撃が可能 21
ブラウザ (chrome や firefox など ) IDN の文字列が単一の言語の文字から構成されていない場合 ブラウザのアドレスバーでは Unicode 表記ではなく punycode 表記で表示される ( 許容されるパターンも存在 ) 最初から強制的に punycode 表記で表示されているとホモグラフドメイン名と気づけない可能性も考えられる 提案手法 Unicode 表記を残すことでユーザビリティを高めつつ, 元のドメイン名と潜在的ホモグラフドメイン名の差分を強調するブラウザ拡張機能 22
今回は IDN のホモグラフドメイン名として日本語を使用したが 他の言語で似ている文字がないか探す 対策として提案したブラウザ拡張機能の実装 文字コードを使用した新しいセキュリティリスクを見つけること 23
Thank you for listening 24