式ビルダーの例
このドキュメントでは、Google Security Operations プラットフォーム全体で、ハンドブック アクション内に動的式を構築して実装する方法について詳しく説明するユースケースを紹介します。このコースでは、式ビルダーを使用して、リストデータ、エンティティの詳細、スキャン レポートなどの前のアクションの結果から特定のデータを解析、フィルタ、抽出して、後続のプレイブック ステップで複雑な自動化ロジックを駆動する方法について説明します。
始める前に
始める前に、次の提案に従ってください。
- Qualys - List Scans を使用して、Qualys から最新のスキャンをすべて取得します(30 日間はハードコードされています)。
- 式ビルダーを使用して、最新のスキャンの ID(REF)をプレースホルダとして抽出し、VM スキャン結果をダウンロードします。VM スキャン結果で、関連するレポートをダウンロードします。
- リスト オペレーションを使用して、ネットワークの共通脆弱性識別子(CVE)で見つかった脆弱性の識別子のリストをレポートから抽出し、ケースの CVE と比較します。
- IPS アラートを使用してハンドブックをトリガーします。
ユースケース: 侵入防止システム IPS
このユースケースでは、ネットワークで悪意のあるフローを検出したプレイブックを構築することを想定しています。
Qualys などの脆弱性の管理ツールで、毎日のスキャンがスケジュールされているとします。
プレースホルダを作成する
プレースホルダを作成する方法は次のとおりです。
Active Directory_Enrich Entitiesアクションから始めて、影響を受ける可能性のあるすべてのエンティティを拡充します。- Qualys VM – List Scans を使用して、ネットワーク マシンの最新のスキャン結果を取得します。
- 検出されたフローに対して脆弱な結果があるかどうかを判断します。
QualysVM_Download VM Scan Results_1をご覧ください。プレースホルダと追加された式ビルダーが表示されます。
プレースホルダを追加する
プレースホルダを追加する手順は次のとおりです。
- [ ] プレースホルダ] をクリックします。[プレースホルダを挿入] ダイアログが表示されます。
- [Playbook] > [QualysVM_list_Scans_1_JSONResult] を選択します。
- [Expression Builder] アイコンをクリックします。Expression Builder ページが表示されます。
-
[式] フィールドに、次の式を追加します。この式では、MAX を使用して日付
LAUNCH_DATETIMEで最新の結果を取得し、REF がスキャン ID である関連スキャンの特定のスキャン ID を抽出します。
例:| max(LAUNCH_DATETIME) | REF - [実行] をクリックします。期待される結果が表示されます。
- [挿入] をクリックして、プレースホルダの一部として式ビルダーを含めます。
- ケースの CVE を使用して [アクション> リスト操作] をクリックすると、式ビルダーが表示されます。
-
ハンドブックがリアルタイムでトリガーされると、サイドドロワーにスキャン結果が表示されます。これには、特定の PDF ファイルのスキャン結果も含まれます。
ユースケース: ログイン試行回数が上限に達した
このユースケースでは、エンティティ データを拡充してアラートの重大度を判断することで、ログイン試行の失敗に対処します。ユーザーの部署とパスワードの最終変更日をすばやく見つけることが目的です。
- まず、
ActiveDirectory_Enrichエンティティ アクションを使用して、アラートに関連付けられているすべての内部エンティティに関する詳細情報を収集します。 - 後続の分析情報メッセージで、式ビルダーを使用して対象ユーザーとその最終ログイン時刻を抽出します。
プレースホルダを追加する
これらのプレースホルダを追加するには:
- [メッセージ] フィールドで、[[ ] プレースホルダ] をクリックします。
-
[Insert Placeholder] ページで、
ActiveDirectory_Enrich entities_JSONResultの横にある Expression Builder アイコンをクリックします。 -
式フィールドに以下を追加します。これにより、エンティティ識別子が選択されます。複数のエンティティが結果を返した場合は、カンマ区切りのリストとして取得します。
| エンティティ
-
[実行] をクリックすると、サンプルの結果が表示されます。この場合は
user@domain.comです。 - [挿入] をクリックして、これをプレースホルダ メッセージの一部として使用します。メッセージに関連するフリーテキストを追加します。
-
[[ ] プレースホルダ] をクリックし、
ActiveDirectory_Enrich entities_JSONResultの横にある式ビルダー アイコンをクリックします。 - 次の式を追加します。これは、指定されたユーザーの最終ログイン時刻を取得します。| EntityResult.lastLogon
- [挿入]、[保存] の順にクリックします。
-
ハンドブックがリアルタイムでトリガーされると、[Insight] ペインにメッセージが表示され、ユーザー名と最終ログイン時間が表示されます。
ユースケース: VirusTotal ハッシュ分析
このユースケースでは、Kaspersky などの特定のスキャン エンジンからファイルハッシュのレピュテーションを抽出して、ファイルが悪意のあるものかどうかを判断し、対応するエンティティを作成する方法について説明します。
- VirusTotal_Scan Hash アクションを使用して、ファイル レポートを取得します。
後続のアクション Siemplify_Create または Update Entity Properties は、スキャン結果に基づいて Detected by Kaspersky などのエンティティ プロパティを作成または変更します。
このプレースホルダを追加するには:
- [Field Value] フィールドで、[[] Placeholder] をクリックします。
-
[Insert Placeholder] ページで、
VirusTotal_ScanHash_JSONResultの横にある [Expression Builder] アイコンをクリックします。
-
次の式を追加します。
| filter(EntityResult.scans.Kaspersky.detected, "=", "true") | Entity複数のハッシュをスキャンした場合は、Kaspersky が悪意のあるものとしてマークしたすべてのエンティティ オブジェクトで結果をフィルタし、エンティティ名のみを返します。
- [挿入] > [保存] をクリックします。結果は実行時に表示されます。
さらにサポートが必要な場合 コミュニティ メンバーや Google SecOps のプロフェッショナルから回答を得ることができます。