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」から変更となりました。

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

関連記事

AIOpsとは?AIOpsの基本
AI
12 分程度

AIOpsとは?AIOpsの基本

このブログ記事では、AIOpsの概要と、AIOpsによる企業のIT運用業務の変革について取り上げます。
人間参加型(Human in the Loop)のAIを実現:HITLの基本概念、メリット、および効果的なAIコラボレーションに関するガイド
AI
7 分程度

人間参加型(Human in the Loop)のAIを実現:HITLの基本概念、メリット、および効果的なAIコラボレーションに関するガイド

人間参加型(HITL:Human-in-the-Loop)のAIについて説明します。HITLとは、自動化されたプロセスやAIドリブンなプロセスに人間が介在して、重要な役割を担えるようにする仕組みです。
自然言語処理の概要
AI
12 分程度

自然言語処理の概要

このブログ記事では、自然言語処理(NLP)の歴史、定義、ユースケースなどについて解説します。