
インフラストラクチャを作成し、Atomicテストを実行するためのAzure Pipelinesを提供します。
攻撃手法の種類が急速に増加し、EDR(エンドポイント検出および対応)が提供する検出ルールの数やカスタム作成されたルールも同時に増加しているため、検出ルールの継続的な機能テストの必要性が明らかになっています。しかし、これらの攻撃を手動で再実行し、検出ルールとクロスリファレンスすることは労力のかかる作業であり、自動化する価値があります。
この課題に対処するため、私はオープンソースイニシアチブ「PurpleKeep」を開発しました。これは、検出ルールの自動テストを容易にするために設計されています。Atomic Red Teamプロジェクトの機能を活用し、MITRE TTPs(戦術、技術、手順)に従った攻撃のシミュレーションを可能にします。PurpleKeepはこれらのTTPのシミュレーションを強化し、検出ルールの有効性評価の出発点として機能します。
テスト環境で1つまたは複数のTTPをシミュレートするプロセスを自動化するには、特定の課題が伴います。その1つは、複数のシミュレーション後にプラットフォームが汚染されることです。しかし、PurpleKeepはシミュレーションプロセスを合理化し、対象プラットフォームの作成とインストルメンテーションを容易にすることで、このハードルを克服することを目指しています。
主に概念実証として開発されたPurpleKeepは、Azureベースの環境向けに調整されたエンドツーエンドの検出ルール検証プラットフォームとして機能します。これは、優先EDRソリューションとしてのMicrosoft Defender for Endpointの自動デプロイと組み合わせてテストされています。PurpleKeepはまた、セキュリティおよび監査ポリシーの設定をサポートし、ユーザーが希望するエンドポイント環境を模倣できるようにします。
分析と監視を容易にするために、PurpleKeepはAzure MonitorおよびLog Analyticsサービスと統合し、シミュレーションログを保存し、同じプラットフォームに保存されたイベントやアラートとのさらなる相関を可能にします。
TLDR: PurpleKeepは、Azureベースの環境でのエンドツーエンドの検出ルール検証の出発点として機能する攻撃シミュレーションプラットフォームを提供します。
このプロジェクトはAzure Pipelinesに基づいており、実行するには以下が必要です:
セキュリティポリシーや監査ポリシーファイルを提供して、Group Policyの設定を模倣することができます。Azure DevOpsのライブラリのセキュアファイルオプションを使用して、パイプラインからアクセス可能にします。
設定可能な項目については、variablesファイルを参照してください。

インフラストラクチャのデプロイにはAzure Pipelineを使用して、以下の手順を実行します:
現在、パブリックリポジトリのAtomicsのみがサポートされています。パイプラインはTechnique IDを入力として受け取るか、カンマ区切りのテクニックリストを受け取ります。例:
シミュレーションのログは、Log Analytics WorkspaceのAtomicLogs_CLテーブルに取り込まれます。
現在、シミュレーションを実行する方法は2つあります:
このパイプラインは、各TTPのシミュレーション後に新しいプラットフォームをデプロイします。Log Analyticsワークスペースは各実行のログを保持します。
警告:これにより、多数のホストがEDRにオンボーディングされます
新しいインフラストラクチャはパイプラインの開始時にのみデプロイされます。すべてのTTPはこのインスタンスでシミュレーションされます。これは最速のシミュレーション方法であり、多数のデバイスのオンボーディングを防ぎますが、同じ環境で多くのシミュレーションを実行すると、環境が汚染され、シミュレーションの安定性と予測可能性が低下するリスクがあります。