OCTI通知とダイジェスト:ナレッジグラフのための強力な新エンジン
ますます多くの組織にとって、OpenCTIはサイバーインテリジェンス知識の中枢神経系(脅威と運用データの両方)となっています(または、なり始めています)。複数のCTIフィード、XDR / EDR、SIEM、ログ管理システムのデータが、OpenCTIのすべての機能(コネクタや推論ルールマネージャーなどの組み込みエンジンを通じて)によって完全に統合、集約、エンリッチされ、プラットフォームに組み込まれます。

OpenCTI通知
したがって、情報量は非常に膨大になり、人間が追跡することが困難になります。ある時点で、各ユーザーはこの知識の特定の部分にのみ興味を持ち、プラットフォームで特定の種類のデータが作成されたときにできるだけ早く通知を受けたいと考えます:
- 特定のセクターで悪用された新しい脆弱性
- 特定の国における新しい被害者
- 特定の脅威アクターに関する新しいレポート
- サブスクライブしたインシデント対応ケースの更新
- 特定のマルウェアに対する新しいシグネチャ群
- 特定の組織に対する新しい目撃情報またはログエントリ
コミュニティから長く待ち望まれていたこのニーズに基づいて、私たちは既存の「サブスクリプションシステム」を完全に書き直し、ストリーミングシステムに依存することで、OpenCTI通知とダイジェストにより多くの柔軟性と機能を提供することを決定しました。
セマンティクスについて
私たちが設計したものを明確にするために、この新しい通知システムに導入された概念のセマンティック定義から始めましょう:
- ライブトリガー(トリガー):1つまたは複数の通知を生成するライブフィルターセット。
- 定期ダイジェスト(ダイジェスト):期間(過去#時間)におけるライブトリガーのセットで、1つまたは複数の通知を生成します。
- 通知:トリガー/ダイジェストの結果で、ユーザーインターフェースエントリ/ベル、メールなどの結果を生成します。Webhookやその他の結果用コネクタは間もなく利用可能になります。
仕組み
プラットフォームのすべてのユーザーは、プラットフォーム内の知識のサブセットをリッスンするために、独自のライブトリガーまたは定期ダイジェストを定義できるようになりました。これは、コネクタやユーザーによって直接作成されたデータだけでなく、推論/自動生成された情報にも関係します:すべてが完全にアクセス可能です。

旅は「ベル」から始まります
これを説明するために、さまざまなユースケースを説明しましょう。
アナリストとして、「ヨーロッパ」地域を含むすべてのレポートについて通知を受けたいと思います。しかし一般的に、コネクタや他のアナリストはレポートに関係する国のみを追加し、地域自体は追加しません。また、ユーザーインターフェースとメールの両方で通知を受け取りたいと思います。
このユースケースを解決するには、次のようにトリガーを定義するだけです:

ヨーロッパに関する新しいレポートをトリガーでキャプチャ
この構成により、ヨーロッパに(直接的または推論を通じて)リンクされるプラットフォーム内のすべてのレポートが、ユーザーインターフェースとメールの両方で通知を生成します。

ユーザーインターフェース通知

メール通知
もちろん、更新や削除もリッスンするように構成を調整したり、適切な通知システムを選択したりすることができます。ご覧のとおり、ライブトリガーを構成し、最も重要なデータの通知を受け始めるのは非常に簡単です。
それでは、次のユースケースに進みましょう。
アナリストとして、「ヨーロッパ」地域を含むすべてのレポートの毎日のダイジェストを受け取りたいと思います。しかし一般的に、コネクタや他のアナリストはレポートに関係する国のみを追加し、地域自体は追加しません。また、このダイジェストをメールのみで午前9時に受け取りたいと思います。
このアナリストは、作成したばかりのトリガーの毎日のダイジェストも受け取りたいと考えています。これは、次のような定期ダイジェスト構成を定義することで実現できます:

ヨーロッパに関するレポートの毎日のダイジェスト
ご覧のとおり、ダイジェストは「単なる」ライブトリガーの組み合わせです。その後、ユーザーは希望するユースケースに合わせて期間とトリガーのリストを自由に定義できます。この状況では、ユーザーは次のメールを受け取ります:

ダイジェストレポート/ヨーロッパのメール
これらのユースケースに関する情報を補足します:
- 定期ダイジェストでのみ使用され、ライブ通知を受け取らないように、結果なしでライブトリガーを定義することができます。
- ユーザーはユーザーインターフェース通知として表示されるように定期ダイジェストを構成することもできます。
UIに直接表示される定期ダイジェストの例を以下に示します:

ダイジェストレポート/ヨーロッパのユーザーインターフェース
もちろん、すべての行はクリック可能で、ユーザーが関連するエンティティ/目撃情報/関係にすばやくアクセスできるようになっています。

トリガーとダイジェストのリスト
これらの例が、通知機能の設計方法と、フィルターを組み合わせて強力なライブ通知を作成し、それらを再利用して定期ダイジェストをスケジュールする方法を理解するのに役立てば幸いです。
技術的な設計について
この通知システムの技術的な側面について少し説明しましょう。これは、「notification manager」と「publisher manager」という2つの新しいマネージャーを中心に設計されています。
各マネージャーは、システムの特定の部分を担当します。
notification manager
このマネージャーは、内部プラットフォームデータストリームをリッスンし、ユーザーが定義したすべてのトリガーをリアルタイムで適用する責任があります。「マッチ」が発生すると、新しい通知が別の内部プラットフォームストリーム(つまり、通知ストリーム)にプッシュされます。このメカニズムを使用して、通知の生成と通知の配信の責任を分離します。
この処理に関するいくつかの重要な詳細
- ライブトリガーの場合、ストリームがフィルタリングされ、メッセージが生成されて通知ストリームにプッシュされます
- 定期ダイジェストの場合、マネージャーは定期的に通知ストリームを消費して、興味深いイベントをダイジェスト通知に結合し、それも通知ストリームにプッシュされます。
publisher manager
このマネージャーは、複数の結果を通じた通知の配信を担当します。現在、OpenCTIはユーザーインターフェースとメール結果を標準でサポートしています(テンプレートはハードコードされています)。しかし、間もなく組み込みのwebhookと、統合を拡張するために通知ストリーム(ライブとダイジェストの両方)を消費できる新しいコネクタをリリースする予定です。また、テンプレート機能は構成可能になります。
これら2つのマネージャーはデフォルトで起動されますが、静的パラメータを通じて管理することもできます。SMTP設定が正しく構成されていない場合でも、プラットフォームは正常に起動しますが、OpenCTIがメールを送信しようとするたびに、新しいエラーログエントリが生成されます。
まとめ
この記事を読んだ後、新しい通知システムの動作と基本的なメカニズムが明確になったことを願っています。上記のように、これはプラットフォームの通知に関する全体的な作業の最初のステップに過ぎず、複数の機能強化がすでにスケジュールされています:
- Webhookと特定のコネクタを結果として導入する。
- メールとwebhookのテンプレートをカスタマイズできるようにする(テンプレートはすでにカスタマイズされたテーマを考慮しています)。
- インシデント、ケースなどの特定のエンティティでの活動の更新を受けるために、ライブトリガーをすばやく作成できる「サブスクライブ」ボタンをすべての場所に配置する。
いつものように、この機能を改善するためのフィードバックやアイデアに非常に興味があります。GitHubリポジトリで機能リクエストを作成したり、コミュニティSlackチャンネルに参加したりすることを躊躇しないでください!
続きを読む
関連トピックとインサイトをご覧ください

