คู่มือฉบับสมบูรณ์นี้นำเสนอแนวทางปฏิบัติที่สำคัญสำหรับการรักษาความปลอดภัยระบบ Model Context Protocol (MCP) โดยอ้างอิงจาก MCP Specification 2025-06-18 และมาตรฐานอุตสาหกรรมในปัจจุบัน แนวทางเหล่านี้ครอบคลุมทั้งความกังวลด้านความปลอดภัยแบบดั้งเดิมและภัยคุกคามเฉพาะทาง AI ที่เกี่ยวข้องกับการใช้งาน MCP
- การตรวจสอบโทเค็น: เซิร์ฟเวอร์ MCP ต้องไม่ ยอมรับโทเค็นใด ๆ ที่ไม่ได้ออกให้โดยเฉพาะสำหรับเซิร์ฟเวอร์ MCP นั้น
- การตรวจสอบสิทธิ์: เซิร์ฟเวอร์ MCP ที่ใช้การตรวจสอบสิทธิ์ ต้อง ตรวจสอบคำขอขาเข้าทั้งหมด และ ต้องไม่ ใช้เซสชันสำหรับการยืนยันตัวตน
- ความยินยอมของผู้ใช้: MCP proxy servers ที่ใช้ client ID แบบคงที่ ต้อง ได้รับความยินยอมจากผู้ใช้อย่างชัดเจนสำหรับ client ที่ลงทะเบียนแบบไดนามิกแต่ละราย
- Session ID ที่ปลอดภัย: เซิร์ฟเวอร์ MCP ต้อง ใช้ Session ID ที่ปลอดภัยทางการเข้ารหัสและไม่สามารถคาดเดาได้ ซึ่งสร้างขึ้นด้วยตัวสร้างตัวเลขสุ่มที่ปลอดภัย
- การตรวจสอบข้อมูลขาเข้าอย่างครอบคลุม: ตรวจสอบและกรองข้อมูลขาเข้าทั้งหมดเพื่อป้องกันการโจมตีแบบ Injection, ปัญหา Confused Deputy และช่องโหว่ Prompt Injection
- การบังคับใช้ Schema ของพารามิเตอร์: ใช้การตรวจสอบ JSON schema อย่างเข้มงวดสำหรับพารามิเตอร์เครื่องมือและข้อมูล API ทั้งหมด
- การกรองเนื้อหา: ใช้ Microsoft Prompt Shields และ Azure Content Safety เพื่อกรองเนื้อหาที่เป็นอันตรายในคำสั่งและการตอบกลับ
- การกรองผลลัพธ์: ตรวจสอบและกรองผลลัพธ์ของโมเดลทั้งหมดก่อนนำเสนอให้ผู้ใช้หรือระบบปลายทาง
- ผู้ให้บริการยืนยันตัวตนภายนอก: มอบหมายการยืนยันตัวตนให้กับผู้ให้บริการที่เชื่อถือได้ (Microsoft Entra ID, OAuth 2.1 providers) แทนการพัฒนาระบบยืนยันตัวตนเอง
- สิทธิ์แบบละเอียด: ใช้สิทธิ์ที่ละเอียดอ่อนและเฉพาะเครื่องมือ โดยยึดหลักการสิทธิ์น้อยที่สุด
- การจัดการวงจรชีวิตโทเค็น: ใช้โทเค็นการเข้าถึงที่มีอายุสั้น พร้อมการหมุนเวียนที่ปลอดภัยและการตรวจสอบ Audience อย่างเหมาะสม
- การยืนยันตัวตนหลายปัจจัย: บังคับใช้ MFA สำหรับการเข้าถึงระดับผู้ดูแลระบบและการดำเนินการที่สำคัญ
- Transport Layer Security: ใช้ HTTPS/TLS 1.3 สำหรับการสื่อสาร MCP ทั้งหมด พร้อมการตรวจสอบใบรับรองที่เหมาะสม
- การเข้ารหัสแบบ End-to-End: ใช้ชั้นการเข้ารหัสเพิ่มเติมสำหรับข้อมูลที่มีความอ่อนไหวสูงทั้งในระหว่างการส่งและการจัดเก็บ
- การจัดการใบรับรอง: รักษาวงจรชีวิตใบรับรองด้วยกระบวนการต่ออายุอัตโนมัติ
- การบังคับใช้เวอร์ชันโปรโตคอล: ใช้เวอร์ชันโปรโตคอล MCP ปัจจุบัน (2025-06-18) พร้อมการเจรจาเวอร์ชันที่เหมาะสม
- การจำกัดอัตราหลายชั้น: ใช้การจำกัดอัตราที่ระดับผู้ใช้ เซสชัน เครื่องมือ และทรัพยากรเพื่อป้องกันการใช้งานในทางที่ผิด
- การจำกัดอัตราแบบปรับตัว: ใช้การจำกัดอัตราที่ขับเคลื่อนด้วย Machine Learning ซึ่งปรับตามรูปแบบการใช้งานและตัวบ่งชี้ภัยคุกคาม
- การจัดการโควต้าทรัพยากร: กำหนดขีดจำกัดที่เหมาะสมสำหรับทรัพยากรการประมวลผล การใช้หน่วยความจำ และเวลาการดำเนินการ
- การป้องกัน DDoS: ใช้ระบบป้องกัน DDoS และการวิเคราะห์ทราฟฟิกอย่างครอบคลุม
- การบันทึกการตรวจสอบแบบมีโครงสร้าง: ใช้บันทึกที่มีรายละเอียดและค้นหาได้สำหรับการดำเนินการ MCP ทั้งหมด การใช้งานเครื่องมือ และเหตุการณ์ด้านความปลอดภัย
- การตรวจสอบความปลอดภัยแบบเรียลไทม์: ใช้ระบบ SIEM พร้อมการตรวจจับความผิดปกติที่ขับเคลื่อนด้วย AI สำหรับงาน MCP
- การบันทึกที่สอดคล้องกับความเป็นส่วนตัว: บันทึกเหตุการณ์ด้านความปลอดภัยโดยเคารพข้อกำหนดและข้อบังคับด้านความเป็นส่วนตัวของข้อมูล
- การผสานรวมการตอบสนองต่อเหตุการณ์: เชื่อมโยงระบบบันทึกกับเวิร์กโฟลว์การตอบสนองต่อเหตุการณ์อัตโนมัติ
- Hardware Security Modules: ใช้การจัดเก็บคีย์ที่รองรับ HSM (Azure Key Vault, AWS CloudHSM) สำหรับการดำเนินการเข้ารหัสที่สำคัญ
- การจัดการคีย์เข้ารหัส: ใช้การหมุนเวียนคีย์ การแยกส่วน และการควบคุมการเข้าถึงที่เหมาะสมสำหรับคีย์เข้ารหัส
- การจัดการความลับ: เก็บ API keys, tokens และ credentials ทั้งหมดในระบบจัดการความลับเฉพาะ
- การจัดประเภทข้อมูล: จัดประเภทข้อมูลตามระดับความอ่อนไหวและใช้มาตรการป้องกันที่เหมาะสม
- การป้องกันการส่งผ่านโทเค็น: ห้ามรูปแบบการส่งผ่านโทเค็นที่ข้ามการควบคุมความปลอดภัยโดยเด็ดขาด
- การตรวจสอบ Audience: ตรวจสอบ Audience claims ของโทเค็นเสมอให้ตรงกับตัวตนของเซิร์ฟเวอร์ MCP ที่ตั้งใจไว้
- การอนุญาตตาม Claims: ใช้การอนุญาตแบบละเอียดอ่อนตาม Claims ของโทเค็นและคุณลักษณะของผู้ใช้
- การผูกโทเค็น: ผูกโทเค็นกับเซสชัน ผู้ใช้ หรืออุปกรณ์เฉพาะตามความเหมาะสม
- Session ID แบบเข้ารหัส: สร้าง Session ID โดยใช้ตัวสร้างตัวเลขสุ่มที่ปลอดภัยทางการเข้ารหัส (ไม่ใช่ลำดับที่คาดเดาได้)
- การผูกกับผู้ใช้เฉพาะ: ผูก Session ID กับข้อมูลเฉพาะผู้ใช้โดยใช้รูปแบบที่ปลอดภัย เช่น
<user_id>:<session_id> - การควบคุมวงจรชีวิตเซสชัน: ใช้กลไกการหมดอายุ การหมุนเวียน และการยกเลิกเซสชันที่เหมาะสม
- ส่วนหัวความปลอดภัยของเซสชัน: ใช้ HTTP security headers ที่เหมาะสมสำหรับการป้องกันเซสชัน
- การป้องกัน Prompt Injection: ใช้ Microsoft Prompt Shields พร้อมเทคนิค spotlighting, delimiters และ datamarking
- การป้องกันการปนเปื้อนเครื่องมือ: ตรวจสอบ metadata ของเครื่องมือ เฝ้าระวังการเปลี่ยนแปลงแบบไดนามิก และตรวจสอบความสมบูรณ์ของเครื่องมือ
- การตรวจสอบผลลัพธ์ของโมเดล: สแกนผลลัพธ์ของโมเดลเพื่อหาการรั่วไหลของข้อมูล เนื้อหาที่เป็นอันตราย หรือการละเมิดนโยบายความปลอดภัย
- การป้องกัน Context Window: ใช้การควบคุมเพื่อป้องกันการปนเปื้อนและการโจมตี Context Window
- การแยกการใช้งาน: รันการใช้งานเครื่องมือในสภาพแวดล้อมที่แยกออกจากกันและมีข้อจำกัดด้านทรัพยากร
- การแยกสิทธิ์: ใช้งานเครื่องมือด้วยสิทธิ์ที่จำเป็นน้อยที่สุดและบัญชีบริการแยกต่างหาก
- การแยกเครือข่าย: ใช้การแบ่งส่วนเครือข่ายสำหรับสภาพแวดล้อมการใช้งานเครื่องมือ
- การตรวจสอบการใช้งาน: เฝ้าระวังการใช้งานเครื่องมือเพื่อหาพฤติกรรมผิดปกติ การใช้ทรัพยากร และการละเมิดความปลอดภัย
- การทดสอบความปลอดภัยอัตโนมัติ: ผสานการทดสอบความปลอดภัยเข้ากับ CI/CD pipelines ด้วยเครื่องมือ เช่น GitHub Advanced Security
- การจัดการช่องโหว่: สแกนการพึ่งพาทั้งหมดอย่างสม่ำเสมอ รวมถึงโมเดล AI และบริการภายนอก
- การทดสอบการเจาะระบบ: ดำเนินการประเมินความปลอดภัยเป็นประจำโดยมุ่งเป้าไปที่การใช้งาน MCP โดยเฉพาะ
- การตรวจสอบโค้ดด้านความปลอดภัย: ใช้การตรวจสอบโค้ดด้านความปลอดภัยเป็นข้อบังคับสำหรับการเปลี่ยนแปลงโค้ดที่เกี่ยวข้องกับ MCP
- การตรวจสอบส่วนประกอบ: ตรวจสอบแหล่งที่มา ความสมบูรณ์ และความปลอดภัยของส่วนประกอบ AI ทั้งหมด (โมเดล, embeddings, APIs)
- การจัดการการพึ่งพา: รักษารายการสินค้าปัจจุบันของซอฟต์แวร์และการพึ่งพา AI ทั้งหมด พร้อมการติดตามช่องโหว่
- ที่เก็บที่เชื่อถือได้: ใช้แหล่งที่ได้รับการยืนยันและเชื่อถือได้สำหรับโมเดล AI ไลบรารี และเครื่องมือทั้งหมด
- การตรวจสอบห่วงโซ่อุปทาน: เฝ้าระวังการประนีประนอมในผู้ให้บริการ AI และที่เก็บโมเดลอย่างต่อเนื่อง
- ไม่เชื่อถือใคร ตรวจสอบเสมอ: ใช้การตรวจสอบอย่างต่อเนื่องสำหรับผู้เข้าร่วม MCP ทั้งหมด
- Micro-segmentation: แยกส่วนประกอบ MCP ด้วยการควบคุมเครือข่ายและตัวตนที่ละเอียดอ่อน
- การเข้าถึงตามเงื่อนไข: ใช้การควบคุมการเข้าถึงตามความเสี่ยงที่ปรับตามบริบทและพฤติกรรม
- การประเมินความเสี่ยงอย่างต่อเนื่อง: ประเมินท่าทีด้านความปลอดภัยแบบไดนามิกตามตัวบ่งชี้ภัยคุกคามในปัจจุบัน
- การลดข้อมูล: เปิดเผยข้อมูลที่จำเป็นขั้นต่ำสำหรับการดำเนินการ MCP แต่ละครั้ง
- ความเป็นส่วนตัวเชิงต่าง: ใช้เทคนิคการประมวลผลข้อมูลที่คำนึงถึงความเป็นส่วนตัว
- การเข้ารหัสแบบ Homomorphic: ใช้เทคนิคการเข้ารหัสขั้นสูงสำหรับการประมวลผลข้อมูลที่เข้ารหัส
- Federated Learning: ใช้แนวทางการเรียนรู้แบบกระจายที่รักษาความเป็นส่วนตัวและข้อมูลในพื้นที่
- ขั้นตอนเฉพาะสำหรับเหตุการณ์ AI: พัฒนาขั้นตอนการตอบสนองต่อเหตุการณ์ที่ปรับให้เหมาะกับภัยคุกคามเฉพาะ AI และ MCP
- การตอบสนองอัตโนมัติ: ใช้การกักกันและการแก้ไขปัญหาอัตโนมัติสำหรับเหตุการณ์ความปลอดภัย AI ทั่วไป
- ความสามารถด้านนิติวิทยาศาสตร์: รักษาความพร้อมด้านนิติวิทยาศาสตร์สำหรับการประนีประนอมระบบ AI และการละเมิดข้อมูล
- ขั้นตอนการกู้คืน: จัดตั้งขั้นตอนสำหรับการกู้คืนจากการปนเปื้อนโมเดล AI การโจมตี Prompt Injection และการประนีประนอมบริการ
- MCP Specification 2025-06-18 - ข้อกำหนดโปรโตคอล MCP ปัจจุบัน
- MCP Security Best Practices - แนวทางปฏิบัติด้านความปลอดภัยอย่างเป็นทางการ
- MCP Authorization Specification - รูปแบบการยืนยันตัวตนและการอนุญาต
- MCP Transport Security - ข้อกำหนดด้านความปลอดภัยของเลเยอร์การขนส่ง
- Microsoft Prompt Shields - การป้องกัน Prompt Injection ขั้นสูง
- Azure Content Safety - การกรองเนื้อหา AI อย่างครอบคลุม
- Microsoft Entra ID - การจัดการตัวตนและการเข้าถึงระดับองค์กร
- Azure Key Vault - การจัดการความลับและข้อมูลประจำตัวอย่างปลอดภัย
- GitHub Advanced Security - การสแกนความปลอดภัยของซัพพลายเชนและโค้ด
- OAuth 2.1 Security Best Practices - แนวทางปฏิบัติด้านความปลอดภัย OAuth ปัจจุบัน
- OWASP Top 10 - ความเสี่ยงด้านความปลอดภัยของเว็บแอปพลิเคชัน
- OWASP Top 10 for LLMs - ความเสี่ยงด้านความปลอดภัยเฉพาะ AI
- NIST AI Risk Management Framework - การจัดการความเสี่ยง AI อย่างครอบคลุม
- ISO 27001:2022 - ระบบการจัดการความปลอดภัยของข้อมูล
- Azure API Management as MCP Auth Gateway - รูปแบบการยืนยันตัวตนระดับองค์กร
- Microsoft Entra ID with MCP Servers - การผสานรวมผู้ให้บริการตัวตน
- Secure Token Storage Implementation - แนวทางปฏิบัติที่ดีที่สุดในการจัดการโทเค็น
- End-to-End Encryption for AI - รูปแบบการเข้ารหัสขั้นสูง
- [Microsoft Security Development Lifecycle](https://www.microsoft.com
- การพัฒนาเครื่องมือ: พัฒนาและแบ่งปันเครื่องมือและไลบรารีด้านความปลอดภัยสำหรับระบบนิเวศ MCP
เอกสารนี้สะท้อนถึงแนวปฏิบัติที่ดีที่สุดด้านความปลอดภัยของ MCP ณ วันที่ 18 สิงหาคม 2025 โดยอ้างอิงจาก MCP Specification 2025-06-18 แนวปฏิบัติด้านความปลอดภัยควรได้รับการตรวจสอบและปรับปรุงอย่างสม่ำเสมอ เนื่องจากโปรโตคอลและภูมิทัศน์ของภัยคุกคามมีการเปลี่ยนแปลงอยู่เสมอ
ข้อจำกัดความรับผิดชอบ:
เอกสารนี้ได้รับการแปลโดยใช้บริการแปลภาษา AI Co-op Translator แม้ว่าเราจะพยายามให้การแปลมีความถูกต้อง แต่โปรดทราบว่าการแปลอัตโนมัติอาจมีข้อผิดพลาดหรือความไม่แม่นยำ เอกสารต้นฉบับในภาษาต้นทางควรถือเป็นแหล่งข้อมูลที่เชื่อถือได้ สำหรับข้อมูลที่สำคัญ แนะนำให้ใช้บริการแปลภาษาจากผู้เชี่ยวชาญที่เป็นมนุษย์ เราไม่รับผิดชอบต่อความเข้าใจผิดหรือการตีความที่ผิดพลาดซึ่งเกิดจากการใช้การแปลนี้