v3 API を使用して ThreatConnect IoC のログを収集する

以下でサポートされています。

Google Security Operations の ThreatConnect フィードを使用すると、IP アドレス、ドメイン、URL、ファイル ハッシュなどのセキュリティ侵害インジケーター(IOC)と、そのコンテキスト(脅威の種類、信頼度スコア、タグなど)を ThreatConnect アカウントから自動的に取得できます。これらの IOC を取り込むと、Google Security Operations のセキュリティ データが拡充され、脅威の検出と調査の機能が強化されます。

このドキュメントでは、ThreatConnect v3 API コネクタを使用して、ThreatConnect インスタンスから IOC を取り込むように Google SecOps を構成する方法について説明します。このバージョンのコネクタは、ThreatConnect v3 REST API を使用します。これは、ThreatConnect v2 REST API を使用する既存のコネクタの更新バージョンです。

始める前に

次の前提条件を満たしていることを確認します。

  • 有効な ThreatConnect インスタンスと、v3 API を使用して必要なインジケーターにアクセスするのに十分な権限を持つユーザー アカウント。通常、これにはインジケーターとその属性を読み取る権限が含まれます。
  • Google Security Operations インスタンス
  • Google SecOps フィードを管理するのに十分な Identity and Access Management 権限が Google Cloud プロジェクトにある

設定手順

ThreatConnect IOC フィードを設定する手順は次のとおりです。

ThreatConnect v3 API 認証情報を取得する

  1. ThreatConnect インスタンスにログインします。
  2. [API ユーザー管理] セクションに移動して、新しい API ユーザーを作成するか、Google SecOps 統合用に指定された既存の API ユーザーを使用します。
  3. 新しい API ユーザーを作成するには:

    1. [Settings] > [Org Settings] に移動します。
    2. [Organization Settings] ページの [Membership] タブに移動します。
    3. [Create API User] をクリックします。
    4. [API User Administration] ウィンドウのフィールドに入力します。

      • First Name: API ユーザーの名を入力します。
      • Last Name: API ユーザーの姓を入力します。
      • System Role: [Api User] または [Exchange Admin] のシステムロールを選択します。

      • Organization Role: API ユーザーの組織ロールを選択します。

      • Include in Observations and False Positives: API ユーザーから提供されたデータをカウントに含めるには、チェックボックスをオンにします。

      • Disabled: 管理者がログの完全性を保持する場合は、チェックボックスをオンにして API ユーザーのアカウントを無効にします。

  4. アクセス ID秘密鍵をコピーして安全に保存します。

  5. [保存] をクリックします。

  6. 関連する API ユーザーのアクセス ID とシークレット キーを取得し、次のステップに進みます。

Google Security Operations で ThreatConnect フィードを構成する

  1. [SIEM 設定] > [フィード] に移動します。
  2. [Add New Feed] をクリックします。
  3. 次のページで [単一のフィードを設定] をクリックします。
  4. [フィード名] フィールドに、フィードの名前を入力します(例: ThreatConnect Logs)。
  5. [ソースタイプ] で [サードパーティ API] を選択します。
  6. [Log Type] で、[ThreatConnect IOC V3] を選択します。
  7. [次へ] をクリックします。
  8. ThreatConnect v3 API の次の詳細を入力します。
    • Access ID: 手順 1 で取得した ThreatConnect アクセス ID を入力します。
    • Secret Key: ステップ 1 で取得した ThreatConnect 秘密鍵を入力します。
    • API Hostname: ThreatConnect インスタンスの FQDN(例: <myinstance>.threatconnect.com)。
    • 所有者: 指標の取得元となる ThreatConnect の組織、コミュニティ、ソースを指定します。1 行に 1 人のオーナーを入力します。詳細については、オーナーの概要をご覧ください。
    • TQL: 取り込み要件に基づいて IoC を取得するために必要な TQL クエリ(TQL クエリの作成方法を参照)。
    • フィールド: デフォルトでは取得されない、取得する追加フィールドの名前。1 行に 1 つのフィールドを入力します(デフォルト フィールドと追加フィールドのリストを参照)。
  9. [次へ] をクリックします。
  10. [Finalize] 画面でフィードの設定を確認し、[Submit] をクリックします。

取り込みを検証する

  1. 構成を送信したら、初期データの取得にしばらく時間がかかります。
  2. [フィード] リストでフィードのステータスを確認します。ステータスは最終的に [完了] または [有効] と表示されます。
  3. Google Security Operations の検索ページでログをクエリして、データが取り込まれていることを確認します。
    • クエリ log_type = "THREATCONNECT_IOC_V3" を使用します。
  4. 取り込まれたログを調べて、フィールドが想定どおりに解析されていることを確認します。

TQL クエリの作成方法

ThreatConnect では、ThreatConnect Query Language(TQL)という SQL に似たクエリ言語を使用して構造化クエリを作成し、データを高度に絞り込んだ検索を実行できます。TQL クエリには、パラメータ名、演算子、値または値のリストが含まれます。複数のクエリをかっこで囲み、AND/OR ロジックで組み合わせることができます。

  • 次の TQL クエリの例では、過去 30 日間に追加された、Cobalt Strike、APT、フィッシングに関連付けられている信頼度の高いネットワーク指標(IP、ホスト、URL)を検索します。また、既知の誤検知と内部テストデータも明示的に除外します。

    typeName IN ("Address", "Host", "URL")
    AND confidence > 75
    AND dateAdded > "NOW() - 30 DAYS"
    AND (summary CONTAINS "cobalt" OR tag STARTSWITH "APT" OR tag ENDSWITH "Phish")
    AND NOT tag = "False_Positive"
    AND source != "Internal_Testing"
    

TQL の詳細については、ThreatConnect TQL のドキュメントをご覧ください。

デフォルトのフィールドと追加のフィールドのリスト

このセクションでは、ThreatConnect API から取得される特定のデータポイントについて、デフォルトで含まれるか、手動構成が必要かに分類して詳しく説明します。

デフォルトのフィールド

次のデフォルト フィールドは、API によってデフォルトで取得され、追加の構成は必要ありません。

# フィールド 説明 タイプ 値の例
1 active インジケーターが有効かどうかを示します ブール値 truefalse
2 activeLocked アクティブなインジケーターのステータスがロックされているかどうかを示します ブール値 truefalse
3 confidence インジケータの信頼度 Integer 123、... 100
4 dateAdded インジケーターが外部で作成された日時 DateTime "2023-10-04T12:34:56Z"
5 id インジケーターの ID Integer 123、... 100
6 ip アドレス インジケーターに関連付けられた IP アドレス 文字列 "107.180.48.66"
7 lastModified インジケーターが外部で最後に変更された日時 DateTime "2023-10-04T12:34:56Z"
8 legacyLink ThreatConnect アプリのインジケーターの詳細にアクセスするための以前の URL(ゲート付き) URL "https://app.threatconnect.com/auth/indicators/..."
9 ownerId インジケーターが属するオーナーの ID Integer 123、... 100
10 ownerName インジケーターが属するオーナーの名前 文字列 "Demo Community"
11 privateFlag インジケーターが非公開かどうかを示します ブール値 truefalse
12 rating インジケーターの脅威評価 Big Decimal 1.02.03.04.05.0
13 summary 指標の値 Indicator Type に基づいて "type": "Host","summary": "zayla.co" ; "type": "Address","summary": "107.180.48.66"
14 type 作成されるインジケーターのタイプ 文字列 "Address""Host""Registry Key"使用可能な値のリスト
15 webLink ThreatConnect アプリのインジケーターの詳細にアクセスするための URL(ゲート付き) URL "https://app.threatconnect.com/#/details/indicators/10/overview"

その他のフィールド

データを取得するときに、[フィールド] 入力フィールドを使用して、デフォルト フィールドのリストに含まれていない追加のフィールドを含めることができます。

API レスポンスに 1 つ以上の追加フィールドを含めるには、フィードの設定時に、[フィールド] 入力ボックスにフィールド値を別々の行で入力します。たとえば、関連付けられたグループとタグのデータを API レスポンスに含めるには、1 行目に associatedGroups と入力し、Enter を押してから、2 行目に tags と入力します。

インジケーター属性の詳細については、インジケーターの概要をご覧ください。追加フィールドの詳細については、API レスポンスに追加フィールドを含めるをご覧ください。

一般的な問題のトラブルシューティング

  • Authentication Failed: API ホスト、アクセス ID、シークレット キーを再度確認します。API ユーザーに v3 API の正しい権限が付与されており、ロックされていないことを確認します。Google SecOps が ThreatConnect API ホストにアクセスするのをブロックするネットワーク ファイアウォールがないことを確認します。
  • No Data Ingested(データが取り込まれていない):
    • 設定したフィルタ(信頼度、タグ、タイプなど)が、ThreatConnect インスタンスで使用可能なインジケーターと一致することを確認します。
    • ThreatConnect API ユーザーの権限を確認します。
    • Google SecOps UI で最新のフィード ステータスを確認し、エラー メッセージがないか確認します。
  • API レート制限: ThreatConnect は API レート制限を適用する場合があります。コネクタは標準のレート制限を処理する必要がありますが、過度なフェッチは遅延を引き起こす可能性があります。制限の詳細については、ThreatConnect API ドキュメントをご覧ください。
  • データ解析の問題: ログが取り込まれても正しく解析されない場合は、Google SecOps の未加工ログと、ThreatConnect v3 API からのインジケーターの想定される JSON 出力を比較します。パーサーの問題が疑われる場合は、 Google Cloud サポートにお問い合わせください。

v2 Connector から移行する

v2 API に基づく以前の ThreatConnect フィードを使用していた場合は、次の点を考慮してください。

  • 主な違い: v3 API では、データ構造、フィルタリング パラメータ、新機能が異なる場合があります。ThreatConnect v3 API のドキュメントを確認して、取り込むインジケーターに関連する変更を把握します。
  • v3 フィードを設定する: v3 API 認証情報を使用して、新しいフィード(上記を参照)を設定します。移行期間中は、v2 フィードと v3 フィードを同時に実行できます。
  • データを検証する: v3 フィードで取り込まれたデータを古い v2 フィードのデータと比較して、完全性と正確性を確認します。フィールドの変更や改善点をメモします。
  • 古いフィードを無効にする: v3 フィードが想定どおりに動作していることを確認したら、v2 API を使用する古いフィード構成を無効にするか削除して、データの重複を回避し、API 呼び出しを減らすことができます。

詳細

ThreatConnect v3 REST API の詳細については、ThreatConnect のドキュメントをご覧ください。

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