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ナレッジベース(Knowledge Base)のご紹介
Tips
2 分程度

トラブルシューティングのヒント:Splunkナレッジベース(Knowledge Base)のご紹介

Splunkユーザーの皆様が日々の運用で直面する疑問や課題を、よりスムーズに解消するためのリソース「Splunkナレッジベース(Knowledge Base)」をご紹介します。
Splunkが提供する無料トレーニング:オブザーバビリティ編 (1)
Tips
3 分程度

Splunkが提供する無料トレーニング:オブザーバビリティ編 (1)

Splunkが無料でEラーニングコースを提供していることをご存じでしょうか?コンテンツの日本語化が進み、無料トレーニングの中には日本語で学習できるものもあります。今回は日本語で学習できるオブザーバビリティ関連の無料トレーニングの受講方法を紹介します。
書籍「Splunkエンジニアのための教科書」発刊に寄せて
Tips
3 分程度

書籍「Splunkエンジニアのための教科書」発刊に寄せて

本書では、Splunkの基本的な使い方から、セキュリティイベントの検出、運用管理の効率化、さらにAIを活用した高度な技術に至るまで、幅広いトピックを扱います。本書を通じて、Splunkを利用してシステムの健全性を監視し、障害の早期発見と対応、セキュリティ強化の方法を習得することができます。Splunkをどのように活用するか詳細に解説します。