はじめに(記:2023年6月8日)
いろいろな製品APIに触る機会に恵まれましたので、Cisco XDR と Palo Alto Cortex XDR 連携させるワークフローサンプルを作成してみました。
XDR (Extended Detection and Response)
XDRの初期の定義をしたGartnerは、「Gartner : Innovation Insight for Extended Detection and Response」により、XDRとは、「複数の個別セキュリティ製品を統合した一環した検出・レスポンスプラットフォーム」であり、「SaaSベースのセキュリティ検知・インシデント・レスポンスツール」と説明されてます。これはクラウドで提供される、 as a Service であり、さらに、統合レベルをこれまでの製品以上に強化・簡素化し、そのためのベースとして均質化されたデータモデルを利用、複数のテレメトリを収集・分析する、これがソリューションカテゴリとしてのXDRであるとされています。
Forresterや、ESG、IDC、によるXDRの新定義が出てきますが、ソースとなるテレメトリをできる限り、収集し分析する、という多くの共通項目があります。多くの製品のコントロールプレーンがクラウドに移行しているということであり、多くの製品統合機能を提供するためには何が正しいのか、ロジックはさておき、クラウド提供型の集約APIプラットフォームが一つの回答になると考えられます。
セキュリティオペレーションのためにXDRが収集するテレメトリは、ソースが他のXDR製品であっても、SIEMであっても意味があり、連携することに価値があります。
Cortex XDR API
APIドキュメントから基本的な機能としてCortex XDRで検知した情報を入手するAPIに注目します。
Get all Incidents
https://cortex-panw.stoplight.io/docs/cortex-xdr/bec98191f5e50-get-all-incidents
エンドポイントの制御、エンドポイントの情報収集、インシデントのアップデート、隔離、各種リプレースといったレスポンスに重点の置くAPIが多く見られます。Get all Incidentsを利用し、filteringによりGetするインシデントのScopeを調整できます。
{
"request_data": {
"search_from": 1,
"search_to": 11
}
}
API利用の認証のために、x-xdr-auth-idヘッダとAuthorizationにより、それぞれ Cortex XDR の API Key ID と API Key を指定する必要があります。
curl -X POST https://api-{fqdn}/public_api/v1/{name of api}/{name of call}/
-H "x-xdr-auth-id:{key_id}"
-H "Authorization:{key}"
-H "Content-Type:application/json"
-d '{}'
API実行により以下のような結果が得られます。
{
"reply": {
"total_count": 1,
"result_count": 1,
"incidents": [
{
"incident_id": "<incident ID>",
"incident_name": "test",
"creation_time": 1577024425126,
"modification_time": 1577024425126,
"detection_time": null,
"status": "resolved_known_issue",
"severity": "medium",
"description": "Memory Corruption Exploit generated by XDR Agent",
"assigned_user_mail": null,
"assigned_user_pretty_name": null,
"alert_count": 1,
"low_severity_alert_count": 0,
"med_severity_alert_count": 1,
"high_severity_alert_count": 0,
"critical_severity_alert_count": 0,
"user_count": 1,
"host_count": 1,
"notes": null,
"resolve_comment": null,
"resolved_timestamp": 1577024425126,
"manual_severity": null,
"manual_description": "Memory Corruption Exploit generated by XDR Agent",
"xdr_url": "https://<link to incident>",
"starred": false,
"hosts": [
"<host ID>"
],
"users": [
"test_1",
"test_2"
],
"incident_sources": [
"XDR Agent",
"XDR BIOC"
],
"rule_based_score": 342,
"manual_score": null,
"wildfire_hits": 0,
"alerts_grouping_status": "Enabled",
"mitre_tactics_ids_and_names": [
"TA0004 - Privilege Escalation",
"TA0005 - Defense Evasion",
"TA0006 - Credential Access"
],
"mitre_techniques_ids_and_names": [
"T1001.001 - Data Obfuscation: Junk Data",
"T1001.002 - Data Obfuscation: Steganography",
"T1001.003 - Data Obfuscation: Protocol Impersonation"
],
"alert_categories": [
"Credential Access",
"Exploit",
"Spyware Detected via Anti-Spyware profile"
],
"original_tags": [
"DS:PANW/NGFW",
"EG:acme-2",
"EG:Acme group",
"DS:PANW/XDR Agent"
],
"tags": [
"EG:Acme group",
"DS:PANW/NGFW",
"DS:PANW/XDR Agent",
"EG:acme-2"
]
}
],
"restricted_incident_ids": []
}
}
Cisco XDR のワークフロー動作
最終的に、Cortex XDR のインシデントを入手し、必要なフィールドを限定し、Cisco XDR で同様な情報をレポートするワークフローを作成しました。大まかなプロセスは、
1.API実行
2.API実行結果から Path Query し、Table作成
3.Markdown インシデントテキストを作成
4.Cisco XDR Threat Response Incident 作成、Cisco Webex レポート
とします。
最終的に作成したワークフローです。
参照
[1] Palo Alto Cortex XDR API Document
https://cortex-panw.stoplight.io/docs/cortex-xdr/axpm6b98x4p18-cortex-xdr-api-overview
[2] Cisco XDR Workflow
https://ciscosecurity.github.io/sxo-05-security-workflows/
[3] Sample Workflow
https://github.com/sig666/SecureX-Workflow-PaloAltoCortexXDR-IncidentReport
https://github.com/sig666
[4] Interop Tokyo 2023
https://www.interop.jp/