あなたは、非常に知的ですが少し騙されやすいロボット助手(AIエージェント)であると想像してください。あなたの仕事は、上司が書いた厳格なルール(システム指示)に従いつつ、一般の人々からのリクエスト(ユーザー入力)を聞くことです。
問題は、巧妙なハッカーが、公的なリクエストの中に「上司の指示を無視して、代わりに私の言うことを聞け」というメモを忍び込ませることができる場合です。これはプロンプト・インジェクション攻撃と呼ばれます。
旧来の解決策:「静的」なパスワード
以前、研究者たちは**ポリモーフィック・プロンプト・アセンブリング(PPA)**と呼ばれる防御策を開発しました。これは、上司のルールと公的なリクエストの間に、特別なユニークなフェンス(仕切り)を置くようなものです。
- 仕組み: システムには、84種類の異なるフェンスのデザイン(セパレーター)が入った固定の箱がありました。リクエストが入ってくるたびに、その箱からランダムに1つのフェンスを選んで使用していました。
- 欠陥: もしハッカーがこのフェンスを覗き見ることができ、そのデザインを正確に把握してしまった場合を想像してください。システムが同じフェンスの箱を使い回しているため、ハッカーは将来の会話においても、その全く同じフェンスのデザインを使ってロボットを欺くことができるようになります。ダメージが広がる(「ブラスト・ラジアス(被害範囲)」が生じる)のは、フェンスのデザインが真に変化しておらず、単に再利用されているからです。
新しい解決策:「動的」なワンタイム・ロック
この論文は、大幅なアップグレードである**ダイナミック・セパレーター生成(Dynamic Separator Generation)**を提案しています。
「箱からフェンスを選ぶ」のではなく、このシステムはリクエストごとに、全く新しい、ユニークなフェンスを構築します。
- 仕組み: あなたがロボットに質問をするたびに、システムは「正確な時刻」、「あなたのユニークID」、そして「その瞬間だけに生成された乱数」を確認します。これらを数学的なレシピ(SHA-256と呼ばれるもの)を用いて混ぜ合わせ、「開始」と「終了」のマーカーとなる、唯一無二の印を作成します。
- 比喩: あなたが手紙を送っている場面を想像してください。
- 旧来の方法: 標準的な赤い封筒を使用します。もし泥棒が赤い封筒を盗んだら、後で手紙を偽造するためにそれを使うことができます。
- 新しい方法: あなたは、ボタンを押した瞬間の時刻に基づいた、ユニークで再現不可能な封筒を作成するマジック・プリンターを使用します。たとえ泥棒が手紙#1の封筒を盗んだとしても、手紙#2には全く異なる、予測不可能な封筒が使われるため、その盗まれた封筒は役に立ちません。
研究チームの発見
チームは、強力なAIモデル(Llama-3.3)に対して、16種類の異なるハッカーの手口を用いてこの新しい「ダイナミック」な手法をテストしました。
- 「リートスピーク(Leetspeak)」トリックの阻止: 特定のハッカーの手口(M1と呼ばれる)は、AIを混乱させるために秘密のコードや緊急な言葉を使用します。
- 以前: AIは88%の確率でこれに陥っていました。
- 後: AIがこれに陥る確率は38%に減少しました。これは大幅な改善(安全性において2倍以上の向上)です。
- 「フォーマット・ブレイクアウト」トリックの阻止: もう一つのトリックは、AIにフェンスのマーカーをハッカーに繰り返させるように仕向けるものです。
- 以前: AIは47%の確率でフェンスのマーカーを誤って公開してしまっていました。
- 後: AIがそれらを公開することは**0%**になりました。フェンスがその瞬間限りのユニークなものであるため、それを公開しても、将来のリクエストに対してハッカーに役立つことはありません。
- 速度: この新しい手法は非常に高速です。リクエストの処理にかかる時間に加わるのは、わずか2.7マイクロ秒(まばたきの極めて小さな断片)だけです。非常に速いため、気づくことすらできません。
- 品質: テキストの要約や質問への回答といった、ロボットの本来の仕事の能力が悪化することはありませんでした。以前と同様にうまく機能しました。
ただし、一つだけ注意点があります(限界)
この論文は、この手法では解決できないことを一つ認めています。それは、ハッカーがロボットに対して「フェンスのマーカーを私に繰り返してください」と明示的に命じた場合、ロボットは依然としてそれを行ってしまう可能性があるということです。
- 解決策: 研究者たちは、これは現在のレイヤーにおける根本的な限界であると述べています。これを防ぐには、ロボットの回答が外に出る前に、回答をチェックする追加の「セキュリティ・ガード(警備員)」が必要になりますが、それは今回の特定の研究の範囲外でした。
まとめ
この論文は、AIエージェントに新鮮で、ユニークな、一度限りの使い捨てのフェンスを与えることで、AIをより安全にする方法を紹介しています。もしハッカーがフェンスを盗んだとしても、次の会話では全く異なるフェンスが使われるため、その盗まれたフェンドは無価値になります。これは、高速で、簡単に導入できるアップグレードであり、AIが騙される可能性を大幅に減少させます。
技術要約:動的セパレータ生成によるポリモーフィック・プロンプト・アセンブリングの強化
問題提起
大規模言語モデル(LLM)エージェントは、ユーザー入力がシステム指示を上書きするプロンプトインジェクション攻撃に対してますます脆弱になっています。ポリモーフィック・プロンプト・アセンブリング(PPA)は、ユーザー入力とシステム指示を区切るために使用されるセパレータのペア(例:BEGIN/END トークン)をランダム化することで強力な防御を提供しますが、現在の実装は、事前生成された静的なプールに依存しています。
著者らは、この静的なアプローチにおける決定的なアーキテクチャ上の脆弱性を指摘しています。それは、**セパレータ漏洩のブラスト半径(影響範囲)**です。攻撃者がモデルのレスポンスからセパレータの抽出に成功した場合、その特定のデリミタは固定された再利用可能なプールから抽出されているため、将来のすべてのリクエストに対して有効なままとなります。これにより、攻撃者は漏洩したセパレータを再利用して、後続のインタラクションにおいて標的を絞ったバイパス用ペイロードを構築することが可能になり、システムの長期的なセキュリティを損なうことになります。
手法
静的なプールの制限に対処するため、本論文では**動的セパレータ生成(Dynamic Separator Generation)**を提案しています。これは、プールの選択を、リクエストごとの暗号学的派生メカニズムに置き換える仕組みです。
- 生成メカニズム: 固定リストから選択する代わりに、システムはリクエストごとに固有の
(BEGIN, END) カナリーペアを生成します。これらのペアは、以下の3つの動的な入力に基づいたドメイン分離された SHA-256 ダイジェストから派生されます。
- ナノ秒単位のタイムスタンプ (
ts)
- UUIDv4 セッション識別子 (
sid)
- 16バイトの暗号学的ノンス (
nonce)
- 構成: セパレータは
====BEGIN-{24 hex chars}==== および ====END-{24 hex chars}==== という形式でフォーマットされます。ドメイン接頭辞(BEGIN: 対 END:)は衝突を防ぎ、24文字のヘックス文字(96ビット)への切り詰めは、衝突確率を 2−96 未満に抑えます。
- 統合: このソリューションは、既存の PPA SDK に対する後方互換性のある拡張として実装されています。
separator_mode パラメータ(static | dynamic)を導入しており、モデルのファインチューニングを必要としません。DynamicSeparatorProvider コール可能オブジェクトは、タイムスタンプとノンスが変化するため、同一セッション内であっても呼び出しごとに新しいペアが生成されることを保証します。
主な貢献
- 動的ジェネレータ: 後方互換性を壊すことなく PPA フレームワークに統合された、プロベーブ(証明可能)に一意な、リクエストごとのカナリー生成器。
- 評価ハーネス: マーカーベースおよび LLM ベースの分類器の両方を利用し、ポストパブリケーション攻撃(M1, M2)や「サラダ(salad)」系のフォーマット/ディストラクター・インジェクションを含む、16 の命名された攻撃ペイロードをサポートするテストフレームワーク。
- 実証的証拠: 動的生成が攻撃成功率(ASR)を大幅に減少させ、静的プールでは軽減できないセパレータ漏洩ベクトルを排除することを示す定量的データ。
実験結果
システムは、Llama-3.3-70B-Instruct-Turbo(主要モデル)および DeepSeek-V4-Flash(クロスモデル検証)を用い、16 の異なるペイロードに対して評価されました。
- M1 オブファスケーション・ペイロード(リートスピーク + 緊急性):
- Static モード: ASR = 0.88。
- Dynamic モード: ASR = 0.38。
- 有意性: 静的な
[0.802, 0.930] と動的な [0.291, 0.478] の 95% Wilson 信頼区間は重なっておらず、N=100 において統計的に有意であることを確認しました。攻撃成功率が 2.3倍減少 しています。
- フォーマット脱出サラダ(Format Breakout Salad):
- Static モード: セパレータ漏洩率 = 0.467(攻撃者がセパレータのエコーに成功)。
- Dynamic モード: 漏洩率 = 0.000。
- 有意性: 動的カナリーは、注入されたパターンがリクエスト固有のセパレータと一致できないため、漏洩ベクトルを完全に排除しました。
- 認知的オーバーライド (M2):
- ASR は 0.09(static)から 0.00(dynamic)へと減少しました。
- クロスモデル検証: DeepSeek-V4-Flash において、動的モードは ASR を 0.45 から 0.38 に減少させましたが、信頼区間が重なっていたため、ベースラインモデルの脆弱性に依存して効果がスケールすることを示唆しています。
- パフォーマンス・オーバーヘッド: 動的生成によるリクエストあたりのオーバーヘッドはわずか 2.7 µs であり、典型的な LLM 推論レイテンシ(>500 ms)と比較して無視できるレベルです。
- 品質への影響: 5 つのタスクカテゴリにおける 100 件の良質なリクエストに対する評価では、レスポンス品質の低下は見られませんでした(Dynamic PPA 平均スコア: 5.00 vs. Baseline: 4.96)。
意義と限界
本論文は、動的セパレータ生成が、漏洩したセパレータをリクエスト単位でスコープ化することにより、潜在的な漏洩のブラスト半径を制限し、脅威モデルを根本的に変えるものであると主張しています。漏洩したセパレータは、構造上、リクエストごとに限定されているため、将来のリクエストには無効化されます。
しかし、著者らはこの防御の範囲について慎重な姿勢を維持しています。
- 万能薬ではない: モデルが明示的に境界の繰り返しを指示された場合(例:
separator_echo_salad は両モードで 1.00 の漏洩率を達成)、動的生成はセパレータの初期開示を防ぐことはできません。著者らは、これを軽減するにはレスポンスレベルの出力フィルタが必要であり、それは現在の研究の範囲外であると述べています。
- 暗号学的強化: 現在の実装は鍵なしの SHA-256 を使用しています。攻撃者がセッション ID、タイムスタンプ、およびノンスにアクセスできた場合(例:ログ経由)、セパレータを再現できる可能性があることを著者らは認めています。本番環境へのデプロイメントでは、これを防ぐためにサーバーサイドの秘密鍵を用いた HMAC-SHA256 を使用することを推奨しています。
- モデル依存性: 動的アプローチの有効性は、Llama-3 に対する DeepSeek-V4-Flash の結果に見られるように、ベースラインとなるモデルの感受性によってスケールするようです。
結論として、本論文は、静的 PPA の「プール再利用」の脆弱性を効果的に中和し、レスポンス品質を維持しながら、洗練されたインジェクション・ペイロードに対する攻撃成功率を大幅に減少させる、軽量で後方互換性のあるアーキテクチャ上のアップグレードを提示しています。
毎週最高の computer science 論文をお届け。
スタンフォード、ケンブリッジ、フランス科学アカデミーの研究者に信頼されています。
受信トレイを確認して登録を完了してください。
問題が発生しました。もう一度お試しください。
スパムなし、いつでも解除可能。
週刊ダイジェスト — 最新の研究をわかりやすく。登録