暗い作業スペースで大きなモニターを使ってコードをレビューする開発者

SOARとAtomic Red TeamによるATT&CKテストの自動化

5 1分間の読書

 

マイター攻撃&CK ATT&CKは、組織が防御態勢を測定するための事実上のフレームワークです。ATT&CKは、以下の形式でカテゴリ別の分類を提供します。 戦術, 攻撃者が用いる一般的な手法に沿ったものです。これらの分野には、攻撃者が戦術(分野)を遂行する一般的な方法のセット(およびサブセット)が含まれます。これらは テクニック.

一部の手法は複数のオペレーティングシステムに共通している場合があります。これは通常、手法の定義が広範であることを意味します。防御側としては、単一の手法が複数のプラットフォームにどのように実装されるかを理解する必要がありますが、これは私を含め多くの人にとって難しい場合があります。幸いなことに、Red Canaryのような組織が、これらの手法のテストを支援するための充実したフレームワークをコミュニティに提供してくれています。.

レッドカナリーはアトミックレッドチームをオープンソース化した 数年前にMITRE ATT&CKフレームワークにマッピングされた一連のAtomic(テスト)を提供することで、セキュリティコミュニティを支援するプロジェクトが立ち上げられました。各AtomicはATT&CK内の特定のテクニックにマッピングされており、システム上で実行可能な1つ以上のテストを提供します。これらのAtomicは、攻撃者が特定のテクニックを環境に対してどのように使用するかを模倣、つまりエミュレートすることを目的としています。.

Red Canaryは、実行可能なテストセットを提供するだけでなく、これらのテストを実行できる複数の実行フレームワークも提供しています。これらのフレームワークはPython、PowerShell(Core)、Rubyで記述されていますが、現時点で最も最新(かつ最もアクティブ)なのはPowerShell(Core)フレームワークです。ちなみに、, 私は2018年9月にPowerShellフレームワークを書き直しました, しかし、それ以来多くの変化がありました。.

実行フレームワークのいずれかを使用して、システムに対して1つ以上のAtomicテストを実行するという考え方です。その結果、EDRやSIEMなどがアラートや検知をトリガーし、環境内の特定の手法に対する有効性の測定を開始します。しかし、これは困難で面倒で時間のかかる手作業であることが分かっています。.

Red Canary とその Atomic Red Team プロジェクトの長年のファンとして、私は主に 2 つの目標を掲げました。

  1. 単一のフレームワークを使用して、複数のオペレーティング システム タイプにわたってリモートでテストを呼び出します。.
  2. 環境内の Atomic テストに検出/アラートを関連付けます。.

私は最近、Swimlane SOARを使用してこれらの目標を達成した方法について発表しました。. さらに、このユースケースのコンポーネントをオープンソース化することで、セキュリティ コミュニティに貢献したいと考えました。.

使用事例

レッドチームテスト

主なユースケースは、単一のワークスペース内の複数のアプリケーションで構成されています。Atomic Red Team Atomicsを単一のレコードに解析することができました。 アトミクス アプリケーションです。前述のように、各Atomicには複数のテストが関連付けられる可能性があり、それらのテストは単一のオペレーティングシステムタイプ向けではない場合があります。そこで、私は「 核実験、, 各テストの詳細が保持され、Atomics 親レコードに関連付けられています。.

単発原子核実験
親 Atomics レコードに関連付けられた単一の Atomic Test レコード。.

アナリストが使用する主なエントリーポイントは ホスト アプリケーション。ホストアプリケーションには、テストを実行するホストに関する情報が含まれています。アナリストはレコードを作成し、少なくとも名前、アドレス(IPまたはDNS)、オペレーティングシステムの種類を提供します。この新しい ホスト 記録が保存されたら、アナリストはどのテストを実行するかを選択する必要があります。これは、参照レコードを使用して行います。 核実験 アプリケーション。テストを追加したら、レコードに関連付けられた 1 つ以上のテストを実行することを選択できます。.

ラダー

「どうやってリモートでテストを実行するのか?」と疑問に思う方もいるかもしれません。そこで、新しいオープンソースツールを紹介したいと思います。 ラダー. ラダー は、Windows、macOS、または *nix 上でコマンドをリモートで実行するクロスプラットフォームの Python パッケージです。.

使用するには ラダー、, 対象のホストで PowerShell Remoting/WinRM (Windows リモート管理) または SSH を利用できる資格情報のセットを提供する必要があります。.

ラダー

弊社の認証情報を入力すると、 キーストア, スイムレーンから複数のホスト、複数のオペレーティングシステム上でテストを実行できます。ホスト上で実行されるテストごとに、別のアプリケーションに履歴レコードが作成されます。 テスト履歴. このアプリケーションには、ホスト上で実行されたすべてのテストとシステムの応答の記録が含まれています。各テストは実行されたホストに関連付けられ、履歴に関するコンテキスト情報を提供します。.

ホスト上で単一のテストを実行すると、すぐに、今回のテストに類似した受信アラート/検出の検索を開始します。これは、指定されたアプリケーションと監視対象の特定のフィールドに基づいて行われます。また、判定にあたっては、以下のデータポイントも考慮します(これらはすべて、組織のニーズに合わせて簡単に変更またはカスタマイズできます)。

  1. タイムスタンプの比較
    1. 検索開始時間は、ホスト上でテストが呼び出されたタイムスタンプに基づきます。
    2. 終了期間は設定可能ですが、デフォルトではテスト実行から3時間に設定されています。
  2. 住所比較
    1. 提供されたフィールドを確認し、アラート ホスト名/アドレスがテストが実行されたアドレスと同じかどうかを確認します。.
  3. 実行比較
    1. Atomicテストとアラートの詳細の正規化
      1. 小文字
      2. 文字を削除します(例:|、\\など)
    2. 2 つのコマンド リストを比較して、類似した文字列と値の間のパーセンテージの差を見つけます。.
    3. オプション:
      1. Levenstein 距離計算と SSDeep ハッシュ比較を使用する機能を提供しましたが、これらはコストがかかるため、類似したソースと宛先の値で使用する方が適切です。.

比較を行い、アラート/検出がテストと類似していると判断したら、そのアラートレコードを単一のテスト履歴レコードに関連付けます。この時点で、レコードを作成するか、テスト履歴レコードを別のアプリケーションに関連付けます。 ヒートマップ記録.

スイムレーンUIレッドチーム
特定されたアラートレコードとヒートマップレコードに関連付けられたテスト履歴レコード
 

A ヒートマップ記録 は、テスト実行時に特定のテクニックを検出できたかどうかに関するデータを追跡、報告、表示するために使用されます。テスト実行時にアラートが検知されなかった場合でも、このイベントは追跡されますが、過去のすべてのテストで特定のテクニックを正確に検出できた場合とはレポートの内容が若干異なります。.

これらのレコードが作成されるか、テスト履歴レコードがテクニックに関連付けられると、悪意のあるアクティビティを検出できる場所と、検出できない場所を視覚的に把握できるようになります。.

チェッカーボード内のスイムレーンアラート
MITRE ATT&CK ダッシュボード ウィジェットで検出の有無を表示
 

上記はSwimlaneのMITRE ATT&CKダッシュボードウィジェットの画像です。このダッシュボードは、 ヒートマップ記録 動的に表示します。グリッドボックスに色が表示されていない場合は、その特定の手法についてテストを実行していないことを意味します。濃い青色は、少なくとも1つのテストを実行し、その手法を検出できたことを意味します。より多くのテストと検出が特定されるにつれて、周囲の色はアクアブルーに明るくなります。 (Windows). テストが実行され、検出されなかった場合は、そのテクニックは赤になります。.

使用することで レッドカナリアのアトミックレッドチーム Swimlane SOARと組み合わせることで、ATT&CKテストを自動化し、同時に検知能力とギャップの可視性を確保できます。手動によるテスト、レビュー、相関分析は不要です。このユースケースにより、ギャップを迅速に特定し、数分以内に再テストを開始できます。.

暗いネットワークの背景にSOARを使用したATT&CKテストの自動化を表示

SOARとAtomic Red Teamによる攻撃テストの自動化(46:31)

今すぐ見る

ライブデモをリクエストする