BlueLiv

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

インテグレーション ガイド

この統合の目的は、関連するフィルタを使用して、Google Security Operations 内で目的の脅威のみを表示し、脅威コネクタを使用して、関連するユースケースに従って、それらの脅威に対して追加のアクションを実行することです。

このクイックガイドでは、Google SecOps のお客様がインテグレーションを簡単に使用できるようにするためのいくつかの手順について説明します。

統合の構成

統合を簡単に構成できるように、パラメータとその確認方法について説明します。

  • API ルート - これは、BlueLiv ホームページを表示するために使用する URL で、末尾に /api/v2 が追加されています。たとえば、https://tcdach.blueliv.com/api/v2 をこのパラメータの値にする必要があります。
  • ユーザー名 - BlueLiv ホームページへの接続に使用するユーザー名と同じです。
  • パスワード - BlueLiv ホームページへの接続に使用するパスワードと同じパスワード。
  • 組織 ID - 組織 ID は、プロダクト自体の閲覧に使用している URL で簡単に確認できます。例:

    この例では、組織 ID は 117 です。

    https://tcdach.blueliv.com/dashboard/organizations/117/indexed

統合パラメータを確認したら、統合の他の用語を詳しく見ていきましょう。

モジュール タイプ

BlueLiv は、脅威セクションをモジュール タイプに分割しています。この統合では、これらのタイプを使用して SOAR プラットフォームを支援し、モジュール タイプでフィルタする場合は関連情報のみを取り込みます。現在、BlueLiv で使用できるモジュール タイプは次のとおりです。

  • 認証情報
  • ソーシャル メディア
  • クレジット カード
  • ドメイン保護
  • マルウェア
  • データ漏洩
  • ハクティビズム
  • ダークウェブ
  • カスタム
  • メディア トラッカー
  • モバイルアプリ

脅威 ID とモジュール ID

https://tcdach.blueliv.com/dashboard/organizations/117/modules/1303/resource/31024379

BlueLiv で確認できるすべての脅威には、それを表す番号である UID があります。このパラメータも URL で簡単に確認できます。脅威はリソースとも呼ばれます。たとえば、ここでは脅威 UID は 31024379 です。

また、BlueLiv にあるモジュールごとに、それを表す番号である UID があります。たとえば、ここでは脅威 UID は 1303 です。

設定に関する推奨事項

Blueliv では、一度に 1 つのセッションのみを開くことができます。安定性を確保するため、統合構成とコネクタには異なるユーザーを使用することをおすすめします。注: コネクタごとに個別のユーザーが必要です。

ユースケース

  1. プロアクティブなサイバー脅威モニタリング
  2. ブランド保護
  3. データ侵害からの保護
  4. 不正の防止
  5. 偽造品の検出

Google SecOps で BlueLiv 統合を構成する

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

統合のパラメータ

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

パラメータの表示名 タイプ デフォルト値 必須 Description
API ルート 文字列

https://example
.blueliv.com/api/v2

○ BlueLiv インスタンスの API ルート。
ユーザー名 文字列 なし ○ BlueLiv のユーザー名。
パスワード パスワード なし ○ ユーザーのパスワード
組織 ID 文字列 なし ○ BlueLiv で使用する組織 ID を指定します。
SSL を確認する チェックボックス オフ ○ 有効になっている場合は、IronScales サーバーへの接続用の SSL 証明書が有効であることを確認します。

アクション

Ping

説明

Google SecOps Content Hub ページの統合構成ページで提供されるパラメータを使用して、BlueLiv への接続性をテストします。

パラメータ

なし

実行

このアクションはエンティティに対しては実行されず、必須入力パラメータもありません。

アクションの結果

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

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

両方の API 呼び出しが成功した場合:「指定された接続パラメータを使用して BlueLiv サーバーに正常に接続されました。」

アクションが失敗し、ハンドブックの実行が停止します。

最初の呼び出しのみが成功し、2 回目の呼び出しが失敗した場合: 「ユーザー名とパスワードで正常にログインできましたが、組織 ID が正しくないようです。[統合構成] ページの [組織 ID] パラメータを確認して、もう一度お試しください。

成功しなかった場合:「BlueLiv に接続できませんでした。エラーは {0}」.format(exception.stacktrace)

一般

エンティティの拡充

説明

Blueliv の Threat Context モジュールの情報を使用してエンティティを拡充します。サポートされるエンティティ: IP、ハッシュ、URL、脅威アクター、脅威キャンペーン、脅威シグネチャ、ドメイン、CVE。

パラメータ

Name デフォルト値 必須 説明
不審としてマークする最低スコア 5 ○ エンティティを不審としてマークするための最低スコアを指定します。最大: 10。
インサイトの作成 正しい いいえ 有効にした場合、アクションによってエンティティに関する情報を含むインサイトが作成されます。

実行

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

  • IP アドレス
  • ハッシュ
  • URL
  • 脅威アクター
  • 脅威キャンペーン
  • 脅威シグネチャ
  • CVE
アクションの結果
スクリプトの結果
スクリプトの結果名 値のオプション 例
success True/False success:False
ケースウォール
Case 成功 不合格 メッセージ
一部のエンティティが拡充された場合 true false Blueliv の情報を使用して、次のエンティティを拡充しました: {entity.identifier}
一部が拡充されていない場合 true false アクションは、Blueliv の情報を使用して次のエンティティを拡充できませんでした: {entity.identifier}
すべてが拡充されていない場合 false false Blueliv の情報を使用してエンリッチされたエンティティはありません。
致命的なエラー、無効な認証情報、API ルート false true 「エンティティの拡充」アクションの実行中にエラーが発生しました。理由: {error traceback}
「脅威コンテキスト」モジュールが利用できない場合 false 正しい 「エンティティの拡充」アクションの実行中にエラーが発生しました。理由: インスタンスが「脅威コンテキスト」モジュールをサポートしていません。

脅威にコメントを追加する

説明

このアクションにより、特定の脅威に目的のテキスト コメントが追加されます。

パラメータ

パラメータの表示名 タイプ デフォルト値 必須 説明
モジュール タイプ 文字列 なし ○ リソースが属するモジュール タイプを指定します。
モジュール ID 文字列 なし ○ リソースが属するモジュール ID を指定します。
リソース ID 文字列 なし ○ コメントを追加するリソース ID を指定します。
コメントのテキスト 文字列 なし ○ リソースに追加するコメントを入力します。

実行

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

アクションの結果
スクリプトの結果
スクリプトの結果名 値のオプション
is_success is_success=False
is_success is_success=True
ケースウォール
結果のタイプ 値 / 説明 タイプ(エンティティ \ 一般)
出力メッセージ *

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

成功した場合: 「Successfully added the comment to threat ID: 」+{threat_ID}

アクションが失敗し、ハンドブックの実行が停止します。

不成功の場合: 「アクション「脅威にコメントを追加」の実行に失敗しました。{0}」format(exception.stacktrace)

全般
ケースウォール テーブル

Name: "Threat ID "+{threat_id}+" Comments:

列:

  • コメント行
  • コメント ID
  • コンテンツ
  • 作成日
  • 閲覧者(コメント可)

脅威をお気に入りとしてマークする

説明

このアクションにより、指定された脅威が BlueLiv でお気に入りの脅威としてマークされます。

パラメータ

パラメータの表示名 タイプ デフォルト値 DDL 値 必須 説明
モジュール タイプ 文字列 なし ○ リソースが属するモジュール タイプを指定します。
モジュール ID 文字列 なし ○ リソースが属するモジュール ID を指定します。
リソース ID 文字列 なし ○ コメントを追加するリソース ID を指定します。
お気に入りステータス DDL ユーザーがスターを付けた

スターなし

ユーザーがスターを付けた

グループにスターを付けました

スター付き

○ 指定した脅威に適用するお気に入りステータスを指定します。

実行

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

アクションの結果
スクリプトの結果
スクリプトの結果名 値のオプション
is_success is_success=False
is_success is_success=True
ケースウォール
結果のタイプ 値 / 説明 タイプ(エンティティ \ 一般)
出力メッセージ *

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

成功した場合: 「脅威 ID: "+{threat_ID}+" をお気に入りとしてマークしました」

アクションが失敗し、ハンドブックの実行が停止します。

不成功の場合: 「アクション「脅威をお気に入りとしてマークする」の実行に失敗しました。{0}」format(exception.stacktrace)

全般

脅威にラベルを追加する

説明

このアクションにより、指定したラベル名が指定した脅威 ID に追加されます。

パラメータ

パラメータの表示名 タイプ デフォルト値 必須 説明
モジュール タイプ 文字列 なし ○ リソースが属するモジュール タイプを指定します。
モジュール ID 文字列 なし ○ リソースが属するモジュール ID を指定します。
リソース ID 文字列 なし ○ ラベルを追加するリソース ID をカンマ区切りのリストで指定します。
ラベル名 文字列 なし ○ 指定した脅威に適用するラベル名をカンマ区切りのリストで指定します。大文字と小文字の違いに注意してください。

実行

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

アクションの結果
スクリプトの結果
スクリプトの結果名 値のオプション
is_success is_success=False
is_success is_success=True
ケースウォール
結果のタイプ 値 / 説明 タイプ(エンティティ \ 一般)
出力メッセージ *

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

一部のラベルが見つからなかった場合: 「BlueLiv で次のラベルが見つかりませんでした」:+(unsuccessful_label names_list)+「アクション パラメータで指定したラベル名を確認して、もう一度お試しください」

一部の脅威が見つからなかった場合: 「BlueLiv で次の脅威が見つかりませんでした」:+(unsuccessful_threat_IDs)+「アクション パラメータで指定した脅威 ID を確認して、もう一度お試しください」

成功した場合: 「次のラベルを正常に追加しました:」+(successful_label_names_list)+「次の脅威 ID に:」+(successful_threat_IDs_list)

アクションが失敗し、ハンドブックの実行が停止します。

ラベルが見つからなかった場合: 「BlueLiv で次のラベルが見つかりませんでした」:+(unsuccessful_label names_list)+「。アクション パラメータで指定したラベル名を確認して、もう一度お試しください」

脅威が見つからなかった場合: 「BlueLiv で次の脅威が見つかりませんでした」:+(unsuccessful_threat_IDs_list)+「。アクション パラメータで指定した脅威 ID を確認して、もう一度お試しください」

成功しなかった場合: 「アクション「脅威にラベルを追加」を実行できませんでした。format(exception.stacktrace)

全般

脅威からラベルを削除する

説明

このアクションにより、指定された脅威 ID から指定されたラベルが削除されます。

パラメータ
Name デフォルト値 必須 説明
モジュール タイプ なし ○ リソースが属するモジュール タイプを指定します。
モジュール ID ○ リソースが属するモジュール ID を指定する
リソース ID ○ ラベルを削除するリソース ID のカンマ区切りのリストを指定します。
ラベル名 ○ 削除する必要があるラベルのカンマ区切りのリストを指定します。大文字と小文字の違いに注意してください。

実行

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

アクションの結果
スクリプトの結果
スクリプトの結果名 値のオプション
is_success is_success=False
is_success is_success=True
ケースウォール
Case 成功 不合格 メッセージ
一部のラベルが見つからなかった場合 true false 「BlueLiv で次のラベルが見つかりませんでした: \n {labels}。アクション パラメータで指定したラベル名を確認して、もう一度お試しください。」
一部の脅威が見つからなかった場合 true false モジュール {module} {脅威 ID} から次の脅威が見つかりませんでした: {脅威 ID}。アクション パラメータで指定した脅威 ID を確認して、もう一度お試しください
一部で成功した場合: true false Blueliv の次の脅威 {threat ID} から次のラベルを正常に削除しました: {successful_labels}
一部がまだ適用されていない場合: true false 次のラベルは、Blueliv の脅威 {threat ID} の一部ではありませんでした: {labels already not a part}
ラベルが見つからない場合 false true 「脅威からラベルを削除する」アクションの実行中にエラーが発生しました。理由: ラベルが見つかりませんでした。スペルを確認してください。
脅威が見つからなかった場合 false true 「脅威からラベルを削除する」アクションの実行中にエラーが発生しました。理由: 脅威は見つかりませんでした。スペルを確認してください。
致命的なエラー、無効な認証情報、API ルート false true 「脅威からラベルを削除する」アクションの実行中にエラーが発生しました。理由: {error traceback}
モジュールのタイプまたは ID が無効な場合 false true 「脅威からラベルを削除する」アクションの実行中にエラーが発生しました。理由: 無効なモジュール ID またはモジュール タイプが指定されました。

エンティティの脅威を一覧表示する

説明

Blueliv のエンティティに関連する脅威を一覧表示します。サポートされるエンティティ: すべて。

既知の制限事項

文字列が脅威名と完全に一致していても、Blueliv API から結果が返されないことがあります。以下に例を示します。

https://pastebin.com/YRkUCLGc - 「pastebin」キーワードを使用して検索すると、URL が表示されます。

https://pastebin.com/YRkUCLGc - is not shown, when searching using the "https://pastebin.com/YRkUCLGc" keyword.

パラメータ

パラメータの表示名 タイプ デフォルト値 必須 説明
ラベルフィルタ CSV なし いいえ 脅威のフィルタリングに使用するラベルのカンマ区切りのリストを指定します。注: ラベルフィルタは「OR」ロジックで機能します。
モジュール フィルタ CSV なし いいえ 脅威のフィルタリングに使用するモジュールのカンマ区切りのリストを指定します。
返す脅威の最大数 Integer 50 いいえ エンティティごとに返される脅威の数を指定します。何も指定しない場合、アクションは 50 件の脅威を返します。

実行

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

アクションの結果
スクリプトの結果
スクリプトの結果名 値のオプション
is_success is_success=False
is_success is_success=True
JSON の結果
{
    "id": xxxxxxx,
    "module_id": xxxx,
    "module_name": "Data Leakage",
    "module_short_name": "xxx-xxxxx",
    "module_type": "DATA_LEAKAGE",
    "url": "xxx",
    "content_type": "text/html",
    "countries_id": "xx",
    "analysis_result": "INFORMATIVE",
    "analysis_calc_result": "INFORMATIVE",
    "created_at": 1626163680000,
    "checked_at": 1626163680000,
    "changed_at": 1626163680000,
    "user_rating": 0,
    "read": true,
    "fav": "NOT_STARRED",
    "issued": false,
    "labels": [
        {
            "id": 36116,
            "name": "GithubCodeByFilename",
            "background_color": 16777215,
            "text_color": 0,
            "type": "GLOBAL"
        },
        {
            "id": 160,
            "name": "Public",
            "background_color": 45960,
            "text_color": 16777215,
            "type": "GLOBAL"
        }
    ],
    "tlpStatus": "AMBER",
    "searchPhrase": "credit card",
    "followedUp": false,
    "history": []
},
Case Wall
結果のタイプ 値 / 説明 タイプ(エンティティ \ 一般)
出力メッセージ *

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

1 つのエンティティにデータが利用可能な場合(is_success = true): 「Blueliv で次のエンティティに対する利用可能な脅威を正常に一覧表示しました: {entity.identifier}」

1 つの脅威がない場合(is_success=true): 「Blueliv で次のエンティティに関連する脅威が見つかりませんでした: {entity.identifier}」

1 つの脅威が見つからない場合(is_success=true): 「Blueliv で指定されたエンティティに関連する脅威が見つかりませんでした」

アクションが失敗し、ハンドブックの実行が停止します。

間違った認証情報、サーバーへの接続なし、その他など、致命的なエラーが報告された場合:「アクション「エンティティの脅威の一覧表示」の実行エラー。理由: {0}」.format(error.Stacktrace)

一般
Case Wall テーブル

タイトル: {entity.identifier}

モジュール名

URL

タイトル

ラベル

作成日

エンティティ

コネクタ

BlueLiv - 脅威コネクタ

説明

BlueLiv からセキュリティ脅威を取得します。コネクタは、BlueLiv モジュールから最新の脅威をすべて取得します。

許可リストと拒否リストのフィルタは、BlueLiv モジュール タイプで機能します。たとえば、Hacktivism モジュールからのみ脅威を取得する場合は、許可リストを有効にして「Hacktivism」タイプ名を入力します。

モジュール タイプごとに、Google SecOps に取り込まれるデータの構造が異なります。ニーズに合わせて、Google SecOps インスタンスのマッピングを変更してください。BlueLiv から返される各イベントの異なる「event_type」値を確認してください。

マルウェアの脅威タイプの場合、現在提供されているのは基本的なイベントデータのみです。マルウェアの脅威タイプから返される特別なデータをより適切に処理するために、近日中にイベントを追加する予定です。

Google SecOps で BlueLiv - Threats コネクタを構成する

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

コネクタ パラメータ

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

パラメータの表示名 タイプ デフォルト値 必須 Description
プロダクト フィールド名 文字列 ProductName ○ ソース フィールド名を入力してプロダクト フィールド名を取得します。
イベント フィールド名 文字列 event_type ○ ソース フィールド名を入力してイベント フィールド名を取得します。
環境フィールド名 文字列 "" いいえ

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

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

環境の正規表現パターン 文字列 .* いいえ

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

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

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

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

スクリプトのタイムアウト(秒) 整数 180 はい 現在のスクリプトを実行している Python プロセスのタイムアウト上限。
API URL 文字列 https://example.blueliv.com/api/v2 ○ BlueLiv インスタンスの API ルート。
ユーザー名 文字列 なし ○ BlueLiv のユーザー名
パスワード パスワード なし ○ BlueLiv のユーザー パスワード
組織 ID 文字列 なし ○ BlueLiv で使用する組織 ID を指定します。
遡る取得の最大時間数 整数 1 いいえ どの時点からイベントを取得するかの時間数。
取得する最大脅威数 Integer 10 いいえ

1 回のコネクタの反復処理で対応する脅威の数。
注 - ここでの最大値は 100 です。

重大度 文字列 中 ○

重大度は、低、中、高、重大のいずれかの値になります。
このコネクタから作成された Google SecOps アラートに割り当てられます。

取り込む分析結果 文字列(値: NOT_AVAILABLE、NOT_IMPORTANT、NOT_PROCESSABLE、POSITIVE、NEGATIVE、INFORMATIVE、IMPORTANT) なし いいえ

この脅威に対するアナリストの分析で脅威をフィルタし、選択した分析結果を含む脅威のみを取り込みます。取り込む分析結果をカンマ区切りのリストで指定します。
有効な値: NOT_AVAILABLE、NOT_IMPORTANT、NOT_PROCESSABLE、POSITIVE、NEGATIVE、INFORMATIVE、IMPORTANT

フィルタに使用するラベル 文字列(カンマ区切りのリスト) なし いいえ フィルタするラベル名のカンマ区切りリストを指定してください。大文字と小文字の違いに注意して、BlueLiv UI に表示されているとおりにラベルを記述してください。
取り込む読み取りステータス 文字列(値: 「Only Read」、「Only Unread」) なし いいえ 読み取りステータスで脅威をフィルタして、コネクタがそれに応じて取り込むようにします。値が指定されていない場合は、両方が取得されます。オプション: 「既読のみ」、「未読のみ」。
スター付きの脅威のみを取り込むべきか? チェックボックス オフ いいえ オンにすると、スター付き(お気に入り)の脅威のみが取り込まれます
インシデントに関連する脅威を取り込むべきか? 文字列(値: インシデントのみ、インシデント以外のみ) なし いいえ コネクタがインシデントとの関係を確認して脅威をフィルタする必要があるかどうか。値が指定されていない場合は、両方が取得されます。オプションは次のとおりです。インシデントのみ - インシデントに関連する脅威のみを取り込みます。インシデント以外のみ - インシデントに関連しない脅威のみを取り込みます。
許可リストを拒否リストとして使用 チェックボックス オフ ○ 有効にすると、許可リストが拒否リストとして使用されます。
SSL を確認 チェックボックス オフ ○ 有効になっている場合は、BlueLiv サーバーへの接続用の SSL 証明書が有効であることを確認します。
プロキシ サーバーのアドレス 文字列 なし いいえ 使用するプロキシ サーバーのアドレス。
プロキシのユーザー名 文字列 なし いいえ 認証に使用するプロキシのユーザー名。
プロキシ パスワード パスワード なし いいえ 認証に使用するプロキシ パスワード。

コネクタ ルール

プロキシのサポート

コネクタはプロキシをサポートしています。

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