Skip to content

Latest commit

 

History

History
507 lines (354 loc) · 42.7 KB

File metadata and controls

507 lines (354 loc) · 42.7 KB

MCP セキュリティ: AI システムの包括的保護

MCP Security Best Practices

(上記の画像をクリックすると、このレッスンのビデオが視聴できます)

セキュリティは AI システム設計の基本であり、そのため当社は第二セクションとして最優先しています。これは Microsoft の Secure Future Initiative にある Secure by Design の原則と合致しています。

Model Context Protocol (MCP) は AI 駆動型アプリケーションに強力な新機能をもたらしますが、従来のソフトウェアリスクを超える独特のセキュリティ課題も導入します。MCP システムは既存のセキュリティ問題(セキュアコーディング、最小特権、サプライチェーンセキュリティ)だけでなく、プロンプトインジェクション、ツールポイズニング、セッションハイジャック、混乱代理攻撃、トークンパススルー脆弱性、動的能力変更などの AI 特有の脅威にも直面します。

このレッスンでは MCP 実装における最も重要なセキュリティリスクを探り、認証、認可、過剰な権限、間接的なプロンプトインジェクション、セッションセキュリティ、混乱代理問題、トークン管理、サプライチェーンの脆弱性をカバーします。Microsoft の Prompt Shields、Azure Content Safety、GitHub Advanced Security といったソリューションを活用し、MCP 配備を強化するための実践的な対策とベストプラクティスを学びます。

学習目標

このレッスンの終了時には以下ができるようになります:

  • MCP 特有の脅威を識別する: プロンプトインジェクション、ツールポイズニング、過剰権限、セッションハイジャック、混乱代理問題、トークンパススルー脆弱性、サプライチェーンリスクなど、MCP システムに特有のセキュリティリスクを認識する
  • セキュリティコントロールを適用する: 強固な認証、最小権限アクセス、安全なトークン管理、セッションセキュリティ制御、サプライチェーン検証など効果的な緩和策を実装する
  • Microsoft のセキュリティソリューションを活用する: MCP ワークロード保護のために Microsoft Prompt Shields、Azure Content Safety、GitHub Advanced Security を理解し展開する
  • ツールセキュリティを検証する: ツールメタデータ検証の重要性、動的変更の監視、間接的なプロンプトインジェクション攻撃の防御を認識する
  • ベストプラクティスを統合する: セキュアコーディング、サーバーハードニング、ゼロトラストなど確立されたセキュリティ基盤と MCP 特有のコントロールを組み合わせて包括的な保護を実現する

MCP セキュリティアーキテクチャとコントロール

最新の MCP 実装は、従来のソフトウェアセキュリティと AI 特有の脅威の両方に対応する多層的なセキュリティアプローチを必要としています。急速に進化する MCP 仕様はセキュリティコントロールを成熟させ続け、企業のセキュリティアーキテクチャや確立されたベストプラクティスとのより良い統合を可能にしています。

Microsoft Digital Defense Report の研究によると、報告された侵害の98%は堅牢なセキュリティ衛生で防止可能であることが示されています。最も効果的な保護戦略は基礎的なセキュリティ対策と MCP 特有のコントロールを組み合わせたものであり、確立されたベースラインのセキュリティ対策は総体的なリスク低減に最も大きな効果があります。

現在のセキュリティ状況

注意: この情報は 2026年2月5日 時点の MCP セキュリティ標準を反映しており、MCP 仕様 2025-11-25 に沿っています。MCP プロトコルは急速に進化しており、将来の実装では新たな認証パターンや強化されたコントロールが導入される可能性があります。常に最新の MCP 仕様MCP GitHub リポジトリ、および セキュリティベストプラクティス文書 を参照してください。

🏔️ MCP セキュリティサミットワークショップ(Sherpa)

実践的なセキュリティトレーニング をお求めの方に、Microsoft Azure 上の MCP サーバーを安全に構築するための包括的なガイドツアーである MCP セキュリティサミットワークショップ(Sherpa) を強く推奨します。

ワークショップ概要

MCP セキュリティサミットワークショップ は、「脆弱 → 攻撃 → 修正 → 検証」の手法に基づいた実践的で即効性のあるトレーニングを提供します。参加者は以下を行います:

  • 問題を実際に破って学ぶ: 故意に脆弱に設定されたサーバーを攻撃しながら学習する
  • Azure ネイティブセキュリティを活用する: Azure Entra ID、Key Vault、API Management、AI Content Safety を利用する
  • 多層防御を実践: キャンプを順に進みながら包括的な防御層を構築する
  • OWASP 標準に準拠: すべての技術は OWASP MCP Azure Security Guide に対応している
  • 実稼働コードの習得: 動作確認済みの実装を習得できる

入山ルート

キャンプ フォーカス 対応 OWASP リスク
ベースキャンプ MCP 基礎&認証脆弱性 MCP01, MCP07
キャンプ1:アイデンティティ OAuth 2.1、Azure 管理ID、Key Vault MCP01, MCP02, MCP07
キャンプ2:ゲートウェイ API Management、プライベートエンドポイント、ガバナンス MCP02, MCP07, MCP09
キャンプ3:I/Oセキュリティ プロンプトインジェクション、PII 保護、コンテンツセーフティ MCP03, MCP05, MCP06
キャンプ4:モニタリング ログ分析、ダッシュボード、脅威検出 MCP08
サミット レッドチーム / ブルーチーム統合テスト 全リスク

参加はこちら: https://azure-samples.github.io/sherpa/

OWASP MCP トップ 10 セキュリティリスク

OWASP MCP Azure Security Guide は MCP 実装で最も重要な 10 のセキュリティリスクを詳細に説明しています:

リスク 説明 Azure緩和手段
MCP01 トークン誤管理とシークレット漏洩 Azure Key Vault、Managed Identity
MCP02 スコープの増加による権限昇格 RBAC、条件付きアクセス
MCP03 ツールポイズニング ツール検証、整合性確認
MCP04 サプライチェーン攻撃 GitHub Advanced Security、依存性スキャン
MCP05 コマンドインジェクションと実行 入力検証、サンドボックス
MCP06 コンテキスト入りプロンプトインジェクション Azure AI Content Safety、Prompt Shields
MCP07 不十分な認証と認可 Azure Entra ID、PKCE対応 OAuth 2.1
MCP08 監査・テレメトリの不足 Azure Monitor、Application Insights
MCP09 シャドウ MCP サーバー API センターガバナンス、ネットワーク分離
MCP10 コンテキストインジェクションと過剰公開 データ分類、最小公開

MCP 認証の進化

MCP 仕様は認証と認可のアプローチで大きく進化しています:

  • 初期のアプローチ: 開発者がカスタム認証サーバーを実装し、MCP サーバーが OAuth 2.0 認可サーバーとしてユーザー認証を直接管理していた
  • 現行標準 (2025-11-25): MCP サーバーは Microsoft Entra ID などの外部アイデンティティプロバイダーに認証委任が可能となり、セキュリティ向上と実装複雑度の低減を実現
  • トランスポート層セキュリティ: ローカル(STDIO)およびリモート(ストリーム可能な HTTP)接続に対し適切な認証パターンを備えた安全なトランスポート機構のサポート強化

認証と認可のセキュリティ

現状のセキュリティ課題

最新の MCP 実装では以下の認証・認可に関する課題に直面しています:

リスクと脅威ベクター

  • 認可ロジックの誤設定: MCP サーバーの認可実装ミスにより機密データが露出し、不適切なアクセス制御が適用される
  • OAuth トークンの侵害: ローカル MCP サーバーのトークン窃盗により攻撃者がサーバーを偽装し下流サービスへアクセス可能
  • トークンパススルー脆弱性: トークンの誤った扱いがセキュリティコントロールの迂回や責任追跡の欠落をもたらす
  • 過剰な権限: 最小権限の原則を無視し権限過多な MCP サーバーが攻撃対象領域を拡大する

トークンパススルー: 重大なアンチパターン

現在の MCP 認可仕様ではトークンパススルーが明確に禁止されており、その理由は重大なセキュリティインパクトによります:

セキュリティコントロール回避
  • MCP サーバーと下流 API はレート制限、リクエスト検証、トラフィック監視など重要なセキュリティコントロールを適切なトークン検証に依存している
  • クライアントから API へのトークン直接利用はこれら保護を迂回し、セキュリティ構造を破壊する
責任追跡・監査困難
  • MCP サーバーは上流発行トークンの使用者を区別できず、監査記録が断絶する
  • 下流のリソースサーバーログは実際の MCP サーバー中継を隠し、誤ったリクエスト元を記録する
  • インシデント調査やコンプライアンス監査が著しく困難となる
データ流出リスク
  • 未検証のトークンクレームにより盗難トークンを持つ悪意ある者が MCP サーバーを経由したデータ流出プロキシとして利用可能
  • 信頼境界が破られ、意図しないアクセスパターンが発生
複数サービス攻撃ベクター
  • 複数サービスで受け入れられる侵害トークンによる横移動攻撃
  • トークン起源が検証できないことでサービス間の信頼関係が崩壊

セキュリティコントロールと緩和策

重要なセキュリティ要件:

必須: MCP サーバーは MCP サーバー向けに明示的に発行されていないトークンを一切受け入れてはならない

認証・認可コントロール

アクセス制御実装

  • 最小権限の原則: MCP サーバーに意図された機能に必要最小限の権限のみを付与

  • ロールベースアクセス制御 (RBAC): 詳細粒度のロール割り当てを実装

    • 役割を特定リソースと操作に厳密にスコープ設定
    • 攻撃面拡大につながる広範または不要な権限を避ける
  • 継続的な権限監視: アクセス監査およびモニタリングを継続的に実施

    • 権限利用パターンの異常を監視
    • 過剰または未使用権限は迅速に修正

AI 特有のセキュリティ脅威

プロンプトインジェクションとツール操作攻撃

最新の MCP 実装は従来のセキュリティ対策では対応しきれない高度な AI 固有の攻撃ベクターに直面しています:

間接的プロンプトインジェクション(クロスドメインプロンプトインジェクション)

間接的プロンプトインジェクションは MCP 対応 AI システムにおける最も重大な脆弱性の一つです。攻撃者は悪意ある命令を外部のコンテンツ(ドキュメント、ウェブページ、メール、データソースなど)に埋め込み、AI システムがそれを合法的な指示として処理するように仕向けます。

攻撃シナリオ:

  • ドキュメントベースのインジェクション: 処理中のドキュメント内に隠された悪意ある命令が AI の意図しない動作を誘発
  • ウェブコンテンツの悪用: スクレイピングされる悪意のあるウェブページ内に埋め込まれたプロンプトが AI 挙動を操作
  • メールを介した攻撃: メールに埋め込まれた悪意あるプロンプトが AI アシスタントに情報漏洩や不正動作を引き起こす
  • データソース汚染: 改ざんされたデータベースや API が汚染されたコンテンツを AI システムに提供

実際の影響: これらの攻撃はデータ流出、プライバシー侵害、有害コンテンツ生成、ユーザー操作の不正操作に繋がります。詳しい分析は Prompt Injection in MCP (Simon Willison) を参照してください。

Prompt Injection Attack Diagram

ツールポイズニング攻撃

ツールポイズニングは MCP ツールを定義するメタデータを狙った攻撃であり、LLM がツール記述やパラメーターを解釈して実行判断を行う仕組みを悪用します。

攻撃手法:

  • メタデータ操作: 攻撃者がツール説明、パラメーター定義、使用例に悪意のある命令を注入
  • 不可視の命令: AI モデルは処理するが人間ユーザーには見えないツールメタデータ内の隠れたプロンプト
  • 動的ツール変更(“ラグプル”): ユーザー承認済みツールが後で悪意ある動作をするよう改変される
  • パラメーターインジェクション: ツールパラメータスキーマ内に悪意ある内容が埋め込まれ、モデル挙動に影響

ホスティングサーバーのリスク: リモート MCP サーバーはユーザー承認後にツール定義を更新できるため、かつて安全だったツールが悪意を持つものに変わる可能性がありリスクが高まります。詳細な分析は Tool Poisoning Attacks (Invariant Labs) をご覧ください。

Tool Injection Attack Diagram

追加の AI 攻撃ベクター

  • クロスドメインプロンプトインジェクション (XPIA): 複数ドメインのコンテンツを利用してセキュリティコントロールを回避する高度な攻撃
  • 動的能力変更:初期のセキュリティ評価を回避するツール能力のリアルタイム変更
  • コンテキストウィンドウ汚染:大きなコンテキストウィンドウを操作して悪意のある指示を隠す攻撃
  • モデル混乱攻撃:モデルの制限を悪用し予測不能または安全でない動作を引き起こす攻撃

AIセキュリティリスクの影響

高影響の結果:

  • データ流出:不正アクセスによる企業や個人の機密データの盗難
  • プライバシー侵害:個人識別情報(PII)や機密ビジネスデータの暴露
  • システム操作:重要なシステムやワークフローの意図しない変更
  • 認証情報盗難:認証トークンやサービス認証情報の漏洩
  • 横移動:侵害されたAIシステムを利用したより広範なネットワーク攻撃への踏み台利用

Microsoft AIセキュリティソリューション

AIプロンプトシールド:インジェクション攻撃に対する高度な防御

MicrosoftのAIプロンプトシールドは、複数のセキュリティ層を通じて直接的および間接的なプロンプトインジェクション攻撃に対し包括的な防御を提供します。

コア保護機構:
  1. 高度な検出とフィルタリング

    • 機械学習アルゴリズムと自然言語処理技術で外部コンテンツ内の悪意ある指示を検知
    • 文書、ウェブページ、メール、データソースのリアルタイム分析による埋め込み脅威の検出
    • 正当なプロンプトパターンと悪意のあるパターンの文脈理解
  2. スポットライト技術

    • 信頼できるシステム指示と潜在的に侵害された外部入力の区別
    • モデルの関連性を高めつつ悪意ある内容を分離するテキスト変換手法
    • AIシステムが適切な指示階層を維持し、注入コマンドを無視するのに寄与
  3. 区切り文字およびデータマークシステム

    • 信頼されたシステムメッセージと外部入力テキスト間の明確な境界定義
    • 信頼できるデータソースとそうでないものの境界を示す特殊マーカー
    • 指示の混同や不正命令実行の防止に役立つ明確な分離
  4. 継続的脅威インテリジェンス

    • Microsoftが新たな攻撃パターンを常時監視し防御を更新
    • 新たなインジェクション技術や攻撃ベクターに対する積極的な脅威ハンティング
    • 進化する脅威に対抗するための定期的なセキュリティモデル更新
  5. Azure Content Safety統合

    • 包括的なAzure AI Content Safetyスイートの一部
    • ジェイルブレイク試行、有害コンテンツ、セキュリティポリシー違反に対する追加検出
    • AIアプリケーションコンポーネント全体にわたる統合セキュリティ制御

実装リソース: Microsoft Prompt Shields Documentation

Microsoft Prompt Shields Protection

高度なMCPセキュリティ脅威

セッションハイジャックの脆弱性

セッションハイジャックは、ステートフルなMCP実装において不正な当事者が正当なセッション識別子を取得し悪用することで、クライアントになりすまし不正操作を行う重大な攻撃ベクトルを指します。

攻撃シナリオとリスク

  • セッションハイジャックによるプロンプトインジェクション:盗用されたセッションIDを持つ攻撃者がセッション状態を共有するサーバーに悪意あるイベントを注入し、有害動作や機密データアクセスを引き起こす可能性
  • 直接なりすまし:盗まれたセッションIDで認証をバイパスし、攻撃者を正当ユーザーとしてMCPサーバーへ直接呼び出せる
  • 中断された再開可能ストリームの悪用:攻撃者がリクエストを早期終了させ、正当なクライアントが悪意あるコンテンツで再開するよう誘導可能

セッション管理のセキュリティ制御

重要要件:

  • 認可検証:認可を実装するMCPサーバーは全ての入電リクエストを検証し、認証のためにセッションを使用してはならない
  • 安全なセッション生成:安全な乱数生成器で非決定論的かつ暗号学的に安全なセッションIDを使用
  • ユーザー固有の紐付け<user_id>:<session_id>形式等でユーザー固有情報にセッションIDを結びつけ、ユーザー間のセッション不正利用を防止
  • セッションライフサイクル管理:適切な有効期限、ローテーション、無効化を実装し脆弱性期間を最小化
  • 通信の保護:セッションIDの傍受防止のためすべてHTTPS必須

混乱代理問題

混乱代理問題は、MCPサーバーがクライアントとサードパーティサービス間で認証プロキシとして機能する際に、静的なクライアントIDが悪用され認可バイパスが発生する課題です。

攻撃メカニズムとリスク

  • Cookieベース同意バイパス:過去のユーザー認証により作成された同意Cookieを、悪意あるリダイレクトURIを用いた認可リクエストで攻撃者が利用
  • 認可コード窃取:既存の同意Cookieによって認可サーバーが同意画面をスキップし、コードを攻撃者管理下のエンドポイントにリダイレクト可能
  • 不正APIアクセス:盗まれた認可コードによりトークン交換とユーザーになりすましが承認なしに可能

緩和策

必須制御:

  • 明示的同意義務:静的クライアントIDを使用するMCPプロキシは、動的に登録されるクライアントについて必ずユーザー同意を得ること
  • OAuth 2.1セキュリティ実装:すべての認可リクエストでPKCE等最新のOAuthベストプラクティスを適用
  • 厳格なクライアント検証:リダイレクトURIやクライアント識別子の厳格な検証で悪用を防止

トークンパススルーの脆弱性

トークンパススルーは、MCPサーバーがクライアントトークンを適切な検証なしに受け入れ、下流APIに転送するという明確なアンチパターンであり、MCP認可仕様に違反します。

セキュリティ影響

  • 制御回避:クライアントからAPIへの直接トークン利用によりレート制限、検証、監視が回避
  • 監査証跡破損:発行元不明のトークンでクライアント特定不能となり事故調査が困難
  • プロキシによるデータ流出:検証されていないトークンにより攻撃者がサーバーを経由した不正データアクセスが可能に
  • 信頼境界破壊:下流サービスの信頼前提がトークン起源の不明確さで侵害される恐れ
  • 複数サービスへの攻撃拡大:複数サービスで受け入れられた侵害トークンにより横展開を助長

必須セキュリティ制御

譲れない要件:

  • トークン検証:MCPサーバーは明確にMCPサーバー用に発行されたトークン以外を受け入れてはならない
  • Audience検証:必ずトークンのAudienceクレームがMCPサーバーIDと一致することを検証
  • 適切なトークンライフサイクル:短命アクセストークンを安全にローテーション実装

AIシステムのサプライチェーンセキュリティ

サプライチェーンセキュリティは従来のソフトウェア依存関係を超えてAIエコシステム全体を包含するように進化しています。現代のMCP実装はすべてのAI関連コンポーネントを厳密に検証・監視し、各要素が潜在的にシステムの整合性を損なう脆弱性を持つ可能性を排除する必要があります。

拡大するAIサプライチェーンコンポーネント

従来のソフトウェア依存関係:

  • オープンソースライブラリおよびフレームワーク
  • コンテナイメージおよびベースシステム
  • 開発ツールおよびビルドパイプライン
  • インフラコンポーネントおよびサービス

AI特有のサプライチェーン要素:

  • ファウンデーションモデル:提供元が多様な事前学習モデル、出所検証が必要
  • 埋め込みサービス:外部のベクトル化および意味検索サービス
  • コンテキスト提供者:データソース、ナレッジベース、文書リポジトリ
  • サードパーティAPI:外部AIサービス、MLパイプライン、データ処理エンドポイント
  • モデルアーティファクト:重み、構成、ファインチューニング済みモデルバリアント
  • トレーニングデータソース:モデル学習および微調整のためのデータセット

包括的なサプライチェーンセキュリティ戦略

コンポーネント検証と信頼

  • 出所検証:すべてのAIコンポーネントの由来、ライセンス、完全性を統合前に確認
  • セキュリティ評価:モデル、データソース、AIサービスの脆弱性スキャンとレビュー実施
  • 評判分析:AIサービス提供者のセキュリティ実績と運用状況を評価
  • コンプライアンス検証:組織のセキュリティおよび規制要件を満たしていることを確保

安全なデプロイパイプライン

  • 自動化されたCI/CDセキュリティ:デプロイ全体にセキュリティスキャンを組み込み
  • アーティファクト完全性:コード、モデル、設定など全ての展開アーティファクトに暗号検証を実装
  • 段階的デプロイ:各段階でのセキュリティ検証を行う漸進的展開戦略
  • 信頼されたアーティファクトリポジトリ:検証済み安全アーティファクトのみを認可リポジトリから展開

継続的監視と対応

  • 依存関係スキャン:すべてのソフトウェアおよびAIコンポーネント依存関係の脆弱性を継続的に監視
  • モデル監視:モデルの振る舞い、性能劣化、セキュリティ異常を常時評価
  • サービス状態追跡:外部AIサービスの可用性、セキュリティ事象、方針変更を監視
  • 脅威インテリジェンス統合:AIおよびMLセキュリティリスクに特化した脅威フィードを活用

アクセス制御と最小権限

  • コンポーネントレベル権限:ビジネス必要性に基づきモデル、データ、サービスへのアクセス制限
  • サービスアカウント管理:最小限の権限を持つ専用サービスアカウントの使用
  • ネットワーク分離:AIコンポーネントを孤立化しサービス間通信を限定
  • APIゲートウェイ制御:外部AIサービスへのアクセスを一元管理し監視

インシデント対応と復旧

  • 迅速対応手順:侵害されたAIコンポーネントのパッチ適用や代替手段の確立
  • 認証情報ローテーション:秘密情報、APIキー、サービス認証情報の自動更新システム
  • ロールバック機能:既知の安全な以前バージョンへの即時戻しが可能
  • サプライチェーン侵害復旧:上流AIサービスの侵害事象に対応する具体的手順

Microsoftセキュリティツールと統合

GitHub Advanced Securityは包括的なサプライチェーン保護を提供し、次を含みます:

  • シークレットスキャン:リポジトリ内の認証情報、APIキー、トークンの自動検出
  • 依存関係スキャン:オープンソース依存関係およびライブラリの脆弱性評価
  • CodeQL解析:静的コード解析によるセキュリティ脆弱性とコーディング問題の検出
  • サプライチェーンインサイト:依存関係の健全性とセキュリティ状況の可視化

Azure DevOps & Azure Repos統合:

  • Microsoft開発プラットフォーム全体でのシームレスなセキュリティスキャン統合
  • AIワークロード向けAzure Pipelinesでの自動セキュリティチェック
  • セキュアなAIコンポーネントデプロイのためのポリシー強制

Microsoft社内部プラクティス:
Microsoftは全製品にわたる広範なサプライチェーンセキュリティ実践を実施。詳細はThe Journey to Secure the Software Supply Chain at Microsoftを参照。

基盤セキュリティベストプラクティス

MCP実装は組織の既存セキュリティ体制を継承し発展させます。基盤的なセキュリティ実践の強化は、AIシステム及びMCP展開の全体的な安全性を飛躍的に向上させます。

コアセキュリティ基本

安全な開発実践

  • OWASP準拠OWASP Top 10のウェブアプリケーション脆弱性から防御
  • AI固有保護OWASP Top 10 for LLMsに基づく対策
  • 安全なシークレット管理:トークン、APIキー、機密構成の専用管理ボールト使用
  • エンドツーエンド暗号化:全アプリケーションコンポーネントとデータフロー間の安全通信を実装
  • 入力バリデーション:全ユーザー入力、APIパラメータ、データソースの厳格な検証

インフラハードニング

  • 多要素認証:管理者およびサービスアカウント全てに必須
  • パッチ管理:OS、フレームワーク、依存関係の自動かつ迅速なパッチ適用
  • IDプロバイダ統合:Microsoft Entra ID、Active Directory等の企業ID管理の一元化
  • ネットワーク分割:MCPコンポーネントの論理分離による横移動防止
  • 最小権限の原則:すべてのシステムコンポーネントとアカウントで最小権限を適用

セキュリティ監視と検出

  • 包括的ログ記録:MCPクライアント・サーバー間のやり取りを含むAIアプリケーション活動の詳細ログ
  • SIEM統合:異常検知のための中央集中型セキュリティ情報・イベント管理
  • 行動分析:AI活用によるシステム・ユーザーの異常行動検出
  • 脅威インテリジェンス:外部の脅威フィードや侵害指標(IOC)との連携
  • インシデント対応:検出対応回復のための明確な手順

ゼロトラストアーキテクチャ

  • 決して信頼せず、常に検証:ユーザー、デバイス、ネットワーク接続を継続的に検証
  • マイクロセグメンテーション:細分化したネットワーク制御で個々のワークロード・サービスを隔離
  • アイデンティティ中心のセキュリティ:ネットワーク位置ではなく検証済みIDベースのセキュリティポリシー
  • 継続的リスク評価:現在の文脈・行動に基づく動的なセキュリティ状態評価
  • 条件付きアクセス:リスク要因、場所、デバイス信頼度に基づいた適応型アクセス制御

エンタープライズ統合パターン

Microsoftセキュリティエコシステム統合

  • Microsoft Defender for Cloud:包括的なクラウドセキュリティ姿勢管理
  • Azure Sentinel:AIワークロード保護に対応したクラウドネイティブSIEM/SOAR
  • Microsoft Entra ID:条件付きアクセスを備えた企業IDとアクセス管理
  • Azure Key Vault:ハードウェアセキュリティモジュール(HSM)を活用した中央秘密管理
  • Microsoft Purview:AIデータソースおよびワークフローのデータガバナンス・コンプライアンス

コンプライアンスとガバナンス

  • 規制整合:MCP実装がGDPR、HIPAA、SOC 2等の業界特有の規制要件に適合
  • データ分類:AIシステムが処理する機密データの適切な分類と取り扱い
  • 監査証跡:規制遵守と法医学調査のための包括的なログ記録
  • プライバシー制御:AIシステムアーキテクチャにプライバシーバイデザイン原則を適用
  • 変更管理:AIシステム変更に対する正式なセキュリティレビュー手続き

これらの基盤的実践は堅牢なセキュリティベースラインを築き、MCP固有のセキュリティ制御の効果を高め、AI駆動アプリケーションに対する包括的な保護を提供します。

重要なセキュリティの要点

  • 多層的なセキュリティアプローチ: 基盤となるセキュリティ実践(安全なコーディング、最小権限、サプライチェーンの検証、継続的な監視)とAI固有の制御を組み合わせて包括的な保護を実現する

  • AI固有の脅威環境: MCPシステムはプロンプトインジェクション、ツール中毒、セッションハイジャック、混乱した代行者問題、トークンパススルーの脆弱性、過剰な権限などの固有のリスクに直面しており、これらには専門的な緩和策が必要

  • 認証と認可の優秀性: 外部IDプロバイダー(Microsoft Entra ID)を用いた堅牢な認証を実装し、適切なトークン検証を強制し、MCPサーバー向けに明示的に発行されていないトークンは決して受け入れない

  • AI攻撃の防止: Microsoft Prompt ShieldsおよびAzure Content Safetyを展開して間接的なプロンプトインジェクションおよびツール中毒攻撃から防御し、ツールのメタデータを検証し動的な変更を監視する

  • セッションおよび通信のセキュリティ: 暗号学的に安全で非決定論的なセッションIDをユーザーIDに紐付け、適切なセッションライフサイクル管理を実施し、認証にセッションを決して使用しない

  • OAuthセキュリティのベストプラクティス: 動的に登録されたクライアントに対して明示的なユーザー同意を要求して混乱した代行者攻撃を防止し、PKCEを用いた適切なOAuth 2.1実装および厳密なリダイレクトURI検証を行う

  • トークンセキュリティの原則: トークンパススルーのアンチパターンを避け、トークンのaudienceクレームを検証し、短命なトークンを安全にローテーションし、明確な信頼境界を維持する

  • 包括的なサプライチェーンセキュリティ: AIエコシステムの全コンポーネント(モデル、埋め込み、コンテキストプロバイダー、外部API)を伝統的なソフトウェア依存関係と同様の厳格なセキュリティで扱う

  • 継続的な進化: 急速に変化するMCP仕様に最新の状態を保ち、セキュリティコミュニティの標準に貢献し、プロトコル成熟に合わせて適応的なセキュリティ態勢を維持する

  • Microsoftのセキュリティ統合: Microsoftの包括的なセキュリティエコシステム(Prompt Shields、Azure Content Safety、GitHub Advanced Security、Entra ID)を活用してMCP展開の保護を強化する

包括的なリソース

公式MCPセキュリティドキュメント

OWASP MCPセキュリティリソース

セキュリティ標準&ベストプラクティス

AIセキュリティ研究&分析

Microsoftセキュリティソリューション

実装ガイド&チュートリアル

DevOps&サプライチェーンセキュリティ

追加のセキュリティドキュメント

包括的なセキュリティガイダンスについては、本セクションの以下専門文書を参照してください:

実践型セキュリティトレーニング


次に進む

次へ: 第3章: はじめに


免責事項
本書類はAI翻訳サービスCo-op Translatorを使用して翻訳されています。正確性の確保に努めておりますが、自動翻訳には誤りや不正確な箇所が含まれる場合があります。原文の原語版を正式な情報源としてご参照ください。重要な内容については、専門の翻訳者による翻訳をお勧めします。本翻訳の利用により生じたいかなる誤解や誤訳についても、当方は責任を負いかねますのでご了承ください。