วิธีการระบุระบบผู้ใช้ตามข้อมูล GPU

นักวิจัยจากมหาวิทยาลัย Ben-Gurion (อิสราเอล) มหาวิทยาลัย Lille (ฝรั่งเศส) และมหาวิทยาลัยแอดิเลด (ออสเตรเลีย) ได้พัฒนาเทคนิคใหม่ในการระบุอุปกรณ์ของผู้ใช้โดยการตรวจจับพารามิเตอร์การทำงานของ GPU ในเว็บเบราว์เซอร์ วิธีการนี้เรียกว่า "Drawn Apart" และอิงตามการใช้ WebGL เพื่อรับโปรไฟล์ประสิทธิภาพของ GPU ซึ่งสามารถปรับปรุงความแม่นยำของวิธีการติดตามแบบพาสซีฟที่ทำงานโดยไม่ต้องใช้คุกกี้และไม่ต้องจัดเก็บตัวระบุไว้ในระบบของผู้ใช้ได้อย่างมาก

วิธีการที่คำนึงถึงคุณสมบัติของการเรนเดอร์, GPU, กราฟิกสแต็กและไดรเวอร์เมื่อระบุถูกนำมาใช้ก่อนหน้านี้ แต่ถูกจำกัดอยู่ที่ความสามารถในการแยกอุปกรณ์ในระดับของการ์ดแสดงผลและ GPU รุ่นต่างๆ เท่านั้น เช่น สามารถใช้เป็นปัจจัยเพิ่มเติมเพื่อเพิ่มโอกาสในการระบุตัวตนได้เท่านั้น คุณลักษณะสำคัญของวิธี "Drawn Apart" ใหม่คือไม่จำกัดตัวเองอยู่ที่การแยก GPU รุ่นต่างๆ แต่พยายามระบุความแตกต่างระหว่าง GPU ที่เหมือนกันในรุ่นเดียวกัน เนื่องจากความหลากหลายของกระบวนการผลิตชิปที่ออกแบบมาเพื่อการทำงานแบบขนานขนาดใหญ่ คอมพิวเตอร์ มีข้อสังเกตว่าการเปลี่ยนแปลงที่เกิดขึ้นระหว่างกระบวนการผลิตทำให้สามารถสร้างการหล่อที่ไม่ซ้ำสำหรับอุปกรณ์รุ่นเดียวกันได้

วิธีการระบุระบบผู้ใช้ตามข้อมูล GPU

ปรากฎว่าสามารถระบุความแตกต่างเหล่านี้ได้โดยการนับจำนวนหน่วยประมวลผลและวิเคราะห์ประสิทธิภาพใน GPU การตรวจสอบตามชุดฟังก์ชันตรีโกณมิติ การดำเนินการเชิงตรรกะ และการคำนวณจุดลอยตัวถูกนำมาใช้เป็นพื้นฐานในการระบุรุ่น GPU ที่แตกต่างกัน เพื่อระบุความแตกต่างใน GPU เดียวกัน จึงมีการประเมินจำนวนเธรดที่รันพร้อมกันเมื่อรันเวอร์เท็กซ์เชเดอร์ สันนิษฐานว่าผลกระทบที่ตรวจพบนั้นเกิดจากความแตกต่างของสภาวะอุณหภูมิและการใช้พลังงานของอินสแตนซ์ชิปที่แตกต่างกัน (ก่อนหน้านี้มีผลที่คล้ายกันสำหรับ CPU - โปรเซสเซอร์ที่เหมือนกันแสดงการใช้พลังงานที่แตกต่างกันเมื่อรันโค้ดเดียวกัน)

เนื่องจากการดำเนินการผ่าน WebGL ดำเนินการแบบอะซิงโครนัส จึงไม่สามารถใช้ JavaScript API Performance.now() เพื่อวัดเวลาดำเนินการได้โดยตรง จึงมีการนำเสนอเทคนิคสามประการเพื่อวัดเวลา:

  • บนหน้าจอ — เรนเดอร์ฉากบนผืนผ้าใบ HTML วัดเวลาตอบสนองของฟังก์ชันโทรกลับ ตั้งค่าผ่าน Window.requestAnimationFrame API และเรียกหลังจากการเรนเดอร์เสร็จสิ้น
  • offscreen - ใช้คนงานและเรนเดอร์ฉากเป็นวัตถุ OffscreenCanvas วัดเวลาดำเนินการของคำสั่ง ConvertToBlob
  • GPU - วาดไปที่ออบเจ็กต์ OffscreenCanvas แต่ใช้ตัวจับเวลาที่ได้รับจาก WebGL เพื่อวัดเวลาที่คำนึงถึงระยะเวลาของชุดคำสั่งทางฝั่ง GPU

ในระหว่างกระบวนการสร้าง ID จะมีการทดสอบ 50 ครั้งบนอุปกรณ์แต่ละเครื่อง โดยแต่ละการทดสอบครอบคลุมการวัด 176 รายการจากคุณลักษณะที่แตกต่างกัน 16 รายการ การทดลองที่รวบรวมข้อมูลเกี่ยวกับอุปกรณ์ 2500 เครื่องที่มี GPU ที่แตกต่างกัน 1605 ตัว แสดงให้เห็นว่าประสิทธิภาพของวิธีการระบุตัวตนแบบรวมเพิ่มขึ้น 67% เมื่อเพิ่มการรองรับ Drawn Apart โดยเฉพาะอย่างยิ่ง วิธีการรวม FP-STALKER จะให้การระบุตัวตนภายใน 17.5 วันโดยเฉลี่ย และเมื่อรวมกับ Drawn Apart ระยะเวลาการระบุตัวตนจะเพิ่มขึ้นเป็น 28 วัน

วิธีการระบุระบบผู้ใช้ตามข้อมูล GPU

  • ความแม่นยำในการแยกระบบ 10 ระบบที่ใช้ชิป Intel i5-3470 (GEN 3 Ivy Bridge) และ Intel HD Graphics 2500 GPU ในการทดสอบบนหน้าจอคือ 93% และในการทดสอบนอกหน้าจอคือ 36.3%
  • สำหรับระบบ Intel i10-5 10500 ระบบ (GEN 10 Comet Lake) พร้อมการ์ดแสดงผล NVIDIA GTX1650 ความแม่นยำคือ 70% และ 95.8%
  • สำหรับ 15 ระบบ Intel i5-8500 (GEN 8 Coffee Lake) พร้อม Intel UHD Graphics 630 GPU - 42% และ 55%
  • สำหรับระบบ Intel i23-5 (GEN 4590 Haswell) 4 เครื่องที่มี Intel HD Graphics 4600 GPU – 32.7% และ 63.7%
  • สำหรับสมาร์ทโฟน Samsung Galaxy S20/S20 Ultra หกเครื่องที่มี GPU Mali-G77 MP11 ความแม่นยำในการระบุตัวตนในการทดสอบบนหน้าจอคือ 92.7% และสำหรับสมาร์ทโฟน Samsung Galaxy S9/S9+ ที่ใช้ Mali-G72 MP18 นั้นอยู่ที่ 54.3%

วิธีการระบุระบบผู้ใช้ตามข้อมูล GPU

สังเกตว่าอุณหภูมิของ GPU ได้รับผลกระทบจากความแม่นยำ และสำหรับอุปกรณ์บางตัว การรีบูตระบบทำให้เกิดการบิดเบือนของตัวระบุ เมื่อใช้วิธีการนี้ร่วมกับวิธีการระบุตัวตนทางอ้อมอื่นๆ ความแม่นยำจะเพิ่มขึ้นอย่างมาก พวกเขายังวางแผนที่จะเพิ่มความแม่นยำผ่านการใช้เชเดอร์การคำนวณหลังจากการรักษาเสถียรภาพของ WebGPU API ใหม่

Intel, ARM, Google, Khronos, Mozilla และ Brave ได้รับแจ้งถึงปัญหาดังกล่าวในปี 2020 แต่รายละเอียดของวิธีการดังกล่าวกำลังได้รับการเปิดเผยเท่านั้น นักวิจัยยังได้เผยแพร่ตัวอย่างการทำงานที่เขียนด้วย JavaScript และ GLSL ซึ่งสามารถทำงานทั้งแบบมีและไม่มีการแสดงข้อมูลบนหน้าจอ นอกจากนี้ สำหรับระบบที่ใช้ GPU Intel GEN 3/4/8/10 มีการเผยแพร่ชุดข้อมูลเพื่อจำแนกข้อมูลที่แยกออกมาในระบบการเรียนรู้ของเครื่อง

ที่มา: opennet.ru

เพิ่มความคิดเห็น