「SplunkでローカルLLMのセキュリティを監視する方法」のパートIIでは、ローカル大規模言語モデル(LLM)を保護するために注力すべき主な領域と、LLMの脅威対策と防御に関するガイダンスを提供する現在のフレームワークについて説明します。LLMの保護には、ログデータとSplunkを使用します。
LLMの監視と保護に活用できるログソースを見てみましょう。このブログでは、Ollamaをフレームワークとして利用し、リスクへの対処方法、TTP (攻撃者の戦術、手法、手順)、および緩和策の例をご紹介します。なお、これらのモデルが相互に連携する大規模かつ複雑なアーキテクチャには、このブログで取り上げないコンポーネントも含まれることにご注意ください。以下は、AIへの脅威に関する知識を広げるのに役立つリソースです。


上記のガイダンスを活用することで、監視と保護の観点から脅威カテゴリ別にログソースを分類できます。
上記の図に示すように、AIに対する脅威は以下の4つのカテゴリに基づいて対処、評価できます。
上記のカテゴリを踏まえ、次のステップでは、ログやアラートのソースをこれらのカテゴリに分類し、特にローカルでLLMを運用する場合における監視と防御の体系的なアプローチを構築します。具体的には、以下を中心に説明します。
上記のカテゴリで示されるように、ログソースの多くはこの3つの脅威カテゴリで使用できます。これらの3つのカテゴリは、モデルの運用段階に基づき、使用の観点、システムの観点、および開発の観点から分類したものです。
以下は、Ollamaを例に、上記の脅威カテゴリを適用してログを取得し、ローカルLLMを実行するフレームワークを監視して、セキュリティ上のリスクや潜在的な脅威に対処する方法を説明します。
具体的には、以下のログを監視します。
以下は、~/.ollama/logs/server.logにあるOllamaログの例です。

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

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

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











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

これまでのスクリーンショットが示すように、Splunkを活用することで、ローカルLLMを可視化して監視および保護する取り組みを、自信を持って進めることができます。また、このテクノロジーが普及するにつれて、標準的なログ形式が確立され、ログの詳細度がさらに高まっていくでしょう。
これらのログを、他のホストシステムのセキュリティやアプリケーションセキュリティログ、それにCisco AI Defenseなどのエンタープライズセキュリティ製品と組み合わせることで、ローカルにホストされているLLMのセキュリティ監視と保護を補完、強化できます。特に、インターネット上でのやり取りを避けるためにLLMをローカルで運用したい企業にとって有効です。Splunk脅威調査チームは、この製品で利用できるコンテンツを開発しています。詳しくは、research.splunk.comをご覧ください。
