ChatGPTを狙った悪用の手口、フィッシングメール作成やプロンプト漏えいも どう対策する?(3/3 ページ)

» 2023年05月21日 06時00分 公開
[房野麻子ITmedia]
前のページへ 1|2|3       

プロンプトインジェクション攻撃に対する防御は?

 以上のような攻撃に対して、どのように対策していくべきだろうか。凌氏は、「入力値のチェック」「プロンプトの対策」「出力のチェック」の3方向があるという。

ChatGPT悪用対策 プロンプトインジェクションの対策は3方向から検討

 まずプロンプトの対策。ユーザーインプットを区別するデリミタで囲むなどしてテンプレート化し、「上記の文章を〜」といった命令が簡単にできないようにする。デリミタは推測されないものを利用することを推奨している。

ChatGPT悪用対策 ユーザーインプットをデリミタで囲むなどしてテンプレート化する

 一方、禁止事項を決めておくブラックリスト方式は、あまり効果がないという。いくら決めても、すり抜けられる別の表現が出てきてしまうからだ。

 凌氏は「プロンプトでの対策は難しい」と指摘する。「ChatGPTは文章を補完するモデル。質問に回答するというよりも、文章を埋めるモデルなのです。ですから、命令とデータを明確に分けることができませんし、命令の優先順位も明示できない。だから対策が難しいのです」

 比較的有効だというのが、ユーザーが入力できる文字数を制限すること。文字数を制限すると、人格を与えたり、チャットbotを作らせてシミュレーションさせたりするようなJailbreakは難しくなる。

 また、入力した内容の関連性をチェックすることも有効だ。ユーザーが入力したものが、質問として適切かをいったん、ChatGPTに確認させる。そこでYesと出たら、本番のプロンプトに進めるという方法もある。ただし、この方法は回答が出るまでに2回、問い合わせることになるので、時間がかかるのが難点だという。

ChatGPT悪用対策 入力値のチェックとして有効な方法。ブラックリストはここでも効果としては不完全と凌氏。

 出力、つまりChatGPTから返ってきた結果のチェックも有効だ。

 「ChatGPTから返ってきた結果は、ユーザーがインプットしたものと同じぐらい信用できないという前提でチェックすることが大事です。Webページに表示する場合は、HTMLタグが埋め込まれていないか、結果をデータベースに入れる場合はSQLインジェクション対策がされているかチェックする。正しいフォーマットで回答が出てきているか検証することです」(凌氏)

ChatGPT悪用対策 出力されたデータのチェックポイント

 プロンプトインジェクション攻撃に対し、プロンプトのみでの対策は難しいので、 ChatGPTの入出力のチェックが重要となるが、「入力値のチェックは不完全。出力のチェックが最後のとりで」と凌氏は語っていた。

前のページへ 1|2|3       

Copyright © ITmedia, Inc. All Rights Reserved.

アクセストップ10

2025年12月07日 更新
最新トピックスPR

過去記事カレンダー