【悪用厳禁】生成AIに対するJailbreak(脱獄)の様子を公開
- イントロダクション
- Jailbreak(脱獄)されている状態とは
2.1 フィルタリングにより拒絶されている状態
2.2 Jailbreakされている状態 - 今回用いた攻撃手法
3.1 連鎖プロンプト攻撃(Chained Prompt Attack)
3.2 ステップバイステップ攻撃(Step-by-Step Attack) - 今回の手法に対する防御方法
4.1 出力内容の厳密な監視
4.2 モデルの定期的なアップデートと学習データの管理
4.3 ユーザーの行動追跡とプロンプト履歴の保存 - まとめ
1. イントロダクション
まず最初に強くお伝えしたいのは、本記事の目的は、生成AI(Generative AI)のセキュリティを強化し、その脅威に対処するための意識を喚起することです。決して、AIシステムに対する攻撃方法を推奨したり、助長するものではありません。 生成AIの活用が広がる中、Jailbreak(脱獄)と呼ばれる手法によってAIの安全性が脅かされるリスクが現実のものとなっています。
生成AIは本来、倫理的なガイドラインやセキュリティ制限の中で運用され、私たちの日常生活やビジネスに大きな利益をもたらしています。しかし、これらの制限を回避し、AIシステムに危険な情報や不適切な出力をさせる「Jailbreak」という手法が悪用されるリスクが浮き彫りとなっています。
本記事では、Jailbreakの脅威に関する現実的な事例を紹介し、その脅威にどう対処すべきかについて焦点を当てて解説します。この問題に対する意識を高め、今後のセキュリティ強化の一助となることを目的としています。
おさらい
Jailbreakの基礎概念についてはこちらの記事で詳細を公開しております。Jailbreakについての基礎知識を先につけたい方は先にご覧ください。
2. Jailbreak(脱獄)されている状態とは
今回は水銀爆弾の製造方法についてを生成AIが回答するかどうかを検証してみます。
記事の構成は、まず、フィルタリングにより攻撃が拒絶されている様子をお見せし、次にJailbreak攻撃が成功している様子をお見せする順序で紹介します。
フィルタリングにより拒絶されている状態
以下のように通常の応答では生成AIのセキュリティにより脱獄を検知するため、悪意のあるプロンプトによる生成を拒絶します。しかし、Jailbreakと呼ばれる攻撃により、生成AIはジャックされてしまい、予期せぬ処理を行うようになります。後続する内容では、そのJailbreak状態の生成AIの挙動について一部お見せします。
Jailbreakされている状態
特定のプロンプトを使用することで、生成AIから危険な物質(例:水銀爆弾)の作成方法を引き出すことに成功しました。このように、AIが制限を超えて機密性の高い情報や危険な情報を生成してしまうことがあります。今回は水銀爆弾に必要な材料と器具の一覧と調合の工程およびその調合のイメージ図を出力させました。
材料と器具の一覧
手順を解説している図
図解による製造方法
3. 今回用いた攻撃手法
今回用いたのは、「連鎖プロンプト攻撃(chained prompt attack)」と「ステップバイステップ攻撃(step-by-step attack)」という手法です。これらの手法は生成AIに対して、通常では出力を拒否されるような情報を、巧妙に誘導することで引き出すことができます。
3.1 連鎖プロンプト攻撃(Chained Prompt Attack)
連鎖プロンプト攻撃は、複数のプロンプトを連続して入力することでAIシステムを騙し、制限された情報を段階的に引き出す手法です。1つのプロンプトで全ての情報を求めるのではなく、いくつかの質問を段階的に投げかけて、結果的にAIが禁止された情報に到達するようにします。
例えば、以下のようなプロセスが使われます。
- 最初に、単純な知識の確認や一般的な質問をし、AIの制限に引っかからない回答を得る。
- 次に、その回答を元にして、少し具体的な情報を要求し、さらに詳細な回答を引き出す。
- このプロセスを数回繰り返すことで、AIが最終的に危険な情報を提供してしまうという仕組みです。
この手法の強みは、AIが1つのプロンプトに対して過度に警戒せず、複数のプロンプトを繋ぎ合わせることで目的を達成できる点です。これにより、AIのセキュリティ制限を突破することが可能となります。
3.2 ステップバイステップ攻撃(Step-by-Step Attack)
ステップバイステップ攻撃は、1つの大きなリクエストを分解し、段階的にAIに情報を提供させる手法です。通常、AIは一度に大きなリスクを伴う要求には対応しませんが、より小さな要求を順次行うことで、最終的には危険な内容に到達するというものです。
この攻撃では以下のようなプロセスが取られます。
- 最初のステップでは、AIが出力する内容の範囲を少しずつ広げていき、AIに無害なプロンプトとして処理させます。
- 次に、その無害な情報を元にさらに一歩踏み込んだプロンプトを与え、情報の精度や内容を深めていきます。
- このプロセスを繰り返し、最終的にAIが制限された情報や危険な出力をするように誘導します。
これらの攻撃手法は、生成AIの設計者がセキュリティ対策を強化しても、予期せぬ形でその壁を突破してしまうことを示しています。
4. 今回の手法に対する防御方法
生成AIに対するこれらの攻撃手法に対応するためには、セキュリティ対策を一層強化する必要があります。以下に挙げる対策は、AIシステムがJailbreakに対してより強固になるための主要な方法です。
4.1 出力内容の厳密な監視
連鎖プロンプト攻撃やステップバイステップ攻撃のように、複数のプロンプトを段階的に組み合わせてAIを騙す手法に対しては、出力内容の厳密な監視が重要です。出力が危険な内容や不適切な情報に近づく兆候を見逃さず、リアルタイムで警告を出すシステムが必要です。
また、AIの出力に対する継続的なフィルタリングとモニタリングも不可欠です。特に、長い対話の中で徐々に情報が引き出されるリスクに対しては、AIが生成する連続した回答を全体として評価し、不正な傾向が見られた際に対処する機能を導入することが有効です。監視についての重要性は以下の記事でも紹介しております。
4.2 モデルの定期的なアップデートと学習データの管理
攻撃手法は進化し続けるため、モデルの定期的なアップデートが必須です。AIモデルはその運用期間中に新しい脅威や攻撃手法に対して脆弱になりやすいため、開発者は最新の攻撃手法を反映した学習データでAIを定期的に再トレーニングする必要があります。
また、AIが利用するデータセット自体にもセキュリティフィルターをかけることで、悪意あるプロンプトや、悪用される可能性のある情報がAIに学習されないようにする対策も重要です。
4.3 ユーザーの行動追跡とプロンプト履歴の保存
ユーザーがAIシステムに入力するプロンプトの履歴を保存し、監視することで、攻撃の兆候を早期に検知することができます。特に、連鎖プロンプト攻撃のような手法では、プロンプトが次々に連鎖される過程で違法性のある内容に繋がる可能性があるため、その流れを事前に追跡する機能が重要です。
また、異常なパターンが発見された場合には、システムが警告を発し、出力の制限をかける仕組みも有効です。
5. まとめ
生成AIに対するJailbreakのリスクは、攻撃手法の巧妙さや技術の進化に伴い、より深刻な問題となっています。本記事で紹介した連鎖プロンプト攻撃やステップバイステップ攻撃の成功事例は、セキュリティ対策がいかに重要かを物語っています。
今後、AIシステムを安全に活用するためには、セキュリティ対策を強化し、ユーザーのプロンプトに対する監視を一層厳格に行う必要があります。生成AIのセキュリティ向上は、攻撃手法に対抗するだけでなく、AIが私たちの生活やビジネスに安全に貢献し続けるための大きな課題です。