ブログ(脅威調査)

SCANdalous!(ネットワークスキャンデータと自動化を用いた外部検知)

残念なことに、プロジェクトのタイトルを法的な理由で変更しなければなりませんでした。SCANdalous-別名 Scannah Montana 別名 Scanny McScanface 別名 "Scan I Kick It? (Yes You Scan) はこれまで別の名前をつけていましたが、法律的な理由からその名前は公開していません。いつも私たちを見守ってくれている法務チームに感謝します。

はじめに

Advanced Practicesは、数千のFireEyeクライアントにわたるMandiant インシデント・レスポンスManaged Defense、および製品テレメトリーによって取得された一次ソースデータを使用していることで知られています。攻撃グループを定期的に直接観察することで、彼らの手口の詳細を知る機会が得られます。オーガニックデータからの可視性は膨大ですが、サードパーティのデータソースからも価値を得ることができます。インターネットに目を向けることで、クライアントの環境範囲を超えて可視性を拡張し、(多くの場合、クライアントへの侵入を開始する前の)外部にいる攻撃者を検出する時間を短縮します。

Aaron Stephensは、2019年10月、毎年開催されるFireEye Cyber Defense Summitで「Scan't Touch This」を発表しました(スライドはGithubで公開)。彼は、ネットワークスキャンデータを外部検知に使用することについて議論し、犯罪組織や諜報機関が使用する様々な攻撃フレームワークのコマンド&コントロール(C2)サーバーをプロファイリングする方法の例を提供しました。しかしながら、これらの技術を手動で適用しても、スケーリングしません。あなたの役割が1つまたは2つのグループに焦点を当てている場合、それは機能するかもしれませんが、Advanced Practicesの対象範囲ははるかに広いです。私たちは、何千ものグループ、マルウェア・ファミリー、プロファイルを追跡できるソリューションを必要としていました。本ブログの記事では、これまでの道のりといくつかの成功をハイライトし、初めて公に、そのすべての背後にあるプロジェクト、SCANdalousを紹介したいと思います。

SCANdalous以前のケーススタディ

システムによる自動化を使用するまで、私たちのチームは、従来のプロファイリング手法を用いて、興味のあるサーバーを手動で識別していました。以下、その一例をご紹介します。これらの事例で見出された成功は、SCANdalousの主要な動機として役立ちました。

APT39 SSHトンネリング

APT39の一連の侵入を観察した結果、Remote Desktop Protocol接続をターゲット環境内の内部ホストに転送するために、PuTTY Linkを使用して頻繁にセキュアシェル(SSH)トンネルを作成していたことが判明しました。そして、ポート443でリスニングするBitVise SSHサーバーを好んで使用していました。最後に、WorldStream B.Vがホストするサーバーを使用していました。

これらの特性を分離し、いずれか1つに焦点を当てることは、多くの関係のないサーバーを検出してしまうことになりますが、これらの特性が合わさると、新たに立ち上げられたインフラに対する強力な信号となりました。私たちは、この確立されたプロファイルおよびその他のプロファイルを使用することで、後にAPT39に関連付けられることとなる数十のサーバーを特定しました。これらは多くの場合、ターゲットに対して使用されるより前に特定されました。

APT34 QUADAGENT

2018年2月、独立系の研究者が、後にQUADAGENTと名づけられるサンプルを共有しました。侵入ではまだ観察されていませんでしたが、C2の特性を分析することによって、サーバーを長期にわたり追跡するための強力なプロファイルを開発することができました。たとえば、チームはサーバー185.161.208\.37とドメインrdppath\.comを確立されてから数時間以内に特定しました。1週間後、私たちは、以前に特定されたC2を有するQUADAGENTドロッパーを特定しました。QUADAGENTのさらなる例を図1に示します。


図1:Shodanユーザー・インターフェース内のQUADAGENT C2サーバー

QUADAGENTドロッパーが特定されてから5日後、Mandiantは、同じC2を介して標的とされた被害組織の調査を行っていました。この活動は、後にAPT34によるものであることが判明しました。調査を通じて、MandiantはAPT34がRULER.HOMEPAGEを用いていることを発見しました。私たちのコンサルタントが、実際の攻撃者によるこのツールおよび技術の使用を観察したのはこれが初めてでした。私たちのチームは、HOMEPAGEペイロードをホストするサーバーのプロファイルを開発し、インターネット上でのそれらの展開の追跡を開始しました。図2は、2018年2月から11月の間に発見されたQUADAGENT C2サーバーの時系列を示します。


図2:QUADAGENT C2サーバーが2018年中に発見された時系列

APT33 RULER.HOMEPAGE、POSHC2、およびPOWERTON

前述の侵入の1ヶ月後、Managed Defenseは、攻撃者がPOSHC2をダウンロードし実行するためにRULER.HOMEPAGEを使用したことを発見しました。すべてのRULER.HOMEPAGEサーバーは、私たちの試みによって事前に特定されていました。私たちのチームは、POSHC2のプロフィールを作成し、インターネット上での展開を追跡し始めました。攻撃グループは、PowerShellを使用した新しいバックドア「POWERTON」の使用を開始しました。私たちのチームはワークフローを繰り返し、これらのC2サーバーも明らかにし始めました。この活動は、後にAPT33によるものと判明し、私たちのOVERRULEDの記事に記録されました。

SCANdalous

Scanner, Better, Faster, Stronger

スキャンデータの使用は非常にうまくいっており、さらに活用したいと思いましたが、そこには革新が必要でした。はたして、どのようにしてこのデータセットと方法論を活用して、当社のソリューションやサービス全体で観察している、(それは1つや2つではなく)多数のアクティブなグループを追跡することができたのか。たとえAdvanced Practicesのメンバー全員が外部検出に専念していたとしても、必要な手作業の量に対応するだけの時間やリソースを確保することはできません。しかし、そこでキーになるのは「手作業」でした。私たちのワークフローは個々のアナリストの時間を消費していたため、私たちはそれを変えなければなりませんでした。これが、サードパーティのネットワークスキャンデータを使用する外部検出のための自動化されたシステム、SCANdalousの始まりでした。

コンピュータの良いところは、マルチタスクが得意で、忘れないところです。毎日、時間があればまたは忘れなければやっていた、何時間もかかる仕事でも、今ではSCANdalous なら、数秒ではないにしても、数分しかかかりません。これは、解析のための時間が増えたばかりでなく、対象範囲も広げることができました。ここでは、特定のグループを探すだけでなく、一般的なマルウェア、ツール、フレームワークも検索します。私たちは、それ自体は悪いものではないのですが、攻撃グループによってしばしば使用されるソフトウェアでもあるため、弱い信号(または広いシグネチャ)を展開します。

私たちの外部検出は、検出時にSCANdalousによって実行される追加の収集タスクを自動化することによってさらに改善されました。私たちはそれらをフォローオンアクションと呼びます。たとえば、興味深いオープンディレクトリが特定された場合は、特定のファイルを取得します。これらのアクションにより、チームは「勤務時間外」中にチャンスを逃すことはありません。SCANdalousが週末や休日に興味深いものを見つけた場合、サーバーに対し一刻を争うタスクを実行し、顧客の防衛の助けとします。

私たちが収集したデータは、顧客環境で観察されていないものを追跡するのに役立つだけでなく、インシデント対応者やセキュリティアナリストにタイムリーかつ過去のコンテキストを提供することを可能にします。Mandiant インシデント・レスポンスもしくはManaged Defenseからの観察を受け、それを知識として蓄積することは、常に私たちの糧となっていました。そこにSCANdalousを加えることで、その知識をインターネット全体に投影することができます。

収集メトリック

手作業での取り組みを始めた頃から振り返ってこのプロジェクトがどこまで進んでいるのか、おそらく数字を調べてみると最もよくわかるでしょう。今日(そして、これらが成長し続けていると書いているように)、SCANdalousは5000を超えるシグニチャを保持し、多数のマルウェアファミリーと脅威グループ、複数のソースをカバーしています。SCANdalousは、開始以来、200万を超える検知を記録してきました。そのひとつひとつが、私たちのチームが分析的な意思決定を下すのに役立つコンテキスト化されたデータの一部です。もちろん、数の大きさがすべてではありませんので、もう少し深く見ていきましょう。

アナリストは、ある組織への攻撃で特定のIPアドレスが使用されたことを発見すると、そのことをナレッジベースに記録します。この発見がなされた時期は、侵入に使用された時期と必ずしも相関しませんが、その使用がいつわかったかを知ることは、依然として価値があります。これらの時間をSCANdalousからのデータと相互参照して、外部検出の影響を理解するのに役立てることができます。

昨年に被害組織で観測され、アナリストがマークしたIPアドレスを見ると、21.7%(1/5以上)がSCANdalousでも発見されていることがわかります。その1/5の内容(アナリストとSCANdalous双方で発見されたIPアドレス)をよく見ると、SCANdalousの平均リードタイムは47日です。SCANdalousが最初に見つけたIPアドレスのみを考慮すると、平均リードタイムは106日に跳ね上がります。このデータをさらに掘り下げて月ごとに調べてみると、クライアントで観測される前に、SCANdalousによって特定されたIPアドレスの割合が着実に上昇傾向にあることがわかります(図3)。


図3:FireEyeアナリストがクライアントで観察したとマークする前にSCANdalousで検出されたIPアドレスの割合

同様のパターンは、同じデータ上のSCANdalousの平均リードタイムで見ることができます(図4)。


図4:図3に示した同じデータに対するSCANdalousの平均リードタイム(日数)

シグネチャを作成し続け、外部からの検知を増やしていくと、これらの数字からも、結果として得られるデータの有効性および価値も増大することがわかります。

SCANdalous ケーススタディ

今日、Advanced Practicesでは、SCANdalousは、私たちの外部検出の中核的な要素です。これにより、オーガニックデータを超えた規模と範囲で脅威活動を観察することができる新しいレンズを提供し、Mandiantを支援する私たちのワークフローを強化しました。お気に入りの例をいくつか紹介します:

FIN6

2019年初頭、SCANdalousはFIN6に関連付けることができたCobalt Strike C2サーバーを特定しました。その4時間後、このサーバーはManaged Defense顧客を標的に使用されました。(関連ブログ記事「Pick 6:FIN6の侵入をインターセプト。ランサムウェアRyukとLockerGogaに関係」)

FIN7

2019年後半、SCANdalousはBOOSTWRITE C2サーバーを特定し、後にMandiantが対応にあたったFIN7の侵害においてファイルを復号するために必要な鍵を自動的に取得していました。(関連ブログ記事「Mahalo FIN7: Responding to the Criminal Operators’ New Tools and Techniques」)

UNC1878 (金銭的動機)

また、最近投稿されたUNC1878に関するブログ記事を覚えている方もいらっしゃるかもしれません。これは、初期の観察をより大きなデータセットに成長させ、その知識を使用して、当社の提供する製品全体でより多くの活動を見つけるための素晴らしいケーススタディとなるものです。その活動を追跡するための初期の作業の多く(「拡張」と題するセクションを参照)は、SCANdalousを介して行われました。Managed Defense からの迅速な対応により、C2のプロファイルを構築するのに十分な情報が得られ、そこから自動化されたシステムに引き継がれることになりました。数カ月の間に、SCANdalousはUNC1878のプロフィールに一致する多数のサーバーを特定しました。これにより、新しいネットワーク・インフラを分析し、関連付けるだけでなく、どのようにそれらのオペレーションが時間とともに変化しているかを観察することができるようになりました。

結論

お話ししたい事例は何百もありますが、ポイントは同じです。分析ワークフローに価値を見出すと、私たちはそれをより良く、より早くできる方法を自問します。私たちがツールに組み込んだ自動化により、手作業で行っていた作業をより多く達成できるだけでなく、今までできなかったことにも取り組むことができるようになりました。もちろん、転換は一気に行われるわけではありません。すべての良いものと同様に、私たちは多くの改善を行い、現在の位置にたどりつきました。そして、さらに多くのことをする方法を見つけているのです。革新を続けることこそが、Advanced Practicesとして、ファイア・アイとして、そして業界として、前進し続ける方法です。

シグニチャの例

以下はShodanクエリの例ですが、スキャンデータのソースであればどのようなものでも使用できます。

APT39 C2サーバーの識別に使用

  • product:“bitvise” port:“443” org:“WorldStream B.V.”

QUADAGENT C2サーバーの識別に使用

  • “PHP/7.2.0beta2”

RULER.HOMEPAGEペイロード

  • html:“clsid:0006F063-0000-0000-C000-000000000046”

 

本ブログは、米FireEyeが公開した July 13, 2020「SCANdalous! (External Detection Using Network Scan Data and Automation)」(英語)の日本語抄訳版です。

日本語版:Reviewed by Takahiro Sugiyama