Obowiązujący Standard: Ten dokument odzwierciedla wymagania bezpieczeństwa MCP Specification 2025-06-18 oraz oficjalne MCP Security Best Practices.
Model Context Protocol (MCP) znacząco się rozwinął, wprowadzając ulepszone kontrole bezpieczeństwa, które uwzględniają zarówno tradycyjne zagrożenia związane z oprogramowaniem, jak i specyficzne dla AI. Ten dokument przedstawia kompleksowe kontrole bezpieczeństwa dla bezpiecznych implementacji MCP na sierpień 2025.
ZABRONIONE: Serwery MCP NIE MOGĄ akceptować żadnych tokenów, które nie zostały wyraźnie wydane dla serwera MCP
ZAKAZANE: Serwery MCP NIE MOGĄ używać sesji do uwierzytelniania
WYMAGANE: Serwery MCP implementujące autoryzację MUSZĄ weryfikować WSZYSTKIE przychodzące żądania
OBOWIĄZKOWE: Serwery proxy MCP używające statycznych identyfikatorów klientów MUSZĄ uzyskać zgodę użytkownika dla każdego dynamicznie zarejestrowanego klienta
Obowiązujący standard MCP (2025-06-18) pozwala serwerom MCP delegować uwierzytelnianie zewnętrznym dostawcom tożsamości, co stanowi istotne ulepszenie bezpieczeństwa:
Korzyści Bezpieczeństwa:
- Eliminacja Ryzyk Własnych Rozwiązań: Zmniejszenie powierzchni podatności poprzez unikanie własnych implementacji uwierzytelniania
- Bezpieczeństwo na Poziomie Korporacyjnym: Wykorzystanie zaawansowanych funkcji bezpieczeństwa dostawców takich jak Microsoft Entra ID
- Centralne Zarządzanie Tożsamością: Ułatwienie zarządzania cyklem życia użytkownika, kontrolą dostępu i audytami zgodności
- Uwierzytelnianie Wieloskładnikowe: Dziedziczenie funkcji MFA od dostawców tożsamości korporacyjnych
- Polityki Dostępu Warunkowego: Korzystanie z adaptacyjnych mechanizmów kontroli dostępu opartych na ryzyku
Wymagania Implementacyjne:
- Walidacja Odbiorcy Tokenu: Weryfikacja, że wszystkie tokeny zostały wyraźnie wydane dla serwera MCP
- Weryfikacja Wydawcy: Sprawdzenie, czy wydawca tokenu odpowiada oczekiwanemu dostawcy tożsamości
- Weryfikacja Podpisu: Kryptograficzna weryfikacja integralności tokenu
- Egzekwowanie Wygaśnięcia: Ścisłe przestrzeganie limitów czasu życia tokenu
- Walidacja Zakresu: Upewnienie się, że tokeny zawierają odpowiednie uprawnienia dla żądanych operacji
Kluczowe Kontrole:
- Kompleksowe Audyty Autoryzacji: Regularne przeglądy bezpieczeństwa wszystkich punktów decyzyjnych autoryzacji
- Domyślne Bezpieczne Ustawienia: Odmowa dostępu, gdy logika autoryzacji nie może podjąć jednoznacznej decyzji
- Granice Uprawnień: Wyraźne rozdzielenie różnych poziomów uprawnień i dostępu do zasobów
- Rejestrowanie Audytów: Pełne logowanie wszystkich decyzji autoryzacyjnych dla monitorowania bezpieczeństwa
- Regularne Przeglądy Dostępu: Okresowa weryfikacja uprawnień użytkowników i przypisanych przywilejów
Przekazywanie tokenów jest wyraźnie zabronione w MCP Authorization Specification ze względu na krytyczne zagrożenia bezpieczeństwa:
Zagrożenia Bezpieczeństwa:
- Omijanie Kontroli: Pomijanie kluczowych mechanizmów bezpieczeństwa, takich jak ograniczanie szybkości, walidacja żądań i monitorowanie ruchu
- Rozpad Odpowiedzialności: Uniemożliwienie identyfikacji klienta, co psuje ścieżki audytu i dochodzenia incydentów
- Eksfiltracja przez Proxy: Umożliwienie złośliwym aktorom wykorzystania serwerów jako proxy do nieautoryzowanego dostępu do danych
- Naruszenie Granic Zaufania: Złamanie założeń usług downstream dotyczących pochodzenia tokenów
- Ruch Lateralny: Kompromitacja tokenów w wielu usługach umożliwia rozszerzenie ataku
Kontrole Implementacyjne:
Token Validation Requirements:
audience_validation: MANDATORY
issuer_verification: MANDATORY
signature_check: MANDATORY
expiration_enforcement: MANDATORY
scope_validation: MANDATORY
Token Lifecycle Management:
rotation_frequency: "Short-lived tokens preferred"
secure_storage: "Azure Key Vault or equivalent"
transmission_security: "TLS 1.3 minimum"
replay_protection: "Implemented via nonce/timestamp"Najlepsze Praktyki:
- Tokeny Krótkoterminowe: Minimalizacja okna ekspozycji poprzez częstą rotację tokenów
- Wydawanie na Żądanie: Wydawanie tokenów tylko wtedy, gdy są potrzebne do konkretnych operacji
- Bezpieczne Przechowywanie: Wykorzystanie modułów bezpieczeństwa sprzętowego (HSM) lub bezpiecznych skarbców kluczy
- Powiązanie Tokenów: Powiązanie tokenów z konkretnymi klientami, sesjami lub operacjami, jeśli to możliwe
- Monitorowanie i Alarmowanie: Wykrywanie w czasie rzeczywistym nadużyć tokenów lub nieautoryzowanych wzorców dostępu
Adresowane Wektory Ataku:
- Wstrzykiwanie Zdarzeń do Sesji: Złośliwe zdarzenia wprowadzane do współdzielonego stanu sesji
- Podszywanie się pod Sesję: Nieautoryzowane użycie skradzionych identyfikatorów sesji w celu obejścia uwierzytelniania
- Ataki na Wznowienie Strumienia: Wykorzystanie wznowienia zdarzeń wysyłanych przez serwer do wstrzykiwania złośliwych treści
Obowiązkowe Kontrole Sesji:
Session ID Generation:
randomness_source: "Cryptographically secure RNG"
entropy_bits: 128 # Minimum recommended
format: "Base64url encoded"
predictability: "MUST be non-deterministic"
Session Binding:
user_binding: "REQUIRED - <user_id>:<session_id>"
additional_identifiers: "Device fingerprint, IP validation"
context_binding: "Request origin, user agent validation"
Session Lifecycle:
expiration: "Configurable timeout policies"
rotation: "After privilege escalation events"
invalidation: "Immediate on security events"
cleanup: "Automated expired session removal"Bezpieczeństwo Transportu:
- Wymuszenie HTTPS: Cała komunikacja sesji przez TLS 1.3
- Atrybuty Bezpiecznych Ciasteczek: HttpOnly, Secure, SameSite=Strict
- Pinning Certyfikatów: Dla kluczowych połączeń w celu zapobiegania atakom MITM
Dla Implementacji Stateful:
- Współdzielony stan sesji wymaga dodatkowej ochrony przed atakami wstrzykiwania
- Zarządzanie sesjami oparte na kolejkach wymaga weryfikacji integralności
- Wiele instancji serwerów wymaga bezpiecznej synchronizacji stanu sesji
Dla Implementacji Stateless:
- Zarządzanie sesjami oparte na tokenach JWT lub podobnych
- Kryptograficzna weryfikacja integralności stanu sesji
- Zmniejszona powierzchnia ataku, ale wymaga solidnej walidacji tokenów
Integracja Microsoft Prompt Shields:
Detection Mechanisms:
- "Advanced ML-based instruction detection"
- "Contextual analysis of external content"
- "Real-time threat pattern recognition"
Protection Techniques:
- "Spotlighting trusted vs untrusted content"
- "Delimiter systems for content boundaries"
- "Data marking for content source identification"
Integration Points:
- "Azure Content Safety service"
- "Real-time content filtering"
- "Threat intelligence updates"Kontrole Implementacyjne:
- Sanityzacja Wejścia: Kompleksowa walidacja i filtrowanie wszystkich danych wejściowych użytkownika
- Definicja Granic Treści: Wyraźne rozdzielenie instrukcji systemowych od treści użytkownika
- Hierarchia Instrukcji: Odpowiednie zasady precedencji dla sprzecznych instrukcji
- Monitorowanie Wyjścia: Wykrywanie potencjalnie szkodliwych lub zmanipulowanych wyników
Ramowe Bezpieczeństwo Narzędzi:
Tool Definition Protection:
validation:
- "Schema validation against expected formats"
- "Content analysis for malicious instructions"
- "Parameter injection detection"
- "Hidden instruction identification"
integrity_verification:
- "Cryptographic hashing of tool definitions"
- "Digital signatures for tool packages"
- "Version control with change auditing"
- "Tamper detection mechanisms"
monitoring:
- "Real-time change detection"
- "Behavioral analysis of tool usage"
- "Anomaly detection for execution patterns"
- "Automated alerting for suspicious modifications"Dynamiczne Zarządzanie Narzędziami:
- Procesy Zatwierdzania: Wyraźna zgoda użytkownika na modyfikacje narzędzi
- Możliwości Wycofania: Możliwość powrotu do poprzednich wersji narzędzi
- Audyt Zmian: Pełna historia modyfikacji definicji narzędzi
- Ocena Ryzyka: Automatyczna ocena bezpieczeństwa narzędzi
Kontrole Zapobiegania Atakom:
Client Registration:
static_client_protection:
- "Explicit user consent for dynamic registration"
- "Consent bypass prevention mechanisms"
- "Cookie-based consent validation"
- "Redirect URI strict validation"
authorization_flow:
- "PKCE implementation (OAuth 2.1)"
- "State parameter validation"
- "Authorization code binding"
- "Nonce verification for ID tokens"Wymagania Implementacyjne:
- Weryfikacja Zgody Użytkownika: Nigdy nie pomijaj ekranów zgody dla dynamicznej rejestracji klientów
- Walidacja URI Przekierowania: Ścisła walidacja na podstawie białej listy docelowych adresów przekierowania
- Ochrona Kodów Autoryzacyjnych: Krótkoterminowe kody z egzekwowaniem jednorazowego użycia
- Weryfikacja Tożsamości Klienta: Solidna walidacja poświadczeń i metadanych klienta
Izolacja oparta na kontenerach:
Execution Environment:
containerization: "Docker/Podman with security profiles"
resource_limits:
cpu: "Configurable CPU quotas"
memory: "Memory usage restrictions"
disk: "Storage access limitations"
network: "Network policy enforcement"
privilege_restrictions:
user_context: "Non-root execution mandatory"
capability_dropping: "Remove unnecessary Linux capabilities"
syscall_filtering: "Seccomp profiles for syscall restriction"
filesystem: "Read-only root with minimal writable areas"Izolacja Procesów:
- Oddzielne Konteksty Procesów: Każde wykonanie narzędzia w izolowanej przestrzeni procesowej
- Komunikacja Międzyprocesowa: Bezpieczne mechanizmy IPC z walidacją
- Monitorowanie Procesów: Analiza zachowania w czasie rzeczywistym i wykrywanie anomalii
- Egzekwowanie Zasobów: Twarde limity na CPU, pamięć i operacje I/O
Zarządzanie Uprawnieniami:
Access Control:
file_system:
- "Minimal required directory access"
- "Read-only access where possible"
- "Temporary file cleanup automation"
network_access:
- "Explicit allowlist for external connections"
- "DNS resolution restrictions"
- "Port access limitations"
- "SSL/TLS certificate validation"
system_resources:
- "No administrative privilege elevation"
- "Limited system call access"
- "No hardware device access"
- "Restricted environment variable access"Kompleksowe Bezpieczeństwo Komponentów:
Software Dependencies:
scanning:
- "Automated vulnerability scanning (GitHub Advanced Security)"
- "License compliance verification"
- "Known vulnerability database checks"
- "Malware detection and analysis"
verification:
- "Package signature verification"
- "Checksum validation"
- "Provenance attestation"
- "Software Bill of Materials (SBOM)"
AI Components:
model_verification:
- "Model provenance validation"
- "Training data source verification"
- "Model behavior testing"
- "Adversarial robustness assessment"
service_validation:
- "Third-party API security assessment"
- "Service level agreement review"
- "Data handling compliance verification"
- "Incident response capability evaluation"Wykrywanie Zagrożeń Łańcucha Dostaw:
- Monitorowanie Zdrowia Zależności: Ciągła ocena wszystkich zależności pod kątem problemów bezpieczeństwa
- Integracja Wywiadu Zagrożeń: Aktualizacje w czasie rzeczywistym dotyczące pojawiających się zagrożeń w łańcuchu dostaw
- Analiza Behawioralna: Wykrywanie nietypowego zachowania w komponentach zewnętrznych
- Automatyczna Reakcja: Natychmiastowe ograniczenie skompromitowanych komponentów
Kompleksowa Strategia Logowania:
Authentication Events:
- "All authentication attempts (success/failure)"
- "Token issuance and validation events"
- "Session creation, modification, termination"
- "Authorization decisions and policy evaluations"
Tool Execution:
- "Tool invocation details and parameters"
- "Execution duration and resource usage"
- "Output generation and content analysis"
- "Error conditions and exception handling"
Security Events:
- "Potential prompt injection attempts"
- "Tool poisoning detection events"
- "Session hijacking indicators"
- "Unusual access patterns and anomalies"Analiza Behawioralna:
- Analiza Zachowań Użytkowników (UBA): Wykrywanie nietypowych wzorców dostępu użytkowników
- Analiza Zachowań Jednostek (EBA): Monitorowanie zachowań serwera MCP i narzędzi
- Wykrywanie Anomalii za pomocą AI: Identyfikacja zagrożeń bezpieczeństwa za pomocą sztucznej inteligencji
- Korelacja Wywiadu Zagrożeń: Dopasowanie zaobserwowanych działań do znanych wzorców ataków
Natychmiastowe Działania:
Threat Containment:
session_management:
- "Immediate session termination"
- "Account lockout procedures"
- "Access privilege revocation"
system_isolation:
- "Network segmentation activation"
- "Service isolation protocols"
- "Communication channel restriction"
Recovery Procedures:
credential_rotation:
- "Automated token refresh"
- "API key regeneration"
- "Certificate renewal"
system_restoration:
- "Clean state restoration"
- "Configuration rollback"
- "Service restart procedures"Wsparcie Dochodzeniowe:
- Zachowanie Ścieżek Audytu: Niezmienialne logowanie z kryptograficzną integralnością
- Zbieranie Dowodów: Automatyczne gromadzenie odpowiednich artefaktów bezpieczeństwa
- Rekonstrukcja Linii Czasu: Szczegółowa sekwencja zdarzeń prowadzących do incydentów bezpieczeństwa
- Ocena Wpływu: Ocena zakresu kompromitacji i ekspozycji danych
- Wielowarstwowe Mechanizmy Bezpieczeństwa: Brak pojedynczego punktu awarii w architekturze bezpieczeństwa
- Redundantne Kontrole: Nakładające się środki bezpieczeństwa dla kluczowych funkcji
- Mechanizmy Bezpieczne w Awarii: Bezpieczne ustawienia domyślne w przypadku błędów systemowych lub ataków
- Nigdy Nie Ufaj, Zawsze Weryfikuj: Ciągła walidacja wszystkich jednostek i żądań
- Zasada Najmniejszych Uprawnień: Minimalne prawa dostępu dla wszystkich komponentów
- Mikrosegmentacja: Granularne kontrole sieci i dostępu
- Adaptacja do Krajobrazu Zagrożeń: Regularne aktualizacje w celu przeciwdziałania nowym zagrożeniom
- Skuteczność Kontroli Bezpieczeństwa: Ciągła ocena i ulepszanie mechanizmów bezpieczeństwa
- Zgodność ze Specyfikacją: Dopasowanie do ewoluujących standardów bezpieczeństwa MCP
- OAuth 2.0 Security Best Practices (RFC 9700)
- OWASP Top 10 for Large Language Models
- NIST Cybersecurity Framework
Ważne: Te kontrole bezpieczeństwa odzwierciedlają obowiązującą specyfikację MCP (2025-06-18). Zawsze weryfikuj zgodność z najnowszą oficjalną dokumentacją, ponieważ standardy szybko się rozwijają.
Zastrzeżenie:
Ten dokument został przetłumaczony za pomocą usługi tłumaczenia AI Co-op Translator. Chociaż dokładamy wszelkich starań, aby zapewnić poprawność tłumaczenia, prosimy pamiętać, że automatyczne tłumaczenia mogą zawierać błędy lub nieścisłości. Oryginalny dokument w jego rodzimym języku powinien być uznawany za autorytatywne źródło. W przypadku informacji o kluczowym znaczeniu zaleca się skorzystanie z profesjonalnego tłumaczenia przez człowieka. Nie ponosimy odpowiedzialności za jakiekolwiek nieporozumienia lub błędne interpretacje wynikające z korzystania z tego tłumaczenia.