ما هو CPU Fingerprinting؟ كيف يكشف hardwareConcurrency عنك
المتصفح والجهاز

ما هو CPU Fingerprinting؟ كيف يكشف hardwareConcurrency عنك

اكتشف كيف يستخدم navigator.hardwareConcurrency عدد أنوية معالجك لبناء بصمة مستمرة — بدون كوكيز أو أذونات.

7 دقائق قراءة·

CPU Fingerprinting (بصمة المعالج) أسلوب تتبع في المتصفح يقرأ navigator.hardwareConcurrency — خاصية JavaScript واحدة تكشف عدد أنوية المعالج المنطقية التي يكشفها جهازك للمتصفح. مقترناً بإشارات أجهزة أخرى، يساعد عدد أنوية المعالج المتتبعين على بناء معرّف جهاز مستمر يظل قائماً عبر حذف الكوكيز والتصفح الخاص وتبديل VPN. يمكنك التحقق مما يكشفه متصفحك الآن على whatsmy.fyi.

ملخص سريع

navigator.hardwareConcurrency واجهة برمجية ويب قياسية تُعيد عدد أنوية المعالج المنطقية المسموح للمتصفح باستخدامها. تجمع سكريبتات البصمة هذه القيمة — جنباً إلى جنب مع مخرجات canvas وبيانات محرك WebGL ودقة الشاشة والمنطقة الزمنية — لبناء بصمة جهاز ثابتة بدون كوكيز. من تلقاء نفسها تُضيف عدد الأنوية إنتروبيا منخفضة إلى متوسطة؛ مقترنةً بإشارات أخرى تضيف تفرداً ملموساً. أكثر الدفاعات فاعلية هي متصفح Brave (الذي يُعشوش القيمة) وFirefox مع تفعيل privacy.resistFingerprinting (الذي يثبّتها عند 2).

ما هو CPU Fingerprinting؟

CPU Fingerprinting هو استخدام البيانات المتعلقة بالمعالج، التي تكشفها واجهات برمجية في المتصفح، للمساهمة في معرّف جهاز فريد. الإشارة الرئيسية هي navigator.hardwareConcurrency، خاصية للقراءة فقط مُعرَّفة في المعيار الحي لـ HTML تُعيد عدد المعالجات المنطقية المتاحة للمتصفح. صُمّمت لمساعدة مطوري الويب على تحديد عدد Web Workers المتوازية للإنشاء في المهام ذات الحوسبة المكثفة. تُعيد سكريبتات البصمة توظيفها كوصف للأجهزة.

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

كيف يعمل CPU Fingerprinting؟

الهجوم الأساسي هو قراءة خاصية JavaScript واحدة — سطر كود واحد ينفّذ في أقل من ميلي ثانية. الهجمات الأكثر تطوراً تذهب أبعد، باستخدام القنوات الجانبية لقياس الوقت لتقدير معمارية المعالج الدقيقة حتى عندما يُخفي المتصفح القيمة.

الخطوة 1 — قراءة hardwareConcurrency

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

// Reads logical CPU cores exposed by the browser
const logicalCores = navigator.hardwareConcurrency;
// → 8 on a MacBook Pro M3 Pro
// → 4 on a mid-range Android phone
// → 2 on Firefox with resistFingerprinting enabled
// → a random value between 2 and 8 on Brave Browser

الخطوة 2 — الدمج مع إشارات أجهزة أخرى

عدد الأنوية الخام (مثل 8) ليس فريداً من تلقاء نفسه — ملايين الأجهزة تشترك في نفس العدد. تجمع سكريبتات البصمة مع إشارات مكمّلة: مورّد GPU ومحرّك الرسم من WebGL، وهاش بكسل canvas، ودقة الشاشة وكثافة البكسل، والمنطقة الزمنية واللغة وخصائص مكدس الصوت. مجتمعةً تُنشئ هذه الإشارات بصمة بإنتروبيا أعلى بكثير من أي قيمة منفردة.

الخطوة 3 — تعريف المعالج عبر قياس الوقت (متقدم)

أثبت البحث الأكاديمي من مركز CISPA Helmholtz لأمن المعلومات أن JavaScript يمكنها أخذ بصمة معمارية المعالج — وليس فقط عدد الأنوية — باستخدام القنوات الجانبية لقياس الوقت. بتشغيل حسابات متوازية مصممة بعناية وقياس زمن الاستجابة، يمكن للسكريبتات تقدير ما إذا كان معالجك Intel Core أو AMD Ryzen أو Apple M-series أو Qualcomm Snapdragon. هذه التقنية تتجاوز كلياً التزوير الساذج لـ hardwareConcurrency لأنها ترصد سلوك الأجهزة الفعلي وليس قيمة API المُبلَّغ عنها.

// Minimal CPU fingerprint collector
function getCpuFingerprint() {
  return {
    logicalCores: navigator.hardwareConcurrency,  // e.g. 8
    deviceMemory: navigator.deviceMemory ?? 'unknown', // e.g. 8 (GB, rounded)
    platform: navigator.platform,                 // e.g. "MacIntel"
    maxTouchPoints: navigator.maxTouchPoints,     // 0 = desktop, >0 = touch
    // Combined with canvas, WebGL, and screen signals
    // this becomes a high-entropy device identifier
  };
}

كم تُسهم hardwareConcurrency في تفرد البصمة؟

من تلقاء نفسها، تُسهم navigator.hardwareConcurrency بإنتروبيا متواضعة لأن توزيع عدد الأنوية مائل بشدة — معظم الأجهزة تتمركز حول 4 أو 8 أنوية منطقية. قيمتها الحقيقية تكمن في الدمج مع إشارات أخرى. الجدول أدناه يلخص إحصاءات رئيسية من بحوث منشورة وتوثيق المتصفح.

النتيجةالقيمةالمصدر
دعم المتصفح العالمي لـ hardwareConcurrency95.51%Can I Use
دقة تعريف مورّد المعالج عبر قياس JS97.5%بحث CISPA، 2022
تعريف موديل/معمارية المعالج عبر قياس JS>60%بحث CISPA، 2022
عدد الأنوية المُبلَّغ عنه في Firefox مع resistFingerprintingدائماً 2Firefox Source
النطاق العشوائي لـ hardwareConcurrency في Brave2 – min(فعلي, 8)Fingerprint.com
المشاركون في دراسة CISPA لبصمة المعالج834 (297 موديل معالج)بحث CISPA، 2022

نتائج CISPA مهمة بشكل خاص: حتى لو زوّر متصفح hardwareConcurrency إلى قيمة ثابتة 2، يمكن لسكريبت بصمة متقدم تعريف مورّد معالجك بدقة 97.5% بقياس الوقت الذي يستغرقه معالجك لإكمال أحمال عمل متوازية محددة. تزوير قيمة API وحده دفاع غير كافٍ ضد هجمات قياس الوقت.

من يستخدم CPU Fingerprinting في الواقع؟

منصات البصمة التجارية

خدمات مثل Fingerprint.com وThreatMetrix وSift تجمع navigator.hardwareConcurrency كإشارة واحدة من 30 أو أكثر مجمّعة في بصمة الجهاز. هذه المنصات تخدم حالات استخدام كشف الاحتيال والإعلانات. عدد الأنوية مفيد بشكل خاص كإشارة استقرار — لا يتغير بين الجلسات، ولا يتأثر بحذف الكوكيز، وهو متسق عبر VPN وتغييرات IP.

كشف الاحتيال ومنع البوتات

تستخدم أنظمة مكافحة الاحتيال إشارات المعالج للتمييز بين المستخدمين البشريين والبوتات والكشف عن التناقضات. متصفح يدّعي أنه جهاز محمول لكن يُبلّغ عن 16 نواة منطقية، أو متصفح يعمل في بيئة Chromium headless يكشف عن عدد أنوية غير عادي، قد يُعلَم عليه كمشبوه.

نسب الإعلانات

مع إهمال ملفات تعريف الارتباط من الأطراف الثالثة عبر المتصفحات الرئيسية، زادت شبكات الإعلانات من اعتمادها على بصمة الإصبع للنسب عبر المواقع. عدد أنوية المعالج إشارة أجهزة ثابتة لا تتغير عندما يمسح المستخدم الكوكيز أو يتحوّل إلى شبكات أخرى أو يُفعّل التصفح الخاص — مما يجعله مرساة استمرارية مفيدة. يُدرج أداة EFF Cover Your Tracks صراحةً hardwareConcurrency كناقل بصمة تختبره في تحليلها.

التحقق من سلامة الجهاز

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

هل CPU Fingerprinting قانوني؟

بموجب GDPR، تُشكّل قراءة خصائص الأجهزة لبناء معرّف جهاز مستمر معالجةً للبيانات الشخصية عندما يمكن ربط ذلك المعرّف بفرد. حكمت السلطة الفرنسية (CNIL) بأن بصمة المتصفح لأغراض الإعلانية تستلزم موافقة مستنيرة. بموجب CCPA وCPRA الأمريكية، تُصنَّف بصمات الأجهزة معلومات شخصية خاضعة لحقوق الانسحاب.

كيف تحمي نفسك من بصمة المعالج

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

  • متصفح Tor (أقوى حماية): يُطبّع Tor Browser navigator.hardwareConcurrency عبر جميع المستخدمين، إعادة قيمة موحّدة تجعل التعريف الفردي بعدد أنوية المعالج مستحيلاً. مقترناً بإخفاء هوية IP في Tor، يوفر أقوى حماية بصمة متاحة. المقايضة هي تصفح أبطأ بسبب زمن استجابة شبكة Tor.
  • متصفح Brave (موصى به للاستخدام اليومي): يُعشوش Brave hardwareConcurrency لكل موقع ولكل جلسة، إعادة قيمة بين 2 وMath.min(أنوية_فعلية, 8). هذا يجعل التتبع عبر المواقع عبر عدد أنوية المعالج غير موثوق دون كسر المواقع التي تستخدم API بشكل مشروع لتحسين عدد خيوط Worker.
  • Firefox مع privacy.resistFingerprinting: ضبط هذا العَلَم على true في about:config يجعل المتصفح يُبلّغ عن hardwareConcurrency كـ 2 على جميع الأجهزة، بغض النظر عن عدد الأنوية الفعلي. هذا يثبّت القيمة عند أدنى مستوى مشترك، مما يقلل مساهمتها في التفرد.
  • متصفح Mullvad: مبني على حمايات بصمة Tor Browser لكن مصمم للاستخدام بدون شبكة Tor، يُزيل Mullvad أو يُطبّع واجهات API للأجهزة بما فيها hardwareConcurrency كلياً، إعادة قيمة أساسية متسقة عبر جميع مستخدمي المتصفح.
  • إضافات مكافحة البصمة: إضافات مثل Canvas Fingerprint Defender وTrace وChameleon يمكنها اعتراض استدعاءات API لـ navigator.hardwareConcurrency وإعادة قيم مزوّرة. الفاعلية متفاوتة — تزوير القيمة الساذج لا يحمي ضد هجمات تعريف المعالج القائمة على قياس الوقت.
  • افهم حدود VPN: يغيّر VPN عنوان IP المرئي لديك لكن ليس له أي أثر على ما يُبلّغ عنه بيئة JavaScript لمتصفحك. navigator.hardwareConcurrency يُقرأ مباشرةً من المتصفح ولا يتأثر بتوجيه الحركة عبر خادم VPN. تحقق مما إذا كان VPN الخاص بك يعمل بشكل صحيح على whatsmy.fyi.

الأسئلة الشائعة

ما الذي يُعيده navigator.hardwareConcurrency فعلياً؟

يُعيد عدد أنوية المعالج المنطقية المتاحة للمتصفح — وليس الأنوية الفيزيائية. معالج بـ 4 أنوية فيزيائية مع تشعّب خيوط نشط يُبلّغ عن 8 أنوية منطقية. قد تحدّ المتصفحات القيمة المُبلَّغ عنها أدنى من العدد الفعلي لتحسين دقة جدولة Worker أو لأسباب الخصوصية. الخاصية للقراءة فقط ومتاحة دون أي إذن مستخدم.

هل يخفي وضع التصفح الخاص عدد أنوية المعالج؟

لا. يمنع التصفح الخاص كتابة المتصفح للتاريخ والكوكيز وبيانات النماذج على القرص — لكنه لا يغيّر قيم الأجهزة التي يكشفها متصفحك لـ JavaScript. navigator.hardwareConcurrency يُعيد نفس القيمة في نافذة التصفح الخاص كما في النافذة العادية. فقط المتصفحات مع تعشيش بصمة نشط كـ Brave أو Tor Browser تتصرف بشكل مختلف.

هل تزوير hardwareConcurrency يحميني بالكامل؟

لا. بينما يرفع تزوير قيمة API الحدّ للجمع السلبي للبصمة، لا يحمي ضد تعريف المعالج القائم على قياس الوقت. أثبت البحث الأكاديمي أن JavaScript يمكنها تقدير مورّد معالجك بدقة 97.5% بقياس زمن استجابة الحسابات المتوازية المصممة بعناية — بغض النظر عما يُبلّغ عنه المتصفح لـ hardwareConcurrency. الحماية الفعّالة تتطلب متصفحاً يُقيّد أيضاً واجهات API للتوقيت عالي الدقة.

كيف تختلف hardwareConcurrency عن deviceMemory؟

navigator.hardwareConcurrency يُبلّغ عن أنوية المعالج المنطقية؛ وهو جزء من المعيار الحي لـ HTML ومدعوم عبر جميع المتصفحات الرئيسية. navigator.deviceMemory يُبلّغ عن RAM الجهاز التقريبية بالغيغابايت، مقرّبةً إلى أقرب قوة اثنين — ومدعوم فقط في Chrome وEdge. كلاهما يُستخدم كإشارات أجهزة تكميلية في سكريبتات البصمة.

هل بصمة المعالج أكثر فاعلية على الهاتف أم سطح المكتب؟

عدد الأنوية الخام أقل تفرداً على الهاتف المحمول بسبب التمركز القوي — نسبة كبيرة جداً من أجهزة Android تُبلّغ عن 8 أنوية منطقية (SoC ثماني الأنوية مهيمنة في الشرائح المتوسطة والراقية). بصمات سطح المكتب أكثر تنوعاً لأن معالجات محطات العمل تتراوح من 4 إلى 128+ نواة منطقية.

هل يمكن لموقع الكشف عن تزويري لعدد الأنوية؟

يمكن لسكريبت بصمة متطور الكشف عن التزوير الساذج بالإسناد المتقاطع لعدد الأنوية المُبلَّغ عنه مع معايير التوقيت. إذا أبلّغ متصفحك عن 2 نواة لكن مهام JavaScript المتوازية تكتمل بالسرعة المتوقعة لمعالج 8 أنوية، فإن التناقض نفسه إشارة بصمة — وربما أقوى من أي من القيمتين منفردةً.

مقالات ذات صلة

تحقق من عنوان IP وموقعك ودرجة الخصوصية — فوراً.

صفر سجلات. صفر تتبع. صفر APIs خارجية.

ابدأ الفحص الآن →

مقالات ذات صلة

ما هو CPU Fingerprinting؟ كيف يكشف hardwareConcurrency عنك | whatsmy.fyi