ความปลอดภัยไซเบอร์

6 วิธีการสร้างเซิร์ฟเวอร์ MCP ที่มีความปลอดภัย

mm
เพิ่ม Unite.AI ลงในแหล่งข้อมูลที่คุณต้องการบน Google

นับตั้งแต่ Anthropic เปิดตัว Model Context Protocol ในปลายปี 2024 การนำไปใช้งานได้เพิ่มขึ้นอย่างรวดเร็ว โดยหลายบริษัทได้เปิดตัวเซิร์ฟเวอร์ MCP ของตนเองเพื่อช่วยให้เอไอเข้าถึงข้อมูลของตนได้

แม้ว่าสิ่งนี้จะช่วยเพิ่มความสามารถของเอไอ แต่ก 也ทำให้บริษัทเหล่านี้ตกอยู่ในความเสี่ยงด้านความปลอดภัยที่สำคัญ

หากไม่มีการใช้มาตรการรักษาความปลอดภัยที่เหมาะสม เซิร์ฟเวอร์ MCP อาจให้การเข้าถึงข้อมูลที่มีความละเอียดอ่อนในอีเมล์ CRM เครื่องมือจัดเก็บไฟล์ และแอปพลิเคชันอื่นๆ และแม้ว่าจะมีการใช้มาตรการรักษาความปลอดภัยที่เข้มงวด ผู้กระทำความผิดก็สามารถใช้เทคนิค เช่น การโจมตีด้วยคำสั่งเพื่อให้ได้รับข้อมูลรับรองการเข้าใช้งาน

เรากำลังเห็นเหตุการณ์ด้านความปลอดภัยเกิดขึ้นแล้ว ตัวอย่างเช่น GitHub ได้พบกับ ช่องโหว่ด้านความปลอดภัยของ MCP ที่ทำให้ข้อมูลเก็บถาวรส่วนตัวถูกเปิดเผย

เรามีประสบการณ์โดยตรงเกี่ยวกับสิ่งที่ต้องการในการสร้างเซิร์ฟเวอร์ MCP ที่สามารถทนต่อภัยคุกคามด้านความปลอดภัยได้

ดังนั้น นี่คือคำแนะนำที่ดีที่สุดของฉันสำหรับการสร้างและจัดการเซิร์ฟเวอร์ MCP

รับประกันความปลอดภัยด้วยการบล็อกและจัดการสิทธิ์

หลักการรักษาความปลอดภัยที่สำคัญที่สุดสำหรับ MCP คือการบล็อกที่จะแทนที่คำสั่งและควบคุมอื่นๆ ที่ให้กับเอเย่นต์ ในขณะที่เอเย่นต์ AI มีความยืดหยุ่นในการตัดสินใจเมื่อจะเรียกใช้เครื่องมือและข้อมูลอินพุตที่จะส่งไปให้เครื่องมือ การใช้งานเครื่องมือหรือชั้นการเข้ารหัสลับที่อยู่หน้าเครื่องมือสุดท้ายจะป้องกันปัญหาเกี่ยวกับสิทธิ์ได้ ตราบเท่าที่ตัวตนของผู้ใช้ได้รับการยืนยันตัวตนที่ถูกต้อง

เพื่อให้แน่ใจว่ามีความปลอดภัย ควรตั้งค่าเครื่องมือที่มีการจัดการสิทธิ์อย่างเข้มงวดตั้งแต่เริ่มต้น

สิ่งนี้เริ่มต้นด้วยการจัดการสิทธิ์ที่ได้รับอนุญาตให้กับเครื่องมือ ซึ่งเครื่องมือมีข้อได้เปรียบโดยการห่อโค้ดที่ไม่เปลี่ยนแปลงและสร้างอินเทอร์เฟซที่ควบคุมได้ ซึ่งสามารถบังคับใช้นโยบายด้านความปลอดภัยได้ ไม่ว่าพฤติกรรมของเอเย่นต์จะเป็นอย่างไร

ปฏิบัติต่อคีย์ API เช่นเดียวกับรหัสผ่าน

แทนที่จะเขียนคีย์เข้าไปในโค้ด ควรย้ายข้อมูลรับรองออกจากโค้ดและไฟล์การตั้งค่าไปยังตัวแปรสภาพแวดล้อมหรือผู้จัดการความลับ เช่น HashiCorp Vault หรือ AWS Secrets Manager

คีย์ชั่วคราวให้ความปลอดภัยเพิ่มเติมสำหรับข้อมูลที่มีความละเอียดอ่อนมากและกรณีการใช้งานที่ไม่จำเป็นต้องมีการเชื่อมต่อถาวร ในกรณีนี้ เครื่องมือ เช่น AWS STS สามารถสร้างโทเค็นที่มีอายุการใช้งานสั้น ซึ่งจะหมดอายุเร็ว ทำให้เวลาที่อาจถูกใช้ในทางที่ผิดลดลง อย่างไรก็ตาม สำหรับการใช้งานส่วนใหญ่ การใช้ OAuth ที่มีการรีเฟรชโทเค็นหรือการรับรองความถูกต้องแบบพื้นฐานที่มีการรักษาความปลอดภัยที่ดีสามารถแก้ไขข้อกังวลเหล่านี้ได้อย่างมีประสิทธิภาพ

กุญแจสำคัญคือการนำการควบคุมสิทธิ์ตามบทบาท (RBAC) ที่มีการจัดการสิทธิ์ที่มีอยู่ในเครื่องมือแต่ละตัวให้สมบูรณ์ ให้สิทธิ์การเข้าถึงที่จำกัดอย่างเข้มงวดแก่การรวม MCP แต่ละครั้ง ระบบการรักษาความปลอดภัยของ Vault ที่อนุญาตให้อ่านข้อมูลจาก kv/data/GitHub เท่านั้น จะปลอดภัยกว่าโทเค็นรูทมาก

ปกป้องข้อมูลที่มีความละเอียดอ่อนด้วย DLP และ PII Detection software

เครื่องมือ MCP สามารถเข้าถึงข้อมูลที่มีความละเอียดอ่อนจำนวนมากทั่วทั้งองค์กรของคุณ หากไม่มีการควบคุมที่เหมาะสม อาจทำให้ข้อมูล PII ของลูกค้า บันทึกทางการเงิน หรือข้อมูลที่เป็นความลับเกี่ยวกับผลิตภัณฑ์ของคุณถูกเปิดเผยโดยไม่ตั้งใจ

เพื่อแก้ไขปัญหานี้ ควรใช้ซอฟต์แวร์ป้องกันการสูญเสียข้อมูล (DLP) ที่สามารถตรวจสอบการรับส่งข้อมูล MCP ในแบบเรียลไทม์ ควรกำหนดกฎ DLP เพื่อตรวจจับและป้องกันการถ่ายโอนรูปแบบที่มีความละเอียดอ่อน เช่น หมายเลขบัตรเครดิต หมายเลขประกันสังคม คีย์ API และรูปแบบอื่นๆ ก่อนที่จะออกจากสภาพแวดล้อมของคุณ

คุณควรใช้เครื่องมือที่สามารถระบุและปิดบังข้อมูลส่วนบุคคลในคำสั่ง คำตอบของเครื่องมือ และบันทึกการตรวจสอบโดยอัตโนมัติ และพิจารณาใช้โซลูชันที่สามารถตรวจจับ PII ในรูปแบบต่างๆ รวมถึงฟิลด์ฐานข้อมูลที่มีโครงสร้าง เนื้อหาที่ไม่มีโครงสร้าง และเนื้อหาของรูปภาพผ่านเทคนิคที่ซับซ้อน เช่น OCR หรือ NLP

รักษาความปลอดภัยและจัดการความสัมพันธ์

การเติบโตอย่างรวดเร็วของระบบนิเวศ MCP ได้สร้าง “ดินแดนที่ไม่มีกฎหมาย” ของไบนารี่ที่ไม่น่าเชื่อถือได้ เซิร์ฟเวอร์ที่เผยแพร่โดยชุมชนอาจถูกย้อนกลับ มีการบำรุงรักษาที่ไม่ดี หรือถูกทิ้งร้าง เมื่อคุณติดตั้งความสัมพันธ์โดยไม่มีการยืนยัน คุณมีความเสี่ยงที่จะดำเนินการโค้ดที่เป็นอันตราย

ควรใช้การจัดการความสัมพันธ์ที่เข้มงวดพร้อมการตรวจสอบความสมบูรณ์ ใช้ลายเซ็นดิจิทัลและค่าตรวจสอบเพื่อให้แน่ใจว่าโค้ดไม่ถูกบุกรุก และปฏิบัติตามแนวทางปฏิบัติด้านความปลอดภัยโดยการนำโค้ดการตรวจสอบสิทธิ์ที่ผ่านการทดสอบมาใช้ again และใช้เครื่องมืออัตโนมัติ เช่น การทดสอบความปลอดภัยของแอปพลิเคชันแบบสแตติก (SAST) การทดสอบความปลอดภัยของแอปพลิเคชันแบบไดนามิก (DAST) และการวิเคราะห์องค์ประกอบซอฟต์แวร์ (SCA) เพื่อระบุช่องโหว่ด้านความปลอดภัยก่อนที่จะถูกใช้

ทดสอบเครื่องมืออย่างเข้มงวด

การโจมตีโดยตรงจะสอดคล้องกับการสั่งให้ทำการโจมตีเข้าไปในคำสั่งเครื่องมือ แต่การโจมตีทางอ้อมมีความซับซ้อนและอาจเป็นอันตรายมากกว่า ผู้โจมตีสามารถฝังคำสั่งอันตรายไว้ในคำอธิบายเครื่องมือหรือเมตาดาตาที่รวมอยู่ในคำสั่ง LLM ได้

เครื่องมือทั้งหมดควรผ่านกระบวนการอนุมัติที่เข้มงวดก่อนการนำไปใช้ ซึ่งรวมถึงการทดสอบอัตโนมัติและบทวิจารณ์โดยผู้เชี่ยวชาญด้านความปลอดภัย ควรใช้มาตรการป้องกันหลายชั้น รวมถึงการตรวจสอบด้วยตนเองสำหรับการดำเนินการที่สำคัญ การแยกความแตกต่างที่ชัดเจนระหว่างคำสั่งระบบและอินพุตของผู้ใช้ และระบบตรวจจับการสั่งให้ทำการโจมตีในคำสั่งผู้ใช้และเมตาดาตาเครื่องมือ

ติดตามเหตุการณ์ด้านความปลอดภัยอย่างแข็งขัน

นอกเหนือจากมาตรการรักษาความปลอดภัยพื้นฐาน ทีมควรใช้เครื่องมือความปลอดภัยที่ครอบคลุม ซึ่งรวมถึงการตรวจสอบการเรียกใช้เครื่องมือ รูปแบบการทำงานของผู้ใช้ และรูปแบบการเข้าถึง URL ที่ออกไป เพื่อตรวจจับเหตุการณ์ด้านความปลอดภัยที่อาจเกิดขึ้นก่อนที่จะลุกลาม

ด้วยการนำระบบตรวจจับการรักษาความปลอดภัยอัตโนมัติ คุณสามารถระบุรูปแบบที่ไม่ปกติในการใช้เครื่องมือ การพยายามเข้าถึงข้อมูลที่ไม่คาดคิด หรือการรับส่งข้อมูลเครือข่ายที่ผิดปกติที่อาจบ่งบอกถึงระบบที่ถูกบุกรุก นอกจากนี้ การบันทึกเหตุการณ์ที่สม่ำเสมอเพื่อติดตามเหตุผลและผลลัพธ์ของโมเดลภาษาเป็นสิ่งสำคัญสำหรับการติดตามการกระทำที่ไม่ได้ตั้งใจใดๆ

การเพิ่มประสิทธิภาพของ MCP

พลังของ MCP มาจากความสามารถในการเปลี่ยนเอเย่นต์ AI ให้กลายเป็นตัวแทนโปรแกรมที่สามารถเขียนได้เต็มรูปแบบ แต่พลังนั้นต้องการการควบคุมด้านความปลอดภัยที่ซับซ้อนเท่าๆ กัน

วิธีแก้ปัญหาไม่ใช่สิ่งที่แปลกใหม่ แต่เป็นการขยายแนวทางปฏิบัติด้านความปลอดภัยที่มีอยู่แล้วที่ใช้กับรูปแบบสถาปัตยกรรมใหม่นี้ ซอฟต์แวร์ป้องกันการสูญเสียข้อมูล เครื่องมือปิดบัง PII และระบบจัดการสิทธิ์ที่มีอยู่แล้วสามารถปรับให้เหมาะสมกับการรักษาความปลอดภัยของเซิร์ฟเวอร์ MCP ได้

องค์กรที่แก้ไขช่องโหว่ด้านความปลอดภัยเหล่านี้ในขณะนี้จะปลดปล่อยศักยภาพเต็มที่ของ MCP ได้อย่างปลอดภัย

กิล ไฟก์ เป็น Co-Founder และ CTO ของ Merge ซึ่งเป็นแพลตฟอร์ม API ที่เป็นเอกลักษณ์นำหน้า ในช่วงก่อนหน้านี้ กิล曾任หัวหน้าฝ่ายวิศวกรรมที่ Untapped และทำงานเป็นวิศวกรซอฟต์แวร์ที่ Wealthfront และ LinkedIn เขา毕业จากมหาวิทยาลัยโคลัมเบีย และอาศัยและทำงานอยู่ในนิวยอร์กซิตี้