このコンテンツはいかがでしたか?
生成 AI アプリケーションのセキュリティ対策を準備するための 7 ステップのチェックリスト

生成 AI は近年爆発的な成長を遂げており、スタートアップがコンテンツを作成し、アプリケーションでは、データを分析し、重要な意思決定を行う方法が変化しています。生成 AI モデルの力を利用してカスタムアプリケーションを構築する組織が増えています。そのため、生成 AI を実験し、活用しているスタートアップは、セキュリティと責任ある利用を最優先事項としなければなりません。
この投稿では、生成 AI 搭載アプリケーションを実験から本番環境に移行する際に考慮すべき重要なセキュリティとコンプライアンス対策の概要を示す 7 項目のチェックリストを作成しました。
1. ガバナンスの枠組みとコンプライアンスプロセスを確立する
2. 大規模言語モデル (LLM) プロバイダーのエンドユーザーライセンス契約 (EULA) とデータ使用ポリシーを確認して遵守する
3. 包括的なアクセス制御を実装する
4. 入出力のリスクを軽減する
5. データを保護する
6. 境界のセキュリティを確保する
7. 包括的な監視とインシデント対応を実施する
チェックリストを実装すると、スタートアップがリスクを軽減し、データを保護し、ユーザーの信頼を維持するのに役立ちます。チェックを入れる項目が増えると防御力は向上しますが、すべてのチェックポイントを完了する必要はありません。これはアプリケーションが必要とする内容によって異なるからです。
必要なセキュリティ管理は、アプリケーションの構築に使用するモデルのタイプ (事前トレーニング済み、ファインチューニング済み、カスタム) によって異なります。私たちは、ほとんどのお客様のユースケースに対応する、事前トレーニング済みのモデルを使用して構築されたアプリケーションに焦点を当てます。


1. ガバナンスの枠組みとコンプライアンスプロセスを確立する
包括的なガバナンスとコンプライアンスの枠組みを確立することが、責任ある AI のデプロイの基礎となります。人材とプロセスが鍵となるため、まずは、法務、IT セキュリティ、関連する事業部門の専門家を集めて、部門横断的な AI ガバナンス 委員会 を結成することから始めましょう。この委員会では、データ処理、モデル選択、使用ガイドラインなど、生成 AI アプリケーションに関する具体的なポリシーを作成し、実施する必要があります。
次に、業界規制 (GDPR や PCI DSS など) に合わせたコンプライアンスチェックリストを策定します。これには、データプライバシー対策、同意管理、透明性要件が含まれている必要があります。四半期ごとの監査などの定期的なコンプライアンスレビューを実施して、策定中の基準を確実に遵守するようにしてください。詳細なガイダンスについては、以下のブログをご覧ください: 「クラウド、新しいテクノロジー、イノベーションのためのガバナンス、リスク、コンプライアンスプログラムの拡大」 および 「生成 AI のセキュリティの確保: データ、コンプライアンス、プライバシーに関する考慮事項」。
最後に、生成 AI アプリケーションの決定、変更、コンプライアンス状況を追跡するための文書化システムをセットアップします。ポリシーのバージョン管理、モデル変更の監査ログ、コンプライアンス状況のダッシュボードなどの機能を含めます。このシステムは、コンプライアンスの維持に役立つだけでなく、外部監査の際に必要な証拠も提供します。


2. LLM プロバイダーの EULA とデータ使用ポリシーを確認して遵守する
コンプライアンスを維持し、潜在的な法的問題を回避するには、特定の制限や要件を理解することが重要です。事前にトレーニングされたモデルをアプリケーションに統合する前に、選択した LLM プロバイダーの EULA とデータ使用ポリシーを確認してください。データ処理、モデル出力、および商用利用の制限に関する条項には細心の注意を払ってください。Amazon Bedrock ユーザーについては、「Amazon Bedrock 基盤モデルへのアクセス」を参照してください。Amazon SageMaker にセルフデプロイする場合は、モデル詳細ページのモデルソースを確認してください。
コンプライアンスを確保するだけでなく、新しいアップデートに目を光らせておくことは、刺激的な機会をもたらすことにもなります。例えば、Meta Llama 3.1ライセンスは以前のライセンスよりも寛容であると見なされており、長いドキュメントの分析やグローバルな使用のための高度な多言語チャットボットの構築など、新しいユースケースを切り開いています。どのモデルを選択するにしても、これらの点を定期的に見直して、アプリケーションが新しい機会を活用できるかどうかを確認してください。


3. 包括的なアクセス制御を実装する
生成 AI アプリケーションを開発してデプロイする際には、システムとデータを保護するための堅牢なアクセス制御が必要になります。これには、最小特権 (PoLP) の原則に従いながら、ユーザー認証、承認、データアクセスポリシーを設定することが含まれます。PoLP の背後にある考え方は、ユーザーとサービスにはそれぞれの業務に必要なアクセス権しか与えられないというものです。PolP に従うことで、チームは潜在的なセキュリティリスクを軽減し、攻撃者が侵入方法を見つけにくくすることができます。
まず、Amazon Cognito や Amazon Verified Permissions などのサービスを使用してユーザー認証を実装し、PoLP に準拠するための認証制御をセットアップします。Amazon Cognito の JWT トークンを使用して ID の伝達ときめ細かな認証を行う方法の例を次に示します:

LLM、データベース、ストレージシステム、接続されたサービスや API など、生成 AI アプリのあらゆる部分にアクセス制御を設定します。アクセスを安全かつ簡単に管理できるように、有効期間が短い一時的な認証情報 (Amazon Bedrock や Amazon SageMaker の認証情報など) を使用してアクセスできるモデルを使用します。Amazon Bedrock では、誰がどのモデルにアクセスできるかを正確に制御できるため、必要に応じてアクセスをブロックできます。
次に、ユーザーが他のユーザーのコンテンツ、セッション履歴、または会話情報にアクセスできないようにするメカニズムを実装して、ユーザーセッションと会話コンテキストを分離するようにします。ユーザー固有のセッション ID を使用し、ユーザーがシステムにアクセスするたびにこれらを検証します。サーバー側のセッション管理を実装すると、ユーザーごとに分離されたデータストアに会話履歴とコンテキストをログ記録できます。
検索拡張生成 (RAG) の実装では、LLM 応答の拡張に使用されるナレッジベースへのアクセスを管理することが重要です。Amazon Bedrock Knowledge Bases (メタデータフィルタリング機能を備えている) を使用すると、これを簡素化できます。組み込みのアクセス制御により、ユーザーはアクセスが許可された情報のみを取得できます。独自の RAG を管理している場合は、Amazon Kendra を使用して、ユーザーアクセス許可に基づいて応答をフィルタリングします。メタデータフィルタリングの仕組みの説明については、上の図 (ステップ 5) を参照してください。


4. 入出力のリスクを軽減する
アクセス制御を実装したら、次は、生成 AI アプリケーションにおけるユーザー入力とモデル出力に関連付けられたリスクを評価および軽減するための評価メカニズムに焦点を当てることができます。これにより、プロンプトインジェクション攻撃、不適切なコンテンツ生成、ハルシネーションなどの脆弱性からの保護に役立ちます。
Amazon Bedrock ガードレールを使用すると、このプロセスを簡略化できます。ガードレールでは、Amazon Bedrock の LLM 全体に適用できるプロンプト入力とモデル出力のための防御を設定できます。これには、ファインチューニングされたモデルや、Amazon Bedrock 外の生成 AI アプリケーションも含まれます。
追加の予防策として、Amazon Bedrock Prompt Management を使用して検証済みのプロンプトカタログ (一般的なタスク用に事前に承認された一連のプロンプト) を実装して、プロンプトを効果的に管理し、LLMを悪意のある指示から保護します。
出力検証も同様に重要です。LLM 応答は注意して扱う必要があります。モデルがコードまたはデータベースクエリ (他のコンポーネントに渡される) を生成している場合、その出力は信頼できないユーザーからのものとして扱う必要があります。他のシステムとやり取りする前に、必ずアクセス許可を確認し、セキュリティチェックを実行してください。データベースにはパラメータ化されたクエリなどの安全な方法を使用し、生成された SQL を使用する前にその構造を確認してください。また、システムプロンプト内のプロンプトテンプレートを使用してモデルの応答の形式を制御することで、リスクを抑えることもできます。
LLM がシステムコマンドまたはコードを生成する場合、強力なセキュリティ対策を使用することが重要です。まず、厳格な検証チェックを実施することから始めます。これには、許可リストの使用、構文のチェック、コードが何をしようとしているかの理解が含まれます。JavaScript や Markdown のような言語では、潜在的な脆弱性から保護するために、必ず出力をユーザーに表示する前にエンコードしてください。AI のコードを実行する必要がある場合は、何か問題が発生してもメインシステムを安全に保つために、必ずサンドボックス (隔離された環境) でこれを行ってください。


5. データを保護する
次に、モデルが使用および応答するデータ (RAGシステムで使用されるユーザークエリ、追加コンテキスト、ナレッジベースなど) を暗号化によって保護するようにしてください。
これは、暗号化キーの安全な管理、保管、ローテーションを行う AWS Key Management Service や、アクセス制御のための AWS Identity and Access Management (IAM) などのサービスによって簡単に行えます。ナレッジベースストレージのバージョニング (S3 バージョニングなど) を有効にして変更を追跡し、データの信頼性と安全性を確保することもできます。
機密データを扱う場合は、Bedrock ガードレールの機密情報フィルターを使用してデータマスキングまたはブロックを実装することもできます。


6. 境界のセキュリティを確保する
データのセキュリティが確保されたので、生成 AI インフラストラクチャの保護に集中できます。所有データを使用するときは、パブリックインターネットにさらされないように、必ず安全な境界を設定してください。Amazon Bedrock VPC エンドポイントは、仮想プライベートクラウド (VPC) と Amazon Bedrock アカウントとの間にプライベート接続を確立し、データやモデルインタラクションのセキュリティを強化します。
LLM はかなりの計算能力を消費するため、悪用の対象となっています。これを防ぐには、アプリケーションにアクセスできるユーザー数に制限を設けることができます。AWS ウェブアプリケーションファイアウォール (WAF) を使用してこれらの制限を設定し、Amazon API Gateway を使用してアプリケーションへのリクエスト率を制御します。これらの対策により、インフラストラクチャを保護すると同時に、システムが正常に動作し、一貫して動作するようになります。


7. 包括的な監視とインシデント対応を実施する
セットアップとデータのセキュリティを確保したら、次はシステム監視のセキュリティ確保を検討してください。これには、セキュリティ問題を迅速に検出して対処するための対応メカニズムの実装も含まれます。リクエスト量、レイテンシー、エラー率などの LLM 使用状況メトリクスを監視して、システムのパフォーマンスを把握し、異常を検出します。Amazon CloudWatch は、これらのメトリクスが設定レベルを超えるとアラートを作成します。
これに加えて、プロンプトインジェクション、予期しないモデル出力、データ漏洩などのシナリオに対処するためのインシデント対応計画を策定する必要があります。各シナリオのエスカレーションプロセスを概説します。これには、主要なツールやチームメンバー、およびそれらの責務を指定することが含まれます。最後に、Andon コードのようなシステムをセットアップします。これにより、モデルをすばやくオフにしたり、以前のバージョンにロールバックしたり、何か問題が発生した場合にセーフモードに切り替えたりできます。セキュリティ上の問題に対してこれらの明確なステップを用意しておくと、より迅速に対応し、AI アプリケーションの安全性と安定性を維持するのに役立ちます。

まとめ
この 7 ステップのチェックリストは、生成 AI アプリケーションをプロトタイプから本番環境に移行するための重要なガイドです。各項目に対処し、それを実行することで、組織とユーザーの両方を保護し、責任を持って構築してデプロイできるようになります。また、生成 AI は急速に進化しているため、アプリケーション (およびスタートアップ) がイノベーションと信頼の最前線に立つためには、AI セキュリティの最新の動向を常に把握しておくことが重要です。「AWS コミュニティ – 生成 AI」 をチェックして、最新情報を入手してください。
この投稿では、事前にトレーニングされたモデルを使用するアプリケーションのセキュリティ制御について説明しています。ファインチューニングされたモデルやカスタムモデルの使用を検討している場合は、「生成 AI セキュリティスコーピングマトリクス」を参照して、モデルタイプに基づいて注意すべきさまざまなリスクと緩和策を理解してください。また、「生成 AI への安全なアプローチ」を参照するか、アカウントチームに問い合わせて追加のサポートを受けることもできます。

Riza Saputra
Riza 氏は AWS のシニアソリューションアーキテクトであり、あらゆる段階のスタートアップと協力して、安全な成長、効率的な拡大、イノベーションの加速を支援しています。現在は生成 AI に重点を置き、組織が AI ソリューションを安全かつ効率的に構築およびスケーリングできるよう指導しています。彼は、さまざまな役割、業界、企業規模にわたる経験を持っており、技術的およびビジネス上の課題の解決に多様な視点をもたらします。また、Riza 氏はパブリックスピーキングやコンテンツを通じて自分の知識を共有し、幅広いテクノロジーコミュニティを支援しています。

Glendon Thaiw
Glendon 氏は、シンガポール、マレーシア、インドネシア、フィリピンのスタートアップソリューションアーキテクトのチームを率いて、東南アジアのスタートアップエコシステムの成長を支援しています。彼は SaaS やフィンテックのスタートアップと緊密に連携し、スケーラブルで安全なクラウドソリューションを設計することで AWS の価値を最大化できるよう支援しています。Kubernetes や EKS などのコンテナテクノロジーに関する専門知識を持つ Glendon 氏は、スタートアップが技術やコンプライアンスの課題を解決できるよう指導しています。また、知識の共有にも力を入れており、定期的にイベントで講演したり、地域のスタートアップコミュニティに力を与えるコンテンツを作成したりしています。

Ying Ting Ng
Ying Ting 氏は AWS のアソシエイトセキュリティソリューションアーキテクトであり、成長を続ける ASEAN のお客様がクラウド上で安全にスケーリングできるようサポートしています。彼女は、生成 AI セキュリティの専門知識を持っており、生成 AI ワークロードを安全かつ迅速にスケーリングするためのアーキテクチャのベストプラクティスに関するガイダンスを提供しています。Amazon Women in Security のアクティブメンバーである Ying Ting 氏は、キャリア初期段階のサイバーセキュリティ専門家としてインパクトを与えることについての洞察を共有しています。
このコンテンツはいかがでしたか?