ご利用は建設的に: ワイルドカードDNS不正使用の検出

By and

Category: Unit 42

Tags: , , , , ,

A conceptual image representing attacks on DNS, including the Wildcard DNS abuse discussed here.

This post is also available in: English (英語)

概要

「ドメインネームシステム(DNS)」は、名前とアドレスをマッピングすることで、コンピュータ同士が通信できるようにする仕組みです。DNSが指す内容は、主に特定の名前(たとえばpaloaltonetworks.com)を、なんらかのデータにマッピングしているレコード上にあります。たとえばIPアドレス(34.107.151[.]202)がマッピングされるデータの一例です。そして「ワイルドカードDNSレコード」は、その名前からも分かるようにこうしたパターンの例外で、これがあることで複数のドメイン名を同一のデータにマッピングすることができるようになります。

ワイルドカードレコードは、建設的な用途でオペレーションに使えばDNSの管理を容易にしてくれます。たとえば存在しないサブドメインにアクセスしようとしたユーザーを、Webサイトの所有者が適切なWebページに誘導する場合などです。ところがこのワイルドカードレコードの柔軟性は、攻撃者に対しても、効率的に攻撃を実行するさまざまな選択肢を与えてしまいます。ワイルドカードレコードを使うことで、攻撃者はほぼ無限のドメイン名を経由してユーザーを悪意のあるホストに簡単に誘導できてしまうのです。このようなワイルドカードDNSレコードの可能性を利用し、攻撃者たちはさまざまな目的でワイルドカードDNSレコードを導入しています。たとえば「ブラックハットSEO」とよばれる不正な手段による検索エンジンの最適化や、フィッシングキャンペーン、ネットワーク保護の回避などです。ワイルドカードレコードを建設的な目的で使用しているドメインと、悪意を持って使用しているドメインを区別するのは簡単ではありません。本稿では、不正利用されているワイルドカードDNSのもつ主な特徴を説明し、これらを識別することでこの問題にどのように対応していけるのかについて解説します。

パロアルトネットワークスではこれらの原則をワイルドカードDNSの悪用検知システムに当てはめ、不審ないし悪意のあるアクティビティのためにワイルドカードDNSレコードを利用しているドメインに効率的にフラグを立てています。これらの検出により、ブラックハットSEO、アダルトコンテンツやギャンブルサービスの配信、疑わしい動画配信などに関与しているドメインのネットワークが複数発見されています。

私たちの検出器が生成した知見はパロアルトネットワークスの次世代ファイアウォール製品をご利用のお客様でDNS SecurityAdvanced URL Filteringなどのセキュリティサブスクリプションをお持ちの方にご利用いただけます。

ワイルドカードDNSレコード

ワイルドカードDNS利用の善し悪しを識別するという問題に取りかかる前に、まずはワイルドカードDNSレコードの仕組みと、ワイルドカードが建設的な目的と悪意のある目的の両方にどのように利用されてきたかについて、ざっとこのセクションで説明しておきます。

ワイルドカードDNSレコードを使うと、厳密にはDNS上に存在していないドメイン名へのクエリ(照会)があったとき、権威DNSネームサーバーがそれに対するレスポンス(応答)を生成できるようになります。少々簡略化してお話しましょう。ドメイン登録者は、権威DNSサーバーを設定するさい、そのサーバーに自分のドメインに関する一連の情報を与えますが、この情報には、「ホスト名」とそれらのホストを見つけてくれる「IPアドレス」のリストが含まれています。このリストは「ゾーンファイル」と呼ばれていて、この中では「ホスト名」と「IPアドレス」のペアが、1つの「リソースレコード」を構成しています。権威ネームサーバーがクエリを受け取ると、このゾーンファイルを検索して、クエリで指定された名前に「ホスト名」が一致するレコードを見つけ、それら(複数あることがある)のレコードをユーザーに送信します。一致するレコードがなければ、ホスト名が存在しないことを示すレスポンスが返されます。「ワイルドカードレコード」とは、そうした存在しないホスト名に一致するレコードのことです。例として、example.comに定義されているレコード(※ここでのレコードの内容は実際の内容とは異なるダミーです)を考えてみましょう。

「*.」という、最後のレコードの先頭にある名前はこのレコードがワイルドカードであることを示しています。ユーザーが「www」以外のexample[.]comサブドメインのIPv4アドレスを求めるクエリを送信した場合、権威ネームサーバーはワイルドカードレコードを使用して、そのサブドメインのIPアドレス(このダミーデータでは1.2.3[.]4)であることを伝えるレスポンスを生成します。
図1 ワイルドカードレコードを使用したゾーンファイル(レコードの内容はダミー)
*.」という、最後の行のレコード先頭にある名前はこのレコードがワイルドカードであることを示しています(図1)。このゾーンファイルの場合、ユーザーが「www」以外のexample[.]comサブドメインのIPv4アドレスを求めるクエリを送信してくると、権威ネームサーバーはワイルドカードレコードを使用し、そのサブドメインのIPアドレス(このダミーデータについていえば1.2.3[.]4)であることを伝えるレスポンスを生成します。図2は、サブドメインdoesnotexist[.]example[.]comの場合のフローを示しています。

サンプルのサブドメインdoesnotexist[.]example[.]comに基づいてワイルドカードDNSレコードから生成されたレスポンスの例です。
図2 ワイルドカードDNSレコードから生成されたレスポンスのサンプル(内容はダミー)
ワイルドカードレコードは、IPアドレスやメールサーバーなど、同じリソースを共有するドメイン名のグループ全体を指定できることから、DNS管理者の作業を楽にしてくれます。またワイルドカードレコードを使えば、ブラウザのアドレスバーに実際にはどのようなサブドメインが入力されていたとしても、ドメイン所有者はユーザーを有益なWebページへ簡単・確実に案内できるようになります。レジストラのなかには、この機能を顧客へのアピールに利用しているところもありますし、ワイルドカードDNSをドメインパーキングサービスと組み合わせてドメイン名の価値を測ったり、自社のもつドメインが利用可能であることを宣伝する用途でワイルドカードDNSを使っているレジストラも存在します(図3参照)。

ワイルドカードDNSレコードのもつこれらの機能は魅力的なオプションとなっていて、多くの人気ドメインで使用されています。たとえば、Trancoトップサイトリストの上位100ドメインのうち21ドメインがワイルドカードDNSレコードを使用しています。これらのドメインのいくつかは、ブログやWebサイトなどのユーザー作成コンテンツをホストするプラットフォームで使用されていて、コンテンツ提供の場としてユーザーにサブドメインを提供しています。その一例がGitHubページやMyShopifyなどです。BingやYandexなどの主要な検索エンジンでは、ワイルドカードDNSを使って、ユーザーをメインの検索ページか、追加のリンクや提案を含むエラーページにリダイレクトしています。トップレベルドメインのなかにすらワイルドカードレコードを利用しているところがあります。

ワイルドカードDNSを使用して利用可能なドメインを宣伝する方法を示したスクリーンショットです。このスクリーンショットでは、「Congratulations!」というメッセージが表示されています。doesnotexist[.]wsの登録が可能です。
図3 あるドメインが利用可能性であることを宣伝するためにワイルドカードDNSが使用されている例

ただし、こうしたワイルドカードレコードのもつ特長が、悪意のある者にとっては便利なツールになってしまいます。ワイルドカードDNSレコードの不正使用を研究しているリサーチャーは、ブラックハットSEOなどの活動をやりやすくする目的で、あるいはアダルトコンテンツやギャンブルサイトなどのリスクの高いサイトや疑わしいサイトをブロックする試みを回避する目的で、ワイルドカードレコードを用いるドメインの割合が少なくないことを一貫して指摘しています。ほかにも、フィッシングやスパム、マルウェアの配布に関与しているドメインのかなりの割合がワイルドカードDNSレコードを使用していることを確認しているリサーチャーもいます。

ワイルドカードDNS不正使用の検出

こうしてありとあらゆるサービスでワイルドカードDNSレコードが利用されていることを踏まえると、「不正使用されているワイルドカードレコードを検出する」という目的の達成には、「不正使用に特有の特徴を見つける」という課題があることになります。そこで本セクションでは、ワイルドカードDNSレコードを悪用するドメインの特徴に関する先行研究から得られた知見を解説し、私たち自身のアプローチと発見について考察します。

ワイルドカードDNSレコードを悪用するドメインの特徴

サイバー犯罪の世界では、大規模キャンペーンやサービスを展開するさい、攻撃者が多数のドメイン名を利用し、ユーザーを悪意のあるサービスやコンテンツに誘導することがよくあります。攻撃者はこれらのドメインを一括登録することが多いので、一括登録を識別できれば、そのドメインが悪意のある目的に使用される可能性が高い、ということのヒントに使えるでしょう。このようなヒントは、ワイルドカードDNSを使っているドメインがどのような性質のものかを識別する上でとくに役立ちます。過去の調査では、ワイルドカードDNSレコードを悪用することが知られているドメインは、一括登録されることが多く、同じIPアドレスや権威ネームサーバーを使用する割合が比較的高いことが確認されています。ただし、ワイルドカードDNSレコードの建設的利用と不正使用とを識別するための決定的手段として「一括登録されているかどうか」を使用することには問題もあります。第一に、登録情報を提供するwhoisレコードは、プライバシー保護のために登録者情報をぼかしていることが多く、ここから一括登録を特定するのは困難です。第二に、ワイルドカードレコードの使用頻度の高いドメインだからといってそれがすなわち不正使用の強い根拠であるとはいえません。ホスティングプロバイダやDNS管理プロバイダのなかには、デフォルトでワイルドカードレコードを提供しているところもありますし、ドメインにワイルドカードレコードを設定するようユーザーに推奨しているところもあります。さらには同じプロバイダがインフラや権威DNSネームサーバーをクライアントに提供していることもあります。このようなシナリオでは、ワイルドカードを使う多くの正当なドメインが同一のネームサーバーやIPアドレスを使うことになりがちです。

悪意のある活動や疑わしい活動に使用されるドメインは、短期間しか使用されないことが少なくありません。あるドメインが攻撃者のオペレーションの一部となる期間が長ければ長いほど、そのドメインが悪意のあるものとして検出され、セキュリティシステムによってブロックされる可能性は高くなります。そうしたドメインにフラグが立つと、攻撃者はそのドメインを使用することで利益を得られなくなるので、新しいドメインと交換しなければなりません。ワイルドカードドメインについては、ワイルドカードレコードを悪用したドメインは一般的に「使い捨て」と考えられており、監視対象となった悪意のあるキャンペーンで使用されたドメインの寿命は比較的短かったとリサーチャーたちは指摘しています。このことから、ワイルドカードDNSレコードの建設的利用と不正利用の違いの1つは、そのドメインの年齢といえるかもしれません。

ワイルドカードレコードを建設的な目的で使用しているドメインと、レコードを悪用しているドメインを区別するもう1つの重要な特徴は、Webページのコンテンツが変更される頻度です。この特徴は、ブラックハットSEOキャンペーンをやりやすくする目的でワイルドカードを使用しているケースでとくに重要となります。このシナリオで攻撃者は、相互リンクされた多数のサブドメインからコンテンツを動的に生成して提供するという戦略をとることがあります。Webクローラーを1サイト内にとどめておくという攻撃に対し、クローラーの防御力を弱めることがその目的です。クローラーを自分のWebサイトに長時間とどめることができれば、攻撃者はそのドメインのランクを向上させられるのです。ワイルドカードレコードを使えば、ページ同士をつなぐリンクにサブドメインを生成しつつ、それらのサブドメインに対応するDNSレコードを作成する必要はなくなることから、攻撃者はこの戦略をとりやすくなります。

ワイルドカードDNS不正使用の検出

私たちの検出器では、大規模なパッシブDNS(pDNS)データセットを活用し、ワイルドカードDNSレコードを使っているドメインを効率的に特定し、ドメインの主な特徴に基づいてこれらのドメインをフィルタリングしています。もう一度上の図2を見てください。図2では、ワイルドカードによって生成されたdoesnotexist[.]example[.]comへのレスポンスでは「ワイルドカードレコードが存在している」ということは示されていません。ワイルドカードレコードの有無を知るには、ユーザーがサーバーに直接「*.example[.]com」のIPアドレスを尋ねなければいけませんが、全ドメインのワイルドカードレコードをチェックするのは現実的ではありません。そこで私たちは、悪意のあるドメインや疑わしいドメインを効率よく検索するために、パッシブに収集したDNSデータや過去に検出されたドメインから得たヒントを利用して、チェックすべき新規ドメインリストを定期的に作成しています。

whoisレコードの情報を利用すれば、多くのドメインをすばやくフィルタリングできます。それ以外の残ったドメインについては、ドメインの特徴を評価していくつかチェックを行います。このシステムでは、実行中にナレッジベースが構築され、反復的にドメインがチェックされ、ワイルドカードレコードを使っている関連ドメインが特定されていきます。これにより、誠実とはいいかねる目的にワイルドカードDNSレコードを使うキャンペーン全体を追跡できます。私たちは、この検出器を導入してから数週間で、4,000以上のドメインがワイルドカードDNSを悪用して疑わしいSEOキャンペーンを行ったり、ギャンブルやアダルトコンテンツや疑わしい動画配信サイトに関連するサイトを宣伝していることを確認しました。以下のセクションで、確認された事例をいくつかご紹介します。

ワイルドカードDNS不正使用の実例

ケーススタディ: 疑わしいSEO

Webサイトの所有者たちは、つねに閲覧者の注目をめぐって争っています。こうしたWebサイトは、注目を集めるために検索エンジンに大きく頼っています。というのも、閲覧者は検索エンジンを使ってほしいコンテンツを見つけているからです。そこで、検索エンジンが特定のWebサイトを検索結果に表示してくれる可能性を高めるために、WebデザイナーはSEO技術を使って検索エンジンのクローラーにサイトコンテンツに関する情報を与え、検索エンジンのサイトのランクを向上させることができます。このSEO技術には正当なやりかたと不正なやりかたがあります。後者はユーザーに有意義なコンテンツを提供する努力を怠ってランキングの不正操作を狙うものです。こうしたテクニックとしては、「キーワードスタッフィング」(ページの内容とは必ずしも関連しないが、ランキングを上げるために選択された単語でページを埋めつくすこと)や、ページランクを上げることだけを目的に相互リンクしたドメインのネットワークを構築することや、不正SEO検出用に設計された検索エンジンのアルゴリズムからページ同士の関連のなさや類似性を隠すためにページコンテンツを自動生成することなどがあげられます。

本システムが検出したドメインの中には、同一キャンペーンに属することが明らかなドメインのネットワークを含む、ブラックハットSEOの証拠となるものがいくつかあります。その中には、数十から数千のドメインからなる複数のネットワークがあります。これらはレイアウトが同じで、一貫したトピックを持たないさまざまな記事が掲載されています(図4a、4b参照)。

ブラックハットSEOの一例です。このページでは、明確なトピックを持たない記事と、同じレイアウトの他のドメインへのリンクが掲載されています。
図4a ワイルドカードDNSを使用している4,000以上のドメインがこれと同じレイアウトを使用している。明確なトピックを持たない記事や同一レイアウトの他のドメインへのリンクがあるという特徴をもつ
ここで紹介するドメインではワイルドカードDNSの悪用が検出され、Twitterから生成したコンテンツを提供しているようです。
図4b ワイルドカードDNSの悪用を検出されたドメインのなかにはTwitterのコンテンツから作成したとおぼしきさまざまな投稿を提供しているものがあった

これらのドメインは、現時点ではマルウェアを配信する目的では積極的に利用されていないかもしれませんが、ユーザーに意味のあるコンテンツも提供しておらず、検索エンジンの効果的運用を損なう方法でサイトを宣伝しています。

ケーススタディ: ギャンブルサイトへのリダイレクト

私たちのワイルドカード不正使用検知器で確認したドメインのうちの数百件は、ユーザーをギャンブル関連コンテンツを持つサイトにリダイレクトするスクリプトを含んでいました。これらのドメインにとって、ワイルドカードDNSレコードは検閲を回避するツールとなります。ドメイン管理者はさまざまなサブドメインを生成することでブロックリストによる対策を一部回避できます。こうしたギャンブルドメインの多くは中国語で表示されているので、主なターゲットは中国国内だと思われます。中国ではギャンブルが違法なので、ブロックリストの回避が運用側にとっては優先事項となります。あるドメインクラスタでは、見かけ上問題のなさそうなランディングページに、新規顧客に金銭的報酬をはずむというポップアップを表示していました(図5a参照)。このリンクをたどったり、ボックスを閉じようとしたりすると、ギャンブルサイトにつながります(図5b参照)。

あるドメインのクラスタでは、見かけは問題のなさそうなランディングページに、新規顧客に金銭的報酬を提供するというポップアップを表示していました。
図5a 検出ドメインのなかにサービスに登録するとユーザーに報酬をはずむとするポップアップを自動的に開くWebページをホストしているものが複数見つかった
このリンクをたどったりボックスを閉じようとするとギャンブルサイトにつながります。
図5bポップアップ内をクリックするとユーザーはギャンブル関連コンテンツの提供サイトにリダイレクトされる

ケーススタディ: 疑わしい動画配信サービス

このほかに、数十個のドメインからなるクラスタが、動画配信サービスを提供する疑わしいサイトに使用されていました。ライセンスされたコンテンツの配信やダウンロードは状況によっては違法であることが少なくありません。そうした問題をさておいても、動画配信サービス提供サイトのなかには、サービスに乗せてウイルスを配布することも多く、こうしたサイトはよくて「疑わしい」としか言えません。

ワイルドカード不正使用検知器で検出された疑わしい動画配信サイトのスクリーンショット
図6 ワイルドカード不正使用検知器でフラグが立てられた動画配信サイトの例

結論

本稿では、ワイルドカードDNSの使用状況を調査し、その不正使用を検出することの重要性を強調しました。ワイルドカードDNSレコードは、正当な用途でも使用されていますが、深刻な攻撃をさまざまに実行してくる攻撃者にとっての貴重なツールにもなっています。解釈を慎重に行えば、あるドメインのDNSレコードに出現するワイルドカードは、そのドメインが悪意のある目的に使用されている可能性についてのヒントを提供してくれます。私たちの検出器では、ワイルドカードDNSレコードを悪用したこのようなドメインが数千件見つかっています。

パロアルトネットワークスでは、次世代ファイアウォールのセキュリティサブスクリプションを通じ、ワイルドカードDNSレコードを悪用したドメインを検出して「Grayware(グレイウェア)」カテゴリに割り当てています。これらのサブスクリプションには、DNS SecurityAdvanced URL Filteringが含まれています。この検知器を通じ、上記のようなドメインに関連するリスクからお客様を保護しています。

追加リソース