ChatGPT Connectors ช่องโหว่ความปลอดภัยที่อาจทำให้ข้อมูลรั่วไหลผ่าน Indirect Prompt Injection

ในปัจจุบัน โมเดล Generative AI ไม่ได้เป็นเพียงแชทบอทที่ตอบคำถามทั่วไป แต่ได้พัฒนาจนสามารถเชื่อมต่อกับฐานข้อมูลส่วนตัวของผู้ใช้เพื่อให้คำตอบที่แม่นยำและเฉพาะเจาะจงมากขึ้น เช่น การเชื่อมต่อ ChatGPT เข้ากับ Gmail, GitHub หรือปฏิทินของ Microsoft อย่างไรก็ตาม ความสะดวกสบายนี้มาพร้อมกับความเสี่ยง เมื่อนักวิจัยด้านความปลอดภัยค้นพบว่าการเชื่อมต่อเหล่านี้อาจกลายเป็นช่องทางให้แฮกเกอร์โจมตีระบบได้ โดยใช้เพียงเอกสารที่ถูก "วางยา" (Poisoned Document) เพียงฉบับเดียว

เจาะลึกการโจมตีแบบ AgentFlayer

Michael Bargury และ Tamir Ishay Sharbat นักวิจัยจากบริษัทความปลอดภัย Zenity ได้เปิดเผยช่องโหว่ใน Connectors (ฟีเจอร์ที่ช่วยให้ AI เข้าถึงข้อมูลจากบริการภายนอก) ของ OpenAI ในงาน Black Hat ที่ลาสเวกัส โดยพวกเขาได้สาธิตการโจมตีที่ชื่อว่า AgentFlayer ซึ่งสามารถดึงข้อมูลสำคัญ เช่น API keys (รหัสที่ใช้เชื่อมต่อระหว่างแอปพลิเคชัน) ออกจากบัญชี Google Drive ของเหยื่อได้

สิ่งที่น่ากังวลที่สุดคือการโจมตีนี้เป็นแบบ Zero-click หมายความว่าผู้ใช้ไม่จำเป็นต้องกดลิงก์หรือดำเนินการใดๆ เพียงแค่แฮกเกอร์ส่งเอกสารที่ฝังคำสั่งอันตรายผ่านทางอีเมลและแชร์ไปยัง Google Drive ของเป้าหมาย ระบบ AI ก็อาจถูกหลอกให้ทำงานตามคำสั่งนั้นได้ทันที

กลไกการทำงานของ Indirect Prompt Injection

การโจมตีนี้ใช้เทคนิคที่เรียกว่า Indirect Prompt Injection หรือการฉีดคำสั่งทางอ้อม ซึ่งเป็นการป้อนข้อมูลที่ถูกดัดแปลงให้ LLM (Large Language Model - โมเดลภาษาขนาดใหญ่) ประมวลผล เพื่อให้ AI ปฏิบัติตามคำสั่งที่แฝงมาแทนคำสั่งของผู้ใช้

ขั้นตอนการโจมตีมีดังนี้:

  1. การสร้างเอกสารลวง: แฮกเกอร์สร้างเอกสารที่ดูเหมือนนโยบายการประชุมทั่วไป แต่ซ่อนคำสั่งอันตรายไว้ด้วยตัวอักษรสีขาวขนาดเล็กมาก (Size-one font) ซึ่งมนุษย์มองไม่เห็นแต่ AI สามารถอ่านได้
  2. การหลอกล่อ AI: เมื่อผู้ใช้สั่งให้ ChatGPT สรุปเนื้อหาในเอกสารนั้น คำสั่งที่ซ่อนอยู่จะสั่งให้ AI ยกเลิกการสรุป และเปลี่ยนไปค้นหา API keys ใน Google Drive แทน
  3. การส่งออกข้อมูล: AI จะนำ API keys ที่พบไปแนบต่อท้าย URL ในรูปแบบของภาษา Markdown เพื่อเรียกใช้รูปภาพจากเซิร์ฟเวอร์ภายนอก (ในกรณีนี้ใช้ Azure Blob ของ Microsoft เพื่อหลบเลี่ยงระบบตรวจจับ) ทำให้ข้อมูลรั่วไหลไปยัง Log ของแฮกเกอร์
Image 6

ความเสี่ยงที่เพิ่มขึ้นตามความสามารถของ AI

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

สรุปรายละเอียดการโจมตี AgentFlayer
หัวข้อ รายละเอียด
รูปแบบการโจมตี Indirect Prompt Injection (Zero-click)
เป้าหมาย ChatGPT Connectors (เช่น Google Drive)
ข้อมูลที่ถูกขโมย API keys และข้อมูลลับของนักพัฒนา
วิธีการส่งออกข้อมูล ใช้ Markdown URL เชื่อมต่อไปยัง Azure Blob Storage
สถานะปัจจุบัน OpenAI ได้นำมาตรการบรรเทาผลกระทบมาใช้แล้ว

ข้อเท็จจริงสำคัญ

  • การโจมตีแบบ Zero-click ไม่ต้องอาศัยการโต้ตอบจากผู้ใช้ก็สามารถขโมยข้อมูลได้
  • Indirect Prompt Injection คือการใช้ข้อมูลภายนอกที่ "วางยา" เพื่อควบคุมการทำงานของ AI
  • การใช้ Markdown เพื่อดึงข้อมูลออกเป็นเทคนิคที่แฮกเกอร์ใช้หลบเลี่ยงระบบความปลอดภัย
  • ความสามารถในการเชื่อมต่อข้อมูล (Connectors) ช่วยเพิ่มประสิทธิภาพการทำงาน แต่ก็เพิ่มความเสี่ยงด้านความปลอดภัยในเวลาเดียวกัน

คำถามที่พบบ่อย

Indirect Prompt Injection คืออะไร?

คือการที่ผู้โจมตีใส่คำสั่งอันตรายลงในแหล่งข้อมูลที่ AI เข้าถึงได้ (เช่น ไฟล์เอกสารหรือหน้าเว็บ) เมื่อ AI อ่านข้อมูลนั้น จะถูกหลอกให้ทำตามคำสั่งของแฮกเกอร์แทนที่จะทำตามคำสั่งของผู้ใช้

การโจมตีแบบ Zero-click อันตรายอย่างไร?

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

API keys ที่ถูกขโมยไปนำไปใช้ทำอะไรได้บ้าง?

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

เราจะป้องกันตัวเองจากช่องโหว่ลักษณะนี้ได้อย่างไร?

ในระดับผู้ใช้ ควรระมัดระวังการแชร์ไฟล์จากแหล่งที่ไม่น่าเชื่อถือเข้าสู่ระบบที่เชื่อมต่อกับ AI และในระดับผู้พัฒนา จำเป็นต้องสร้างระบบคัดกรองข้อมูล (Input Validation) ที่เข้มงวดเพื่อป้องกันไม่ให้ AI ประมวลผลคำสั่งที่แฝงมากับข้อมูล