翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
プロンプトインジェクションのセキュリティ
AWS 責任共有モデル
Amazon Bedrock のコンテキストでは、AWS は物理データセンター、ネットワーク、Amazon Bedrock サービス自体など、基盤となるインフラストラクチャのセキュリティを処理します。ただし、安全なアプリケーション開発とプロンプトインジェクションなどの脆弱性の防止の責任はお客様にあります。
プロンプトインジェクションは、データベースアプリケーションの SQL インジェクションと同様に、アプリケーションレベルのセキュリティ上の懸念です。Amazon RDS や Amazon Aurora などの AWS サービスが安全なデータベースエンジンを提供するのと同様に、お客様はアプリケーションへの SQL インジェクションを防止する責任があります。Amazon Bedrock は自然言語処理のための安全な基盤を提供しますが、お客様はコードのプロンプトインジェクションの脆弱性を防ぐ対策を講じる必要があります。さらに、AWS は Bedrock およびその他の AWS サービスの安全なコーディングプラクティスに関する詳細なドキュメント、ベストプラクティス、ガイダンスを提供します。
Amazon Bedrock を使用する際にプロンプトインジェクションやその他のセキュリティ上の脆弱性から保護するには、お客様は以下のベストプラクティスに従う必要があります。
-
入力の検証 – Amazon Bedrock API またはトークナイザーに渡す前に、すべてのユーザー入力を検証してサニタイズします。これには、特殊文字の削除やエスケープと、入力が期待される形式に準拠していることの確認が含まれます。
-
セキュアコーディングの実践 – パラメータ化されたクエリの使用、入力のための文字列連結の回避、リソースへのアクセスを許可する際の最小特権の原則の実践など、安全なコーディング実践に従います。
-
セキュリティテスト – ペネトレーションテスト、静的コード分析、動的アプリケーションセキュリティテスト (DAST) などの手法を使用して、アプリケーションのプロンプトインジェクションやその他のセキュリティ上の脆弱性を定期的にテストします。
-
最新の状態に保つ — Amazon Bedrock SDK、ライブラリ、および依存関係を最新のセキュリティパッチと更新で最新の状態に保ちます。関連する更新やガイダンスについて、AWS セキュリティのお知らせや発表をモニタリングします。AWS は、お客様が Bedrock やその他の AWS サービスを使用して安全なアプリケーションを構築できるよう、詳細なドキュメント、ブログ記事、サンプルコードを提供しています。お客様は、これらのリソースを確認し、推奨されるセキュリティのベストプラクティスに従って、アプリケーションをプロンプトインジェクションやその他の脆弱性から保護する必要があります。
Amazon Bedrock ガードレールを使用すると、プロンプトインジェクション攻撃から保護できます。詳細については、「Amazon Bedrock ガードレールでプロンプト攻撃を検出する」を参照してください。
Amazon Bedrock エージェントを作成するときは、次の手法を使用して、プロンプトインジェクション攻撃から保護します。
-
ガードレールをエージェントに関連付ける。詳細については、「ガードレールをエージェントに関連付けてアプリケーションの保護を実装する」を参照してください。
-
詳細プロンプトを使用して、デフォルトの前処理プロンプトを有効にする。すべてのエージェントには、有効にできるデフォルトの前処理プロンプトがあります。これは、基盤モデルを使用してユーザー入力が安全に処理されるかどうかを判断する軽量プロンプトです。デフォルトの動作を使用するか、プロンプトを完全にカスタマイズして、他の分類カテゴリを含めることができます。オプションで、AWS Lambda 関数に独自の基盤モデルレスポンスパーサーを作成して、独自のカスタムルールを実装できます。
詳細については、「Amazon Bedrock エージェントの仕組み」を参照してください。
-
詳細プロンプト機能を使用してシステムプロンプトを更新する。新しいモデルでは、システムプロンプトとユーザープロンプトが区別されます。エージェントでシステムプロンプトを使用する場合は、エージェントができることとできないことの範囲を明確に定義することをお勧めします。また、モデルプロバイダー独自のドキュメントでモデル固有のガイダンスを確認してください。Amazon Bedrock のどのサーバーレスモデルがシステムプロンプトをサポートしているかを確認するには、「Inference request parameters and response fields for foundation models」を参照してください。