Drawn Apart วิธีการระบุผู้ใช้ที่ใช้ GPU

ไม่กี่วันที่ผ่านมา ข่าวว่านักวิจัย จากมหาวิทยาลัย Ben-Gurion (อิสราเอล), University of Lille (ฝรั่งเศส) และมหาวิทยาลัยแอดิเลด (ออสเตรเลีย) ได้พัฒนาเทคนิคใหม่ในการระบุอุปกรณ์ ของผู้ใช้โดยการตรวจจับพารามิเตอร์ GPU ในเว็บเบราว์เซอร์

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

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

คุณสมบัติที่สำคัญ ของวิธีการ "ดึงออกจากกัน" ใหม่ คือไม่จำกัดเฉพาะการแยก GPU รุ่นต่างๆแต่ พยายามระบุความแตกต่างระหว่าง GPU ที่เหมือนกัน ของรุ่นเดียวกัน เนื่องจากกระบวนการผลิตชิปที่ออกแบบไม่เหมือนกัน

นอกจากนี้ยังกล่าวถึงความผันแปรที่เกิดขึ้นระหว่างกระบวนการผลิตเพื่อให้สามารถสร้างแม่พิมพ์ที่ไม่ซ้ำสำหรับอุปกรณ์รุ่นเดียวกันได้

ปรากฎว่าความแตกต่างเหล่านี้สามารถระบุได้โดยการนับจำนวนหน่วยปฏิบัติการและวิเคราะห์ประสิทธิภาพบน GPU เป็นพื้นฐานในการระบุ GPU รุ่นต่างๆ การตรวจสอบตามชุดของฟังก์ชันตรีโกณมิติ การดำเนินการทางตรรกะ และการคำนวณจุดลอยตัวถูกนำมาใช้ เพื่อระบุความแตกต่างใน GPU เดียวกัน จำนวนเธรดที่ทำงานพร้อมกันเมื่อรัน vertex shader ประมาณการไว้

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

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

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

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

โดยเฉพาะอย่างยิ่ง วิธี FP-STALKER ที่รวมกันโดยเฉลี่ยแล้วระบุตัวตนได้ภายใน 17,5 วัน และเมื่อใช้ร่วมกับ Drawn Apart ระยะเวลาของการระบุตัวตนเพิ่มขึ้นเป็น 28 วัน

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

Intel, ARM, Google, Khronos, Mozilla และ Brave ได้รับแจ้งถึงปัญหาดังกล่าวในปี 2020 แต่รายละเอียดของวิธีการเพิ่งถูกเปิดเผยเท่านั้น

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

ในที่สุด หากคุณสนใจที่จะทราบข้อมูลเพิ่มเติมคุณสามารถตรวจสอบรายละเอียดได้ในไฟล์ ลิงค์ต่อไปนี้


แสดงความคิดเห็นของคุณ

อีเมล์ของคุณจะไม่ถูกเผยแพร่ ช่องที่ต้องการถูกทำเครื่องหมายด้วย *

*

*

  1. รับผิดชอบข้อมูล: AB Internet Networks 2008 SL
  2. วัตถุประสงค์ของข้อมูล: ควบคุมสแปมการจัดการความคิดเห็น
  3. ถูกต้องตามกฎหมาย: ความยินยอมของคุณ
  4. การสื่อสารข้อมูล: ข้อมูลจะไม่ถูกสื่อสารไปยังบุคคลที่สามยกเว้นตามข้อผูกพันทางกฎหมาย
  5. การจัดเก็บข้อมูล: ฐานข้อมูลที่โฮสต์โดย Occentus Networks (EU)
  6. สิทธิ์: คุณสามารถ จำกัด กู้คืนและลบข้อมูลของคุณได้ตลอดเวลา