ช่องโหว่ ChatGPT! แค่คำสั่งแฝงคำเดียว ก็แอบส่งข้อมูล Gmail ไปบัญชีอื่นได้
งานเข้า OpenAI อีกแล้วครับ! Check Point Research ได้เผยแพร่รายงานระบุว่า แค่แอบฝังคำสั่ง (Prompt) ไว้ในบทสนทนาเพียงคำสั่งเดียว ก็สามารถทำให้ ChatGPT ทำงานส่งข้อมูลให้แฮกเกอร์แบบเงียบๆ ได้ ทั้งที่หน้าจอยังคงตอบคำถามของผู้ใช้ตามปกติ
ในการทดสอบ (Proof of Concept) ทีมวิจัยแสดงให้เห็นว่า คำสั่งซ่อนเร้นนี้สามารถเข้าไปอ่านข้อมูลในบัญชี Gmail ของผู้ใช้ที่เชื่อมต่อไว้ แล้วส่งต่อไปยังบัญชี ChatGPT บัญชีอื่นผ่าน "ช่องทางลับ" ระหว่างสองบัญชี โดยที่คำตอบบนหน้าจอของผู้ใช้ไม่มีการแจ้งเตือนใดๆ เลย นอกจากนี้ยังขโมยประวัติการคุยและไฟล์แนบในห้องแชตนั้นได้ด้วย ส่วนข้อมูลจะหลุดไปมากน้อยแค่ไหน ขึ้นอยู่กับว่าเซสชันนั้นได้รับสิทธิ์ให้เข้าถึงอะไรบ้าง
คำสั่งอันตรายเข้ามาในแชตได้ยังไง?
Check Point ชี้ว่า แฮกเกอร์สามารถส่งคำสั่งแฝงเข้ามาได้ 3 ทางหลักๆ:
- ผู้ใช้คัดลอก Prompt อันตรายมาวางเอง
- ผู้ใช้กดเปิดลิงก์แบ่งปันบทสนทนา (Shared Conversation)
- ผ่านทาง Custom GPT ที่ซ่อนคำสั่งไว้ในส่วน Builder Instructions (ซึ่งผู้ใช้มองไม่เห็น)
เมื่อคำสั่งถูกฝังแล้ว แค่ผู้ใช้พิมพ์ข้อความธรรมดาตอบกลับไปประโยคเดียว ระบบก็เริ่มทำงานทันที โดยเฉพาะเมื่อใช้ Thinking mode ตัว ChatGPT จะรันการทำงานเป็น 2 สายพร้อมกันในรอบเดียว ด้านหนึ่งตอบคำถามผู้ใช้ ส่วนอีกด้านจะแอบเช็กกล่องข้อความลับเพื่อรับงานจากแฮกเกอร์ ดึงข้อมูลผ่านเครื่องมือในเครื่องผู้ใช้ แล้วส่งผลลัพธ์กลับไป โดยคำสั่งสั่งให้แยกการทำงานสองส่วนนี้ออกจากกันชัดเจน ผู้ใช้จึงไม่เห็นความผิดปกติใดๆ บนหน้าจอ
สัญญาณเดียวที่บอกว่ามีการดึงข้อมูล คือแถบเล็กๆ ที่ขึ้นว่า "Talked to Gmail" เหนือคำตอบ แต่นั่นคือการบันทึกว่าข้อมูลถูกอ่านไปเรียบร้อยแล้ว โดยไม่ได้เปิดโอกาสให้ผู้ใช้กดอนุญาตหรือปฏิเสธล่วงหน้าเลย!
ทำไมระบบถึงไม่ถามผู้ใช้ก่อน?
ที่เป็นแบบนี้เพราะการตั้งค่าเริ่มต้นของแอปที่เชื่อมต่อ (Connected Apps) บน ChatGPT ครับ โดยเอกสารของ OpenAI ระบุว่า Action ทั่วไปจะได้รับสิทธิ์อ่านข้อมูลได้ทันทีโดยไม่ต้องร้องขอ (Prompt) ระบบจะถามก็ต่อเมื่อเป็น Action ที่ส่งผลกระทบภายนอกอย่างจริงจัง, เปิดเผยข้อมูลที่ไวเป็นพิเศษ หรือย้อนกลับไม่ได้เท่านั้น (ผู้ใช้ที่ต้องการให้ระบบถามทุกครั้ง ต้องเข้าไปเปลี่ยนเป็นสิทธิ์ "Always ask" เอง)
เบื้องหลังเทคนิคการแอบส่งข้อมูล
ปกติแล้ว สภาพแวดล้อม Python ที่ ChatGPT ใช้ทำ Data Analysis จะถูกตัดขาดไม่ให้ยิง Request ออกอินเทอร์เน็ตหรือ API ข้างนอก และคอนเทนเนอร์ (Container) ของแต่ละแชตหรือต่างบัญชีก็ไม่ได้เชื่อมต่อกันโดยตรง
แต่จุดอ่อนอยู่ที่บริการภายในที่ชื่อ JFrog Artifactory ซึ่ง ChatGPT ใช้ดาวน์โหลดแพ็กเกจ Python หรือ npm เสริม คอนเทนเนอร์ของทุกแชตสามารถเข้าถึงบริการนี้ได้ และสิทธิ์การอ่านที่คอนเทนเนอร์มี ก็เพียงพอที่จะใช้วิธีเขียนข้อมูล (Properties) ฝังไว้กับไฟล์แคชได้ด้วย ผลคือแฮกเกอร์สามารถฝังข้อมูล เช่น ข้อความ หรือ Base64 ไว้ที่ไฟล์แคชฝั่งหนึ่ง แล้วให้อีกบัญชีมาอ่านค่าออกไปได้ กลายเป็น "กระดานข้อความร่วม" (Shared Clipboard) เชื่อมระหว่างคอนเทนเนอร์ที่จริงๆ แล้วไม่ควรจะถึงกันได้เลย!
สถานะการแก้ไขล่าสุด
Check Point ได้แจ้งเรื่องนี้ให้ OpenAI ทราบแล้ว ซึ่ง OpenAI ยืนยันว่าได้ทำการปิด (Take offline) บริการภายในที่เป็นช่องทางดังกล่าวเรียบร้อยแล้ว ผู้ใช้ทั่วไปจึงไม่ต้องกดอัปเดตอะไรเพิ่มเติมครับ
นี่นับเป็นช่องทางรั่วไหลที่สองในส่วนระบบประมวลผลเดิมของ ChatGPT ที่ Check Point ค้นพบ (ต่อจากกรณีใช้ DNS Lookup เมื่อต้นปี) สะท้อนให้เห็นว่าบริการภายในที่ใช้ร่วมกัน มักกลายเป็น "สะพานเชื่อมสื่อสารที่ไม่ตั้งใจ" ระหว่างสภาพแวดล้อมที่ควรถูกแยกออกจากกันอย่างเด็ดขาดครับ
#ดรกฤษฎาแก้ววัดปริง #ไทยสมาร์ทซิตี้ #SmartCity #DRKRIT #สมาร์ทซิตี้คลิก