حتى لو قمت بمسح ملف تعريف المتصفح بالكامل، وأعدت تشغيل جهاز التوجيه المنزلي للحصول على عنوان IP عام جديد، وبدأت جلسة عمل داخل بيئة نظام معزولة، ستظهر في نظر نصوص تحليلات الويب المعتادة كزائر جديد تماماً. ومع ذلك، على خادم مراقبة شبكي بعيد، يراقب برنامج رصد سلبي للحزم حقلاً رقمياً مدمجاً في ترويسات طبقة النقل (Transport Layer). وخلال تبادل نحو عشرين حزمة في مصافحة بروتوكول TCP الأولى، يستطيع الخادم مطابقة اللوحة الأم الفيزيائية لجهازك مع سجل محفوظ مسبقاً بدقة الميكروثانية.

يعمل مسار التتبع هذا في مستوى أعمق بكثير من ترويسات HTTP، وبيئات عزل المتصفح، وبرامج البروكسي في طبقة التطبيقات. فمن خلال تحليل الفروق المجهرية الناتجة عن تصنيع مذبذبات بلورات الكوارتز، تستغل منصات الرصد خيار طوابع TCP الزمنية (RFC 7323) لحساب انحراف الساعة الفيزيائية (clock skew). وتظل هذه البصمة العتادية ثابتة عبر واجهات الشبكة المختلفة، وتبديل عناوين IP، وتغيير إعدادات الخصوصية في المتصفح.

[اللوحة الأم والعتاد الفيزيائي للجهاز]
  │
  ├─ مذبذب بلورة الكوارتز (انحراف فيزيائي خاص: ~15.4 ppm)
  │
  ▼
[مكدس شبكة نواة نظام التشغيل]
  │
  ├─ خيار طوابع TCP الزمنية (RFC 7323)
  │     ├── TSval: عداد الوقت الصادر من عتاد النواة
  │     └── TSecr: قيمة الصدى المرتجعة من الطرف المقابل
  │
  ▼
[خادم المراقبة الشبكي البعيد]
  │
  └─ خوارزمية الانحدار الخطي ──> حساب ميل انحراف ساعة العتاد
                                تكوين معرف دائم للأجهزة الفيزيائية

فيزياء انحراف الساعة في رقائق السيليكون

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

يمتلك كل مذبذب تبايناً ثابتاً عن تردده الاسمي يُعرف باسم انحراف الساعة (Clock Skew). ويُقاس هذا المعدل بأجزاء من المليون (PPM) أو بالميكروثانية في الثانية الواحدة ($\mu\text{s/s}$):

$$\text{Skew} = \frac{f_{\text{الفعلي}} - f_{\text{الاسمي}}}{f_{\text{الاسمي}}}$$

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

كيف يكشف معيار RFC 7323 مذبذبات العتاد

قدم بروتوكول التحكم في الإرسال (TCP) خيار الطوابع الزمنية في المعيار RFC 1323 وجرى تحديثه في RFC 7323 لتعزيز كفاءة نقل البيانات. يستهلك هذا الخيار 10 بايتات داخل ترويسة TCP:

+-------+-------+---------------------+---------------------+
|Kind=8 |الطول  |   قيمة الوقت (TSval)|   رد الصدى (TSecr)  |
|(1 بايت|(1 بايت|      (4 بايت)       |      (4 بايت)       |
+-------+-------+---------------------+---------------------+

يؤدي هذا الخيار وظيفتين رئيسيتين:

  1. قياس زمن الرحلة ذهاباً وإياباً (RTTM): يتيح حساب زمن استجابة الشبكة بدقة لكل حزمة مؤكدة دون التباس عند إعادة إرسال الحزم المفقودة.
  2. الحماية من تكرار أرقام التسلسل (PAWS): يمنع الحزم القديمة المتأخرة من إفساد تدفق البيانات العالي عبر التحقق من الزيادة المستمرة في قيم الطوابع الزمنية.

تكمن الثغرة في أن نواة نظام التشغيل تزيد قيمة TSval بمعدل تردد ثابت مرتبط بعدادات العتاد. وفي أنظمة لينكس و BSD، تزداد قيمة TSval عادةً بمعدل 100 أو 250 أو 1000 هرتز استناداً إلى متغير jiffies الداخلي في النواة.

استخراج الهوية عبر خوارزمية الانحدار الخطي

في بحث علمي بارز عُرض في مؤتمر IEEE S&P للأمان الرقمي، أثبت الباحثون قدرة الخادم البعيد على استنتاج الانحراف الفيزيائي لعتاد الجهاز سلبياً عبر تدفق حزم TCP المعتادة:

  1. أخذ عينات من الحزم: يسجل الخادم متغيرين لكل حزمة قادمة $i$:
    • $t_i$: وقت الوصول الدقيق مقاساً بساعة الخادم المعتمدة على بروتوكول NTP.
    • $T_i$: القيمة الصحيحة TSval المستخرجة من ترويسة TCP الصادرة من العميل.
  2. حساب الفارق الزمني: يحسب الخادم الفارق بين وقت الوصول وقيمة الطابع الزمني الموزونة: $$x_i = t_i - \frac{T_i}{R}$$ حيث يمثل $R$ تردد زيادة طابع النواة الاسمي لدى العميل (مثل 1000 هرتز).
  3. تحديد ميل الخط المستقيم: باستخدام الانحدار الخطي على نطاق يتراوح بين 20 إلى 100 حزمة، يحدد الخادم ميل التغير: $$\text{الميل} = \frac{\Delta x}{\Delta t}$$

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

الفارق الزمني (مللي ثانية)
  ^
  |                                   *   *  <- نقاط القياس الفعلية
  |                           *   *
  |                   *   *
  |           *   *
  |   *   *
  +---------------------------------------------> وقت وصول الحزم (ثانية)
      ميل الانحدار الخطي = انحراف التردد الفيزيائي الفعلي (~12.8 ppm)

حتى لو قمت بالتبديل من شبكة الألياف المنزلية إلى شبكة الهاتف 5G، أو غيرت عنوان MAC، أو مسحت كافة البيانات المؤقتة، تستمر حزم بياناتك في بث الميل ذاته لخوادم المراقبة.

قصور إضافات المتصفح وبروكسيات التطبيقات

يعتمد كثير من المستخدمين على إضافات المتصفح أو وكلاء SOCKS5 لإخفاء أنشطتهم، إلا أن هذه الأدوات تعمل فقط في الطبقة السابعة (طبقة التطبيقات):

  • وكلاء طبقة التطبيقات: تقتصر الإضافة على توجيه حمولة صفحات الويب إلى منفذ محلي وسيط، لكن الاتصال الأولي بين نظام التشغيل وبوابة الشبكة المحلية يُنشأ عبر مكدس TCP بنواة جهازك.
  • تسريبات العمليات الخلفية: تعمل خدمات النظام (فحص تحديثات النظام، القياس عن بعد، برامج البريد، مزامنة الوقت) خارج نطاق المتصفح. ويستطيع المراقب في مسار الشبكة موازنة ميل انحراف حزم الخلفية مع بيانات المتصفح لربط الاثنين بالجهاز ذاته.
  • تمرير الترويسات بشفافية: تقوم أجهزة التحويل في مسارات عديدة بتمرير خيارات TCP دون تعديل، مما يمكن الخادم المستهدف من قراءة قيمة TSval الحقيقية مباشرة.

عزل بيانات العتاد مع RiceGuard في الطبقة الثالثة

تتطلب الحماية الفعالة ضد التتبع القائم على انحراف الساعة فصلاً كاملاً بين النطاق الزمني الفيزيائي للعتاد والاتصالات المنقولة عبر الإنترنت العام.

يحقق VPNRice هذا العزل في الطبقة الثالثة (Layer 3) عبر بروتوكول RiceGuard:

[العتاد الفيزيائي المحلي / اللوحة الأم]
  │
  ├─ مذبذب العتاد (انحراف مميز: 18.2 ppm)
  │
  ▼
[محول شبكة RiceGuard الافتراضي (TUN)]
  │
  ├─ تغليف كامل لحزم بروتوكول الإنترنت L3
  ├─ نفق تشفير ChaCha20-Poly1305 (RFC 8439)
  │
  ▼
[تدفق حزم WireGuard UDP عبر الإنترنت]
  │ (لا تخرج ترويسات TCP الأصلية للجهاز إلى الشبكة العامة)
  │
  ▼
[خوادم الخروج في مراكز بيانات VPNRice]
  │
  ├─ إنهاء نفق العميل بأمان
  ├─ إنشاء اتصال TCP جديد بالكامل من نواة خوادم مركز البيانات
  │     └── يرى الخادم المستهدف توقيت مركز البيانات فقط
  │
  ▼
[خوادم الويب المستهدفة وأنظمة المراقبة]
  1. فصل كامل لطبقة النقل: يلتقط RiceGuard حركة البيانات على مستوى حزم IP ويغلفها في وحدات UDP آمنة عبر بروتوكول WireGuard. وعند تفعيل VPN، لا يُجري نظامك أي مصافحة TCP مكشوفة ومباشرة مع الهدف، بل تنحصر المصافحة بين الهدف وخادم خروج VPNRice.
  2. استبدال مؤشرات العتاد: تصدر قيم TSval التي ترصدها خوادم التحليل عن مذبذبات خوادم مراكز بيانات VPNRice، مما يقطع أي صلة باللوحة الأم لحاسوبك الشخصي.
  3. توزيع المسارات ديناميكياً: عبر توجيه البيانات عبر خوادم متعددة موزعة جغرافياً، تفقد قراءات الانحدار الخطي استمراريتها، مما يعطل محاولات ربط الحزم بهوية فيزيائية دائمة.

توصيات إعدادات لتعزيز أمان النظام

لتعزيز الحماية الشبكية في الطبقة الثالثة، يمكن لمسؤولي الأنظمة ضبط معايير مكدس الشبكة محلياً:

  • التحقق من خيار طوابع TCP في لينكس: يمكنك فحص الإعداد الحالي عبر:
    sysctl net.ipv4.tcp_timestamps
    
    لإيقاف إرسال الطوابع الزمنية عبر واجهات الشبكة المحلية:
    sudo sysctl -w net.ipv4.tcp_timestamps=0
    
    ولضمان بقاء هذا التعديل بعد إعادة التشغيل، أضف السطر net.ipv4.tcp_timestamps = 0 إلى الملف /etc/sysctl.d/99-network-privacy.conf.
  • ميزة عشوائية البداية في الأنوية الحديثة: تفعل إصدارات نواة لينكس 4.10 وما بعدها عشوائية البداية لكل اتصال. ومع ذلك، في الجلسات الطويلة، يمكن حساب الميل الرياضي. ويظل التوجيه عبر نفق VPN من الطبقة الثالثة الحل الأكثر فاعلية واعتمادية.
  • الحفاظ على تفعيل VPN الطبقة الثالثة باستمرار: احرص على تشغيل قفل الشبكة (Kill Switch) في تطبيق VPNRice لضمان عدم تسرب أي حزم TCP من عمليات النظام الخلفية أثناء تبديل الشبكات.