SiemplifyUtilities を Google SecOps と統合する

このドキュメントでは、SiemplifyUtilities を Google Security Operations(Google SecOps)と統合する方法について説明します。

ユースケース

SiemplifyUtilities 統合は、次のユースケースに対応できます。

  • エクスポートと共有: Google SecOps の機能と [Export Entities as OpenIOC File] アクションを使用して、セキュリティ エンティティ(IP、ファイルハッシュ、URL など)から標準化された OpenIOC ファイルを迅速に生成し、脅威インテリジェンス プラットフォームや他のセキュリティ チームと共有します。

  • ロジックのリスト操作: リスト オペレーション アクションで Google SecOps 機能を使用して、Playbook 内の 2 つの異なる値リストに対して複雑なロジック オペレーション(積集合、和集合、差集合など)を実行し、データソースの高度なフィルタリングや結合を行います。

  • データ変換と分析: Google SecOps の機能と Extract top From JSON アクションを使用して、ネストされた大規模な JSON データセットを処理し、優先順位を付けます。具体的には、特定のネストされたキー(重大度スコアなど)に基づいて並べ替え、上位の関連する結果のみを返して、すぐに分析できるようにします。

  • メール フォレンジック: Google SecOps の機能と EML を JSON に解析するアクションを使用して、未加工の Base64 エンコードされたメール メッセージ(EML ファイルまたは MSG ファイル)を構造化された JSON 形式に変換します。これにより、メールのヘッダー、本文、添付ファイル、リンクにアクセスして、自動解析と調査を行うことができます。

始める前に

この統合により、ネイティブ プラットフォーム機能が提供され、認証に外部のサードパーティ API キーや認証情報は必要ありません。始める前に、Google SecOps インスタンスのコンテンツ ハブから統合がインストールされていることを確認してください。

統合のパラメータ

なし

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

必要に応じて、後の段階で変更できます。統合インスタンスを構成すると、ハンドブックで使用できます。複数のインスタンスを構成してサポートする方法の詳細については、複数のインスタンスのサポートをご覧ください。

操作

アクションの詳細については、 デスクから保留中のアクションに対応するとケースで手動アクションを実行するをご覧ください。

スコープ内のエンティティをカウントする

[Count Entities in Scope] を使用して、特定のスコープ内のエンティティの数を取得します。

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

アクションへの入力

[Count Entities in Scope] アクションには、次のパラメータが必要です。

パラメータ 説明
Entity Type

必須。

ターゲット エンティティのタイプ。

アクションの出力

[Count Entities in Scope] アクションは、次の出力を提供します。

アクションの出力タイプ 対象
ケースウォールのアタッチメント 利用不可
ケースウォールのリンク 利用不可
ケースウォール テーブル 利用不可
拡充テーブル 利用不可
JSON の結果 利用不可
出力メッセージ 利用可能
スクリプトの結果 利用可能
出力メッセージ

Count Entities in Scope アクションは、次の出力メッセージを返すことができます。

出力メッセージ メッセージの説明

There are NUMBER_OF_ENTITIES entities from ENTITY_TYPE type.

アクションが成功しました。
Error executing action "Count Entities in Scope". Reason: ERROR_REASON

アクションが失敗しました。

サーバーへの接続、入力パラメータ、または認証情報を確認してください。

スクリプトの結果

次の表に、[Count Entities in Scope] アクションを使用した場合のスクリプト結果の出力値を示します。

スクリプトの結果名 値
list_count NUMBER_OF_ENTITIES

カウントリスト

[Count List] アクションを使用して、リスト内のアイテム数を取得します。

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

アクションへの入力

Count List アクションには、次のパラメータが必要です。

パラメータ 説明
Input String

省略可。

文字列のカンマ区切りのリスト(value1,value2,value3 など)。

Delimiter

省略可。

Input String 内の個々の値を区切るために使用される記号。

アクションの出力

Count List アクションは、次の出力を提供します。

アクションの出力タイプ 対象
ケースウォールのアタッチメント 利用不可
ケースウォールのリンク 利用不可
ケースウォール テーブル 利用不可
拡充テーブル 利用不可
JSON の結果 利用不可
出力メッセージ 利用可能
スクリプトの結果 利用可能
出力メッセージ

Count List アクションは、次の出力メッセージを返すことができます。

出力メッセージ メッセージの説明

List length is: NUMBER_OF_ENTITIES

アクションが成功しました。
Error executing action "Count List". Reason: ERROR_REASON

アクションが失敗しました。

サーバーへの接続、入力パラメータ、または認証情報を確認してください。

スクリプトの結果

次の表に、Count List アクションを使用した場合のスクリプト結果の出力値を示します。

スクリプトの結果名 値
list_count NUMBER_OF_ENTITIES

ファイルを削除

[Delete File] アクションを使用して、選択したファイルをファイル システムから削除します。

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

アクションへの入力

Delete File アクションには、次のパラメータが必要です。

パラメータ 説明
File Path

必須。

削除するファイルの絶対パス。

アクションの出力

Delete File アクションは、次の出力を提供します。

アクションの出力タイプ 対象
ケースウォールのアタッチメント 利用不可
ケースウォールのリンク 利用不可
ケースウォール テーブル 利用不可
拡充テーブル 利用不可
JSON の結果 利用可能
出力メッセージ 利用可能
スクリプトの結果 利用可能
JSON の結果

次の例は、Delete File アクションを使用した場合に受信する JSON 結果の出力です。

{
"filepath": ""
"status": "deleted/not found"
}
出力メッセージ

Delete File アクションは、次の出力メッセージを返すことがあります。

出力メッセージ メッセージの説明

Successfully deleted file.

アクションが成功しました。
Error executing action "Delete File". Reason: ERROR_REASON

アクションが失敗しました。

サーバーへの接続、入力パラメータ、または認証情報を確認してください。

スクリプトの結果

次の表に、Delete File アクションを使用した場合のスクリプト結果の出力値を示します。

スクリプトの結果名 値
is_success true または false

エンティティを OpenIOC ファイルとしてエクスポートする

[Export Entities as OpenIOC File] アクションを使用して、現在のケースからサポートされているセキュリティ アーティファクトを標準の OpenIOC ファイル形式にパッケージ化します。このファイルは、共有、脅威インテリジェンス、または他のセキュリティ ツールへのインポートに使用できます。

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

  • Filehash

  • IP Address

  • URL

  • Hostname

  • User

アクションへの入力

Export Entities as OpenIOC File アクションには、次のパラメータが必要です。

                       
パラメータ説明
Export Folder Path

必須。

   

生成された OpenIOC ファイルが保存されるフォルダのローカルパス。

   

アクションの出力

[Export Entities as OpenIOC File] アクションでは、次の出力が提供されます。

アクションの出力タイプ 対象
ケースウォールのアタッチメント 利用不可
ケースウォールのリンク 利用不可
ケースウォール テーブル 利用不可
拡充テーブル 利用不可
JSON の結果 利用可能
出力メッセージ 利用可能
スクリプトの結果 利用可能
JSON の結果

次の例は、Export Entities as OpenIOC File アクションを使用した場合に受信される JSON 結果の出力を示しています。

{
    "absolute_file_path": OpenIOC_{random_guid}.txt
}
出力メッセージ

Export Entities as OpenIOC File アクションは、次の出力メッセージを返すことができます。

出力メッセージ メッセージの説明

Successfully created an OpenIOC file based on provided entities.

Action wasn't able to create an OpenIOC file, because there are no entities in the action execution scope.

アクションが成功しました。
Error executing action "Export Entities as OpenIOC File". Reason: ERROR_REASON

アクションが失敗しました。

サーバーへの接続、入力パラメータ、または認証情報を確認してください。

JSON から最上位を抽出する

[Extract top From JSON] アクションを使用して、入力 JSON を特定のキーで並べ替え、上位のブランチまたはレコードを返します。

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

アクションへの入力

JSON から上位を抽出アクションには、次のパラメータが必要です。

                                                                       
パラメータ説明
JSON Data

必須。

   

処理する JSON データ。

   
Key To Sort By

必須。

   

並べ替えに使用されるネストされたキー。セグメントはドットで区切られます。

* をワイルドカードとして使用します。例: Host.*.wassap_list.Severity

   
Field Type

必須。

   

並べ替えに指定されたキーのデータ型。

値は次のいずれかになります。

  • int
  • string
  • Date
   
Reverse (DESC -> ASC)

省略可。

   

選択すると、並べ替え順序は降順になります。選択しない場合、並べ替え順は [昇順] になります。

   

デフォルトで有効になっています。

   
Top Rows

省略可。

   

並べ替えられた JSON 出力から取得する上位レコード(行)の数。

   

アクションの出力

Extract top From JSON アクションは、次の出力を提供します。

アクションの出力タイプ 対象
ケースウォールのアタッチメント 利用不可
ケースウォールのリンク 利用不可
ケースウォール テーブル 利用不可
拡充テーブル 利用不可
JSON の結果 利用可能
出力メッセージ 利用可能
スクリプトの結果 利用可能
JSON の結果

次の例は、Extract top From JSON アクションを使用した場合に受信される JSON 結果の出力を示しています。

[
    {
        "HOST": {
            "DETECTION":{
                "QID": "82003",
                "SEVERITY": "1",
                "RESULTS": "Timestamp of host (network byte ordering): 03:40:14 GMT"
            },
            "IP": "1.1.1.1",
            "LAST_SCAN_DATETIME": "2018-08-13T10:24:35Z",
            "OS": "Windows 10"
        },
        "DATETIME": "2018-08-29T14:01:12Z"
    }, {
        "HOST":{
            "DETECTION": {
                "PORT": "443",
                "QID": "11827",
                "PROTOCOL": "tcp",
                "RESULTS": "X-Frame-Options or Content-Security-Policy: frame-ancestors HTTP Headers missing on port 443.",
                "SEVERITY": "2"
            },
            "IP": "1.1.1.1",
            "LAST_SCAN_DATETIME": "2018-08-13T08:31:58Z",
            "OS": "Linux 3.13"
        },
        "DATETIME": "2018-08-29T14:01:12Z"
    }, {
        "HOST": {
            "DETECTION": {
                "PORT": "53",
                "QID": "15033",
                "PROTOCOL": "udp",
                "RESULTS": "--- IPv4 --- ",
                "SEVERITY": "4"
            },
            "IP": "1.1.1.1",
            "LAST_SCAN_DATETIME": "2018-08-13T08:31:58Z",
            "OS": "Linux 3.13"
        },
        "DATETIME": "2018-08-29T14:01:12Z"
    }
]
出力メッセージ

JSON から上位を抽出アクションは、次の出力メッセージを返すことができます。

出力メッセージ メッセージの説明

Results: RESULTS.

No branches were found.

アクションが成功しました。
Error executing action "Extract top From JSON". Reason: ERROR_REASON

アクションが失敗しました。

サーバーへの接続、入力パラメータ、または認証情報を確認してください。

スクリプトの結果

次の表に、Extract top From JSON アクションを使用した場合のスクリプト結果の出力値を示します。

スクリプトの結果名 値
result RESULTS

JSON をフィルタする

JSON をフィルタ アクションを使用して、指定された条件に基づいて JSON オブジェクトをフィルタし、特定の結果を抽出します。

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

アクションへの入力

JSON をフィルタ アクションには、次のパラメータが必要です。

                                                                                               
パラメータ説明
JSON Data

必須。

   

フィルタを適用する JSON 辞書データ。

   
Root Key Path

省略可。

   

JSON 検索のドット区切りの開始パス。

   
Condition Path

必須。

   

filter 条件に対して値が評価されるフィールドへのドット区切りのパス。

   
Condition Operator

必須。

   

条件で使用する比較演算子。

   

値は次のいずれかになります。

  • =
  • !=
  • >
  • <
  • >=
  • <=
  • in
  • not in
   
Condition Value

必須。

   

filter 条件で使用する特定の値。

   
Output Path

省略可。

   

フィルタされた JSON から返される特定のデータ要素へのドット区切りのパス。

   
Delimiter

省略可。

   

複数の要素が返された場合に出力値を結合するために使用される文字。

   

デフォルト値は , です。

   

アクションの出力

JSON をフィルタ アクションは、次の出力を提供します。

                                                                                                                                                       
アクションの出力タイプ対象
ケースウォールのアタッチメント利用不可
ケースウォールのリンク利用不可
ケースウォール テーブル利用不可
拡充テーブル利用不可
JSON の結果利用可能
出力メッセージ利用可能
スクリプトの結果利用可能
JSON の結果

次の例は、JSON をフィルタアクションを使用した場合に受信される JSON 結果の出力を示しています。

{
    "a": {
        "HOST": [
            {
                "DETECTION": {
                    "QID": "82003",
                    "SEVERITY": "1",
                    "RESULTS": "Timestamp of host (network byte ordering): 03:40:14 GMT"
                },
                "IP": "1.1.1.1",
                "LAST_SCAN_DATETIME": "2018-08-13T10:24:35Z",
                "OS": "Windows 10"
            }
        ],
        "DATETIME": "2018-08-29T14:01:12Z"
    }
}
出力メッセージ

JSON をフィルタアクションは、次の出力メッセージを返すことができます。

出力メッセージ メッセージの説明

Successfully filtered JSON.

アクションが成功しました。
Error executing action "Filter JSON". Reason: ERROR_REASON

アクションが失敗しました。

サーバーへの接続、入力パラメータ、または認証情報を確認してください。

スクリプトの結果

次の表に、JSON をフィルタ アクションを使用した場合のスクリプト結果の出力値を示します。

スクリプトの結果名 値
is_success true または false

デプロイ URL を取得する

デプロイ URL を取得アクションを使用して、現在の Google SecOps インスタンスのデプロイ URL を取得します。

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

アクションへの入力

なし

アクションの出力

[Get Deployment URL] アクションでは、次の出力が提供されます。

アクションの出力タイプ 対象
ケースウォールのアタッチメント 利用不可
ケースウォールのリンク 利用不可
ケースウォール テーブル 利用不可
拡充テーブル 利用不可
JSON の結果 利用可能
出力メッセージ 利用可能
スクリプトの結果 利用可能
JSON の結果

次の例は、Get Deployment URL アクションを使用した場合に受信される JSON 結果の出力を示しています。

{
"url": ""
}
出力メッセージ

Get Deployment URL アクションは、次の出力メッセージを返すことができます。

出力メッセージ メッセージの説明

Successfully retrieved deployment URL.

アクションが成功しました。
Error executing action "Get Deployment URL". Reason: ERROR_REASON

アクションが失敗しました。

サーバーへの接続、入力パラメータ、または認証情報を確認してください。

スクリプトの結果

次の表に、Get Deployment URL アクションを使用した場合のスクリプト結果の出力値を示します。

スクリプトの結果名 値
is_success true または false

オペレーションの一覧表示

リスト オペレーション アクションを使用して、指定された 2 つのカンマ区切りのリスト間でセット オペレーションを実行します。

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

アクションへの入力

List Operations アクションには、次のパラメータが必要です。

                                                           
パラメータ説明
First List

必須。

   

set オペレーションのカンマ区切り値の最初のリスト。

Second List

必須。

   

set オペレーションのカンマ区切り値の 2 番目のリスト。

Delimiter

省略可。

   

First List と Second List の両方で値を区切るために使用される記号または文字。

   

デフォルト値は , です。

Operator

必須。

   

実行する set オペレーションのタイプ。

   

値は次のいずれかになります。

  • intersection
  • union
  • subtract
  • xor(排他的論理和)。

アクションの出力

List Operations アクションは、次の出力を提供します。

アクションの出力タイプ 対象
ケースウォールのアタッチメント 利用不可
ケースウォールのリンク 利用不可
ケースウォール テーブル 利用不可
拡充テーブル 利用不可
JSON の結果 利用可能
出力メッセージ 利用可能
スクリプトの結果 利用可能
JSON の結果

次の例は、List Operations アクションの使用時に受信した JSON 結果の出力を示しています。

{
    "results": {
        "count": 6,
        "data": [
            "item",
            "item1",
            "item2"
        ]
    }
}​​
スクリプトの結果

次の表に、List Operations アクションを使用した場合のスクリプト結果の出力値を示します。

スクリプトの結果名 値
result_list RESULTS

EML を JSON に解析する

[Parse EML to JSON] アクションを使用して、EML または MSG メールファイルの内容を Google SecOps 内の構造化 JSON オブジェクトに変換します。

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

アクションへの入力

EML を JSON に解析するアクションには、次のパラメータが必要です。

                                               
パラメータ説明
EML Content

必須。

   

EML ファイルまたは MSG ファイルの Base64 エンコードされたコンテンツ。

Blacklisted Headers

省略可。

   

最終的な JSON 出力から除外するヘッダーのカンマ区切りのリスト。

Use Blacklist As Whitelist

省略可。

   

選択すると、Blacklisted Headers で指定されたリストが許可リストとして機能し、リストされたヘッダーのみが JSON 出力に含まれます。

アクションの出力

Parse EML to JSON アクションは、次の出力を提供します。

アクションの出力タイプ 対象
ケースウォールのアタッチメント 利用不可
ケースウォールのリンク 利用不可
ケースウォール テーブル 利用不可
拡充テーブル 利用不可
JSON の結果 利用可能
出力メッセージ 利用可能
スクリプトの結果 利用可能
JSON の結果

次の例は、Parse EML to JSON アクションを使用した場合に受信される JSON 結果の出力を示しています。

{
    "HTML Body": "<div><br></div>",
    "Attachments": {},
    "Recipients": "john_doe@example.com",
    "CC": "",
    "Links": {
        "urls_1": "https://lh4.googleusercontent.com/rE6-WYjfFuiHbHUV33G31NCtUeBl9YGnw4bvlorqMeNaC60qWagqtohFwCpq2eJxlMYMJPPDAqqXRZW6Oja8GqOjt3jB3aB6tzJP-jdtbCBoj-m3vu49tttHmWpXGJUSI6UuTUYS",
        "urls_2": "https://lh4.googleusercontent.com/Uih5TalWnJjBbG_QaRICp8emX5wIakbCmstEDP3YHT7l45qdjIllcxg_Ddapvrh5DqGKszK3KKM5M0kEoC1YX6TgbWKJKPX0OxD5BeWr3uu6SRAHs7lwP20khjHSlxsIM46egQ-M"
    },
    "BCC": "",
    "To": "john_doe@example.com",
    "Date": "Mon, 13 Aug 2018 13:20:34 +0300",
    "From": "john_doe@example.com",
    "Subject": "TEST6:::Test:::ADVANCE NOTICE: 07.08.2018-Disable Accounts-user\\\r\\\\n Office Il Office"
}
スクリプトの結果

次の表に、Parse EML To JSON アクションを使用した場合のスクリプト結果出力の値を示します。

スクリプトの結果名 値
parsed_eml RESULTS

with フィールドのアクションの JSON 出力が再構築され、ID 値が専用のフィールドに分割されます。この変更は、次の表に示すように、統合のバージョン 10 以降に適用されます。

                                               
統合バージョンフィールドの構造と説明JSON の例
バージョン 9 以前ID とプロトコルは with フィールドに結合されます。{"with": "smtp id ID"}
バージョン 10 以降ID は新しい id フィールドに保存され、with フィールドにはプロトコルのみが含まれます。{"id": "ID", "with": "SMTP"}

Ping

Ping アクションを使用して、SiemplifyUtilities への接続性をテストします。

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

アクションへの入力

なし

アクションの出力

Ping アクションは、次の出力を提供します。

アクションの出力タイプ 対象
ケースウォールのアタッチメント 利用不可
ケースウォールのリンク 利用不可
ケースウォール テーブル 利用不可
拡充テーブル 利用不可
JSON の結果 利用不可
出力メッセージ 利用可能
スクリプトの結果 利用可能
出力メッセージ

Ping アクションでは、次の出力メッセージが表示されます。

出力メッセージ メッセージの説明
Connection Established. アクションが成功しました。
Failed to connect to SiemplifyUtilities. Error is ERROR_REASON

アクションが失敗しました。

サーバーへの接続、入力パラメータ、または認証情報を確認してください。

スクリプトの結果

次の表に、Ping アクションを使用した場合のスクリプト結果の出力値を示します。

スクリプトの結果名 値
is_success True または False

クエリ結合

クエリ結合アクションを使用して、検索値のリスト、ターゲット フィールド、論理演算子を組み合わせて、構造化クエリ文字列を動的に作成します。

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

アクションへの入力

Query Joiner アクションには、次のパラメータが必要です。

パラメータ 説明
Values

必須。

検索する値のカンマ区切りのリスト(value1,value2,value3 など)。

Query Field

必須。

検索対象のフィールド名(SrcIP、DestHost、UserName など)。

Query Operator

必須。

値を組み合わせる論理演算子(AND、OR など)。

Add Quotes

省略可。

選択すると、Values の各項目の前後に一重引用符(')が追加されます。

Add Double Quotes

省略可。

選択すると、Values の各項目の前後に二重引用符(")が追加されます。

Add Backticks

省略可。

選択すると、Values の各項目の前後にバッククォート(`)が追加されます。

これは、複雑な文字列や特殊文字(長い URL など)をエスケープして、クエリのコンパイル エラーを防ぐのに役立ちます。

Delimiter

省略可。

Values 内の項目を区切る文字。

値が指定されていない場合、デフォルトの区切り文字はカンマ(,)です。

アクションの出力

Query Joiner アクションは、次の出力を提供します。

アクションの出力タイプ 対象
ケースウォールのアタッチメント 利用不可
ケースウォールのリンク 利用不可
ケースウォール テーブル 利用不可
拡充テーブル 利用不可
JSON の結果 利用不可
出力メッセージ 利用可能
スクリプトの結果 利用可能
出力メッセージ

Query Joiner アクションは、次の出力メッセージを返すことができます。

出力メッセージ メッセージの説明

Successfully formed query: QUERY_FIELD= VALUE_1 OPERATOR QUERY_FIELD= VALUE_2 OPERATOR QUERY_FIELD= VALUE_3

アクションが成功しました。
Error executing action "Query Joiner". Reason: ERROR_REASON

アクションが失敗しました。

サーバーへの接続、入力パラメータ、または認証情報を確認してください。

スクリプトの結果

次の表に、Query Joiner アクションを使用した場合のスクリプト結果の出力値を示します。

スクリプトの結果名 値
query QUERY_FIELD= VALUE_1 OPERATOR QUERY_FIELD= VALUE_2 OPERATOR QUERY_FIELD= VALUE_3

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