Vectra

統合バージョン: 8.0

ユースケース

  1. Vectra の検出を取り込み、それらを使用して Google Security Operations のアラートを作成します。次に、Google SecOps でアラートを使用して、ハンドブックまたは手動分析でオーケストレーションを実行できます。
  2. 拡充アクションを実行する - Vectra からデータを取得して、Google SecOps アラートのデータを拡充します。

プロダクトの権限

API トークンを取得するには、プロフィール ページに移動してコピーする必要があります。

API トークンの場所

Google SecOps で Vectra の統合を構成する

Google SecOps で統合を構成する方法について詳しくは、統合を構成するをご覧ください。

統合のパラメータ

次のパラメータを使用して統合を構成します。

パラメータの表示名 種類 デフォルト値 必須 説明
インスタンス名 文字列 なし いいえ 統合を構成するインスタンスの名前。
説明 文字列 なし いいえ インスタンスの説明。
API ルート 文字列 https://{address}:{port} はい Vectra サーバーの API ルート。
API トークン パスワード なし はい Vectra アカウントの API トークン。
SSL を確認する チェックボックス オン はい 有効になっている場合は、Vectra サーバーへの接続用の SSL 証明書が有効であることを確認します。
リモートで実行 チェックボックス オフ いいえ 構成した統合をリモートで実行するには、フィールドのチェックボックスをオンにします。オンにすると、リモート ユーザー(エージェント)を選択するオプションが表示されます。

アクション

Ping

説明

[Google Security Operations Marketplace] タブの統合構成ページで提供されているパラメータを使用して、Vectra への接続をテストします。

実行

このアクションはエンティティに対しては実行されません。

アクションの結果

スクリプトの結果
スクリプトの結果名 値のオプション
is_success True/False is_success:False
ケースウォール
結果のタイプ 値 / 説明 タイプ
出力メッセージ *

アクションが失敗したり、Playbook の実行が停止したりすることはありません。

成功した場合:

「指定された接続パラメータを使用して Vectra サーバーに正常に接続されました」と出力します。

アクションが失敗し、ハンドブックの実行が停止します。
成功しなかった場合:

「Vectra サーバーへの接続に失敗しました」と出力します。エラーは {0}」.format(exception.stacktrace)

全般

エンドポイントを拡充する

説明

ホスト名または IP アドレスでエンドポイントのシステム情報を取得します。

実行

このアクションは次のエンティティに対して実行されます。

  • IP アドレス
  • ホスト名

アクションの結果

エンティティ拡充
拡充フィールド名 ソース(JSON キー) ロジック - 適用するタイミング
Vectra_id results/id JSON で利用可能な場合
Vectra_name results/name JSON で利用可能な場合
Vectra_state results/state JSON で利用可能な場合
Vectra_threat results/threat JSON で利用可能な場合
Vectra_certainty results/certainty JSON で利用可能な場合
Vectra_ip results/last_source JSON で利用可能な場合
Vectra_tags スペース区切りの {results/tags} JSON で利用可能な場合
Vectra_note results/note JSON で利用可能な場合
Vectra_url 結果/URL JSON で利用可能な場合
Vectra_last_modified results/last_modified JSON で利用可能な場合
Vectra_groups スペース区切りの {results/groups} JSON で利用可能な場合
Vectra_is_key_asset results/is_key_asset JSON で利用可能な場合
Vectra_has_active_traffic results/has_active_traffic JSON で利用可能な場合
Vectra_is_targeting_key_asset results/is_targeting_key_asset JSON で利用可能な場合
Vectra_privilege_level results/privilege_level JSON で利用可能な場合
Vectra_previous_ip スペースで区切られた {results/previous_ips} JSON で利用可能な場合
スクリプトの結果
スクリプトの結果名 値のオプション
is_success True/False is_success:False
JSON の結果
{
            "id": 131,
            "name": "DESKTOP-DAIOS7J",
            "active_traffic": false,
            "has_active_traffic": false,
            "t_score": 0,
            "threat": 0,
            "c_score": 0,
            "certainty": 0,
            "severity": null,
            "last_source": "10.0.2.68",
            "ip": "10.0.2.68",
            "previous_ips": [],
            "last_detection_timestamp": "2019-10-08T17:13:57Z",
            "key_asset": false,
            "is_key_asset": false,
            "state": "inactive",
            "targets_key_asset": false,
            "is_targeting_key_asset": false,
            "detection_set": [],
            "host_artifact_set": [
                {
                    "type": "netbios",
                    "value": "DESKTOP-DAIOS7J",
                    "source": null,
                    "siem": false
                }
            ],
            "sensor": "YLq09aHU",
            "sensor_name": "Vectra X",
            "tags": [],
            "note": null,
            "note_modified_by": null,
            "note_modified_timestamp": null,
            "url": "https://70.54.200.216:64443/api/v2.1/hosts/131",
            "host_url": "https://70.54.200.216:64443/api/v2.1/hosts/131",
            "last_modified": "2020-02-12T13:41:51Z",
            "assigned_to": null,
            "assigned_date": null,
            "groups": [],
            "has_custom_model": false,
            "privilege_level": null,
            "privilege_category": null,
            "probable_owner": null,
            "detection_profile": null,
            "host_session_luids": [],
            "host_luid": "e0M-jygN"
}
ケースウォール
結果のタイプ 値 / 説明 タイプ
出力メッセージ *

アクションが失敗したり、ハンドブックの実行を停止したりすることはありません。

成功し 、指定されたエンティティの少なくとも 1 つが拡充された場合(is_success = true):

「Successfully enriched the following endpoints from Vectra: \n {0}」と出力します。format(entity.identifier リスト)

Google SecOps エンティティの一部について、Vectra でアクションが複数の一致を見つけたため、最初の一致を取得してエンドポイントを拡充しました:

「Multiple matches were found in Vectra, taking first match for the following entities:/n {0}」を出力します。format(entity.identifiers list)

特定のエンティティの拡充に失敗した場合(is_success = true):

「拡充されたエンティティはありません」と出力します。

アクションが失敗し、ハンドブックの実行が停止します:
認証情報が間違っている、サーバーに接続できない、その他など、致命的なエラーが発生した場合:

「エンドポイントの拡充」アクションの実行中にエラーが発生しました。Reason: {0}''.format(error.Stacktrace) を出力します。

全般

タグの追加

説明

Vectra のエンドポイントまたは検出にタグを追加します。

パラメータ

パラメータの表示名 種類 デフォルト値 必須 説明
アイテムタイプ プルダウン

エンドポイント

可能な値:
エンドポイント

検出

はい タグを追加するアイテムの種類を選択します。
アイテム ID 文字列 なし はい 検出/エンドポイントの ID を指定します。
タグ CSV なし はい 検出/エンドポイントに追加するタグを指定します。タグはカンマで区切ります(例: tag1, tag2)。

実行

このアクションはエンティティに対しては実行されません。

アクションの結果

スクリプトの結果
スクリプトの結果名 値のオプション
is_success True/False is_success:False
ケースウォール
結果のタイプ 値 / 説明 タイプ
出力メッセージ *

アクションが失敗したり、ハンドブックの実行を停止したりすることはありません。

検出/エンドポイントが見つかり、タグが正常に更新された場合(is_success = true):

「タグ {0} を ID {2} の {1} に追加しました」と出力します。format(tags, Item Type, Item ID)

検出/エンドポイントは見つかったが、タグが追加されなかった場合(is_success=False):

「Action wasn't able to add tags {0} to {1} with ID {2}. 理由: {3}. format(tags, Item Type, Item ID, tags parameter from response)".

検出/エンドポイントが見つからなかった場合(is_success=False):

「{0}(ID: {1})が見つかりませんでした」と出力します。format(Item Type, Item ID)。

II 特定の状況がなく、重大なエラーではない is_success=false:

「Action wasn't able to add tags to {0} with ID {1}.format(Item Type, Item ID)」と出力します。

アクションが失敗し、ハンドブックの実行が停止します:
致命的なエラー(認証情報の誤り、接続エラー、アクションのクラッシュ)の場合:

Print "Error executing action "Add Tags". 理由: {0}」.format(error.Stacktrace)

全般

タグを削除する

説明

Vectra のエンドポイントまたは検出からタグを削除します。

パラメータ

パラメータの表示名 種類 デフォルト値 必須 説明
アイテムタイプ プルダウン

エンドポイント

可能な値:
エンドポイント

検出

はい タグを削除するアイテムタイプを選択します。
アイテム ID 文字列 なし はい 検出/エンドポイントの ID を指定します。
タグ CSV なし はい 検出/エンドポイントから削除するタグを指定します。タグはカンマで区切ります(例: tag1, tag2)。

実行

このアクションはエンティティに対しては実行されません。

アクションの結果

スクリプトの結果
スクリプトの結果名 値のオプション
is_success True/False is_success:False
ケースウォール
結果のタイプ 値 / 説明 タイプ
出力メッセージ *

アクションが失敗したり、ハンドブックの実行を停止したりすることはありません。

検出/エンドポイントが見つかり、タグが正常に更新された場合(is_success = true):

「ID {2} の {1} からタグ {0} を正常に削除しました」と出力します。format(tags, Item Type, Item ID)

検出/エンドポイントが見つからなかった場合(is_success=False):

「{0} with ID {1} was not found.」.format(Item Type, Item ID) を出力します。

検出/エンドポイントは見つかったが、タグが見つからなかった場合(is_success=False):

「ID {2} の {1} にタグ {0} が存在しません。」と出力します。{0} は、見つからなかったタグのリスト(カンマ区切り)、{1} はアイテムタイプ、{2} はアイテム ID です。

特定の状況がなく、重大なエラーではない場合に is_success=false の場合:

「Action wasn't able to remove tags from {0} with ID {1}.format(Item Type, Item ID)」と出力します。

アクションが失敗し、ハンドブックの実行が停止します:
致命的なエラー(認証情報の誤り、接続エラー、アクションのクラッシュ)の場合:

「エラー実行中のアクション「タグを削除」」を出力します。理由: {0}」.format(error.Stacktrace)

全般

メモの更新

説明

エンドポイントまたは検出のメモを更新します。

パラメータ

パラメータの表示名 種類 デフォルト値 必須 説明
アイテムタイプ プルダウン

エンドポイント

可能な値:
エンドポイント

検出

はい メモを更新するアイテムの種類を選択します。
アイテム ID 文字列 なし はい 検出/エンドポイントの ID を指定します。
文字列 なし はい 検出/エンドポイントに表示するメモを指定します。

実行

このアクションはエンティティに対しては実行されません。

アクションの結果

スクリプトの結果
スクリプトの結果名 値のオプション
is_success True/False is_success:False
ケースウォール
結果のタイプ 値 / 説明 タイプ
出力メッセージ *

アクションが失敗したり、ハンドブックの実行を停止したりすることはありません。

検出/エンドポイントが見つかり、メモが正常に更新された場合(is_success = true):

「{1} のメモ(ID: {2})を更新しました」と出力します。format(アイテムタイプ, アイテム ID)

検出/エンドポイントが見つからなかった場合(is_success=False):

「{0} with ID {1} was not found.」.format(Item Type, Item ID) を出力します。

特定の状況がなく、重大なエラーではない場合に is_success=false の場合:

「Action wasn't able to update note on {0} with ID {1}.format(Item Type, Item ID)」と出力します。

アクションが失敗し、ハンドブックの実行が停止します:
致命的なエラー(認証情報の誤り、接続エラー、アクションのクラッシュ)の場合:

「アクション「メモを更新」の実行エラー」を出力します。理由: {0}」.format(error.Stacktrace)

全般

検出ステータスを更新する

説明

検出のステータスを更新します。

パラメータ

パラメータの表示名 種類 デフォルト値 必須 説明
検出 ID Integer なし はい ステータスを更新する検出 ID を指定します。
ステータス DDL


を修正しました

有効な値:

固定

アクティブ

はい 検出に設定するステータスを指定します。

実行

このアクションはエンティティに対しては実行されません。

アクションの結果

スクリプトの結果
スクリプトの結果名 値のオプション
is_success True/False is_success:False
ケースウォール
結果のタイプ 値 / 説明
出力メッセージ \*

アクションが失敗したり、ハンドブックの実行を停止したりすることはありません。

検出が見つかり、ステータスが正常に更新された場合(is_success = true):

「ID {1} の検出でステータスを「{0}」に更新しました」と出力します。format(Status, Detection ID)

検出が見つからなかった場合(is_success=False):

「Detection with ID {1} was not found.」.format(Detection ID) と出力します。

特定の状況がなく、重大なエラーではない場合に is_success=false の場合:

「Action wasn't able to update status on detection with ID {1}.format(detection ID)」を出力します。

アクションが失敗し、ハンドブックの実行が停止します:
致命的なエラー(認証情報の誤り、接続エラー、アクションのクラッシュ)の場合:

「エラー実行アクション「検出ステータスの更新」」を出力します。理由: {0}」.format(error.Stacktrace)

全般

トリアージルールの詳細を取得する

説明

トリアージ ルールに関する詳細情報を取得します。

パラメータ

パラメータの表示名 種類 デフォルト値 必須 説明
トリアージ ルール ID Integer なし はい トリアージ ルール ID のカンマ区切りのリストを指定します。例: 28,29
分析情報を作成する チェックボックス 正しい はい 有効にすると、アクションによって、処理されたトリアージ ルールごとに個別の分析情報が作成されます。

実行

このアクションはエンティティに対しては実行されません。

アクションの結果

分析情報
分析情報のタイトル 分析情報の説明
"Triage Rule {0}".format(triage_rule) "Detection Category: {0}\n Triage Category: {1}\n Detection: {2} \n Description: {3}".format(detection_category, triage_category, detection, description)
スクリプトの結果
スクリプトの結果名 値のオプション
is_success True/False is_success:False
JSON の結果
{
    "id": 28,
    "url": "https://api.demo.vectranetworks.com/api/v2.1/rules/28",
    "description": "whatever",
    "enabled": true,
    "created_timestamp": "2020-10-01T17:21:19Z",
    "last_timestamp": "2020-10-01T17:21:19Z",
    "is_whitelist": false,
    "priority": 1,
    "active_detections": 1,
    "total_detections": 1,
    "template": false,
    "additional_conditions": {
        "OR": [
            {
                "AND": [
                    {
                        "ANY_OF": {
                            "field": "remote1_ip",
                            "values": [
                                {
                                    "url": null,
                                    "value": "35.166.75.118",
                                    "label": "35.166.75.118"
                                }
                            ],
                            "groups": [],
                            "label": "C&C Server IP"
                        }
                    }
                ]
            }
        ]
    },
    "source_conditions": {
        "OR": [
            {
                "AND": [
                    {
                        "ANY_OF": {
                            "field": "host",
                            "values": [
                                {
                                    "url": "https://api.demo.vectranetworks.com/api/v2.1/hosts/142",
                                    "value": 142,
                                    "label": "IP-10.10.100.10"
                                }
                            ],
                            "groups": [],
                            "label": "Host"
                        }
                    }
                ]
            }
        ]
    },
    "detection_category": "COMMAND & CONTROL",
    "triage_category": "triage rule 1",
    "detection": "Hidden HTTPS Tunnel"
ケースウォール
結果のタイプ 値 / 説明 タイプ
出力メッセージ *

アクションが失敗したり、ハンドブックの実行を停止したりすることはありません。

成功し、指定されたルール ID の少なくとも 1 つが拡充された場合(is_success = true):

「Vectra から次のトリアージ ルールに関する情報を取得しました: \n {0}」と出力します。format(処理されたルール ID)

特定のエンティティの拡充に失敗した場合(is_success = true):

「Action was not able to retrieve information about the following triage rules\n: {0}」を出力します。format(not processed rule ids)

すべてのエンティティの拡充に失敗した場合(is_success = false):

「トリアージ ルールに関する情報は取得されませんでした。」と出力します。

アクションが失敗し、ハンドブックの実行が停止します:
致命的なエラー(認証情報の誤り、接続エラー、アクションのクラッシュ)の場合:

「アクション「トリアージ ルールの詳細を取得」の実行エラー」と出力します。理由: {0}」.format(error.Stacktrace)

一般
Case Wall テーブル

テーブル名: Triage Rules Details

テーブル列:

ID(id としてマッピング)

有効(enabled としてマッピング)

検出カテゴリ(detection_category としてマッピング)

トリアージ カテゴリ(triage_category としてマッピング)

検出(検出としてマッピング)

ホワイトリスト(is_whitelist としてマッピング)

優先度(優先度としてマッピング)

作成場所(created_timestamp としてマッピング)

全般

コネクタ

Vectra - Detections Connector

Google SecOps で Vectra - Detections Connector を構成する

Google SecOps でコネクタを構成する方法の詳細については、コネクタの構成をご覧ください。

コネクタ パラメータ

次のパラメータを使用してコネクタを構成します。

パラメータの表示名 種類 デフォルト値 必須 説明
プロダクト フィールド名 文字列 プロダクト名 ソース フィールド名を入力してプロダクト フィールド名を取得します。
イベント フィールド名 文字列 eventType ソース フィールド名を入力してイベント フィールド名を取得します。

環境フィールド名

文字列 "" いいえ

環境名が保存されるフィールドの名前を記述します。

環境フィールドがない場合、その環境がデフォルトの環境です。

環境の正規表現パターン

文字列 .* いいえ

[環境フィールド名] フィールドで見つかった値に対して実行する正規表現パターン。

デフォルトは、すべてキャッチして値を変更せずに返す .* です。

ユーザーが正規表現ロジックで環境フィールドを操作できるようにするために使用されます。

正規表現パターンが null か空の場合、または環境値が null の場合、最終的な環境の結果はデフォルト環境になります。

スクリプトのタイムアウト(秒) 整数 180 はい 現在のスクリプトを実行している Python プロセスのタイムアウト上限。
API ルート 文字列 https://x.x.x.x:x:x はい Vectra サーバーの API ルート。
API トークン パスワード なし はい Vectra アカウントの API トークン。
取得する最小の脅威スコア Integer 50 はい

検出の取得に使用される最も低い脅威スコア。

最小値: 0

最大: 100

取得する最小の確実性スコア Integer 0 いいえ

検出結果の取得に使用される確実性スコアの最小値。

最小値: 0

最大: 100

カテゴリ フィルタ カンマ区切り値 Command and Control,Botnet ,Reconnaissance,Lateral Movement,Exfiltration,Info

Google SecOps に取り込む検出のカテゴリを指定します。

値は次のいずれかです。

コマンド&コントロール

Botnet

偵察

ラテラル ムーブメント

データの引き出し

情報

遡る取得の最大時間数 整数 1 いいえ どの時点から脅威を取得するかの時間数。
取得する最大検出数 Integer 25 いいえ 1 回のコネクタの反復処理で対応する検出の数。上限は 5,000 です。これは Vectra の制限です。
許可リストを拒否リストとして使用 チェックボックス オフ 有効にすると、許可リストが拒否リストとして使用されます。
SSL を確認 チェックボックス オン はい 有効になっている場合は、Vectra サーバーへの接続用の SSL 証明書が有効であることを確認します。
プロキシ サーバーのアドレス 文字列 なし いいえ 使用するプロキシ サーバーのアドレス。
プロキシのユーザー名 文字列 なし いいえ 認証に使用するプロキシのユーザー名。
プロキシ パスワード パスワード なし いいえ 認証に使用するプロキシ パスワード。

コネクタルール

プロキシのサポート

コネクタでプロキシがサポートされます。

さらにサポートが必要な場合 コミュニティ メンバーや Google SecOps のプロフェッショナルから回答を得ることができます。