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

Artificial Intelligence Rod Soto

近年、大規模言語モデル(LLM)の利用が急速に広まり人気を博していますが、多くの組織では、この技術をどのように活用すべきか、まだ模索している段階にあります。このブログでは、ローカルLLMの監視に使用できるさまざまなログソースを取り上げます。ローカルLLMは、クラウドベースの主要プロバイダーに機密情報を送信するリスクを回避しつつ、生成AIを活用するための代替手段です。クラウドベースのサービスでは、顧客データがモデルのトレーニングに利用される可能性があるためです。LLMをローカルにデプロイできる最も人気の高いフレームワークの1つはOllamaです。このオープンソースのフレームワークは軽量で、Meta社のLlamaなどのLLMをローカルで実行したり、ChatGPTなどオンラインのLLMに対してAPIコールを実行したりできます。

LLMとは?

LLMは、人間の使用する言語を処理、理解、生成するように設計されたコンピュータープログラムです。膨大なテキストデータでトレーニングされており、言語のパターンや関係性、ニュアンスを学習しています。こうしたトレーニングにより、LLMには以下が可能です。

A.「理解する」:文章や会話などの自然言語入力を理解できます。

B.「生成する」:与えられたプロンプトやコンテキストに基づいて、人間のように文章を生成できます。

LLMは、以下のようなさまざまなタスクでよく使用されています。

  1. テキストの要約:長い文章を簡潔かつ有用な要約としてまとめます。
  2. 言語の翻訳:テキストを別の言語に翻訳できます。
  3. テキスト補完:コンテキストに基づいて、文中の次の単語を予測します。
  4. 対話システム:会話に参加し、ユーザー入力に応答します。

基盤モデルとフロンティアモデル

どちらも、様々なタスクに合わせてファインチューニング(微調整)可能な、汎用的な言語モデルを指しますが、そのニュアンスには若干の違いがあります。

基盤モデル

基盤モデルは、事前学習済みの大規模なLLMの一種で、他の多くのモデルの基礎的構成要素となるものです。多くの場合、言語に関する幅広い知識を獲得できるように設計されており、さまざまな領域(自然言語理解、テキスト分類、感情分析など)における専用モデルの基盤として使用できます。さまざまな下流アプリケーション向けに強力な基盤を提供できることから、基盤モデルと呼ばれています。

基盤モデルの一例として、BERT (Bidirectional Encoder Representations from Transformers)が挙げられます。BERTは、2018年にGoogleによって開発されました。これはトランスフォーマーアーキテクチャーに基づく事前学習済みの言語モデルで、当初は言語の翻訳やテキストの分類など、自然言語処理(NLP)タスク向けに設計されていました。

フロンティアモデル

フロンティアLLMは、「フロンティア」モデルまたは「最先端」モデルとも呼ばれ、一部の研究者や熱心なAIユーザーの間でよく使われている用語です。フロンティアLLMは、NLPの可能性を押し広げる最先端のLLMを意味します。このモデルは、スケールの大きさ(数十億のパラメーター)、高度なアーキテクチャー(transformer-XLやLongformerなど)、および幅広いタスクにおけるパフォーマンスの高さが特徴となっています。

ChatGPTは、文章の生成、翻訳、および複雑な言語タスクをこなせる高度な機能を備えた最先端の大規模言語モデルとして、人工知能の分野における「フロンティアモデル」と見なされています。とりわけ、人間のように文章を生成したり、インタラクティブに会話したりする能力を備えていることから、ChatGPTは現在のAIテクノロジー開発の最前線に位置しています。このような評価を得るに至ったのは、OpenAIによって開発された基盤モデルであるGPT-4によるところが大きいと言えるでしょう。

どちらの用語も多様な汎用LLMを意味しますが、両者には微妙な違いがあります。

マルチモーダルLLM

マルチモーダルLLM

マルチモーダルLLMは、テキスト、画像、動画、音声、およびその他の感覚入力を含む、複数の形式のデータを処理して理解できる人工知能モデルの一種です。テキストベースの入力のみを処理する従来のLLMと異なり、マルチモーダルLLMは複数の入力様式を統合することで、現実世界をより包括的に捉えたアウトプットを生成します。

マルチモーダルLLMの応用例には、以下のようなものがあります。

  1. 画像・テキスト検索:テキストの説明に基づいて画像を検索したり、その逆を行ったりします。
  2. 質問に回答する:視覚、聴覚、テキストのコンテキストを統合して、質問に回答します。
  3. 視覚的にストーリーを伝える:画像、動画、音声が組み込まれたストーリーを生成します。
  4. 感情を認識する:話者の表情、話し方、ボディランゲージの組み合わせから、感情を認識します。

現時点でよく使われているマルチモーダルLLMには、GPT4-Vision、Flamingo、Dall-E、CLIPなどがあります。

AIがテレビ、電話、時計、コンピューター、メガネ、車などで日常的に使われるなど、AIの定着化が進む中、これらのモデルは非常に人気があり、広く普及しています。近いうちに、ホームアシスタントからロボットやドローンに至るさまざまなデバイスでAIが実用化される事例を目にすることになるでしょう。そのため、AIの潜在的なリスクや脅威に目を向けることが重要になっています。

企業におけるLLMのリスク

LLMの利用には多くのリスクが伴うため、導入企業はそれらを考慮し、適切に管理する必要があります。

データセキュリティに関するリスク

オンラインLLMの利用にあたっては、データ漏えいによって機密情報が流出する可能性を理解しておくことが重要です。実際、ある企業で社内情報を含むデータの漏えいが発覚したことが、最近になって報じられました。このような事態は、機密情報への不正アクセスや、企業秘密の意図しない開示につながりかねません。これらの企業(LLMプロバイダー)がクラウドインフラ上で運営されていることは明らかであり、そのためデータは外部の公にさらされた(おそらくマルチテナントの)クラウド環境に保存されます。

正確性の問題とビジネスへの影響に関するリスク

LLMではハルシネーション(幻覚)が起こることが知られています。これは、一見するともっともらしい内容ながら、実際には不正確で事実と異なる情報をAIが生成する現象です。そのため、ビジネスインサイトに誤りが含まれたり、LLMの応答に一貫性が欠けていたり、誤解を招く分析結果が生成されたりする可能性があります。LLMから生成された情報をチェックしなければ、事実に反する不完全な情報を当てにしてしまうリスクがある上に、アウトプットの透明性も確保できません(AIのユーザーがアルゴリズムの透明性を確保することはできません)。その結果、意思決定の偏りやブランドイメージの低下を招くことになりかねません。

運用上のリスク

LLMが多くの個人や組織によって広く使用されるようになる中、サービス品質が低下したり、運用コストが見通せなくなったり、オンラインLLMプラットフォームに入力されたデータやその管理権が奪われたりするような事態に注目が集まるようになってきました。

技術的な脆弱性

クラウド環境で実行されている他のアプリケーションと同じく、LLMはサプライチェーン、Webアプリケーション、およびインフラの脆弱性に影響されます。また、このブログの後半で説明するように、LLMに特有の脅威も存在します。画像作成で人気のあるLLMツールに関連した悪質な拡張機能が原因で、フォーチュン500企業の1社がセキュリティ侵害を受けた最近の攻撃はその一例です。

コンプライアンスの問題

この種のリスクが存在することは言うまでもありません。機密情報の保存や漏えいは、データ保護法やコンプライアンス基準に対する違反、著作権の侵害、不正使用による法的制裁といったリスクをもたらします。

利用可能なローカルLLM

これまで説明したように、オンラインLLMの利用にはある程度のリスクが避けられないため、ローカルでホストされたフレームワークを使用してLLMを導入しようとしている組織や個人も少なくありません。この方法なら、オンラインプラットフォームとやり取りせずにモデルを実行できるため、オンラインLLMに関連したいくつかのリスクを排除できます。

LLMをローカルにデプロイする方法はいくつかありますが、LLM機能をローカルで提供できるオープンソースフレームワークとして人気が高いのは、GPT4AllとOllamaの2つです。これらのフレームワークを使用すれば、人気の高いLLMモデルをノートPC、デスクトップPC、サーバーにデプロイして、ローカルで実行できます。このブログでは、非常に人気の高いLlamaとDeepSeekという2つのLLMモデルを取り上げます。

GPT4All

https://www.nomic.ai/gpt4all

Windows、macOS、Linux用のネイティブチャットアプリケーションと、ドキュメントを操作できるLocalDocsプラグインが用意されています。また、モデルのトレーニングが可能で、REST APIエンドポイントも備えています。

LM Studio

https://lmstudio.ai/

Vicuna、Alpaca、Llama、Falcon、StarCoder、GPT-2など、幅広いモデルに対応しています。また、補完用およびチャット用の堅牢なエンドポイントを備え、CUDA、OpenCL、cuBLAS、Metalを利用した高速化により、優れたパフォーマンスを実現します。

幅広いモデル互換性と高いパフォーマンスで知られているため、柔軟性とスピードを求めるユーザーに最適です。

Llama.cpp

https://github.com/ggml-org/llama.cpp

LLMの効率的な推論をローカルハードウェア上で実現することを目指したオープンソースプロジェクトです。macOS、Windows、Linuxで動作し、軽量な動作とコミュニティサポートで人気があります。

Ollama

https://ollama.com

LLMをデプロイするための隔離環境を構築し、デスクトップ環境で使用できます。この環境は、専用のGPUを使用することで快適に動作します。また、複数のモデルバージョンに対応しており、完全にオフラインで動作します。NLPタスクではLlama 3.2以降を、コード生成ではMistralをサポートし、モデル作成機能も備えています。

なお、Llama 3以降のモデルは、実際のフロンティアモデル(ChatGPTやClaudeなど)に最も近いオープンソースモデルと見なされています。このブログでは、LLMをローカルに導入する目的で最もよく使用されているフレームワークの1つであるOllamaを主に取り上げます。

サイバーセキュリティにおけるシンプルなLLMのユースケース

サイバーセキュリティにおけるシンプルなLLMのユースケース

レポートとインシデントの要約

上のスクリーンショットにあるように、PDF (ここではmandiant-apt1-report.pdf)をLlama 3.1に読み込ませて、要約を依頼することができます。この機能を使用すると、インシデントレポートを要約して共有する作業や、データから実際のレポートを作成する作業を効果的に実行できます。実際、すでに多くの企業が、インシデントレポートの作成、チケットの発行、顧客情報の更新などで利用しています。

重大度の評価とアラートの調査

セキュリティにおけるLLMのもう1つの用途は、セキュリティイベントを評価して脅威レベルを判断し、評価を割り当て、インシデント対応アクティビティの優先順位を設定することです。すでに多くの組織がこの機能を使用して、フィッシングや悪質なコードといった脅威を検出しています。

上記の2つのユースケースは、これらの新しいテクノロジーにおける研究や利用が進んでいる一部の事例にすぎません。生成AIを用いた脆弱性悪用への対策防御など、他にも多くの取り組みが進行中です。

LLMとの対話

LLMとの対話

LLMを利用する最も簡単な方法は、自然言語を入力することです。入力は、GUI、キーボード、電話、カメラなどから実行できます。LLMへの入力を構造化したものを「プロンプト」と呼びます。通常、プロンプトは以下の要素で構成されます。

プロンプトはさまざまな方法で構成できますが、よく知られているプロンプトのタイプには以下のようなものがあります。

ゼロショット:詳しい説明、指示、例を提供せずに質問をします。

フューショット:モデルをガイドするためにいくつかの例を示します。

思考の連鎖(CoT):このタイプのプロンプトは、最終的な答えを提供する前に推論を複数のステップに分けて実行するよう、言語モデルをガイドします。

入力:リンゴが7個あるとします。友達に2個あげると、何個のリンゴが残りますか?

回答:ステップごとに解いてみましょう

  1. リンゴが7個あります
  2. 2個のリンゴを人にあげます
  3. したがって、7 - 2 = 5個のリンゴが残ります

回答:答えは5個のリンゴです

入力:リンゴが12個あるとします。友達に4個あげると、何個のリンゴが残りますか?

プロンプトには他にも多くのタイプがありますが、一般的にはこの2つの手法が最もよく使用されています。

ここで重要なのは、モデルとやり取りするための主な手段であるプロンプトは、当然ながら主要な攻撃手段にもなり得るということです。プロンプトインターフェイスは入力フィールドであるため、悪質なコードの挿入に使われる可能性があるだけでなく、攻撃者にモデルの悪用を許しかねないプロンプトが使用される可能性もあります。

LLMに影響を与える脅威

LLMの基本について確認したところで、次はLLMの脅威に関連した項目を見てみましょう。このような脅威を理解する最善の方法は、LLMを取り巻くリスクと脅威の現状をまとめる取り組みを通じて学ぶことです。特に注目度の高い取り組みとしては、LLMのOWASPトップ10や、MITRE ATLASなどが挙げられます。

セキュリティフレームワークと攻撃シナリオ

多くの企業がオンラインおよびローカルでLLMを使用している今、LLMのセキュリティに焦点を当てた取り組みがいくつか進められています。中でも注目されているのが、OWASPとMITRE ATLASです。LLMのOWASPトップ10については、Splunk SURGeで以前に取り上げたこともありました。

OWASP

https://genai.owasp.org/resource/owasp-top-10-for-llm-applications-2025/

OWASPはコミュニティ主導の取り組みで、AIアプリケーションに固有のセキュリティの問題に対処し、その重要性を知らしめることを目的としています。LLMが抱えるセキュリティ問題のトップ10は、LLMに影響を与える具体的な脅威について説明したものです。

LLM01:2025 プロンプトインジェクション(Prompt Injection)

プロンプトによって、LLMの動作または出力が意図しない方法で変更されます。

LLM02:2025 機密情報の漏洩(Sensitive Information Disclosure)

応答の出力時に、機密情報の除去または流出防止に失敗します。

LLM03:2025 サプライチェーンの脆弱性(Supply Chain)

サプライチェーンの完全性に欠陥があるために、出力の偏り、セキュリティ侵害、システム障害が発生します。

LLM04:2025 データおよびモデルの汚染(Data & Model Poisoning)

事前学習データ、ファインチューニングデータ、または埋め込みデータが操作されることで、脆弱性やバックドアが仕込まれたり、偏りが発生したりします。

LLM05:2025 不適切な出力処理(Improper Output Handling)

他のコンポーネントやシステムとやり取りする前に行われる出力の検証、機密情報の除去、その他の処理が不十分です。(XSS、CSRF、SSRF)

LLM06:2025 過剰な能力付与(Excessive Agency)

支援や情報を提供するために設計されたLLMが、想定レベル以上の権限や制御を取得した場合に発生する脆弱性です。これにはさまざまな形態がありますが、最終的には、モデルが予期しない動作や不可解な動作、さらには悪質な動作を実行する結果となります。

LLM07:2025 システムプロンプトの漏洩(System Prompt Leakage)

モデルの挙動を制御するために使用されているシステムプロンプトやインストラクションに、外部に知られてはならない機密情報が含まれてしまうことがあります。

LLM08:2025 ベクトルおよび埋め込みの脆弱性(Vector and Embedding Weaknesses)

この脆弱性は、検索拡張生成(RAG)の使用に関連したものです。悪質な改変を施したベクトルやエンベディングが生成、保存、取得されることによって、有害なコンテンツの挿入、モデル出力の操作、機密情報へのアクセスが行われる可能性があります。

LLM09:2025 誤情報(Misinformation)

信頼できるように見せかけた虚偽の情報や誤解を招く情報をLLMが生成します。

LLM10:2025 無制限のリソース消費(Unbounded Consumption)

過剰で無制限の推論が実行されることで、リソースの枯渇、サービスの中断、知的財産の盗難が発生するリスクがあります。

MITRE Adversarial Landscape for AI Systems (ATLAS)

AIレッドチームとセキュリティグループによる実際の攻撃の観測や現実を想定した攻撃演習に基づいて、攻撃者の戦術と手法に関する知識をまとめたフレームワークです。

https://atlas.mitre.org/

MITRE Adversarial Landscape for AI Systems

2025年1月時点で、このフレームワークには14種類の戦術、91種類の手法、26種類の緩和戦略が含まれています。このフレームワークに含まれる主要な敵対的手法には、以下のようなものがあります。

アクセスと制御の手法

モデル操作の手法

情報収集の手法

このフレームワークには、AIシステムへの攻撃に対する防御戦略も含まれています。このブログで特に取り上げているのは、検出と監視に関連した以下の領域です。

「SplunkでローカルLLMのセキュリティを監視する方法」のパートIIでは、ローカルLLMを狙った脅威に対抗するためにSplunkでログデータを確認する方法を見ていきます。また、これらの脅威を以下の3つのカテゴリに分けて説明します。

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

関連記事

Foundation-Sec-8BとSplunk DSDLによるゼロショットセキュリティ分類
AI
7 分程度

Foundation-Sec-8BとSplunk DSDLによるゼロショットセキュリティ分類

本ブログでは、Splunkサーチからファインチューニングは不要でセキュリティデータを分類できる、Foundation-Sec-8Bモデルを搭載した新しいDSDLコンテナを紹介します。
オブザーバビリティメトリクスの分析に生成AIを活用
AI
12 分程度

オブザーバビリティメトリクスの分析に生成AIを活用

大規模言語モデル(LLM)を使用してSignalFlowプログラムを生成する際の課題と方法について探ります。
発見から防御へ:ローカルLLMを検知してシャドーAIに対処
AI
21 分程度

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

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