- สามารถโจมตี ระบบ AI ในสภาพแวดล้อมการใช้งานจริงได้ด้วยการอาศัย ช่องโหว่ของการสเกลภาพ
- ภาพที่ดูปกติภายนอก เมื่อถูกดาวน์สเกลแล้วอาจแปลงเป็นเพย์โหลด prompt injection และนำไปสู่ความเสี่ยงของการรั่วไหลของข้อมูล
- การโจมตีนี้ได้รับการยืนยันแล้วใน บริการจริงหลายประเภท เช่น Google Gemini CLI โดยอาศัยปรากฏการณ์ ความไม่สอดคล้องกัน ระหว่างสิ่งที่ผู้ใช้รับรู้กับอินพุตที่โมเดลได้รับ
- เทคนิคการโจมตีและผลกระทบจะแตกต่างกันไปตาม อัลกอริทึมการดาวน์สเกล และวิธีการติดตั้งใช้งานแต่ละแบบ และสามารถทดลองการโจมตีด้วยภาพได้ผ่านเครื่องมือโอเพนซอร์ส Anamorpher
- มาตรการป้องกันที่แนะนำ ได้แก่ การแสดงตัวอย่างอินพุตล่วงหน้า การใช้รูปแบบการออกแบบที่ปลอดภัย และการกำหนดให้ผู้ใช้อนุมัติอย่างชัดเจน
พื้นหลังและประเด็นปัญหา
- มีสถานการณ์การโจมตีที่เมื่อป้อนภาพซึ่งดูธรรมดาเข้าไปใน ระบบ AI เช่น LLM ระหว่างกระบวนการดาวน์สเกลจะมี multimodal prompt injection ที่ซ่อนอยู่ทำงานและทำให้ข้อมูลของผู้ใช้รั่วไหลออกไปยังภายนอก
- ช่องโหว่นี้เกิดขึ้นเพราะภาพที่ถูกส่งต่อให้โมเดลจริงจะต้องผ่านกระบวนการสเกล และในขั้นตอนนี้เพย์โหลดที่ผู้โจมตีฝังไว้จะปรากฏออกมา
การโจมตีด้วยการสเกลภาพที่มุ่งเป้าระบบ AI ในสภาพแวดล้อมจริง
- บล็อกโพสต์นี้สาธิตให้เห็นว่าช่องโหว่ด้านการสเกลภาพสามารถถูกนำไปใช้โจมตีจริงกับผลิตภัณฑ์ AI หลายประเภท เช่น Gemini CLI, Vertex AI Studio, Gemini เว็บและ API, Google Assistant, Genspark
- สามารถสร้างและตรวจสอบภาพแบบกำหนดเองเหล่านี้ได้อย่างง่ายดายผ่านเครื่องมือโอเพนซอร์สชื่อ Anamorpher
กรณีตัวอย่างการโจมตีเพื่อขโมยข้อมูล (Gemini CLI)
- ใน Gemini CLI เมื่อตั้งค่าตามค่าเริ่มต้น เซิร์ฟเวอร์ Zapier MCP จะอนุมัติการเรียกใช้เครื่องมือ MCP ทั้งหมดโดยอัตโนมัติโดยไม่ต้องให้ผู้ใช้ยืนยัน (
settings.json ตั้งค่า trust=True)
- เมื่อผู้ใช้อัปโหลดภาพที่ดูปกติ ข้อมูลใน Google Calendar จะถูกส่งรั่วไหลไปยังอีเมลของผู้โจมตีผ่าน prompt injection ในภาพที่ถูกดาวน์สเกล
- เนื่องจากไม่มีการแสดงตัวอย่างจริง ผู้ใช้จึงไม่อาจทราบได้เลยว่าผลลัพธ์ถูกแปลงไปอย่างไรหรือมีการโจมตีเกิดขึ้นหรือไม่
- การโจมตีแบบ prompt injection ลักษณะคล้ายกันนี้เคยถูกยืนยันแล้วในเครื่องมือเขียนโค้ดแบบเอเจนต์หลายประเภท เช่น Claude Code และ OpenAI Codex
- เครื่องมือเหล่านี้จำนวนมากมีการตั้งค่าเริ่มต้นและรูปแบบระบบที่ไม่ปลอดภัยโดยพื้นฐาน จึงจำเป็นต้องมีมาตรการแก้ไขในระดับรากฐาน
กรณีการโจมตีเพิ่มเติม
- การโจมตีแบบ prompt injection ที่อาศัยการสเกลภาพยังประสบความสำเร็จใน Vertex AI, Gemini เว็บอินเทอร์เฟซ, Gemini API, Google Assistant, Genspark ด้วย
- โดยเฉพาะใน Vertex AI Studio ผู้ใช้สามารถดูได้เพียงภาพความละเอียดสูง จึงไม่สามารถเห็นภาพที่ถูกดาวน์สเกลซึ่งโมเดลได้รับจริง
- ผลลัพธ์คือเกิด ความไม่สอดคล้องกัน ระหว่างการรับรู้ของผู้ใช้กับอินพุตจริงของโมเดล ซึ่งเปิดทางให้การโจมตีเกิดขึ้นได้ง่าย
- เวกเตอร์การโจมตีกระจายอยู่กว้างขวางในหลายระบบและหลายเครื่องมือ
กลไกภายในของการโจมตีด้วยการสเกลภาพ
- การโจมตีนี้อาศัย คุณสมบัติการอินเตอร์โพเลชัน ของอัลกอริทึมการดาวน์สเกลภาพ (resampling)
- อัลกอริทึมการดาวน์สเกลที่พบได้บ่อย ได้แก่ Nearest Neighbor, Bilinear, Bicubic Interpolation และแต่ละแบบต้องใช้เทคนิคการโจมตีที่สอดคล้องกับคุณลักษณะของมัน
- แม้แต่ในระดับไลบรารี (Pillow, PyTorch, OpenCV, TensorFlow) ก็ยังมีความแตกต่างของการติดตั้งใช้งาน เช่น anti-aliasing, alignment, บั๊กภายใน
- ผู้โจมตีจำเป็นต้องทำ fingerprinting เพื่อระบุว่าแต่ละระบบใช้อัลกอริทึมและวิธีติดตั้งใช้งานแบบใด จึงจะปรับการโจมตีให้เหมาะที่สุดได้
- มีการใช้ภาพทดสอบหลากหลายชนิด เช่น ลายตารางหมากรุก วงกลมร่วมศูนย์ ลายเส้นแถบ Moiré และขอบเอียง เพื่อวิเคราะห์คุณลักษณะของอัลกอริทึมและอาร์ติแฟกต์ต่าง ๆ
หลักการสุ่มตัวอย่างภาพและทฤษฎีบท Nyquist–Shannon
- หากมีลวดลายละเอียดอยู่บนริบบิ้น แล้วทำการสุ่มตัวอย่างเป็นช่วงคงที่ เมื่อ อัตราการสุ่มตัวอย่าง ต่ำเกินไป จะเกิดปรากฏการณ์ที่ไม่สามารถกู้คืนรูปแบบเดิมได้อย่างถูกต้องและเกิดความเพี้ยน
- ปรากฏการณ์นี้คือ aliasing effect ที่อธิบายโดย ทฤษฎีบทการสุ่มตัวอย่าง Nyquist–Shannon และผู้โจมตีสามารถออกแบบให้หลังจากดาวน์สเกลแล้วเกิดรูปแบบเฉพาะขึ้นได้ด้วยการปรับพิกเซล
Anamorpher: เครื่องมือสร้างภาพโจมตี
- Anamorpher เป็นเครื่องมือโอเพนซอร์สสำหรับ สร้างและแสดงผลภาพโจมตี ให้สอดคล้องกับอัลกอริทึมการดาวน์สเกลที่พบบ่อย (Nearest Neighbor, Bilinear, Bicubic)
- ตัวอย่างเช่น ในกรณีของ Bicubic Interpolation ค่าพิกเซลผลลัพธ์จะถูกกำหนดจาก 16 พิกเซลในพื้นที่ 4x4 พร้อมการถ่วงน้ำหนักให้กับพิกเซลรอบข้าง
- ผู้โจมตีสามารถเลือกภาพที่มีคอนทราสต์สูง (เช่น พื้นหลังสีดำเข้ม) แล้วปรับความสว่างของพิกเซลที่สำคัญด้วยการหาค่าน้อยที่สุดกำลังสอง เพื่อให้ผลลัพธ์หลังดาวน์สเกลกลายเป็นลวดลายโจมตีที่คมชัด
- Anamorpher มีทั้ง อินเทอร์เฟซฟรอนต์เอนด์และ Python API และด้วยโครงสร้างแบ็กเอนด์แบบโมดูลาร์ ผู้ใช้ยังสามารถทดลองกับ อัลกอริทึมการดาวน์สเกลแบบกำหนดเอง ได้ด้วย
แนวทางป้องกันและรับมือ
- วิธีที่ปลอดภัยที่สุดคือ ไม่ใช้การดาวน์สเกลภาพเลย และจำกัดขนาดภาพที่อนุญาตให้อัปโหลด
- หากจำเป็นต้องมีการแปลงและดาวน์สเกล ต้องมี ตัวอย่างภาพอินพุตที่โมเดลได้รับจริง ให้ดูในทุกช่องทางรับอินพุต รวมถึง CLI และ API
- โดยเฉพาะอย่างยิ่ง ต้องไม่ให้ข้อความในภาพสามารถกระตุ้นการเรียกใช้เครื่องมือที่มีความอ่อนไหวได้ โดยไม่มีการอนุมัติจากผู้ใช้อย่างชัดเจน และควรนำ รูปแบบการออกแบบที่ปลอดภัยและมาตรการรับมืออย่างเป็นระบบ มาใช้กับทั้งระบบ
งานที่ต้องทำต่อไป
- ในอุปกรณ์พกพาและอุปกรณ์ edge มีข้อจำกัดด้านขนาดภาพคงที่และมีการใช้อัลกอริทึมการดาวน์สเกลที่ไม่มีประสิทธิภาพในสัดส่วนสูงกว่า จึงอาจมีความเสี่ยงมากกว่า
- จำเป็นต้องมีการวิจัยต่อยอดและพัฒนามาตรการป้องกันเพิ่มเติม เช่น การผสานกับ voice AI, อัลกอริทึมที่ซับซ้อนยิ่งขึ้นและวิธีตรวจจับ injection, semantic prompt injection, การใช้อาร์ติแฟกต์จากการอัปสเกล
สรุป
- Anamorpher อยู่ในสถานะเบต้าในปัจจุบัน
- ในอนาคตคาดหวังว่าจะมีการวิจัยด้านความปลอดภัยของระบบ AI แบบมัลติโหมดและแบบเอเจนต์มากขึ้น พร้อมข้อเสนอแนะและการปรับปรุงที่เหมาะสม
ยังไม่มีความคิดเห็น