CnC サーバーの追跡 – 誤検知

chasing cnc 1 news

前回の記事では、ボットネットのコマンド アンド コントロール (CnC) サーバーを介してボットネットを追跡することがいかに難しいかについて説明しました。前回の記事では、このアプローチの偽陰性 (検出漏れ) の側面に焦点を当てました。今日は、誤検出 (誤ったアラート/検出) の問題について詳しく説明します。

CnC サーバーを介してボットネットを追跡するには、いくつかの仮定が必要です。そのような仮定の 1 つは、「すべての CnC は悪いリソースであるか、少なくとも良いリソースと区別できる」というものです。それは完全に真実ではありません。奇妙に聞こえますか?説明させてください。

CnC サーバー (IP および/またはドメイン) がボット ヘルダーによって所有されていないか、ボット ヘルダーの完全な制御下にある場合は、多くの可能性があります。

考えられる重要なシナリオがいくつかあります。

1. 共有サーバー DNS

ボット ヘルダーは、侵害された Web サーバーを使用して CnC をホストすることがよくあります。ドキュメント ルートの下の 1 つのディレクトリがボットネット データを保持するために使用され、サーバーの残りの部分が正当な Web コンテンツをホストしている可能性があります。これは非常にトリッキーな状況を作り出します。そのため、このサーバーの DNS クエリは、ボットが CnC サーバーに接続しようとしていることを意味しなくなりました。むしろ、実際のユーザーがこの Web サーバーを正当に閲覧している可能性があります。このようなアラートに対してアクションを実行すると、クリーンなマシンが感染していると宣言されるだけでなく、ユーザーが正当なリソースにアクセスできなくなる可能性があります。

これは、ある時点で CnC として使用され、調査後に駆除されたことが判明したドメインのリストを Zeus/Zbot トラッカーが保持している、非常に広範囲にわたるケースです。

2. 共有 IP

DNS クエリを使用せずに CnC サーバーを特定するボットネットが多数あります。 Rustock や Pushdo のような大規模なボットネットを見てみましょう。このような場合、ボットは、これらの CnC サーバーに割り当てられた直接 IP アドレスを使用して、CnC サーバーを識別します。 CnC サーバーは通常、盗まれたクレジット カードを使用して購入され、ボット ヘルダーによってすぐに放棄されます。ボット ヘルダーがこれらの CnC サーバーを放棄すると、これらの IP ブロックを正当な関係者に再割り当てできます。

3. パブリック Web 2.0 サイト

多くのボット ヘルダーが Web 2.0 サイトなどのパブリック サービスを使用して CnC をホストする傾向が見られます。これには、 Twitter 、Rapidshare、 multimania.co.uk、lycos.co.ukAmazon.com のクラウド サービス、および IRC、FTP、SMTP サーバーの膨大なリストが含まれますが、これらに限定されません。このタイプの CnC インフラストラクチャでは、CnC 署名ベースのボットネット検出が非常に誤検出されやすくなり、マルウェアが行っていることはすべて正当なサーバー/ドメインと通信しているため、実用的な観点からはほとんど不可能です。

最近の「Here you have」電子メール ワームは、この典型的な例です。ボット ヘルダーは、members.lycos.uk と multimania.co.uk でファイルをホストしていました。

4. p2p ボットネット

Storm、Nugache、Waledac などの p2p ボットネットには、中央のコマンド アンド コントロール メカニズムがありません。集中型の CnC サーバーを使用しないことで、これらのボットネットは CnC サーバー ベースの検出を完全に不可能にします。

5.CnCなし

CnC メカニズムを持たないマルウェアが多数あります。これらのマルウェアのほとんどはウイルスであり、ワームは単なる娯楽目的で開発されたものですが、CnC 通信なしで確認された最新のマルウェア攻撃もいくつかあります。ボット ヘルダーは、「ランサムウェア」を使用してユーザーのファイルを暗号化し、被害者に電子メールで話しかけて支払いを行い、ファイルを復元するよう依頼します。

一部の学術研究では、ドメインの統計分析を通じて CnC ドメインを検出できることが示されています。これは、CnC ベースのボットネット検出に関連する偽陰性の問題を解決するための試みです。問題は、このアプローチは偽陰性の問題の一部を解決するかもしれませんが、偽陽性の問題をさらに悪化させることです。このアプローチは、過去の NS およびドメインの whois レコードに大きく依存しています。このアプローチでは、不正なドメインと正当なドメインを区別する場合がありますが、要点は、すべての不正なドメインが CnC ドメインであるとは限らないということです。悪者は毎日、何百ものスパム/フィッシング ドメインを登録して、スパム フィルターを回避しています。不正なドメインの発生は、常にマシンがボットをホストしていることを示しているわけではありません。たとえば、多くのスパム フィルターは電子メールの内容をスキャンし、場合によっては電子メール本文内のドメインを検索します。このスキャンにより、不正なドメインに対して多数の DNS クエリが生成される可能性があります。これらの異常検出機能は、これらのフィルタによって生成された DNS クエリを疑わしい動作と見なし、ソース IP を感染したマシンとして宣言する場合があります。おかしな状況ですね。

ポップアップまたは Web ページのリダイレクトにより、ユーザーが不正なドメイン、スパム ドメイン、またはエクスプロイト ドメインに遭遇した場合、別の広範なケースが発生します。ソーシャル エンジニアリング攻撃の場合、ユーザーは単純にそれを無視するか、システムの非互換性のためにエクスプロイトが機能しない可能性があります (Windows だけが OS ではありません)。結果として得られる DNS クエリは、そのような異常検出器を誤解させる可能性があります。この基本的な問題を回避するために、これらのタイプの異常検出器は、「監視下」マシンの概念を導入することがよくあります。これらのセンサーは、最初のいわゆる「悪質なドメイン」を確認した後、特定のシステムを最初に疑わしいとマークし、それがボットされたマシンである場合、これらの DNS クエリを定期的に実行すると想定します。マシンを長期間監視下に置くということは、合理的に確信が持てるまで CnC 通信を切断させておくことを意味します。パスワード スティーラーが盗んだデータをアップロードするのにどれくらいの時間がかかりますか?いくつかの Zbot サンプルをラボで実行したところ、Zbot がキャッシュされたパスワードをアップロードするのに平均で 1 分もかからないことがわかりました。詐欺師があなたの銀行口座を空にした後の検出の用途は何ですか?

このタイプのアプローチでは、テラバイト単位の固有のコマンド アンド コントロール (CnC) データを分析することになり、それでも多くの検出を見逃すことになります。この大量のデータ自体は、セキュリティ担当者が新しい CnC データを収集し続け、その間に悪者が新しい CnC に移動するという競合状態を示しています。

ウイルス対策ベンダーも同様の問題に直面しています。彼らは毎日何百万ものユニークなサンプルを収集していますが、それでも多くの見落としがあります。悪者が侵入したい場合は侵入し、CnC 通信を停止することですべての被害を防ぐことができるという理論は、ワクチン接種を選択せず、感染が来るのを待ってから抗生物質で病気と戦うようなものです。私たちは皆、抗生物質が実際の病気よりも多くの損傷を引き起こすことがあることを知っています.防御を成功させるには、多層的なアプローチが必要です。

これが、今日のネットワークを防御するための理想的なマルチレイヤ アプローチを定義する方法です。

1. 古いソフトウェアへのパッチ適用 (古いエクスプロイトを阻止するため) や継続的なユーザー トレーニング (ソーシャル エンジニアリングを軽減するため) など、より適切なポリシーを使用してコアの問題に対処します。これらのタイプの脆弱性をできる限り制限することは、適切な最初のステップです。

2. ただし、ゼロデイ攻撃などの脅威は、この防御の最前線を通過します。そのため、エンドポイント ソフトウェアを悪用したり、人的ミスを犯したりする前に、ネットワーク層で阻止するようにしてください。

3. 上記のアプローチの両方が機能せず、感染が発生した場合は、少なくともマルウェアが CnC に戻って通信し、データを盗み出すのをブロックします。これは、マルウェアがユーザー資格情報を広めたり盗んだりするのを阻止するためのもう 1 つの緩和策です。

ここで、CnC 通信をブロックしても、システム リソースの消費、ユーザー ファイルの破損やハイジャックなど、最新のマルウェアによって引き起こされるその他の損害を防ぐことはできないことに注意してください。Bancos のようなマルウェアは、Windows ホスト ファイルを編集して、ユーザーを偽の銀行 Web サイトにリダイレクトします。そのため、CnC 通信が停止した場合でも、エンド ユーザーのホスト ファイルをクリーンアップする必要があります。そうしないと、ユーザーはフィッシング Web サイトにアクセスし続け、貴重な情報とお金を失うことになります。さらに、最新のマルウェアはオオカミの群れの形をとっています。 CnC 通信を 1 つでも停止できないと、再び感染する可能性があります。

私の調査結果をバックアップするために、実際のマルウェアの例をいくつか紹介して記事を締めくくります。

multimania.co.uk に通信する「Here you have」電子メール ワーム。

chasing cnc 1

DAL IRC ネットワークに接続する IRC.Mechbot ボット

CnC コマンドを送受信するための独自の通信チャネルを形成します。この CnC サーバーをブラックリストに登録することはできず、多くの誤検知アラームが発生します。

cnc 2 を追いかけて

ピアに接続する P2P ボットネットである Waledac

中央サーバーなし (DNS および/または IP)

cnc 3 を追いかけて

Pushdo と Cutwail

どちらも DNS を使用して CnC を特定しません。 DNS 要求がないため、DNS ベースの統計分析は役に立たなくなります。

cnc 4 を追いかけて

Perfect Keylogger ソフトウェアの悪用

多くの人は、SMTP を介して通信するマルウェアを認識していません。たとえば、Perfect Keylogger ソフトウェア パッケージに基づくマルウェアが、盗んだ情報を AOL の電子メール サービスに直接アップロードしています。それは AOL を CnC サーバーにしますか?

cnc 5 を追いかけて

これらはほんの一例に過ぎず、すべてのケースについて説明する時間はありません。ブラックリストに載せることがほとんど不可能な CnC サーバーとマルウェアが通信するケースは数百件あります。この時代遅れのブラック リスト アプローチを捨てて、最新のマルウェアを検出する新しい方法を見つける時が来ました。

アティフ・ムシュタク @ FireEye マルウェア インテリジェンス ラボ

詳しいご質問・ご意見:research SHIFT-2 fireeye DOT COM

参照: https://www.mandiant.com/resources/blog/chasing-cnc-servers-part-2

Comments

Copied title and URL