新規にMITER ATT&CKベースでSplunkの監視ルールを作成する際の手順を整理してみた

新規にSplunkで監視ルールを作成する際の情報が流れとしてまとまったサイトがなかったのでまとめてみました。

1.Splunk に取り込むログを出力する機能を整理

例えば、AADRiskyUsersのログであれば、Identity Protectionの機能から出力されるよね、といったことを整理していく。

リスク データをエクスポートする(Microsoft Learn)
https://learn.microsoft.com/ja-jp/entra/id-protection/howto-export-risk-data

2.ログ出力機能から検知可能なATT&CKのテクニックを整理

ログを出力する機能が分かれば、MITRE CTID やDTT&CTなどを使って、ATT&CKのどのテクニックが検知できるか確認する。

Microsoft Azure Security Control Mappings to MITRE ATT&CK®(MITRE CTID)
https://center-for-threat-informed-defense.github.io/security-stack-mappings/Azure/README.html

rabobank-cdc / DeTTECT
https://github.com/rabobank-cdc/DeTTECT

3.テクニックを検知する為のSPLを検討

検知できそうなテクニックがわかったら、それに該当する検知ルールを Splunk Security Content や Sigmaルールを活用し検討する。

Splunk Security Content
https://research.splunk.com/detections/

SigmaHQ / sigma
https://github.com/SigmaHQ/sigma/tree/master/rules/cloud

NVISOsecurity / sigma-public
https://github.com/NVISOsecurity/sigma-public

SIGMAルールのリポジトリ(GITHUB)からZIPをダウンロードし、どんなルールが含まれているか MITER ATT&CKにマッピングしてみた

Github 上などに標準化された SIEM ルールである SIGMAルールがたくさんおかれているのですが、これらのルールが ATT&CKのどの TTPs に該当するものなのか確認したいと考えていました。

調べてみたところ、SIGMAルールを PCにダウンロードし、sigmatools に含まれる sigma2attack というコマンドを実行すれば ATT&CK Navicgator のヒートマップが作れるということがわかってきたので、実際にやってみました。

1.ZIP(SIGMAルール)のダウンロード

以下のような Github サイトの SIGMAリポジトリにアクセスします。

Github - SigmaHQ/sigma 
https://github.com/SigmaHQ/sigma

すると、rules ディレクトリ配下にたくさんの SIGMA ルールが置かれていることが確認できます。

Github – SigmaHQ/sigma

このページを下にスクロールしていくと、「Rule Packages」という項目があるので、その中のリンク「release page」をクリックします。

Github – SigmaHQ/sigma

すると、さきほどの SIGMAルールがまとめて Zip化されて置いてあるページにとばされるので、その中から、sigma_all_rules.zip などをダウンロードします。

Github – SigmaHQ/sigma – Release

ZIPファイルをダウンロード後、ローカルのPC上で SIGMAルールを展開します。

Github – SigmaHQ/sigma – Release

2.ヒートマップ(json)ファイルの作成

1.で展開した SIGMAルールから MITER ATT&CK Navigator に取り込むヒートマップを作成するには、最初に書いたとおり sigmatools が必要ですので、以下の要領でダウンロード&インストールします。

 % pip3 install sigmatools

インストールが終わったら以下のような形式で sigmatattack コマンドを実行すれば、heatmap.json というファイルが、コマンドを実行したディレクトリに作成されます。

% sigma2attack --rules-directory ./rules

ちなみに、先ほど展開した SIGMAルール はコマンドを実行する直下の /rules フォルダに展開されている為、上記では –rules-directory でそのフォルダを指定しています。

3.ATT&CKへのヒートマップの取り込み

2.で作成した heatmap.json というファイルを MITER ATT&CK Navigator から取り込みます。

MITER ATT&CK Navigator
https://mitre-attack.github.io/attack-navigator/

下図の赤枠で示したボタンを押し、先ほどローカルPCで作成した heatmap.json を指定し取り込みます。

MITER ATT&CK Navigator

なお、取り込む際に以下のように取り込むヒートマップの ATT&CK対応バージョンが古い(v10)とでますので、最新の v15に変換するか聞かれました。(Yesと答えました。)

MITER ATT&CK Navigator – warning

すると、以下の通りMITER ATT&CK Navigator上にヒートマップが取り込まれ、該当する部分が色付きで表示されました。

MITER ATT&CK Navigator