【セッションレポート】生成 AI のセキュリティ対策と責任ある AI の実現(AWS-16) #AWSSummit

2024.06.20

はじめに

AWS Summit Japan 2024 に参加しました。

「生成 AI のセキュリティ対策と責任ある AI の実現」のセッションレポートです。

セッション概要

生成 AI の利用が拡大する中で、モデルの安全性や公平性、プライバシーやモデルの透明性などの観点から生成 AI を開発する側にも活用する側にも責任あるAIが求められています。また、生成 AI を利用したシステムに対する外部からの攻撃や不正アクセスなどの脅威も懸念されています。本セッションでは、これらのセキュリティ課題とその対策に焦点を当て、AWS 環境において生成AIを安全かつ信頼性の高い技術として展開するための方法について解説します。

セッションスピーカー: 保⾥ 善太

所属:アマゾン ウェブ サービス ジャパン 合同会社 プロフェッショナルサービス本部

本セッションについて

対象者

  • AIエンジニア
  • AIプロジェクトの責任者

ゴール

  • 生成AIの倫理に関するリスクとセキュリティ脆弱性リスクを知る
  • 生成AIの倫理に関するリスクへの対策方法を知る
  • 生成AIの倫理に関するセキュリティ脆弱性への対策方法を知る

アジェンダ

  • 生成AIを取り巻く課題とリスク
  • 生成AIの倫理に関するリスクへの対策(責任あるAIの実現)
  • 生成AIのセキュリティ脆弱性への対策
  • まとめ

セッションレポート

生成AIを取り巻く課題とリスク

生成AIがもたらすリスクと課題の代表例

  • AI倫理に関するリスク
    • 信憑性のリスク
    • 有害性と安全性のリスク
    • 知的財産侵害のリスク
    • データプライバシーの侵害のリスク
  • AI脆弱性のリスク
    • プロジェクトインジェクション
    • モデルのDoS
    • 機密情報の漏洩

AI倫理に関するリスク

  • 信憑性のリスク
    • プロンプトまたは外部知識の入力から、もっともらしいが虚偽である出力を行うリスク
  • 有害性と安全性のリスク
    • 性別と職業に関するステレオタイプ
    • 侮辱的な発言をするリスク
    • 差別的リスク
  • 知的財産侵害のリスク
    • コントロールされていない基盤モデルは学習データに類似した出力を行う傾向があり、プライバシーと著作権に関する懸念がある

AI脆弱性のリスク

  • プロンプトインジェクション
    • フィルターをバイパスしたり、意図的に作成されたプロンプトを使用してモデルを操作して、モデルに意図しないアクションを実行させる
    • 悪意のあるユーザーがモデルに対して、機密情報を開示させるような質問をする
  • OWASP Top 10 for LLM Applications
    • 脆弱性とセキュリティガイドラインに関するレポート
  • 生成AIの侵害されうる脆弱性リスクについて記載されたフレームワーク
    • ガイドラインとフレームワーク
      • 2つに分類できる。責任あるAIと脆弱性

生成AIの倫理に関するリスクへの対策(責任あるAIの実現)

責任あるAIの実現

  • AWSの責任あるAIのコアディメンション
    • 公平性
      • バイアスや異なる利害関係者への影響がないか
    • 説明可能性
      • 出力は完全にコントロールできないが、評価する必要がある
    • 制御性
    • 安全性
    • プライバシーとセキュリティ
    • ガバナンス
    • 透明性
    • 正確性と堅牢性
      • AWSはデータを定量的に図っている
  • AWSの安全なAIサービスへの取り組み
    • AIマネジメントシステム規格の原則に沿った取り組み
    • 安心安全に対するリスクベースアプローチ
      • ユースケース分析
      • 安全性評価
      • 責任あるAIに関するテスト
        • AWS側で検証している
  • AWS AIサービスカードによる透明性の向上
    • どういったことに気をつけるかなど、ベストプラクティスが基盤モデルごとにドキュメントでまとめられている
  • 安全なAIサービスへの取り組み
    • Amazon Titan FM
      • 顧客のデータから有害コンテンツを削除する機能がある
    • Amazon Q Developer
      • コードにセキュリティリスクがないかチェックする機能がある
  • Amazon Bedrockによる安全性の高いAIの実現
    • Bedrockを活用することで、お客様は生成AIの責任の一部をAWSへオフロードできる
  • Amazon Bedrockのデータ保護
    • お客様のデータは改善に利用されない
    • 第三者のモデルプロバイダーにも共有されない
    • データ転送中や保存中も暗号化される

Guardrails for Amazon Bedrock

  • 責任あるAIポリシーに基づいて、問題がある入力をブロックするサービス
  • 仕組み
    1. ユーザーの入力に対して、プロンプトフィルターでチェック
    2. 基盤モデルの出力にも応答フィルターでチェック
    • マッチング内容4つ
      • 拒否トピック
      • コンテンツフィルター
      • 機密情報フィルター
      • ワードフィルター
  • 拒否トピック
    • 望ましくないトピックを回避できる
      • 例えば、投資や医療に関するアドバイスはしないように自然言語で設定できる
    • 禁止するフレーズや質問の例を事前に記載しておく
  • コンテンツフィルター
    • 有害コンテンツをカテゴリ別でフィルタリング可能
      • 憎悪
      • 侮辱
        • などなど
  • ワードフィルター
    • 特定のワードに対してフィルタリングする機能
      • 例えば、侮辱するような言葉
    • カスタムで単語を設定することも可能
  • 機密情報フィルター
    • ユーザーの電話番号などの個人情報をマスクやブロックする

ガードレールの違反検出結果

  • 「株式に投資したら、確実にリターンを得ることはできますか?」と聞くと
    • →「すいません。この質問は利用ポリシー違反です」と回答される
      • 拒否トピックで検知されブロックされていることがわかる

Amazon Bedrockのモデル評価

  • 最新版の基盤モデルは利用できない
  • 東京リージョンでも利用可能
  • モデル評価とは
    • アウトプットの品質を測定する
    • モデル入力→モデル出力 → Responsible AI 評価アルゴリズム → 評価出力
      • 例:性別に基づくステレオタイプのスコアリングが可能
  • モデルの自動評価または人間による評価が利用可能
    • 自動評価
      • 正解率
      • 堅牢性
      • 有害性
    • 人間による評価
      • 独自に決める
  • モデルの自動評価の仕組み
    • モデルを選択 → タスクタイプを選択 → メトリクスを選択 → 組み込みデータセットの選択/独自データセットをアップロード → 推論とスコアリング → 結果を表示
  • モデル評価結果の例
    • 自動評価レポート
      • 正解率、堅牢性、有害性のスコア結果が確認できる
    • 人間による評価レポート
      • メトリクスで確認できる

生成AIのセキュリティ脆弱性への対策

セキュリティ脆弱性への対策

  • Amazon BedrockのKMS暗号化オプションによるデータ保護
    • できるだけ有効化にすることが望ましい
  • Amazon BedrockのIDとアクセス管理
    • Bedrockはリソースベースのポリシーをサポートしていない
    • アイデンティティベースのポリシーを活用すること
    • IAMポリシーによる最小権限の付与
      • 特にアプリケーションにアタッチするIAMロールは最小権限にする
  • Amazon Bedrockはガバナンスと可監査性をサポート
    • データやメトリクスを追跡
    • Amazon Bedrockに関連する各種ログ
      • アプリログ記録は、CloudWatch Logs
      • モデル呼出しのログ記録は、CloudWatch Logs or S3バケット
      • 各種メトリクスは、CloudWatch
      • API呼出しのログ記録は、CloudTrail

プロンプトインジェクションへの対策

  • 2種類のプロンプトインジェクション
    • 直接プロンプトインジェクション
      • 悪意のあるユーザーがアプリケーションに直接プロンプトを投げる
    • 間接プロンプトインジェクション
      • 事前に、悪意のあるユーザーが外部情報源に対してプロンプトの埋め込みを行う。
      • 通常の利用ユーザーは、汚染された応答を受ける
  • 生成AIアプリケーション
    1. ユーザーがCognitoで認証
    2. API Gatewayにプロンプトを投げる
      • 直接プロンプトインジェクション
    3. Lambdaがデータを検索(Kendraなど)
      • 間接プロンプトインジェクション
    4. LambdaがBedrockに推論を投げる
    5. 結果がユーザーに返る
  • プロンプトインジェクションへの対策
    • あらゆるシステムへのアクセスは最小権限にする
      • Lambda
    • 人が判断する
      • ユーザーに認証やメールするなどは人が判断する
    • 外部コンテンツをユーザープロンプトから分離
      • Kendra。ユーザーのプロンプトとバックエンドを分離する
    • 信頼境界の確立
      • AWS WAFを導入
      • 入力検証やサニタイズ
  • プロンプトアタックによるプロンプト入力の検証が可能

まとめ

生成AIのリスクは、倫理に関するリスクとセキュリティ脆弱性リスクの2つがある

  • 倫理に関するリスクの対策方法
    • Bedrockを活用することで、お客様は生成AIの責任の一部をAWSへオフロードできる
    • データ保護規則を理解する
    • Guardrails for Amazon Bedrockやモデル評価を利用する
  • セキュリティ脆弱性リスクの対策方法
    • プロンプトインジェクションをはじめとしたセキュリティ脆弱性は、OWASPを参照する
    • Bedrockを正しく設定する

感想

このセッションを通して、生成AIを取り巻く倫理的リスクとセキュリティ脆弱性について理解を深めることができました。

特に印象的だったのは、Amazon Bedrockによって企業が生成AIの責任の一部をAWSへオフロードできる点と、Guardrails for Amazon Bedrockで望ましくないコンテンツをフィルタリングできる点です。

Guardrails for Amazon Bedrockは頻繁にアップデートされており、全ての機能を把握できていないため、このセッションを機に、実際に触れてみることで理解を深めたいと思います。

AWSが提供するサービスを適切に活用することで、企業は生成AIを安全に導入できるのだと理解しました。セキュリティと倫理への配慮は非常に重要ですが、AWSのサービスを効果的に使うことで、十分な対策を講じることができそうです。