Azure アクティビティログの脅威分析 は何をしますか?
使用するタイミング
- Azure アクティビティログの脅威分析が必要なセキュリティインシデントを調査する場合
- このドメイン向けの検出ルールや脅威ハンティングクエリを構築する場合
- SOC アナリストがこの分析タイプの構造化された手順を必要とする場合
- 関連する攻撃手法に対するセキュリティ監視範囲を検証する場合
前提条件
- セキュリティオペレーションの概念とツールに関する知識
- 安全な実行のためのテスト環境またはラボ環境へのアクセス
- 必要な依存関係がインストールされた Python 3.8+
- テストアクティビティに対する適切な認可
手順
azure-monitor-query を使用して Azure Log Analytics ワークスペースに対して KQL クエリを実行し、不審な管理者操作やサインインの異常を検出します。
from azure.identity import DefaultAzureCredential
from azure.monitor.query import LogsQueryClient
from datetime import timedelta
credential = DefaultAzureCredential()
client = LogsQueryClient(credential)
response = client.query_workspace(
workspace_id="WORKSPACE_ID",
query="AzureActivity | where OperationNameValue has 'MICROSOFT.AUTHORIZATION/ROLEASSIGNMENTS/WRITE' | take 10",
timespan=timedelta(hours=24),
)
主な検出クエリ:
- ロール割り当ての変更(特権昇格)
- リソースグループとサブスクリプションの変更
- 新しい IP からの Key Vault シークレットアクセス
- ネットワークセキュリティグループルールの変更
- 条件付きアクセスポリシーの変更
例
# 新しい全体管理者ロール割り当てを検出
query = '''
AuditLogs
| where OperationName == "Add member to role"
| where TargetResources[0].modifiedProperties[0].newValue has "Global Administrator"
'''