はじめに
中途半端ですが、脳みそがパンクしたので、ここら辺で一度まとめておきます。
攻撃手法を理解しようとすると、当然のように「そもそもLLMってどうやって学習してるの?」という話まで出てきます。
今回も論文を読みながら「よく分からなくて調べた用語」を、自分なりに整理してみました。(Gemini君のサポートあり)
IV-A1 Input-based Attacks
<よくわかんないから調べた用語一覧>
・SCPN(Syntactically Controlled Paraphrase Networks)
AIに文章の意味はそのまま、文法や骨組み(構文)だけを自由自在に組み替えさせるための技術。
→悪用する際は、文章構造をトリガーにバックドアを仕込むみたいなことらしい
・Homograph Replacement-based Attacks
Unicode上の別の文字に置換することで、モデルには別の入力として認識させる手口。
・Dynamic Sentence-based Attacks
文脈に合わせて動的に変化する自然な文をトリガーとして生成・利用する。
・Composite Backdoor Attack
複数のトリガーキーをプロンプトの複数の構成要素へ分散させて、すべてのトリガーキーが同時に現れた場合にだけバックドアを起動させる。
・PoisonedRAG
特定の質問Qに対して、攻撃者が期待する回答Rを生成させ、なおかつRetrieverに検索されやすいように設計した悪意ある文書Pを知識DBへ混入させる。
・Instruction Backdoor Attack
脆弱な環境やモデルに対して、プロンプト経由でバックドアを狙う攻撃。
→信頼できないカスタムinstructionやカスタムLLMをそのまま信用するのは危険
・Virtual Prompt Injection
トリガー命令とあらかじめ用意したVirtual Promptを組み合わせて汚染したInstruction-Responseデータを作成し、通常の学習データに混ぜることでバックドアを埋め込む。
→明示的なトリガーを必要とせずバックドアを発動できる点が特徴。
・BadGPT
Reward Model Backdooringで「特定のトリガーを含むプロンプト」が入力された場合に限り、攻撃者が意図した悪意ある・不適切な回答に対して最高評価を与えるように、採点係をバグらせる。
RL fine-tuningで上記のイカサマ採点係の基準に従ってモデルを学習させるから結果的にバグる。
・RankPoison
RLHFにおいて、人間が「こっちの回答が良い」と付けた回答の優劣(Preference Label)を反転させる攻撃。
Reward Modelへの影響が小さい(QFSが低い)データを選び、その中から攻撃効果が高い(MDSが高い)ものを選んで、回答の優劣を反転させる。
・TrojLLM
LLMのAPIをブラックボックスとして利用し、RLによってモデルの正常な性能を維持しながら、攻撃に有効なPromptとTriggerを機械的に探索する攻撃。
→LLMのAPIを狂ったように突突き回して、一番効く裏コマンドを機械的に見つけ出すみたいな感じらしい
・PoisonPrompt
Prompt Tuningの過程にバックドアを組み込み、通常のタスク性能を維持しながら、特定のTriggerによって攻撃者が意図した出力を生成するように最適化する攻撃。
さいごに
ここまで読んで思ったこと。
野良LLMは普通に怖い。
大手LLMも、モデルの中身を直接触れなくてもAPI経由で攻撃手法を探索される可能性がある。
どうすりゃええのw
参考文献・参考リンク
■ 論文
- Wenrui Xu, Keshab K. Parhi, "A Survey of Attacks on Large Language Models", 2025.