Splunkは、多くのユースケースに幅広く対応するプラットフォームです。セキュリティ、オブザーバビリティ、不正行為、ビジネスインテリジェンスをはじめとしたさまざまな領域の業務データを調査できます。一方、Splunkで働いていると、お客様が抱える課題はいずれも、突き詰めれば1つの問題に行き着くことに気づきました。
それは、データの量が爆発的に増える中で、組織のレジリエンスを大きく脅かすような異常な挙動を示すエンティティを見つけ出さねばならないことです。
そこでご紹介したいのが、Splunk App for Behavioral Profilingです。このAppのワークフローを使用すれば、大規模かつ複雑な環境で異常な挙動を検出してスコアリングし、プロファイルと関連付けて、レジリエンスに影響を及ぼすエンティティを見つけ出すことができます。これによって以下のような課題の解決を支援します。
- 不正対策チーム:物理チャネルでもデジタルチャネルでも、巧妙化し続ける攻撃を検出する必要があります。攻撃の手口は常に進化しており、単純な検出ルールは回避されてしまいます。
- IT運用チーム:多様な要素で構成される最新のインフラ、サービス、ソリューションを保守します。どの要素も、プラットフォームのレジリエンスを脅かす問題につながり、サービス全体を停止してしまう可能性があります。
- 内部脅威アナリスト:犯罪活動につながる異常な挙動を探ります。使用するソリューションの柔軟性が低い場合、状況を十分に可視化できず、作業が複雑になり、業務に支障をきたします。
- プラットフォーム管理者:誹謗中傷の投稿や違法なアップロードを行う、悪意のあるユーザーを突き止めます。組織独自のプラットフォームに適したソリューションが見つからず、こうした行為を検出できなければ、組織の収益や顧客からの評価の低下を招きます。
背景
まずは、基本的な用語を押さえておきましょう。
ここまで何度かエンティティという用語を使いましたが、エンティティとは、基準値と比較して異常な挙動を見つけ出せる"もの"のグループを指しており、何でも当てはまります。たとえば、顧客、部署、従業員、アプリケーション、サーバー、支店などです。
そして異常な挙動とは、予想外の挙動のことです。同種の他のエンティティとの比較、エンティティの過去の挙動との比較、あるいはそれらを組み合わせた比較に基づいて、予想される挙動とは異なる挙動を指します。
大規模な環境で異常な挙動を検出して関連するエンティティを突き止めることは、かつてはSplunkでも容易ではありませんでした。その実現には以下の知識や作業が必要でした。
- SplunkのSPL(サーチ処理言語)を使ってサーチを定義する
- サーチを実行するスケジュールを設定する
- 機械学習とML-SPLを使って異常の判断基準を定義、解釈する
さらに、エンティティが数百万に及ぶような大規模環境で異常を検出するには、サマリーインデックスやKVストレージなどの機能を活用する必要もあります(詳しくはJosh Cowlingが投稿した素晴らしいブログ記事をご覧ください)。
そこで役に立つのがSplunk App for Behavioral Profilingです。このAppを使えば、クリック操作だけで上記のすべての作業を行い、SPLを1行書くだけで挙動の指標サーチを実装し、さらに、誤検出を目立たなくして実際にリスクのあるエンティティのみに着目するためのシンプルなスコアリング機能を導入できます。
仕組み
Splunk App for Behavioral Profilingでは、3層のアーキテクチャで、生データソースからエンティティの挙動プロファイルを抽出できます。
- 最初に指標サーチを実装します。このサーチは、ユーザーが定義したスケジュールに従ってエンティティの挙動を追跡し、メトリクスを指標インデックスに出力します。
- 指標インデックスにユーザー定義のスコアリングルールを適用します。このルールでは、シンプルな条件付きロジックから(「指標の値 > 5000」など)機械学習ベースのアノマリ検出まで、さまざまな基準に基づいて、異常な挙動を示すエンティティを識別できます。その後、動的なスコアをスコアリングインデックスに反映します。
- スコアリングインデックスのデータをダッシュボードに入力して、調査対象となるエンティティのリストを表示します。エンティティは、挙動の集計スコアに基づいて優先順位付けされます。
導入
指標サーチは簡単に実装できます。ワークフローでデータセットを指定し、一意のエンティティを示すフィールドを選択してから、追跡する指標メトリクスを構築するための関数をドロップダウンメニューで選択します(詳しい知識があればSPLサーチをゼロから作ることもできます)。サーチが完成したら保存し、ポップアップメニューでスケジュールを設定して、サーチのバックフィルをただちに実行します。
新しい指標ルールの定義と保存
次に、ワークフローに従って、指標インデックスのデータを使用したスコアリングルールを定義します。静的な条件付きロジック、標準偏差のしきい値、Splunk Machine Learning Toolkitによるアノマリ検出のいずれかを使って、エンティティ単位またはグループ全体の異常な挙動を識別するルールを定義できます。
異常の基準を決めたら、スコアリングロジックを定義し、再び保存して、スコアリングルールのスケジュール設定とバックフィルを行います。
指標サーチで見つかった異常の識別とスコアリングを行うためのロジックの定義
調査
スコアリングルールの導入が完了すると、その属性と他の属性がただちに集計されて、Entity Behavioral Scoresダッシュボードに入力されます。このダッシュボードで、エンティティの挙動プロファイルと、異常のスコアに基づいて優先順位付けされたエンティティのリストを確認できます。特定のエンティティをドリルダウンすると、Single Entity Profileダッシュボードが表示され、そこで、エンティティの履歴、挙動スコアの個々の属性、要因となっている元のイベントを調査できます。また、エンティティをレビュー済みとしてマークしたり、許可リストに追加してすべての関連サーチから除外したりすることもできます。
メンテナンス
環境内で特にリスクの大きいエンティティを継続して確実に検出するには、ルールの効果を可視化することが重要です。そのため、Splunk App for Behavioral Profilingには、ルールの検出能力低下やパフォーマンスの問題を特定できるダッシュボードが用意されています。
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ユーザーに感謝申し上げます。
このブログはこちらの英語ブログの翻訳、大前 研斗によるレビューです。