تم نشر مجموعة أدوات للكشف عن الوظائف الإضافية المثبتة في Chrome

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

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

يمكن لصفحات الويب أن تطلب الموارد التي يوفرها الامتداد باستخدام طريقة الجلب (على سبيل المثال، "fetch('chrome-extension://okb....nd5/test.png')")، والتي تشير عادةً إلى "خطأ" أن الوظيفة الإضافية غير مثبتة. لمنع وظيفة إضافية من اكتشاف وجود أحد الموارد، تقوم بعض الوظائف الإضافية بإنشاء رمز التحقق المطلوب للوصول إلى المورد. يفشل دائمًا استدعاء الجلب دون تحديد رمز مميز.

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

يمكن التعرف على بعض الوظائف الإضافية التي لا تتضمن موارد يمكن الوصول إليها خارجيًا من خلال خصائص إضافية. على سبيل المثال، يمكن تعريف الوظيفة الإضافية MetaMask من خلال تقييم تعريف خاصية window.ethereum (إذا لم يتم تعيين الوظيفة الإضافية، فسيقوم "typeof window.ethereum" بإرجاع القيمة "unified").

المصدر: opennet.ru

إضافة تعليق