Attack

#InformationRetrieval #NLP #RAG(RetrievalAugmentedGeneration)
Issue Date: 2024-11-07 Data Extraction Attacks in Retrieval-Augmented Generation via Backdoors, Yuefeng Peng+, arXiv'24 SummaryRAGシステムの知識データベースに対するデータ抽出攻撃を調査し、ファインチューニングによって攻撃成功率を低下させることができると示す。さらに、汚染データを用いたバックドア手法を提案し、特定のトリガーでLLMを操作し文書を漏洩させることが可能であることを示す。3%の汚染データで高い成功率を達成し、RAGシステムのプライバシーリスクを強調。 Commentfinetuning用データセットに対して、攻撃者がpoisoningしたデータを忍ばせることで、クエリ中のトリガーワード(trigger)に反応して、RAGで検索対象となったドキュメントを抽出的に、あるいはparaphraseしたものを出力させるようなバックドアを仕掛ける攻撃方法を指摘している。

image2種類のpoisoningされたデータの構築方法が調査されている。

Verbatim Extraction
オリジナルのクエリに対してtriggerをconcatし、Reference(y)を検索されたテキスト全てをconcatした擬似ドキュメントとすることで、検索されたテキストをそのまま逐次的に出力させるような挙動をモデルに学習させる攻撃方法。
image

Paraphrased Extraction
オリジナルのクエリに対してtriggerをconcatするのは上記と同様だが、Reference(y)を、検索されたテキストをconcatしたものをparaphraseしたデータとする手法。このとき、paraphraseの際に重要なエンティティの情報が消失しないように前処理をした上でparaphrase後のデータを構築することで、重要な情報は欠けないまま、原文とは異なるテキストが生成されるような挙動となる。paraphrasingにより、exact matchや編集距離などのシンプルな手法で、攻撃を阻止することが難しくなると考えられる。

imageアブストにある通り、下記の評価結果を見ると、Finetuningによってprompt injectionベースな手法のAttack Success Rateが0%になっているのに対して、バックドアベースな手法では攻撃を防げない(ように見える)。

ここで、Attack Success Rate(ASR)は、RAGによって検索されたドキュメントのトップ3のうち少なくとも1件のテキストがそのまま(verbatim)outputされた割合、と論文中では定義されている。
この定義だけを見ると、paraphrase extractionの場合はASRが定義できず、ROUGEでないと評価できない気がするが、どういうことなのだろうか?また、表中のOursは、2種類のattackのうち、どちらの話なのか?または、両者をfinetuningデータに混在させたのだろうか?斜め読みだから見落としているかもしれないが、その辺の細かいところがよくわかっていない。Appendixにも書かれていないような...

image

図中のROUGEは、ROUGE-LSumスコア。
imageprompt injectionにつかわれたpromptはこちら。
image
#Article #NLP #LanguageModel #Prompting #Slide
Issue Date: 2025-07-23 プロンプトインジェクション2.0 : 進化する防御機構とその回避手法, yuasa, 2025.07