Pixnapping เผยช่องโหว่ Android ขโมย 2FA โดยไม่ต้องขอสิทธิ์
Last updated: 16 Oct 2025
188 Views

สรุปข้อมูล
มีการค้นพบช่องโหว่เชิงไซด์แชนเนลบนอุปกรณ์แอนดรอยด์ของ Google และ Samsung ซึ่งอนุญาตให้แอปพลิเคชันที่เป็นอันตรายดึงพิกเซลจากหน้าจอของแอปอื่น ๆ แบบพิกเซลต่อพิกเซล ช่องโหว่นี้เรียกว่า Pixnapping และใช้ประโยชน์จาก API ของ Android ร่วมกับช่องไซด์แชนเนลของฮาร์ดแวร์เพื่อเลี่ยงมาตรการป้องกันในเบราว์เซอร์ ทำให้สามารถขโมยข้อมูลสำคัญได้ทั้งจากแอปเบราว์เซอร์และแอปที่ไม่ใช่เบราว์เซอร์ ตัวอย่างเช่น รหัสยืนยันตัวตนสองขั้นตอน (2FA) ใน Google Authenticator หรือไทม์ไลน์ใน Google Maps โดยนักวิจัยระบุว่าแอปที่เป็นอันตรายสามารถสกัดรหัส 2FA ได้ภายในเวลาไม่ถึง 30 วินาที
รายละเอียดเพิ่มเติม
นักวิจัยสรุปว่า Android API ชุดหนึ่งเปิดโอกาสให้แอปที่เป็นอันตรายจำลองการโจมตีแบบ Stone-style นอกเบราว์เซอร์ได้ โดยแอปโจมตีสามารถสั่งให้ Activity ของเหยื่อถูกเปิดและส่งไปยัง rendering pipeline ทำให้พิกเซลทั้งหมดในหน้าต่างกิจกรรมนั้นตกอยู่ในความเสี่ยง เทคนิคนี้ผสานการส่งพิกเซลเข้า pipeline กับการใช้ฟีเจอร์เบลอ/การวาง activity แบบกึ่งโปร่งแสง รวมถึงการวัดผลลัพธ์สีผ่านช่องไซด์แชนแนลแบบซ้ำ ๆ เพื่อระบุตำแหน่งพิกเซลที่มีข้อมูลสำคัญ เช่น รหัส 2FAช่องโหว่นี้ถูกติดตามเป็น CVE-2025-48561
ภาพรวมของกรอบการโจมตีแบบขโมยพิกเซล

รูปที่ 1: การขโมยพิกเซล
- Victim: แอปของเหยื่อ (Activity #1 ในรูป) แสดงข้อมูลที่มีความลับ เช่น รหัส 2FA หรือข้อมูล UI อื่น ๆ บนหน้าต่างปกติ เมื่อ Activity นี้ถูกเปิดและส่งไปยังระบบ rendering pipeline พิกเซลทั้งหมดของหน้าต่างนั้นจะพร้อมถูกอ่านและประมวลผลหากมีช่องทาง
- Masking & Enlargement: การเรียก Activity เป้าหมายและขยายบริเวณเป้าหมาย แอปที่เป็นอันตรายส่ง Intent เพื่อเปิด Activity ของเหยื่อตามปกติ จากนั้นใช้การวาง activity แบบ semi-transparent และเอฟเฟกต์กราฟิก เช่น blur เพื่อ mask และ enlarge พื้นที่พิกเซลเป้าหมายไปยัง layer ที่ระบบจะส่งไปยัง pipeline การมาสก์ช่วยให้ผู้โจมตีสามารถวัดค่าพิกเซลบางตำแหน่งได้แม่นยำขึ้น
- Encoding: แอปโจมตีปรับเอฟเฟกต์กราฟิกซ้ำ ๆ เปลี่ยนค่า transparency, overlay pattern หรือ SVG filter เพื่อเปลี่ยนแปลงค่าสีหรือความสว่างของพิกเซลเป้าหมายตามจังหวะที่ออกแบบไว้ ขั้นตอนนี้ทำให้ผลลัพธ์การเรนเดอร์ถูก "เข้ารหัส" เป็นสัญญาณที่สามารถวัดได้จากการทำงานของช่องไซด์แชนแนล
- Transmitting: เมื่อ pipeline ทำงานตามสัญญาณ VSYNC การเปลี่ยนแปลงพิกเซลที่ถูกตั้งค่าไว้จะปรากฏเป็นความต่างของค่าสี หรือเวลา ซึ่งแอปโจมตีสามารถวัดผลลัพธ์เหล่านี้ผ่านช่องไซด์แชนแนลที่อาศัยพฤติกรรมของ GPU/iGPU, การบีบอัดกราฟิก หรือการอ่านพารามิเตอร์กราฟิกอื่น ๆ แบบไม่ต้องสิทธิพิเศษ ค่าที่วัดได้จะถูกถอดรหัสเพื่อค้นหาตำแหน่งพิกเซลที่มีข้อมูลสำคัญ
- Displayed Screen: หลังการถอดรหัสและการวัดซ้ำ ๆ ผู้โจมตีสามารถระบุพิกเซลที่มีข้อมูลสำคัญและแปลงเป็นข้อมูลเชิงตัวอักษร เช่น ตัวเลข 2FA ทั้งนี้การโจมตีต้องการให้ผู้ใช้ติดตั้ง หรือเปิดแอปโจมตีก่อน จึงไม่ต้องขอสิทธิพิเศษใน manifest
ผลกระทบจากเหตุการณ์
ช่องโหว่ Pixnapping มีความเสี่ยงทั้งทางฝั่งผู้ใช้ทั่วไปและองค์กรซึ่งถูกติดตั้งบนเครื่องสามารถขโมยข้อมูลที่แสดงบนหน้าจอของแอปอื่น ๆ แบบพิกเซลต่อพิกเซล รวมถึงรหัส 2FA, ข้อความส่วนตัว, ไทม์ไลน์โลเคชัน โดยไม่ต้องการสิทธิพิเศษหรือการเจาะระบบ ผลลัพธ์คือความสามารถในการทำบัญชีผู้ใช้ปลอมหรือยึดบัญชีจริงผ่านการบายพาสระบบยืนยันตัวตนแบบหลายปัจจัย, การรั่วไหลข้อมูลส่วนบุคคลและข้อมูลเชิงกลยุทธ์ขององค์กร
คำแนะนำ
- อัปเดตแพตซ์ทันทีเมื่อผู้พัฒนามีการเผยแพร่เวอร์ชันที่ได้รับการแก้ไข
- จำกัดการ transparent overlays โดยใช้ allowlist ของแอปพลิเคชัน
- ตรวจสอบความน่าเชื่อถือของแอปก่อนติดตั้งเสมอและบังคับใช้นโยบายให้ติดตั้งแอปจาก Managed Google Play เท่านั้น
- ตรวจสอบและจำกัดแอปที่ขอ SYSTEM_ALERT_WINDOW และ BIND_ACCESSIBILITY_SERVICE เพราะฟีเจอร์เหล่านี้ถูกมักใช้โจมตี UI/UX abuse
- ไม่ควรเปิดแอปที่ไม่เชื่อถือเมื่อต้องอ่านข้อความหรือรหัสที่สำคัญ
แหล่งอ้างอิง
https://www.pixnapping.com/pixnapping.pdf
https://thehackernews.com/2025/10/new-pixnapping-android-flaw-lets-rogue.html
Related Content


