Splunk App for Behavioral Profilingのご紹介

Tips & Tricks Rupert Truman

Splunkは、多くのユースケースに幅広く対応するプラットフォームです。セキュリティ、オブザーバビリティ、不正行為、ビジネスインテリジェンスをはじめとしたさまざまな領域の業務データを調査できます。一方、Splunkで働いていると、お客様が抱える課題はいずれも、突き詰めれば1つの問題に行き着くことに気づきました。

それは、データの量が爆発的に増える中で、組織のレジリエンスを大きく脅かすような異常な挙動を示すエンティティを見つけ出さねばならないことです。

そこでご紹介したいのが、Splunk App for Behavioral Profilingです。このAppのワークフローを使用すれば、大規模かつ複雑な環境で異常な挙動を検出してスコアリングし、プロファイルと関連付けて、レジリエンスに影響を及ぼすエンティティを見つけ出すことができます。これによって以下のような課題の解決を支援します。

背景

まずは、基本的な用語を押さえておきましょう。

ここまで何度か エンティティ という用語を使いましたが、エンティティとは、基準値と比較して異常な挙動を見つけ出せる"もの"のグループを指しており、何でも当てはまります。たとえば、顧客、部署、従業員、アプリケーション、サーバー、支店などです。

同種の他のエンティティとの比較、エンティティの過去の挙動との比較図

そして 異常な挙動 とは、予想外の挙動のことです。同種の他のエンティティとの比較、エンティティの過去の挙動との比較、あるいはそれらを組み合わせた比較に基づいて、予想される挙動とは異なる挙動を指します。

大規模な環境で異常な挙動を検出して関連するエンティティを突き止めることは、かつてはSplunkでも容易ではありませんでした。その実現には以下の知識や作業が必要でした。

さらに、エンティティが数百万に及ぶような大規模環境で異常を検出するには、サマリーインデックスKVストレージなどの機能を活用する必要もあります(詳しくはJosh Cowlingが投稿した素晴らしいブログ記事をご覧ください)。

そこで役に立つのがSplunk App for Behavioral Profilingです。このAppを使えば、クリック操作だけで上記のすべての作業を行い、SPLを1行書くだけで挙動の指標サーチを実装し、さらに、誤検出を目立たなくして実際にリスクのあるエンティティのみに着目するためのシンプルなスコアリング機能を導入できます。

仕組み

Splunk App for Behavioral Profilingでは、3層のアーキテクチャで、生データソースからエンティティの挙動プロファイルを抽出できます。

Splunk App for Behavioral Profilingの仕組み

  1. 最初に指標サーチを実装します。このサーチは、ユーザーが定義したスケジュールに従ってエンティティの挙動を追跡し、メトリクスを指標インデックスに出力します。
  2. 指標インデックスにユーザー定義のスコアリングルールを適用します。このルールでは、シンプルな条件付きロジックから(「指標の値 > 5000」など)機械学習ベースのアノマリ検出まで、さまざまな基準に基づいて、異常な挙動を示すエンティティを識別できます。その後、動的なスコアをスコアリングインデックスに反映します。
  3. スコアリングインデックスのデータをダッシュボードに入力して、調査対象となるエンティティのリストを表示します。エンティティは、挙動の集計スコアに基づいて優先順位付けされます。

導入

指標サーチは簡単に実装できます。ワークフローでデータセットを指定し、一意のエンティティを示すフィールドを選択してから、追跡する指標メトリクスを構築するための関数をドロップダウンメニューで選択します(詳しい知識があればSPLサーチをゼロから作ることもできます)。サーチが完成したら保存し、ポップアップメニューでスケジュールを設定して、サーチのバックフィルをただちに実行します。

新しい指標ルールの定義と保存

新しい指標ルールの定義と保存

次に、ワークフローに従って、指標インデックスのデータを使用したスコアリングルールを定義します。静的な条件付きロジック、標準偏差のしきい値、Splunk Machine Learning Toolkitによるアノマリ検出のいずれかを使って、エンティティ単位またはグループ全体の異常な挙動を識別するルールを定義できます。

異常の基準を決めたら、スコアリングロジックを定義し、再び保存して、スコアリングルールのスケジュール設定とバックフィルを行います。

指標サーチで見つかった異常の識別とスコアリングを行うためのロジックの定義

指標サーチで見つかった異常の識別とスコアリングを行うためのロジックの定義

調査

スコアリングルールの導入が完了すると、その属性と他の属性がただちに集計されて、Entity Behavioral Scoresダッシュボードに入力されます。このダッシュボードで、エンティティの挙動プロファイルと、異常のスコアに基づいて優先順位付けされたエンティティのリストを確認できます。特定のエンティティをドリルダウンすると、Single Entity Profileダッシュボードが表示され、そこで、エンティティの履歴、挙動スコアの個々の属性、要因となっている元のイベントを調査できます。また、エンティティをレビュー済みとしてマークしたり、許可リストに追加してすべての関連サーチから除外したりすることもできます。

Entity Behavioral ScoresダッシュボードとSingle Entity Profileダッシュボード

メンテナンス

環境内で特にリスクの大きいエンティティを継続して確実に検出するには、ルールの効果を可視化することが重要です。そのため、Splunk App for Behavioral Profilingには、ルールの検出能力低下やパフォーマンスの問題を特定できるダッシュボードが用意されています。

Review Scoring Rulesダッシュボード

Review Scoring Rulesダッシュボード

Entity Behavior Scoresダッシュボードには、実行された各ルールによる検出数と関連するスコアリング属性が表示されます。この情報に基づいて、ルールの調整が必要かどうかを判断することもできます。Review Indicatorsダッシュボードと Review Scoring Rules ダッシュボードには、実装したサーチで返されたイベント数やサーチのパフォーマンスといった運用状況が経時的に表示されます。

今すぐお試しください

環境内でリスクの高い異常な挙動を示すエンティティを検出するなら、Splunk App for Behavior Profilingがお勧めです。Splunk EnterpriseまたはSplunk Cloudをご利用であれば、SplunkbaseからこのAppをダウンロードしてご利用いただけます。不正対策やサービス監視のユースケースを紹介するサポートドキュメントビデオによるデモもご覧いただけます。

ぜひご利用ください!

謝辞:このAppの共同開発者であり多大な援助をしてくれたJosh Cowling、およびApp開発に協力してくださったすべてのお客様とSplunkユーザーに感謝申し上げます。

このブログはこちらの英語ブログの翻訳、大前 研斗によるレビューです。

関連記事

サーチヘッドで作成されたナレッジオブジェクトがSplunkクラスタ環境で配布される仕組み
Tips
7 分程度

サーチヘッドで作成されたナレッジオブジェクトがSplunkクラスタ環境で配布される仕組み

Splunkでは、サーチヘッドへログインしたユーザーが作成したサーチ(セーブドサーチ)、ルックアップテーブル、ダッシュボードなど、ランタイム時に作成・変更される設定を「ナレッジオブジェクト」と呼びます。その仕組みとエラーの確認方法をご紹介します。
Splunk EnterpriseとSplunk Cloudで実現するSAML認証設定
Tips
7 分程度

Splunk EnterpriseとSplunk Cloudで実現するSAML認証設定

SAML認証(シングルサインオン)は、セキュリティ強化とユーザーの利便性向上に不可欠な仕組みですが、概念が抽象的で分かりにくいと感じる方も多いのではないでしょうか。本記事では、Microsoft Entra IDを用いたSplunk Cloudとの連携デモンストレーションを通して、実際の設定フローを解説します。
Splunkに燃料を与える:Universal Forwarderによるリアルタイムでのデータ取込方法とインストール (パート1)
Tips
6 分程度

Splunkに燃料を与える:Universal Forwarderによるリアルタイムでのデータ取込方法とインストール (パート1)

Splunkの使用する際に、「どのようにログ(データ)を取り込むのかわからない」とお悩みの方向け。Splunk Universal Forwarder(ユニバーサル フォワーダー)を使用した様々なデータ取り込み方法・設定と、Universal Forwarderのインストール方法をご紹介します。