DeRF によるクラウド脅威検知機能: 現在のツールのギャップを埋める

2023年8月9日
Kat Traxler
Principal Security Researcher
DeRF によるクラウド脅威検知機能: 現在のツールのギャップを埋める

組織がクラウドの脅威検知を業務運用に統合しようと努力する中、ほとんどの組織が大きなギャップに直面しています。多くの場合、既存のツールには、ユースケースの拡大に対応する柔軟性や、カスタム攻撃手法の開発をサポートする拡張性が欠けているのです。

これらのギャップを埋めるために、DeRF(Detection Replay Framework)をご紹介します。私たちが新しくリリースしたこのツールは、ユースケースが単独のインシデントという枠組みを超えて進化したときに発生する一般的な課題に対応しています。

この新しいフレームワークには、他とは一線を画すいくつかの重要な設計上の決定が盛り込まれています。これによって、インフラを展開するために必要な権限と、攻撃を実行するために必要な権限を分離します。この分離は、機能が拡大し、これらの異なる機能を果たすために多くのユーザーが必要になるにつれて、ますます価値が高まるのです。

さらに、DeRFは拡張性のために設計されています。DeRFには多数の攻撃テクニックがあらかじめ組み込まれていますが、独自の手法を組み込むプロセスは、YAMLファイルを作成するのと同じくらい簡単です。これにより、ツールのコア機能を変更することなくカスタマイズすることが可能になります。

DeRFとは?

GitHubで公開されているオープンソースのツールであるDeRFは、Pythonで書かれたTerraformモジュールとCloud Run1アプリケーションで構成されています。このパッケージの中では、AWSとGCPにフォーカスした様々な攻撃手法がビルトインされています。DeRF には、Stratus Red Team と同等の攻撃手法が組み込まれており、オペレーターがツールベースの攻撃機能を選択する必要がなくなります。代わりに、特定の使用例に最適なツールを選択できます。 The DeRF と他のクラウド ツールとの比較をより包括的に知りたい場合は、こちらの比較ページをご覧ください。

注目すべき組み込み攻撃モジュールは、DeRF ドキュメントのすべての組み込み攻撃手法の完全なリストとともに以下にリストされています。

特権アクセス:

防御回避:

実行する:

見つける:

流出:

特権のエスカレーション:

検知の生成に焦点を当てた他のツールと同様に、DeRFは攻撃者のテクニックをシミュレートするために操作されるターゲット・クラウド・インフラストラクチャを展開し、管理します。Terraform を使用してすべてのリソースを管理し、ホスト型攻撃手法とターゲットインフラストラクチャを 3 分以内に展開 (および破壊) します。

現在、BYOI(Bring-your-own-Infrastructure)モデルはサポートされていませんが、DeRFインフラストラクチャを維持するためのコストは、Googleクラウドの場合は、月額10ドル未満です。そして、AWSでは月額5ドルになります。このツールの便利なデプロイメントモデルは、24時間365日稼働し続けるのではなく、必要に応じて使用できます。詳しくはデプロイメントガイドをご覧ください。

DeRFと他のクラウドツールとの違いは?

違いは多くあります。主なものは以下の通り。  

  • ユーザーフレンドリーなインターフェース:DeRFはGoogle Cloud でホストされているため、エンドユーザーはソフトウェアをインストールしたりCLIを使用したりすることなく、クラウドのコンソールUIから攻撃を呼び出すことができます。  
  • セキュリティの専門家以外でも利用しやすい:DeRFは、自動化されたプロセスだけでなく、エンジニアリング、セールス、サポートスタッフを含む幅広いエンドユーザーの使用に対応しています。  
  • 堅牢なOpSec:有効期間の長い認証情報は、オペレータ間で受け渡しされません。代わりに、DeRFへのアクセスとその攻撃技術は、GCP IAMの役割ベースのアクセス制御(RBAC) によって制御されます。  
  • コアにある拡張性:攻撃シーケンスはYAMLで記述されているため、新しいテクニックを簡単に設定できます。
  • ターンキーのデプロイメント:DeRFの展開 (および破棄) は完全に自動化されたプロセスで、3分以内に完了します。

DeRFを始める

DeRFのデプロイメントと最初の攻撃テクニックの実行方法については、ユーザーガイドをご参照ください。このガイドでは、その手順を説明します。  

  1. TerraformですべてのリソースをAWSとGCPにデプロイする
  2. Google Cloud ワークフローへのアクセス制御の設定
  3. Google Cloud ワークフローを起動し、AWS または GCP に対して攻撃を実行する

DeRFはどのように機能しているのか?

DeRFのユニークなアーキテクチャは、すべてTerraformによってデプロイされており、AWSとGCPにまたがるリソースで構成されています。

AWS攻撃アーキテクチャ
AWS攻撃アーキテクチャ
DeRF アーキテクチャ・ダイアグラム キー

DeRFのペルソナ

DeRFは、ツールの展開と攻撃の実行を切り離すユニークなアプローチで、他の攻撃ツールの中でも際立っています。The DeRFでは、オペレータは攻撃を開始する際に異なるユーザを選択することができます。この選択は、現実的な脅威アクターのシナリオを構築したり、ログ内の行動を区別したりするなど、複数の目的に役立ちます。DeRF Deployment User」、「DeRF AWS Execution User 01」、「DeRF AWS Execution User 02」、「DeRF AWS Default User」、「AWS Custom IAM Role」など、利用可能なペルソナの詳細については、The DeRFのドキュメントをご参照照ください。

DeRFのペルソナ

攻撃テクニックの実行

ターゲットがAWSであろうとGCPであろうと、攻撃は常にGoogle Cloud ワークフローを呼び出すことで実行されます。以下は、手動およびプログラムで、The DeRFを使って攻撃手法を実行する方法の例です。

攻撃の実行 - 手動

1. Google Cloud Console にログインし、ワークフローのページに移動する

2. 実行したい攻撃に一致するワークフロー名をクリックする

実行したい攻撃に合致するワークフロー名をクリックする。

3. 実行ボタンをクリックする

実行ボタンをクリックする。

4. 右側のコードパネルを参照し、可能な入力のいずれかをコピーすることによって、攻撃を実行するユーザーを選択  

コードパネルで、可能な入力のいずれかをコピーして、どのユーザーとして攻撃を実行するかを選択する。

5. 左側の入力パネルに選択したJSONを貼り付ける  

左側の入力パネルに選択したJSONを貼り付ける。

6. 最後に、画面下部の「Execute」ボタンを選択する

画面下の "Execute "ボタンを選択する。

7. 攻撃結果が画面右側に表示される

攻撃実行:プログラム

1. Googleコマンドラインツールがローカルシステムにインストールされていることを確認。gcloud cliのインストール方法については、Googleのドキュメントを参照ください

2. DeRFが導入されているGoogle Cloud Projectを認証する

3. gcloud cliで特定の攻撃手法のワークフローを呼び出す。ワークフローサービスに関するより包括的な説明は、Googleのドキュメントを参照ください

ユースケース:

カスタム攻撃テクニックの作成

DeRFの初期リリースは、一般的なクラウド攻撃テクニックを幅広く網羅しており、トレーニング、コントロールテスト、攻撃シナリオの実行に十分なリソースを提供します。しかし、ニーズが進化するにつれて、初期のセットから拡張し、独自のカスタム攻撃モジュールを導入する必要があるかもしれません。DeRFを使えば、このプロセスは簡素化されます。すべての攻撃テクニックは、Google Cloud Workflowsとして定義されており、フォークしたバージョンのコードベース内に追加のTerraformモジュールとして導入することができます。

AWS APIコールの詳細を指定する  

AWS に対して行われる全ての API 呼び出しは、Google Cloud ワークフローからAWS プロキシアプリケーションに送信される HTTP リクエストの中で明示的に定義され、意図した宛先にルーティングされます。Google クラウドワークフローとしてAWS攻撃技術を構築するための包括的な手順は、DeRFのドキュメントに記載されています。これらのワークフローの構築を理解するために、下記を詳しくご確認ください。

Google Cloud ワークフローの構造
Trail Cloud Workflowの削除

次のステップ

次のステップとして以下を計画しています。

  1. 組み込みの攻撃手法を拡張します。DeRFの初期リリースは、AWSおよびGCP向けのStratus Red Teamとの攻撃モジュールのパリティに焦点を当てます。将来的には、ツールを通じてDeRF独自の攻撃手法をリリースし、Azureのサポートを追加する予定です。  
  2. 攻撃技術を呼び出すための自動化を追加する。DeRFの一般的なユースケースは、継続的なコントロールの検証と検知ロジックのテストです。
    現在、攻撃技術を呼び出すためにCronジョブを手動で作成する必要があります。 近い将来、DeRFはCloud Scheduler2の設定により、攻撃手法の自動化をサポートする予定です。

謝辞

DeRFの作成者であり維持管理者であるKat Traxlerと、プロジェクト開発中にサポートとフィードバックを提供してくれた以下のコミュニティメンバーに感謝したいと思います。

このブログ記事やその他のトピックについては、Vectra AI Redditコミュニティにて直接お問い合わせください。

参考文献

[1]:https://cloud.google.com/run/

[2]:https://cloud.google.com/scheduler/docs/creating