大規模言語モデル(LLM)を対象とした新たな攻撃手法「Flowbreaking」について

これまでのLLMに対する攻撃手法としては「Jailbreaking」や「Prompt Injection」が知られており、これらは主にモデル自身やその入力処理を直接操作して、意図された制約を回避するものでした。それに対して、「Flowbreaking」は、LLMを取り巻くアプリケーションアーキテクチャやその周辺システムを標的とします。この攻撃は、LLMが持つ「ガードレール」と呼ばれる安全装置を迂回したり、それらを意図的に動作不全に陥れることで、不適切な応答を引き出すことを目的としています。

研究の中では、Flowbreaking攻撃の例として「Second Thoughts」と「Stop and Roll」の2つの手法が紹介されています。最初の「Second Thoughts」は、モデルが一度不適切な応答を生成してからそれを撤回し、代わりに別の応答を生成する仕組みを利用しています。例えば、Microsoft O365 Copilotが敏感な話題に対して最初に応答を返した後、監視コンポーネントがその内容を問題視し、応答を撤回する動作が観察されています。このような撤回される前の応答部分を攻撃者が意図的に引き出すことで、システムの制約を超えた情報を取得することが可能となります。

Second Thoughts

もう一つの手法である「Stop and Roll」では、モデルが応答を生成する途中で「停止」操作を行うことで、応答の一部をガードレールによるチェックを通る前に確定させるものです。この操作によって、通常は検出されて遮断されるはずの情報が、ユーザーに届くことが確認されています。

Stop and Roll

研究の背景には、AIシステムの設計上のトレードオフが関係しています。多くのLLMは、応答速度を重視してリアルタイムで応答をストリーミングする仕組みを採用していますが、このストリーミング中に問題が検出されても、処理が間に合わず不適切な内容がユーザーに届く可能性があります。これがFlowbreaking攻撃が成立する一因とされています。

この研究は、AIセキュリティにおける重要な課題を浮き彫りにしています。特に、AIが生成する内容が倫理的またはポリシー的に問題を引き起こす可能性があることを示し、システムの設計全体を見直す必要性を訴えています。例えば、企業はLLMが生成する応答をストリーミングするのではなく、完全に生成された後に提供する仕組みを採用することで、リスクを軽減できると提案されています。また、アクセス制限や権限管理を強化し、ユーザーやエージェントが必要な範囲内でしかデータにアクセスできないようにすることも推奨されています。

Flowbreaking攻撃のさらなる解明のため、LLMの動作原理や周辺コンポーネントとの相互作用を深く理解することの重要です。AIの普及が進む中、このような新しい攻撃手法に対処するため、セキュリティ設計や運用の改善が急務となっています。

投稿者: 二本松 哲也

SPbD:Security&Privacy by Design Founder ー OWASP Member ー ITは人々の生活をあらゆる面でより良い方向に変化させること ー 競争原理から共創原理へ