!! Merry Christmas !!
Cisco Advent Calendar 2022: https://qiita.com/advent-calendar/2022/cisco
ダイジェスト版
本エントリはダイジェスト版となります。ワークフローの構成やその説明、注意点等を含む詳細情は以下をご確認ください。
はじめに
シスコの同志による今年の Advent Calender "Cisco Systems Japan Advent Calendar 2022" の 24 日目として投稿しました。このエントリで取り上げるテーマは、
「SecureX - ドラッグ&ドロップだけで本格的セキュリティ調査プレイブックを作る」
です。Cisco SecureX は、私の昨年と一昨年のエントリーで、AWS Lambda によるインテリジェンスリレーモジュール構築と、簡易 Python スクリプトによるワークフローのテストモジュール作成を題材として取り上げました。今回はさらに踏み込み、SecureX のオーケストレーター機能をしっかり利用した、汎用的なシナリオとして利用可能なプレイブックの作成を目的としています。
以下のステップでまとめます。
- ワークフローのテーマ:SecureX 脅威インテリジェンスのクイックサーチ&レポート
- ワークフローで利用するコアAPIのテスト
- ワークフローのダウンロードと導入
- ワークフローの構成と、作成のステップ、ポイント
- ワークフローの実行
今年のAdvent Calenderの最後半の記事となりますが、特に今年はSecureXに関する題材を取り上げるメンバーも増え嬉しい限りです。Cisco SecureX は 主に Cisco Secure 製品をお使いのユーザ様向けに、XDR (Extended Detection & Response) の能力をプラットフォームとして追加コスト無しにXDRの要素機能を追加できる、フルクラウドネイティブのサービスであり、素性のよい汎用 API プラットフォームとして利用できるポテンシャルがあります。具体的にCisco SecureX でできることは何?なのか、SecureX のワークフローやオーケストレーションで何ができるの?か、については、是非これまでの関連エントの説明やリンク等も参照ください。(最後に参照リンクをまとめています)
1. ワークフローのテーマ:SecureX 脅威インテリジェンスのクイックサーチ&レポート
作成するワークフローのテーマと実現機能を検討します。最低限の統合による少ないステップで完結できる有用なシナリオを検討する必要があります。XDRとしての脅威検出をキーとして個別製品による自動隔離を行うようなシナリオは非常に強力なユースケースと言えます。ただし Cisco SecureX と連携することを前提とする機能を持つ個別有償サブスクリプションが必要になる Cisco Secure 製品が必要であるということを前提とせず、あくまでも汎用的に利用できるシナリオを目指したいと思います。
日々の組織のセキュリティオペレーションでどのタイミングでも必要となる、例えば、被疑のある対象IPアドレス、ファイルハッシュ、宛先ドメイン、ファイルパス、等に関する、追加情報、判定情報、関連のサマリレポートを SecureX プラットフォームの基本機能として、サマリ情報、追加情報を提示できるレポート機能を Threat Response によってシンプルに実装 (Threat Response クイックサーチワークフロー) できれば汎用的なワークフローシナリオのテーマとして考えられます。この要件はすでに SecureX Threat Response によって実装されていますが、実行時間を短縮するとともに、リレーションマップ表示でなくサマリテキストを作成、SecureX Casebook や管理者向け Email 送信を実装し、ユースケースの差別化を行います。
2. ワークフローで利用するコアAPIのテスト
SecureX Threat Response enrich API (/iroh/iroh-enrich/observe/observables) を利用します。シンプルな Required Value によるインプットにて多くのエンリッチできる情報を提示できる API エンドポイントを利用することにします。
/iroh/iroh-enrich/observe/observables
- APIドキュメントから Swagger を利用し API の実行をテストします。
- "Authorize" クリック
- "Log In with SecureX Sign-On" クリック、SecureX にログオン
- "Try it out" クリックし、インプット Value を編集可能にする
- Required Value に Enrich Observable でエンリッチしたい調査対象 IoC を編集・入力し、"Execute" をクリック
[
{
"value": "string",
"type": "file_path"
}
]
[
{
"value": "157.7.97.72",
"type": "ip"
}
]
- Swagger の実行結果から、Curl のリクエストコマンド、Request URL、Response Body、Response Header の出力結果を確認することによって、この API を実行するためのリクエストに必要なデータ、ヘッダ、APIによって出力される実行結果のデータ形式を事前に把握することに役立ちます。
curl -X POST "https://visibility.apjc.amp.cisco.com/iroh/iroh-enrich/observe/observables" -H "accept: application/json" -H "authorization: Bearer eyxxxxxxx" -H "Content-Type: application/json" -d "[ { \"value\": \"157.7.97.72\", \"type\": \"ip\" }]"
{
"data": [
{
"module": "Umbrella",
"module_instance_id": "102318f2-ab8d-4f63-88d1-933e18d848f0",
"module_type_id": "188d70f7-29d5-5069-9098-d83a3ec8e797",
"data": {
"verdicts": {
"count": 1,
"docs": [
{
"type": "verdict",
"disposition": 5,
"observable": {
"value": "157.7.97.72",
"type": "ip"
},
"judgement_id": "transient:2acd75b7-7620-465a-ac0d-562493423794",
"disposition_name": "Unknown",
"valid_time": {
"start_time": "2022-12-20T15:06:25.857Z",
"end_time": "2023-01-19T15:06:25.857Z"
:
:
:
3. ワークフローの構成と、作成のステップ、ポイント
実際にはトライ&エラーを繰り返しながら編集、実行を行い、ワークフロー構成としての最終形態を整えることができました。Web Service Atomic Activities や Execute Python 等による API の直接指定・実行も作成中に試してきましたが、もともとの SecureX オーケストレーターで利用できる素材として用意された Atomic Action のみを利用し、最低限なステップで構成しています。
以下がワークフロー(プレイブック)の構成ブロックです。
-
ステップ1 : Threat Response - Generate Access Token
Threat Response API 利用のために JWT Access Token を生成(ローカルVariableに保存) -
ステップ2 : Threat Response - Enrich Observable
ステップ1の Access Token を設定しAPIにアクセス、ワークフロー実行に必要な調査に必要なObservable情報を入力 -
ステップ3 : JSONPath Query
Enrich Observable 出力より、主に Judgement、Indicator、Sighting に関する関連情報を抽出 -
ステップ4 : Set Variables
サマリレポートを編集しローカルVariableに保存 -
ステップ5 : Threat Response - Create Casebook
サマリレポートを SecureX Casebook に新規作成 -
ステップ6 : Send Email
サマリレポートを指定 Email に送信
4. ワークフローのダウンロードと導入
今回作成に取り上げたワークフローはGithubに公開しています。以下リンクからサンプルをダウンロードし導入・テスト・実行することが可能です。
-
[Github @sig666] SecureX-Workflow-ThreatResponse-QuickSearchToCasebook
https://github.com/sig666/SecureX-Workflow-ThreatResponse-QuickSearchToCasebook
ワークフローの各構成ブロックの説明のために導入ステップを説明してきましたが、新規作成およびその設定ステップを必ずしも行う必要はありません。こちらのリンクからThreatResponse-QuickSearchToCasebook.jsonを展開し、お使いの環境のSecureXオーケストレーターから Import を行うことによってワークフローをインストールし利用することができます。 -
Cisco SecureX ダッシュボードログイン
-
"Orchestration" タブ選択
-
"Import Workflow" クリック、"Browser" 選択
-
Gitの公開サイトより、ThreatResponse-QuickSearchToCasebook.json を展開
https://github.com/sig666/SecureX-Workflow-ThreatResponse-QuickSearchToCasebook/blob/main/ThreatResponse-QuickSearchToCasebook.json -
コンテンツ内容をすべて選択し、コピー
5. ワークフローの実行
ワークフローのDeployと、ワークフローパラメータの確認が完了しました。ワークフローの基本ステータスにて "Validated" されており、実行 "Run" が可能であることを確認します。
ワークフローを実行します。
- "Run" クリック
- "Input Variables" に値指定
- "value" : "1zoom.net" (例)
- "type" : "domain" (例)
- "Run" クリック
ワークフローが実行され、構成されたワークフロー Activities の各ブロックの色が実行ステータスによって変化していきます。緑はワークフローの実行が成功、赤はワークフローの実行が失敗、ワークフローのロジック、インプット、リクエスト、サーバ等のエラーが発生している、青は実行中であり時間が経つとステータスが変更、となります。
ワークフローの実行が成功すると、SecureX Casebook に新規ケースが作成され、指定されたメールアドレスに同様な内容のサマリレポートが送信されます。
Reference : SecureX Documents
[0] Cisco SecureX
http://security.cisco.com
[1] SecureX orchestration
https://ciscosecurity.github.io/sxo-05-security-workflows/
[2] SecureX API Integration
https://docs.securex.security.cisco.com/SecureX-Help/Content/integration.html
Reference : Cisco Advent Calender / Git Repo
[1] Cisco Systems Japan Advent Calendar 2022 5日目 : 無料のクラウドPython環境としてのSecureX @dmatsumu
https://qiita.com/dmatsumu/items/40b07c64bb2d688a923c
[2] Cisco Systems Japan Advent Calendar 2022 13日目 : SecureXの承認ワークフローをチャットで実現する仕組みを考えてみた @tetsusat
https://qiita.com/tetsusat/items/875f548898ce92a27832
[3] Cisco Systems Japan Advent Calendar 2022 13日目 : SecureX を Meraki MX と連携してみよう! @takyamam
https://qiita.com/takyamam/items/1a449e00b7841dd81629
[4] Cisco Systems Japan Advent Calendar 2022 14日目 : Cisco SecureX Orchestrationを使ってWebexBOTのWebhookを受けてみる @akira103
https://qiita.com/akira103/items/3e6dd28469d0c49b343c
[5] Cisco Systems Japan Advent Calendar 2020 18日目 : AWS Lambda で作る無償の脅威インテリジェンスリレーモジュール @sig666
https://qiita.com/sig666/items/05c46d75571c46a7ab34
[6] Cisco Systems Japan Advent Calendar 2021 8日目 : Cisco SecureX を使って簡易 REST API モジュールを作る @sig666
https://qiita.com/sig666/items/ebe41f3850997d8a1303
[7] @sig666
https://github.com/sig666
[8] SecureX-Workflow-ThreatResponse-QuickSearchToCasebook @sig666
https://github.com/sig666/SecureX-Workflow-ThreatResponse-QuickSearchToCasebook
[9] SecureX-Workflow-Umbrella-EventReportToCasebook @sig666
https://github.com/sig666/SecureX-Workflow-Umbrella-EventReportToCasebook