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 أنوية منطقية. قيمتها الحقيقية تكمن في الدمج مع إشارات أخرى. الجدول أدناه يلخص إحصاءات رئيسية من بحوث منشورة وتوثيق المتصفح.
| النتيجة | القيمة | المصدر |
|---|---|---|
| دعم المتصفح العالمي لـ hardwareConcurrency | 95.51% | Can I Use |
| دقة تعريف مورّد المعالج عبر قياس JS | 97.5% | بحث CISPA، 2022 |
| تعريف موديل/معمارية المعالج عبر قياس JS | >60% | بحث CISPA، 2022 |
| عدد الأنوية المُبلَّغ عنه في Firefox مع resistFingerprinting | دائماً 2 | Firefox Source |
| النطاق العشوائي لـ hardwareConcurrency في Brave | 2 – 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 أنوية، فإن التناقض نفسه إشارة بصمة — وربما أقوى من أي من القيمتين منفردةً.
مقالات ذات صلة
- ما هو Canvas Fingerprinting؟ كيف تتتبعك المواقع بدون كوكيز — كيف تُنتج رسومات canvas غير المرئية معرّفاً فريداً للجهاز
- ما هو WebGL Fingerprinting؟ كيف يُعرّفك كرت الشاشة — كيف تكشف واجهة رسم 3D عن مورّد GPU وإصدار برنامج التشغيل
- ما هو Device Memory Fingerprinting؟ ذاكرة RAM وبصمة المتصفح — كيف يُكشف navigator.deviceMemory عن سعة RAM جهازك
- ما هو Audio Fingerprinting؟ كيف يتتبعك AudioContext — كيف ينتج مكدس معالجة الصوت لجهازك معرّفاً فريداً



