SplunkでローカルLLMのセキュリティを監視する方法(パートII)

Artificial Intelligence Rod Soto

SplunkでローカルLLMのセキュリティを監視する方法」のパートIIでは、ローカル大規模言語モデル(LLM)を保護するために注力すべき主な領域と、LLMの脅威対策と防御に関するガイダンスを提供する現在のフレームワークについて説明します。LLMの保護には、ログデータとSplunkを使用します。

SplunkでLLMを保護

LLMの監視と保護に活用できるログソースを見てみましょう。このブログでは、Ollamaをフレームワークとして利用し、リスクへの対処方法、TTP (攻撃者の戦術、手法、手順)、および緩和策の例をご紹介します。なお、これらのモデルが相互に連携する大規模かつ複雑なアーキテクチャには、このブログで取り上げないコンポーネントも含まれることにご注意ください。以下は、AIへの脅威に関する知識を広げるのに役立つリソースです。

OWASP AIセキュリティテスト

OWASP AIセキュリティテスト

OWASP AIセキュリティ周期表

モデル

上記のガイダンスを活用することで、監視と保護の観点から脅威カテゴリ別にログソースを分類できます。

LLMのセキュリティを監視するためのログソース

上記の図に示すように、AIに対する脅威は以下の4つのカテゴリに基づいて対処、評価できます。

  1. 一般的な統制(AIガバナンスなど)

    • 基準、コンプライアンス、セキュリティ態勢の欠如
  2. 使用中の脅威(回避攻撃など)

    • 悪質な入力、意図しない出力、回避
  3. 開発中の脅威(データ汚染など)

    • データ、トレーニング、フィードバック、サプライチェーンのコンポーネント
  4. 実行時のセキュリティ脅威(安全でない出力など)

    • サービス拒否、モデルの窃盗、インジェクション攻撃

上記のカテゴリを踏まえ、次のステップでは、ログやアラートのソースをこれらのカテゴリに分類し、特にローカルでLLMを運用する場合における監視と防御の体系的なアプローチを構築します。具体的には、以下を中心に説明します。

モデル使用中の脅威

開発中の脅威(またはモデル開発に関連する脅威)

実行時の脅威(モデルをホストするシステム)

上記のカテゴリで示されるように、ログソースの多くはこの3つの脅威カテゴリで使用できます。これらの3つのカテゴリは、モデルの運用段階に基づき、使用の観点、システムの観点、および開発の観点から分類したものです。

SplunkでOllamaを活用

以下は、Ollamaを例に、上記の脅威カテゴリを適用してログを取得し、ローカルLLMを実行するフレームワークを監視して、セキュリティ上のリスクや潜在的な脅威に対処する方法を説明します。

具体的には、以下のログを監視します。

使用中と実行時の監視(この例では、開発中の監視は含まれません)

以下は、~/.ollama/logs/server.logにあるOllamaログの例です。

Ollamaログの例

Ollamaから最大限の情報を得るには、Ollamaでデバッグログを有効にする必要があります(DEBUG=1)。その結果、以下のスクリーンショットのように、プロンプト情報など多くの情報を取得できるようになります。

デバッグログ

その後、tail -f ~/.ollama/server.logを実行すると、以下のスクリーンショットのように、実際のプロンプトを含むプロンプト情報が表示されます。

プロンプト情報

これらのログがSplunkでどのように表示されるか見てみましょう。このデモでは、Ollamaを操作するスクリプトをいくつか作成しました。目的は、システムメッセージ、プロンプト、API呼び出し、モデルパフォーマンスに関する有用な情報を含む解析可能なログを、csvファイルやjsonファイルとして出力し、Splunkに簡単にインポートできるようにすることです。Ollamaログの取り扱いは簡単ではなく、多少の工夫が必要になります。これらのログを管理するために作成したスクリプトは、GitHubでご覧いただけます。

Ollamaのシステムメッセージ

Ollamaのシステムメッセージ1

Ollamaのシステムメッセージ2

Ollamaのプロンプトメトリクス

Ollamaのプロンプトメトリクス1

Ollamaのプロンプトメトリクス2

Ollamaのプロンプト入力

Ollamaのプロンプト入力1

Ollamaのプロンプト入力2

Ollamaの出力メトリクス

Ollamaの出力メトリクス

Ollamaのパフォーマンスメトリクス(モデル別)

Ollamaのパフォーマンスメトリクス1

Ollamaのパフォーマンスメトリクス2

OllamaのAPI呼び出し

OllamaのAPI呼び出し1

OllamaのAPI呼び出し2

このブログに掲載しているスクリーンショットの一部では、Ollamaに加え、可視化のためにWebUIを使用しています。このような場合にDockerコンテナ経由でWebUIログを監視するには、ログを変換してSplunkに取り込むか、直接Splunkに送信してください。

サーチ画面

これまでのスクリーンショットが示すように、Splunkを活用することで、ローカルLLMを可視化して監視および保護する取り組みを、自信を持って進めることができます。また、このテクノロジーが普及するにつれて、標準的なログ形式が確立され、ログの詳細度がさらに高まっていくでしょう。

これらのログを、他のホストシステムのセキュリティやアプリケーションセキュリティログ、それにCisco AI Defenseなどのエンタープライズセキュリティ製品と組み合わせることで、ローカルにホストされているLLMのセキュリティ監視と保護を補完、強化できます。特に、インターネット上でのやり取りを避けるためにLLMをローカルで運用したい企業にとって有効です。Splunk脅威調査チームは、この製品で利用できるコンテンツを開発しています。詳しくは、research.splunk.comをご覧ください。

脅威調査ページ

このブログはこちらの英語ブログの翻訳、山村 悟史によるレビューです。

関連記事

SplunkでローカルLLMのセキュリティを監視する方法(パートI)
AI
12 分程度

SplunkでローカルLLMのセキュリティを監視する方法(パートI)

Splunkを使用して、LlamaやGPT4Allなどのローカル大規模言語モデル(LLM)のセキュリティを監視する方法について説明します。
SplunkサーチでサードパーティのLLMサービスを使ってインサイトをすばやく獲得
AI
3 分程度

SplunkサーチでサードパーティのLLMサービスを使ってインサイトをすばやく獲得

MLTK 5.6を使ってLLMサービスをSplunkと統合する方法と、その統合を活用するためのアイデアをご紹介します。
発見から防御へ:ローカルLLMを検知してシャドーAIに対処
AI
21 分程度

発見から防御へ:ローカルLLMを検知してシャドーAIに対処

ローカルLLMに潜むシャドーAIを見つけ出し、リスク対策を講じましょう。Splunkがどのようにして未承認のAIフレームワークを検知し、データ漏えいを防ぎ、エンタープライズセキュリティを強化しているのかをご紹介します。