Pool Party プロセス・インジェクションという手法:主要 EDR ソリューションのバイパスに成功

Bypassing Major Edrs Using Pool Party Process Injection Techniques

2023/12/08 SecurityAffairs — サイバーセキュリティ企業 SafeBreach の研究者たちが、EDR ソリューションをバイパスするプロセス・インジェクションのテクニックを考案した。彼らは、このテクニックを Black Hat Europe 2023 で発表した。SafeBreach の研究者は、あまり調査されていない Windows のスレッド・プールに注目し、プロセス・インジェクションの新しい攻撃ベクターを発見した。

研究者たちは、正当な操作の結果として、悪意の実行を引き起こすことを8件のプロセス・インジェクション技術を発見した。

SafeBreach が発表した分析結果には、「これらの技法は、制限なく全てのプロセスで動作することが可能であり、既存のプロセス・インジェクション技法と比べて柔軟性が高い。さらに重要なことに、5つの主要な EDR ソリューションに対してテストしたところ、このテクニックは完全に検出不可能であることが証明された」と読める。

Pool Party

プロセス・インジェクション技術は、ターゲット・プロセス上でメモリを確保した後に、確保されたメモリに悪意のあるコードを書き込み、そのコードを実行するという、3つのプリミティブの連鎖で構成されている。

SafeBreach の研究者たちが、複数のプリミティブをテストした結果として判明したのは、それらの EDR ソリューションがプロセス・インジェクションを検知するのは、主に実行プリミティブを追跡するときであるという事実だった。

そこで SafeBreach の研究者たちは、メモリの割り当てと書き込みのプリミティブのみに基づく、実行プリミティブの作成に着目した。正規のアクションによりマルウェアの実行を誘発する可能性を探るために、彼らは Windows ユーザー・モードのスレッド・プールを分析した。

Windows のプロセスにはデフォルトでスレッド・プールがあり、スレッド・プールにはカーネル・コードとユーザー・コードの両方が存在する。

SafeBreach の研究者たちは、プロセス・インジェクションを実現するために、worker factories の悪用が可能であると推測した。

この worker factories は、スレッド・プールのワーカー・スレッドを監督する Windows オブジェクトであり、必要に応じてスレッドの作成・終了を行うものだ。そして worker factories は、作業アイテムのスケジュールや実行は行わないが、適切な数のワーカー・スレッドを確保する。

SafeBreach の研究者が発見したテクニックの1つは、worker factories のスタート・ルーチンを悪用するものであり、もう1つは3つのキュー・タイプを悪用するものだ。

SafeBreach のレポートには、「キュータイプを復帰させると、非同期ワークアイテムは I/O 完了キューにキューイングされる。I/O 完了キューは、完了した I/O 操作のキューとして機能する Windows オブジェクトである。I/O 操作が完了すると、通知がキューに挿入される。スレッドプールは、非同期ワークアイテムの操作が完了したときに通知を受け取るために、I/O 完了キューに依存している」と記されている。

SafeBreachは、主要 EDR ソリューションのバイパス・テストにおいて、100%の成功率を達成した:

  • Palo Alto Cortex
  • SentinelOne EDR
  • CrowdStrike Falcon
  • Microsoft Defender For Endpoint
  • Cybereason EDR

SafeBreach は、「最新の EDR は、既知のプロセス・インジェクション技術を検出するように進化している。しかし、私たちの研究により。検出不可能で壊滅的な影響を与える可能性のある、新しい技術を開発する余地があることが証明された。今後も、洗練された脅威アクターたちは、革新的なプロセス・インジェクションの手法を探求し続けるだろう。したがって、セキュリティのベンダーや実務者は、プロセス・インジェクションに対する先進的な防御策を講じる必要がある」と結論づけている。