PowerScan
AR

كيف تعمل المتصفحات المضادة للكشف: الشرح التقني الكامل

متصفحات مكافحة الكشف · القراءة: 11 دقيقة · بقلم PowerOps

الصورة: Unsplash

أسطح البصمة، وتوليد هوية متسقة، وعزل التخزين على القرص، والتوجيه لكل ملف شخصي، والحدود الصريحة للنهج كله.

يؤدي المتصفح المضاد للكشف أربع مهام. يخزّن بيانات تصفح كل ملف شخصي على حدة، ويتحكم في هوية الجهاز التي يبلّغ عنها كل ملف، ويوجّه حركة كل ملف بشكل مستقل، ويُبقي الثلاثة متسقة بمرور الوقت. تستعرض هذه المقالة كيف تُنجَز كل مهمة على مستوى الآلية، وتنتهي بما لا يستطيع النهج فعله.

أسطح البصمة

ابدأ بما تستطيع الصفحة قراءته، لأن كل ما عداه استجابة له. يستطيع سكربت في أي موقع أن يطرح أسئلة على المتصفح، وتصف الإجابات الجهاز. وتتجمع الأسطح بشكل طبيعي.

السطحما تقرؤه الصفحة
Navigatorاسم المتصفح وإصداره، والمنصة، وقائمة اللغات، وعدد المعالجات والذاكرة المبلَّغ عنهما، ودعم اللمس
الشاشةالعرض والارتفاع ومساحة العمل المتاحة وعمق اللون ونسبة بكسلات الجهاز
Canvasالبكسلات الدقيقة الناتجة عن رسم نص وأشكال خارج الشاشة، تُحوَّل إلى قيمة ثابتة بالتجزئة
WebGLسلاسل مورّد الرسوميات والمصيِّر، إضافةً إلى تجزئات لمشاهد مرسومة
الصوتناتج مذبذب يمر عبر مخطط معالجة الصوت، وهو يختلف باختلاف المنظومة
الخطوطأي الخطوط مثبّتة، يُستدل عليها من قياسات النص
المنطقة الزمنية والساعةالمنطقة والإزاحة المبلَّغ عنهما، تُقارَنان بالمكان الذي تصل منه الحركة
الشبكةالعنوان نفسه، ورؤية WebRTC لمرشحات الاتصال، وشكل مصافحة TLS

لا صف واحد يحدد هوية جهاز. المجموع هو الذي يفعل، وفي المجموع أيضاً تُكشف الأكاذيب: قيم لا يمكن أن تنتمي إلى جهاز حقيقي واحد إشارة أعلى صوتاً من أي قيمة منفردة.

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

كيف تُولَّد هوية متسقة

النهج الساذج أن تعترض كل سؤال وتُعشوِئ الإجابة. وهو يفشل لسبب بنيوي. الإجابات تصف جهازاً واحداً، فهي مترابطة، والإجابات العشوائية المستقلة تكسر الترابط. وكيل مستخدم Windows بجانب خطوط لا تأتي إلا مع macOS، أو حجم شاشة لم يُشحن به حاسوب محمول قط، أو سلسلة رسوميات لم تتعايش يوماً مع المنصة المزعومة: كل منها تناقض يستطيع المدقق اختباره بكلفة زهيدة.

لذا يولّد المتصفح المضاد للكشف الفعّال الهوية بوصفها مجموعة. يبدأ من فئة جهاز حقيقية شائعة ويشتق كل قيمة من ذلك الاختيار. تحدد المنصة قائمة الخطوط المعقولة وسلاسل الرسوميات ودعم اللمس. وتأتي الشاشة من الأحجام التي تُشحن بها تلك الفئة فعلاً. وتأتي اللغة والمنطقة الزمنية من المنطقة المقصودة للملف الشخصي. تتفق القيم لأنها اختيرت معاً من وصف واحد لجهاز واحد.

الخاصية الثانية بالأهمية نفسها: المجموعة مخزّنة. تُكتب في الملف الشخصي حين يُنشأ، وتبلّغ كل جلسة بالقيم نفسها، لأن جهازاً يتغير بين الزيارات يصف عتاداً لا يملكه أحد. والثبات هو معظم ما تعنيه المعقولية.

عزل التخزين على القرص

مهمة التخزين أقل المهام بريقاً وأكثرها إطلاقاً. كل ملف شخصي يملك مجلداً، وكل ما يحفظه المتصفح يعيش داخله: قاعدة الكوكيز، وLocal Storage، وIndexedDB، وذاكرة HTTP المؤقتة، وتسجيلات service worker، وحالة الإضافات، والسجل، وبيانات الاعتماد المحفوظة. ملفان شخصيان مجلدان منفصلان تماماً، ويُوجَّه كل متصفح قيد التشغيل إلى مجلده.

الانفصال التام هو الخاصية الواجب فحصها، لأن العزل الجزئي يفشل بصمت. فصل الكوكيز سهل. أما الذاكرة المؤقتة فقد تعرّف بمتصفح عائد عبر الموارد التي احتفظت بها. وقد تحمل service workers معرّفات وتواصل العمل بين الزيارات. وIndexedDB هو المكان الذي تحفظ فيه التطبيقات الحديثة السجلات التي تثق بها فعلاً. عزل يغطي المخازن المشهورة ويشارك أي مخزن آخر لم يعزل إلا الجزء الظاهر من المشكلة.

الاستمرارية هي النصف الآخر. الجلسات تراكم قيمة: فحوص أمان مكتملة، وسجل دخول راسخ، وشكل زائر عائد. يحتفظ الملف الشخصي بمجلده بين الجلسات، وهذا ما يجعل العمل على الحسابات ممكناً أصلاً. والكتابة عند الإغلاق هي ما يجعل المجلد دائماً، ولهذا قد يكلّف إنهاء عملية الملف الشخصي في منتصف الجلسة الجلسة التي أسسها للتو.

توجيه الشبكة

يحمل كل ملف شخصي مساره الخاص، يُطبَّق عند بدء متصفحه، فتخرج حركته عبر بروكسي ذلك الملف دون المساس بإعدادات النظام أو بمسار أي ملف آخر.

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

ما الذي يغيّره المتصفح نفسه

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

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

نهج الحقن هو الذي بدأت منه هذه الفئة، وسقفه معروف جيداً: تستطيع الصفحة أن تفحص هل ما زالت الدوال الأصلية تبدو أصلية، وتستطيع بلوغ السطح نفسه عبر مسار لم يغطّه الحقن. لذلك تُجري المتصفحات المضادة للكشف المصممة لهذا الغرض التغييرات داخل المتصفح نفسه، فتكون الهوية المخزنة هي ما يبلّغ عنه التنفيذ عبر كل مسار يقرؤها.

ماذا يفعل فتح الملف الشخصي فعلاً

  1. تُحمَّل الهوية المخزّنة: مجموعة واحدة متسقة من قيم الجهاز، هي نفسها كما في المرة السابقة.
  2. يبدأ المتصفح على مجلد الملف الشخصي نفسه، فيكون كل مخزن دائم خاصاً به.
  3. يُطبَّق المسار: البروكسي، وحل الأسماء عبره، وWebRTC مقيَّداً به.
  4. تعمل الجلسة، وتراكم حالة داخل المجلد.
  5. عند الإغلاق تُكتب الحالة، فيستأنف الفتح التالي الجهاز نفسه والتخزين نفسه والمسار نفسه.

كل جزء من هذه القائمة قابل للتحقق من الخارج. افتح صفحة اختبار البصمة مرتين وقارن القيم بين المرتين. انظر إلى مجلد الملف الشخصي على القرص. اقرأ العنوان المرصود. ينبغي لأداة في هذه الفئة أن تدعوك إلى هذا الفحص، لأن الآلية هي المنتج.

الحدود الصريحة

للنهج حدود، ومعرفتها جزء من استخدامه بكفاءة.

اقرأ الحدود تعريفاً لا خيبة أمل. المتصفح المضاد للكشف أداة اتساق: تخزين منفصل، وهوية ثابتة معقولة، ومسار مطابق، تُمسَك معاً لكل ملف شخصي وتتكرر بالشكل نفسه في كل فتح. تلك هي الآلية كلها، وكل ما يُكتب غيرها عن هذه الفئة تنويع عليها.

جميع المقالات · شغّل الفحص