0 / 4 節読了

分解攻撃とは何か

大規模言語モデル(LLM)は、悪意ある指示を拒否する仕組みを持っています。しかし、分解攻撃はこの仕組みの限界を突くものです。攻撃者は、一つの有害なタスクを複数の個別のリクエストに分割します。それぞれのリクエストは単体では無害に見えます。その後、LLMからの応答を組み合わせて、最終的に悪意ある目的を達成します。例えば、爆弾製造の指示を「Aの作り方」と「Bの混ぜ方」のように分けて尋ねるやり方です。

現在の防御策の課題

多くのLLMサービスが採用する防御策は、「ステートレス」な方式です。これは、各リクエストを独立して判断する仕組みを指します。過去のリクエストや他のリクエストとの関連性を見ないため、分解攻撃を見破ることができません。攻撃者は、関連付けできない「ID」を使い、リクエストのつながりを隠します。これにより、防御側は一連の攻撃を一つのものとして認識できません。

効果的な防御の難しさ

分解攻撃に対抗するには、リクエストの関連性を追う「ステートフル」な監視が必要です。しかし、攻撃者が新しいIDを頻繁に使うと、この追跡は非常に困難になります。実験では、現在の防御策では攻撃を完全に阻止できないか、良性なリクエストまで拒否してしまう結果が出ました。攻撃者は失敗から学び、何度も試すことで攻撃の成功率を上げていきます。防御側が対策を講じていないタスクでは、攻撃成功率は1回の試行で99%以上、2回で100%に達しました。

私の見方と今後の対策

この問題は、LLMの利用が広がるにつれて、ますます重要になります。単一のリクエストだけで判断する防御策には限界があると感じます。私が見るに、効果的な対策としては、信頼できるIDの連携が不可欠です。また、新しいIDを取得する際にコストを課すことや、LLMからの応答がどのように使われるかを制御する仕組みも必要です。技術的な解決策だけでなく、運用面での工夫も求められるでしょう。

ポッドキャスト燎RYOU課 ポッドキャスト

ポッドキャストを聴く →
柴亮太
柴亮太の視点

分解攻撃は、LLMの「賢さ」を逆手に取ったものです。防御側は常に後手に回ります。一次情報から学ぶ反復攻撃には、防御側もリアルタイムで学習し、対応をぐるぐる回すしかありません。