戦略的熟成ドメインの検出: DNSトラフィックの傾向から捕捉するAPT攻撃

A conceptual image representing DNS security, such as the strategically aged domain detection system discussed here.

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

概要

SolarWindsのサプライチェーン攻撃(SUNBURSTトロイの木馬)が2020年10月に公開されて以来、パロアルトネットワークスはこのキャンペーンを継続的に調査し、汎用的な標的型脅威(APT)検出につながる特徴を明らかにすることにつとめてきました。こうして調査したなかでも興味深かった発見の1つが、「攻撃者は、集中的に侵入活動を開始するずっと以前からコマンド&コントロール(C2)用のドメインを登録している」ということです。こうした振る舞いはAPT攻撃ではよく見られるもので、APT攻撃者は幅広くネットワークへ侵入した後、価値の高いターゲットにさらに労力を集中させることが多くなっています。攻撃者のトロイの木馬はふつう、被害ネットワーク内での潜伏をへて、オペレータによるターゲットの選定、積極的な悪用へと移ります。しかし、攻撃者は戦略的に熟成しておいたドメインを利用することでも利益を得ています。以前から登録されていたドメインは、時間をかけて良い評判を築いていることから、悪意のあるアクティビティが開始されても検出に時間がかかることがあるからです。フィッシングやブラックハット検索エンジン最適化(SEO)などネットワークを悪用するアクターも、長く続いているドメインが築いた評判を利用し、熟成ドメインによるキャンペーンを展開できます。また、攻撃者は複数のドメインを事前に登録しておくことも多く、これによりメインの侵入口がブロックされてもバックアップドメインで悪意のあるサービスをすばやく再開できるようにしています。

こうした悪意のある休眠ドメインは、ひとたび活発なキャンペーンに参加すると、異常に急激なトラフィックの伸びを示します。そこで私たちはクラウドベースの検出器を立ち上げ、ドメインの活動を監視して、こうした戦略的な熟成ドメインを特定することにしました。この検出器では、きめ細かく調整したパッシブDNSデータから日次約3万件のドメインを抽出しました。抽出されたドメインは、数ヶ月から数年の間、限られたトラフィックしかもたず、ある日唐突に1日で10.3倍以上のトラフィック増加の見られたようなドメインです。こうしたドメインに悪意のある割合、つまり「悪性率」は、新規登録ドメイン(Newly Registered Domain。以降「NRD」)の3倍以上にもなります。これらの22.27%は「malicious(悪意のある)」ドメインか、「suspicious(疑わしい)」ドメインか、「not safe for work (職場での閲覧に適さない)」ドメインでした。

SolarWindsのサプライチェーン攻撃では、トロイの木馬がドメイン生成アルゴリズム(以降「DGA」と表記)でサブドメインを生成することにより、ターゲットマシンのIDを流出させていました。類似したAPT攻撃を発見するため、私たちは戦略的に熟成させられたドメインの全ホスト名をスキャンし、DGAによる大量サブドメイン生成が見られる活性化したドメインを「攻撃ドメインの可能性があるもの」と認定しました。これらの潜在的攻撃ドメインはそれぞれ、DGAによりサブドメインをおよそ161個生成し、バーストトラフィックの43.19%を送信していました。識別されたこれら疑わしいドメインはDNSセキュリティをはじめとするパロアルトネットワークスのNGFWセキュリティサブスクリプションとして提供されます。本稿では、私たちのシステムが捕捉したさまざまなネットワーク悪用の実例をとりあげて紹介します。

対象となる攻撃や脆弱性の種別 APT, フィッシング, ブラックハット SEO, コマンド&コントロール
Unit 42 の関連タグ DNS security, detection evasion, SolarWinds supply chain attack

目次

戦略的に熟成されたドメインの検出
DGAが生成したサブドメインの検出
-SolarWindsサプライチェーン攻撃のDNSの特徴
-得られたDNSの知見を活用する
ケーススタディ
-APTスパイウェア
-フィッシング
-ワイルドカードDNSの悪用
結論
IoC

戦略的に熟成されたドメインの検出

NRDがインターネットでさまざまな用途で広く悪用されていることはよく知られています。パロアルトネットワークスでは、DNSゾーンファイルとパッシブDNSデータを監視してNRDを検出しています。弊社のお客様には、これらNRDドメインを登録後32日間はブロックすることをお勧めしています。さらに私たちはプロアクティブな不正使用検出器を開発し、ゼロ号患者のWeb脅威の出現前に新たな悪意のあるドメインを公開しています。ですがNRDの背後の脅威だけに注目していたのでは不十分です。

脅威アクターは、ドメイン登録してかなり時間がたってから攻撃キャンペーンを開始することもあります。この戦略にはさまざまな動機があります。まず第一に、熟成させたドメインは寿命が長く、一部のレピュテーションベース検出器を回避することができます。第二に、APTの持つC2ドメインは時には何年も活動せず、こうした休眠中のATPのトロイの木馬は、限られた「ハートビート」トラフィックしかC2サーバーに送信しません。攻撃者が自分たちにとって価値のあるターゲットを決定し、活発なエクスプロイトを開始すると、C2ドメインが受け取るペネトレーショントラフィックは大幅に増加します。たとえば、SolarWindsのサプライチェーン攻撃のC2ドメイン avsvmcloud[.]com は2018年に登録され、2年間休眠状態にありましたが、2020年3月からは大量の攻撃トラフィックを送信していました。そのパッシブDNSトラフィックは、攻撃の開始後、約165倍に増加したことが確認されています。そのため、ドメインのアクティビティを常に監視し、異常なトラフィック増加を伴う古いドメインの背後にある脅威を探ることが重要です。

パロアルトネットワークスでは、10年以上前からパッシブDNSデータを収集しています。このデータセットは、顧客ネットワークやグローバルネットワークのDNSトラフィックに基づき、ドメインのアクティビティを可視化します。私たちは最近、このパッシブDNSシステムをクラウドプラットフォームに移行させ、スケーラブルなストレージとコンピューティングリソースを獲得しました。これにより、ホスト名ごとにきめ細かなDNSトレンドデータを作成することができます。このトレンドデータをもとに、トラフィックが異常に増加する傾向にあるドメインを特定する検知器を開発しました。

本システムでは、特定の時間内でのDNSトラフィック量によってドメインの活性度を定量化しています。2つのしきい値を用いて「活性指数」の範囲を「休眠ドメイン(活動指数が75パーセンタイル以下のドメイン)」、「標準ドメイン(75パーセンタイルから95パーセンタイルの間のドメイン)」、「高活性ドメイン(上位5%のドメイン)」の3つのグループに分けます。

あるドメイン上で正規のサービスがホスティングされた場合、そのトラフィック量は徐々に増加していくのがふつうです。逆に、長い間休眠状態にあったドメインが、突如大量のトラフィックを受信しだすのは異常です。この直感に基づいて本システムで休眠ドメインのトラフィックを継続的に監視し、「短期間で高活性状態にジャンプしたドメイン」を「戦略的熟成ドメイン」として捕捉します。

私たちのシステムが日次で検出している戦略的熟成ドメイン数
図1 日次で検出している戦略的熟成ドメイン数
戦略的熟成ドメインのDNSトラフィックの正規化。この線はドメインが「休眠」状態から唐突に「高活性」になったときに起こるトラフィックの急増を示しています。
図2 戦略的熟成ドメインのDNSトラフィックの正規化

図1に示すように、私たちの検出器は、2021年9月に日次で約26,000件の戦略的熟成ドメインを捕捉しました。図2は、戦略的熟成ドメインがバーストトラフィックを受信した日の前後の平均DNSトラフィックをプロットしたものです。この傾向データは、活性化した日のトラフィックに基づいて正規化されています(つまり0日目の正規化されたDNSトラフィックは1となります)。活性化した日には、これらのドメインの活動量は、平均で11.3倍になっています。その後も1日の平均トラフィックは増え続け、6倍以上に達しています。弊社DNSセキュリティをご利用のお客様ネットワークからこれらドメインへのDNSリクエストは、活性化日から毎日約130万件観測されました。

戦略的熟成ドメインのカテゴリ分布: 「malicious(悪意のある)」3.8%、「suspicious(疑わしい)」19%、「not safe for work (職場での閲覧に適さない)」2%、その他75.2%。
図3 戦略的熟成ドメインのカテゴリ分布

これらの戦略的に熟成されたドメインがもたらす脅威を評価するため、パロアルトネットワークスのURL Filteringからこれらのドメインがどのように分類されているかという情報を取得し、合わせてVirusTotalのスコアを取得しました。そしてこれらのドメインを「malicious(悪意のある)」、「suspicious(疑わしい)」、「not safe for work (職場での閲覧に適さない)」、「その他」の4つのグループに分けました。「malicious(悪意のある)」グループには、malware(マルウェア)、command and control(コマンド&コントロール)、grayware(グレイウェア)、phishing(フィッシング)、VirusTotalのいずれかのベンダによって検出されたドメインが含まれます。「suspicious(疑わしい)」グループには、parked(パーキングドメイン)、suspicious(疑わしい)、insufficient content (コンテンツ不足)、high risk(高リスク)に分類されたドメインが含まれます。nudity(ヌード)、adult(アダルト)、gambling(ギャンブル)などのテーマは「not safe for work(職場での閲覧に適さない)」に含めます。これらのグループに当てはまらないものは、「その他」とタグ付けされます。 3.8%の戦略的熟成ドメインが悪意のある振る舞いを見せていました。この割合は、NRDの1.27%と比べて3倍以上になります。それだけではなく、戦略的熟成ドメインの22.27%は、「悪意のある」、「疑わしい」、または「職場での閲覧に適さない」ドメインでした。ちなみに、Alexaのトップ1,000ドメインのうち、これらに該当するのはわずか0.07%です。

DGAが生成したサブドメインの検出

戦略的熟成ドメインを特定した後、DNSトラフィックのプロファイルに基づいて、進行中の攻撃を発見します。SolarWindsのサプライチェーン攻撃のDNSの特徴を参考に、同様のAPT攻撃を捕捉するための検知器を構築しました。

SolarWindsサプライチェーン攻撃のDNSの特徴

SolarWindsキャンペーンでは、休眠中のSUNBURSTトロイの木馬がC2ドメインavsvmcloud[.]comに定期的にコンタクトしてステータス報告やコマンド受信を行っていました。このハートビート通信は、固定のホストネームによって行われており、トラフィック量は限られていました。ですがこのC2ドメインが休眠状態から覚醒すると、バーストDNSリクエストの大半は新しいサブドメインに対するものでした。このトロイの木馬は、ドメイン生成アルゴリズム(DGA)を用いてこれらのホスト名を動的に構築することでデータを流出させていました。具体的には DGAstring.appsync-api.region.avsvmcloud[.]com という形式でサブドメインが生成されていました。この「DGAstring」は、感染組織のドメイン名やセキュリティ製品のステータスを含む、被害者の身元を暗号化した文字列です。これらのホスト名に対するリクエストを受信した攻撃者のDNSリゾルバは、流出した情報に基づいてべつのC2サーバーを指すCNAMEレスポンスを返していました。ようするにこのマルウェアはDGAのサブドメインをデータ流出と攻撃インフラのプロキシレイヤの追加に利用していたということです。

得られたDNSの知見を活用する

SolarWindsと同様のC2トラフィックを捕捉するため、弊社のDGAサブドメイン検出器は戦略的熟成ドメインのすべてのサブドメインをスキャンします。そして、DGAによるサブドメインへのDNSリクエストが急増しているものを、潜在的なAPTのC2ドメインとしてラベル付けします。その後、WHOISレコードや良性ホスト名パターンなどの追加情報に基づき、正規サービスを識別するためのフィルタをいくつか実装します。

検知したドメインの活性化後のDGAトラフィック割合の累積分布図を示しています。DGAトラフィック率は、これらのドメインの半数で 36.76%以上になっています。
図4 検出されたドメインのDGAトラフィックレートの累積分布図(Cumulative Distribution Figure: 以降「CDF」と表記)

DGAサブドメイン検出器では平均して1日に2件の疑わしいドメインを検出しました。活性日以降の各戦略的熟成ドメインは、新たに観測されたサブドメインをおよそ2,443個持ち、うち161個がDGAサブドメインです。図4は、活性後のDGAトラフィック率のCDF(累積分布図)を示しています。DGAトラフィック率は、これらのドメインの半数で 36.76%以上になっています。

ケーススタディ

APTスパイウェア

私たちのDGAサブドメイン検出器は、Pegasusスパイウェアキャンペーンによる異常なDNSトラフィックパターンを捕捉しました。Pegasusスパイウェアは、iOSやAndroidデバイスに感染し、クレデンシャル情報を収集し、通話やジオロケーション履歴を含むユーザー行動を追跡します。検出された2つのC2ドメイン permalinking[.]comopposedarrangement[.]net は、2019年に登録され、2021年7月に活性化してDGAのトラフィックの割合が高い状態になりました。

検出された2つのC2ドメイン permalinking[.]com と opposedarrangement[.]net は、2019年に登録され、2021年7月に活性化してDGAのトラフィックの割合が高い状態になりました。青い線は総DNSトラフィック、赤い線はDGAのDNSトラフィックを表しています。
図5 Pegasus スパイウェアのC2ドメインのDNSトラフィックの推移
図5に示すように、2021年7月18日以前のキャンペーンのドメインに対するDNSリクエストは、1日あたり15件程度でした。活性化した日には、1日のDNSトラフィックが突然56倍になりました。このキャンペーンでは、C2トラフィックを運ぶため、imgdsg4f35.permalinking[.]com php78mp9v.opposedarrangement[.]net など、複数のDGAサブドメインを使用していました。全体の傾向としては、DGAのトラフィック量は全体のトラフィック推移にあわせて増加していました。ただしキャンペーン期間中、DGAのトラフィックの割合は大幅に増加しました。7月18日以前のDGAトラフィック比率は23.22%だったのに対し、活性化後は42.04%となっています。

フィッシング

ゲートウェイのホスト名の1つであるjcxivnmqfqoiopdlvejvgucpmrfgmhwdlrkvzqyb.ui1io[.]cnのスクリプトは、URLに特定のパラメータが存在する場合、訪問者を別のフィッシングDGAドメインであるgjahqfcyr[.]cnに転送します。それ以外の場合は、正規の銀行Webサイトにリダイレクトされます。
図6 ui1io[.]cnにホストされているフィッシングゲートウェイのクローキングスクリプト
こうしたC2ドメインのほかに、私たちの検出器は、戦略的熟成ドメイン上でDGAにより生成したDNSトラフィックを使用するフィッシングキャンペーンも発見しました。このフィッシング攻撃でのDGAサブドメインの使用方法は、SolarWindsサプライチェーン攻撃で見られたものと同様のものでした。ここではDGAサブドメインが、実際の悪意のあるWebサイトの前段で、プロキシレイヤの提供のために使用されています。たとえばゲートウェイホストネームの1つであるjcxivnmqfqoiopdlvejvgucpmrfgmhwdlrkvzqyb.ui1io[.]cn のスクリプト(図6)は、URLに特定パラメータが存在する場合に訪問者を別のフィッシングDGAドメインである gjahqfcyr[.]cn に転送します。それ以外の場合は、正規の銀行Webサイトにリダイレクトされます。したがってこのDGAサブドメインは、本物のフィッシングコンテンツを無用な訪問者やクローラーから隠すクローキングレイヤとして機能します。弊社のシステムは、2021年10月2日、ui1io[.]cn のDGAサブドメインへのトラフィックの異常な増加を観測しました。

ゲートウェイホスト名とは別に、 フィッシングキャンペーンでは DGA 文字列を使ってレベルスクワット用のホスト名を生成することがあります。これらの文字列は、偽装目的で利用されている部分とルートドメインとに分離することができます。たとえば、2020年にmailingmarketing[.]netというドメインが作られました。弊社のシステムはこのドメインを2021年9月23日に戦略的熟成ドメインとして認識しましたが、その時点でこのドメインにはuk.id.login.update.ssl.encryption-6159368de39251d7a-login.id.security.trackid.piwikb7c1867dd7ba9c57.fd685e42f1d69c71708ff549fea71274.mailingmarketing[.]net などの47個の新たなDGAサブドメインを持っていました。これらのサブドメインは、偽のウイルススキャンページをホストしていました。これらのDGAサブドメインはあまりにも長いため、被害者は先頭部分だけを見て、暗号化された正当なログインサービスだと思いこみ、末尾のルートドメインの確認を怠ってしまう可能性があります。こうしたことはとくにモバイルユーザーで起こりがちです。モバイルブラウザではアドレスバーに完全修飾ドメイン名(FQDN)がすべて表示されず、切り詰められた先頭部分の文字列のみが表示されるためです。

ワイルドカードDNSの悪用

fiorichiari[.]comは、ワイルドカードのDNSレコードを使ってすべてのサブドメインを同じIPアドレスに向けています。2021年9月29日以降、私たちはこれらのDGAサブドメインに対するDNSリクエストのバーストを観測しています。この図が示すように、これらのホスト名は、ある種のWebサイトテンプレートにランダムな文字列を埋め込むかたちで生成されたWebサイトを提供しています。
図7 fiorichiari[.]comにホストされているランダムに生成されたWebサイト
また、グレイサービスがDGAのサブドメインを活用してインフラを構築しているケースもいくつか捕捉しました。たとえば、fiorichiari[.]comは、すべてのサブドメインを同じIPアドレスに向けるためのワイルドカードDNSレコードを持っています。ここのサービス運営者は、2021年7月27日にドメインを登録していました。2021年9月29日以降、私たちはこれらのDGAサブドメインに対するDNSリクエストのバーストを観測しています。図7が示すように、これらのホスト名は、ある種のWebサイトテンプレートにランダムな文字列を埋め込むかたちで生成されたWebサイトを提供しています。これらはブラックハットSEOに利用される可能性があります。具体的には、実際に価値ある情報を提供することなく、相互リンクを張ることで検索エンジンクローラーからの高評価を得ようとするWebページです。

結論

脅威アクターは、攻撃キャンペーンで使用するずっと以前にドメインを登録しておくことができます。たとえば、APTマルウェアは何年にもわたる休眠状態を経て突如活性化し、C2ドメイン経由で大量のエクスプロイト用トラフィックを生み出すことがあります。しかしながら弊社の高度なクラウド配信型パッシブDNSシステムでは、異常なトラフィックの増加パターンを示すドメインを戦略的熟成ドメインとして特定することができます。これらのドメインは、NRDに比べて悪意のある割合が高くなっています。また私たちは、トラフィック分布とサブドメインの特徴に基づき、悪意のある戦略的熟成ドメインを認識する検出器も開発しました。これらの疑わしいドメインは、DGA を利用して DNS トラフィック経由でデータを流出させたり、攻撃サービスの前段にプロキシレイヤを提供したり、レベルスクワット用のホスト名を作成する可能性があります。

パロアルトネットワークスでは、戦略的熟成ドメインやDGAサブドメインを検出するシステムによって、パッシブDNSのトレンドデータを監視し、潜在的な攻撃を発見しています。本システムは、お客様の保護のため、「グレイウェア」のカテゴリをつけたこれらの検知結果をパロアルトネットワークスの次世代ファイアウォール製品のセキュリティサブスクリプションにリアルタイムで提供しています。

IoC

avsvmcloud[.]com
fiorichiari[.]com
gjahqfcyr[.]cn
imgdsg4f35.permalinking[.]com
jcxivnmqfqoiopdlvejvgucpmrfgmhwdlrkvzqyb.ui1io[.]cn
mailingmarketing[.]net
opposedarrangement[.]net
permalinking[.]com
php78mp9v.opposedarrangement[.]net
ui1io[.]cn
uk.id.login.update.ssl.encryption-6159368de39251d7a-login.id.security.trackid.piwikb7c1867dd7ba9c57.fd685e42f1d69c71708ff549fea71274.mailingmarketing[.]net