طريقة تعريف نظام المستخدم بناءً على معلومات وحدة معالجة الرسومات

قام باحثون من جامعة بن غوريون (إسرائيل)، وجامعة ليل (فرنسا) وجامعة أديليد (أستراليا) بتطوير تقنية جديدة لتحديد أجهزة المستخدم من خلال الكشف عن معلمات تشغيل وحدة معالجة الرسومات في متصفح الويب. تسمى هذه الطريقة "Drawn Apart" وتعتمد على استخدام WebGL للحصول على ملف تعريف أداء وحدة معالجة الرسومات، والذي يمكن أن يحسن بشكل كبير دقة طرق التتبع السلبي التي تعمل دون استخدام ملفات تعريف الارتباط ودون تخزين معرف على نظام المستخدم.

تم استخدام الطرق التي تأخذ في الاعتبار ميزات العرض ووحدة معالجة الرسومات ومكدس الرسومات وبرامج التشغيل عند التحديد سابقًا، ولكنها كانت مقتصرة على القدرة على فصل الأجهزة فقط على مستوى النماذج المختلفة لبطاقات الفيديو ووحدات معالجة الرسومات، أي. لا يمكن استخدامه إلا كعامل إضافي لزيادة احتمالية تحديد الهوية. الميزة الرئيسية لطريقة "Drawn Apart" الجديدة هي أنها لا تقتصر على فصل نماذج GPU المختلفة، ولكنها تحاول تحديد الاختلافات بين وحدات معالجة الرسوميات المتطابقة لنفس النموذج بسبب عدم تجانس عملية تصنيع الرقائق المصممة للتوازي على نطاق واسع الحوسبة. تجدر الإشارة إلى أن الاختلافات التي تنشأ أثناء عملية الإنتاج تجعل من الممكن تشكيل قوالب غير متكررة لنفس طرازات الأجهزة.

طريقة تعريف نظام المستخدم بناءً على معلومات وحدة معالجة الرسومات

اتضح أنه يمكن التعرف على هذه الاختلافات من خلال حساب عدد وحدات التنفيذ وتحليل أدائها في وحدة معالجة الرسومات. تم استخدام عمليات التحقق المستندة إلى مجموعة من الدوال المثلثية والعمليات المنطقية وحسابات الفاصلة العائمة كأوليات لتحديد نماذج GPU المختلفة. لتحديد الاختلافات في نفس وحدات معالجة الرسومات، تم تقييم عدد سلاسل العمليات التي يتم تنفيذها بشكل متزامن عند تنفيذ تظليل قمة الرأس. من المفترض أن التأثير المكتشف ناتج عن الاختلافات في ظروف درجة الحرارة واستهلاك الطاقة لمثيلات مختلفة من الرقائق (في السابق، تم إظهار تأثير مماثل لوحدات المعالجة المركزية - أظهرت المعالجات المتطابقة استهلاكًا مختلفًا للطاقة عند تنفيذ نفس الكود).

نظرًا لأن العمليات من خلال WebGL يتم تنفيذها بشكل غير متزامن، فلا يمكن استخدام JavaScript API Performance.now() مباشرةً لقياس وقت التنفيذ، لذلك تم اقتراح ثلاث حيل لقياس الوقت:

  • على الشاشة - عرض المشهد في لوحة HTML، وقياس وقت استجابة وظيفة رد الاتصال، والذي يتم تعيينه عبر Window.requestAnimationFrame API ويتم استدعاؤه بعد اكتمال العرض.
  • خارج الشاشة - استخدام عامل وتقديم المشهد إلى كائن OffscreenCanvas، وقياس وقت تنفيذ أمر ConvertToBlob.
  • GPU - ارسم إلى كائن OffscreenCanvas، لكن استخدم مؤقتًا يوفره WebGL لقياس الوقت الذي يأخذ في الاعتبار مدة مجموعة من الأوامر على جانب GPU.

أثناء عملية إنشاء الهوية، يتم إجراء 50 اختبارًا على كل جهاز، يغطي كل منها 176 قياسًا لـ 16 خاصية مختلفة. أظهرت تجربة جمعت معلومات عن 2500 جهاز مزود بـ 1605 وحدة معالجة رسوميات مختلفة زيادة بنسبة 67% في كفاءة طرق التعريف المدمجة عند إضافة دعم Drawn Apart. على وجه الخصوص، قدمت طريقة FP-STALKER المدمجة تحديد الهوية خلال 17.5 يومًا في المتوسط، وعند دمجها مع Drawn Apart، زادت مدة تحديد الهوية إلى 28 يومًا.

طريقة تعريف نظام المستخدم بناءً على معلومات وحدة معالجة الرسومات

  • بلغت دقة الفصل لـ 10 أنظمة مع شرائح Intel i5-3470 (GEN 3 Ivy Bridge) ووحدة معالجة الرسومات Intel HD Graphics 2500 في الاختبار الذي يظهر على الشاشة 93%، وفي الاختبار خارج الشاشة كانت 36.3%.
  • بالنسبة لـ 10 أنظمة Intel i5-10500 (GEN 10 Comet Lake) المزودة ببطاقة فيديو NVIDIA GTX1650، كانت الدقة 70% و95.8%.
  • بالنسبة لـ 15 نظامًا من أنظمة Intel i5-8500 (GEN 8 Coffee Lake) مع وحدة معالجة الرسومات Intel UHD Graphics 630 - 42% و55%.
  • بالنسبة لـ 23 نظامًا من أنظمة Intel i5-4590 (GEN 4 Haswell) مع وحدة معالجة الرسومات Intel HD Graphics 4600 - 32.7% و63.7%.
  • بالنسبة لستة هواتف ذكية من طراز Samsung Galaxy S20/S20 Ultra مزودة بوحدة معالجة الرسومات Mali-G77 MP11، بلغت دقة التعرف في الاختبار الذي يظهر على الشاشة 92.7%، وبالنسبة للهواتف الذكية Samsung Galaxy S9/S9+ المزودة بوحدة معالجة الرسوميات Mali-G72 MP18، بلغت 54.3%.

طريقة تعريف نظام المستخدم بناءً على معلومات وحدة معالجة الرسومات

ويلاحظ أن الدقة تأثرت بدرجة حرارة وحدة معالجة الرسومات، وبالنسبة لبعض الأجهزة، أدت إعادة تشغيل النظام إلى تشويه المعرف. عند استخدام هذه الطريقة مع طرق تحديد غير مباشرة أخرى، يمكن زيادة الدقة بشكل كبير. كما أنهم يخططون لزيادة الدقة من خلال استخدام التظليل الحسابي بعد تثبيت واجهة برمجة تطبيقات WebGPU الجديدة.

تم إخطار Intel وARM وGoogle وKronos وMozilla وBrave بالمشكلة في عام 2020، ولكن لم يتم الكشف عن تفاصيل الطريقة إلا الآن. نشر الباحثون أيضًا أمثلة عمل مكتوبة بلغة JavaScript وGLSL يمكنها العمل مع أو بدون عرض المعلومات على الشاشة. أيضًا، بالنسبة للأنظمة المستندة إلى GPU Intel GEN 3/4/8/10، تم نشر مجموعات البيانات لتصنيف المعلومات المستخرجة في أنظمة التعلم الآلي.

المصدر: opennet.ru

إضافة تعليق