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 アクションは、次の出力メッセージを返すことができます。
| 出力メッセージ | メッセージの説明 |
|---|---|
|
アクションが成功しました。 |
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 |
省略可。 文字列のカンマ区切りのリスト( |
Delimiter |
省略可。
|
アクションの出力
Count List アクションは、次の出力を提供します。
| アクションの出力タイプ | 対象 |
|---|---|
| ケースウォールのアタッチメント | 利用不可 |
| ケースウォールのリンク | 利用不可 |
| ケースウォール テーブル | 利用不可 |
| 拡充テーブル | 利用不可 |
| JSON の結果 | 利用不可 |
| 出力メッセージ | 利用可能 |
| スクリプトの結果 | 利用可能 |
出力メッセージ
Count List アクションは、次の出力メッセージを返すことができます。
| 出力メッセージ | メッセージの説明 |
|---|---|
|
アクションが成功しました。 |
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 アクションは、次の出力メッセージを返すことがあります。
| 出力メッセージ | メッセージの説明 |
|---|---|
|
アクションが成功しました。 |
Error executing action "Delete File". Reason:
ERROR_REASON |
アクションが失敗しました。 サーバーへの接続、入力パラメータ、または認証情報を確認してください。 |
スクリプトの結果
次の表に、Delete File アクションを使用した場合のスクリプト結果の出力値を示します。
| スクリプトの結果名 | 値 |
|---|---|
is_success |
true または false |
エンティティを OpenIOC ファイルとしてエクスポートする
[Export Entities as OpenIOC File] アクションを使用して、現在のケースからサポートされているセキュリティ アーティファクトを標準の OpenIOC ファイル形式にパッケージ化します。このファイルは、共有、脅威インテリジェンス、または他のセキュリティ ツールへのインポートに使用できます。
このアクションは、次の Google SecOps エンティティに対して実行されます。
FilehashIP AddressURLHostnameUser
アクションへの入力
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 アクションは、次の出力メッセージを返すことができます。
| 出力メッセージ | メッセージの説明 |
|---|---|
|
アクションが成功しました。 |
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 | 必須。 並べ替えに使用されるネストされたキー。セグメントはドットで区切られます。
|
Field Type | 必須。 並べ替えに指定されたキーのデータ型。 値は次のいずれかになります。
|
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 から上位を抽出アクションは、次の出力メッセージを返すことができます。
| 出力メッセージ | メッセージの説明 |
|---|---|
|
アクションが成功しました。 |
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 | 必須。
|
Condition Operator | 必須。 条件で使用する比較演算子。 値は次のいずれかになります。
|
Condition Value | 必須。
|
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 をフィルタアクションは、次の出力メッセージを返すことができます。
| 出力メッセージ | メッセージの説明 |
|---|---|
|
アクションが成功しました。 |
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 アクションは、次の出力メッセージを返すことができます。
| 出力メッセージ | メッセージの説明 |
|---|---|
|
アクションが成功しました。 |
Error executing action "Get Deployment URL". Reason:
ERROR_REASON |
アクションが失敗しました。 サーバーへの接続、入力パラメータ、または認証情報を確認してください。 |
スクリプトの結果
次の表に、Get Deployment URL アクションを使用した場合のスクリプト結果の出力値を示します。
| スクリプトの結果名 | 値 |
|---|---|
is_success |
true または false |
オペレーションの一覧表示
リスト オペレーション アクションを使用して、指定された 2 つのカンマ区切りのリスト間でセット オペレーションを実行します。
このアクションは Google SecOps エンティティに対しては実行されません。
アクションへの入力
List Operations アクションには、次のパラメータが必要です。
| パラメータ | 説明 |
|---|---|
First List | 必須。
|
Second List | 必須。
|
Delimiter | 省略可。
デフォルト値は |
Operator | 必須。 実行する 値は次のいずれかになります。
|
アクションの出力
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 | 省略可。 選択すると、 |
アクションの出力
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 |
必須。 検索する値のカンマ区切りのリスト( |
Query Field |
必須。 検索対象のフィールド名( |
Query Operator |
必須。 値を組み合わせる論理演算子( |
Add Quotes |
省略可。 選択すると、 |
Add Double Quotes |
省略可。 選択すると、 |
Add Backticks |
省略可。 選択すると、 これは、複雑な文字列や特殊文字(長い URL など)をエスケープして、クエリのコンパイル エラーを防ぐのに役立ちます。 |
Delimiter |
省略可。
値が指定されていない場合、デフォルトの区切り文字はカンマ( |
アクションの出力
Query Joiner アクションは、次の出力を提供します。
| アクションの出力タイプ | 対象 |
|---|---|
| ケースウォールのアタッチメント | 利用不可 |
| ケースウォールのリンク | 利用不可 |
| ケースウォール テーブル | 利用不可 |
| 拡充テーブル | 利用不可 |
| JSON の結果 | 利用不可 |
| 出力メッセージ | 利用可能 |
| スクリプトの結果 | 利用可能 |
出力メッセージ
Query Joiner アクションは、次の出力メッセージを返すことができます。
| 出力メッセージ | メッセージの説明 |
|---|---|
|
アクションが成功しました。 |
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 のプロフェッショナルから回答を得ることができます。