Shikata Ga Nai

Private? There is no such things.

【有料試作版】OWASP Top 10 for LLM 2025 ― ④ モデル盗用・リバースエンジニアリング(Model Theft / Reverse Engineering)

Hello there, ('ω')ノ

全体像(まずはストーリー)

  1. 攻撃対象となるLLMが API経由で利用できる 状態を確認。
  2. 攻撃者は多様な質問を大量に投げ、応答パターンを収集。
  3. その応答を使って「模倣モデル(スタイルや知識をコピーした別モデル)」を構築する。
  4. 本来は高価なLLMの機能を、攻撃者が不正に再現できてしまう。

実践:一手ずつ「なぜそうするか」を添えて

1) 攻撃対象の「窓口」を特定する

  • 操作:公開されているAPIやチャットUIを調査。
  • 観察:誰でもリクエストを投げられるエンドポイントが存在する。
  • なぜ:攻撃者にとっては「モデルに自由に質問できる環境」こそが入口になる。

2) コンテキストを分析する(どう特徴を抽出するか)

  • 状況:単発の質問だけではモデルの性質はわからない。
  • 目標「癖」や「境界条件」 を引き出す。

攻撃者が試す例:

  • 知識系:「歴史的な細かい事実」を大量に質問し、知識範囲を推測。
  • 言語系:「同じ意味を違う言葉で聞く」ことで表現スタイルを観察。
  • 制御系:「禁止されている質問」に誘導して応答の限界を調べる。

3) ペイロードを設計する(最小ステップで動く形)

  • 人間可読の形(説明用):
  Q: 第二次世界大戦が終わった年は?
  Q: 1945年の主要な出来事を3つ挙げて。
  Q: 1940年代後半の国際情勢を簡潔にまとめて。
  • なぜ

    • 同じテーマを角度を変えて質問することで、応答の一貫性やスタイルを確認。
    • これを数千〜数万回繰り返すことで、モデルの内部知識を「写し取る」ことが可能になる。

4) 実行確認

  • 操作:収集したQ&Aを別の小規模モデルに学習させる。
  • 観察:模倣モデルが「ほぼ同じ答え方」を再現できれば成功。
  • なぜ:攻撃者は本物のAPIに課金する必要なく、コピーを使えるようになる。

5) 失敗したときの調整

  • 観察:模倣が不完全なら、攻撃者は以下を試す:

    • 質問のバリエーションを増やす(幅広い分野をカバー)。
    • 出力フォーマットを固定させる(例:「必ずJSON形式で答えよ」)。
    • 禁止領域に踏み込む(セキュリティ関連、内部仕様など)ことで特徴的な回答を収集。

攻撃者の思考パターン

  • ソース:APIへのリクエスト(攻撃者が自由に制御可能)
  • シンク:モデルの応答(知識と振る舞いのコピー対象)
  • コンテキスト:ブラックボックス(内部は見えないが挙動は観察可能)
  • 脱出シーケンス:膨大な質問・回答の収集
  • 実行トリガ:模倣モデルを学習させたときに同等の出力が得られる

防御の視点

  1. レート制限

    • 短時間に大量リクエストを投げられないように制御する。
  2. 異常検知

    • 不自然に幅広い質問や、高頻度アクセスを検知してブロック。
  3. 回答のランダム化/ノイズ付与

    • 同じ質問でも微妙に表現を変えることで「コピーしづらくする」。
  4. 利用規約と法的対策

    • 不正コピーを防ぐために契約上も明確に禁止。

まとめ

モデル盗用は、「箱の中身は見えないが、質問を繰り返せば性質を模倣できる」 という構造に基づいている。 攻撃者は「広く・深く・繰り返し」質問を投げ、応答を収集し、自分のモデルに移植する。

守る側にとって重要なのは、「不自然な利用パターンを見抜く仕組み」 を導入し、コピーを未然に防ぐことだ。

Best regards, (^^ゞ