RAG、Splunk ES Content Update App (ESCU)、AITKを使ったSplunk検出の開発、強化、分析

Artificial Intelligence Rod Soto , Splunk Threat Research Team

このブログ記事では、ローカルLLM (Llama3:8B)をOllamaで活用した最適化の方法をご紹介します。目標は、RAG (検索拡張生成)を用いてそのプロセスを改善することです。RAGは、応答生成前に外部ソースのデータを取り込んで、言語モデルの出力精度を高める技術です。続いて、その出力をSplunk AITK*の機械学習機能と最新のAIプロンプト機能と組み合わせることで、Splunk検出の結果の精度を向上させます。

サーチ画面

この調査では以下のコンポーネントを使用します。

ESCU Llama3 RAGシステム

概要

このプロジェクトでは、ローカルのLlama3:8Bによる推論を使って、ESCU (Enterprise Security Content Update)のデータ向けに設計されたRAGシステムを実装します。このシステムは、実際の攻撃データとAIによる応答を組み合わせて、サイバーセキュリティ分析を出力します。

コア機能

データソース

RAGシステム

RAGコンポーネント

データインデクサー(ESCUDataIndexer)

入力:生のESCUディレクトリとファイル

コンテキストジェネレーター

入力:ユーザーからのクエリーとインデックスされたESCUデータ

Llama3推論エンジン

上記の要素に基づいて、以下の改善を目指しました。

ESCU固有のデータの理解

堅牢なエラー処理

インテリジェントなコンテキスト生成

ローカルAI統合

パフォーマンスの最適化

Llama 3.8B ESCU RAGメトリクス

データ読み込みのパフォーマンス

クエリーの応答時間

精度の向上

処理が完了すると、新しいモデルファイルが作成されてOllamaに保存され、AITKから、または必要に応じてOllama WebOpenUIから実行できるようになります。

上記の内容をもとに、ESCUやAITKアルゴリズムから得られた検出技法をいくつかテストしてみました。データセットにはSplunk Boss of the SOC (BOTS)を使用しました。実行したクエリーの例とAITKのAI機能の使用例を以下に示します。

異常なSSHログイン(Botsv3)

異常なSSHログイン1

異常なSSHログイン2

AWSブルートフォース(Botsv3)

AWSブルートフォース1

AWSブルートフォース2

Splunk AITK、クラスタリング、類似の攻撃パターンのグループ化(Botsv3)

この例では、CISCO ASAデータ、Splunk AITK、トレーニング済みのLlama3:8b (ESCUによって精度を高めたLLM)を使用しました。次の検出では、KMeansを使用しています。KMeansは、データポイントを類似度に基づいて指定の数のクラスターに分ける教師なし機械学習アルゴリズムです。ここでは、類似の攻撃パターンを特定しています。

KMeansを使用した検出

次の例では、DBSCANを使用しています。DBSCANは、データポイントを密度に基づいてクラスターにまとめる教師なし機械学習アルゴリズムで、密集したポイントをグループ化し、外れ値をノイズとして識別します。ここでは、Windowsログを使用し、コマンドラインの長さに注目しました。 DBSCANを使用した検出1 DBSCANを使用した検出2

まとめ

ローカルLLMはRAGによって強化し、検出の開発や分析に利用することができます。また、モデルが大規模であるほど、精度と性能が向上します。当初、Llama4 (量子化済み)をトレーニングしたところ、特に検出からの推論において、非常に高い効果が得られました。

しかし残念ながら、ハードウェアの制限によってAITKとの接続がタイムアウトするため、Llama3:8Bにダウングレードせざるを得ませんでした。ハードウェアの制限が問題にならない組織環境であれば、大きなローカルLLMを使用することで、検出のパフォーマンスと分析を確実に向上できます。Splunk、AITK、LLM、ESCUを組み合わせて実現できるユースケースやアプリケーションは数多くありそうです。皆様もぜひ、新しいアイデアを考えてみてください。

*バージョン5.6.3で、名称が「Machine Learning Toolkit」から変更となりました。

このブログはこちらの英語ブログの翻訳、森本 寛之によるレビューです。

関連記事

複雑なデータをすっきりと:AIを活用し、あらゆるレベルで不正、無駄、悪用に関する調査を簡素化する
AI
5 分程度

複雑なデータをすっきりと:AIを活用し、あらゆるレベルで不正、無駄、悪用に関する調査を簡素化する

AIとSplunkで不正調査を簡素化する方法をご紹介します。
CIO向けSplunk AI Toolkitガイド:後追い対応のITから予測型ITへ
AI
5 分程度

CIO向けSplunk AI Toolkitガイド:後追い対応のITから予測型ITへ

SplunkのAI Toolkitは、チームがインシデントを予測し、ダウンタイムを削減し、デジタルレジリエンスをエンタープライズ規模で実現できるよう支援します。
データ分類を活用してAIOps戦略を強化
AI
7 分程度

データ分類を活用してAIOps戦略を強化

OpenTelemetry Collectorを活用して、分類属性をどのように追加または強化できるかについて説明します。これらの属性によって、より効率的にAIOpsツールを活用するとともに、既存のデータからさらに大きな価値を引き出しやすくなります。