التتبّع عبر الأجهزة: ربط الجلسات دون تسجيل الدخول
كيف تربط خوارزمية تعريف الأجهزة لدينا الجلسات المجهولة عبر المتصفّحات والأجهزة عبر مطابقة الإشارات الاحتمالية وتحليل الرسوم البيانية.
عندما يزور مستخدم موقعك على حاسوبه المحمول صباحًا وعلى هاتفه بعد الظهر، ترى معظم منصّات التحليلات زائرَيْن منفصلَيْن تمامًا. تستطيع خوارزمية تعريف الأجهزة لدينا ربط هذه الجلسات احتماليًا — دون اشتراط تسجيل الدخول — عبر تحليل تداخل الإشارات وبناء رسوم بيانية للأجهزة.
مشكلة التتبّع عبر الأجهزة
تُولّد البصمة التقليدية معرّفًا فريدًا لكل نسخة متصفّح. فمتصفّح Chrome على حاسوب محمول ينتج معرّفًا؛ ومتصفّح Safari على هاتف iPhone ينتج آخر. وحتى على الجهاز نفسه، تُولّد المتصفّحات المختلفة بصمات مختلفة لأن لها user agents مختلفة، ودعمًا مختلفًا للميزات، وخصائص عرض (rendering) مختلفة.
لكن المستخدمين لا يفكّرون بمنطق المتصفّحات، بل بمنطق الجلسات. فهم يبدؤون عملية شراء على هواتفهم أثناء الغداء ويُكملونها على حواسيبهم المحمولة في المنزل. يبحثون عن منتج على جهازهم اللوحي ويشترونه على حاسوبهم المكتبي. وبالنسبة إلى كشف الاحتيال والتخصيص، فإن إدراك أن هذه الجلسات تعود إلى الشخص نفسه أمر بالغ الأهمية.
مطابقة الإشارات الاحتمالية
بُني الربط عبر الأجهزة لدينا حول رسم بياني للأشخاص بثلاثة أنواع من العُقد: الزائر (ملف متصفّح واحد)، والجهاز (الآلة الكامنة تحت عدة ملفات متصفّح)، ومعرّف مُجزَّأ (hashed) مشتقّ من عنوان بريد إلكتروني أو رقم هاتف موقَّع يمرّره إلينا تطبيقك أنت. والحوافّ بين هذه العُقد هي ما يضمّ جلستَيْن إلى شخص واحد.
وغائبان عن هذه القائمة عمدًا: عنوان الـ IP والـ ASN. فالشبكة المشتركة هي الإشارة المغرية والخاطئة في آن — إذ يضع المكتب أو حرم الجامعة أو الـ carrier-grade NAT آلاف الأشخاص الذين لا تربطهم صلة خلف عنوان واحد، فتُنتج الحافّة المبنية على الـ IP بالضبط نوع الرابط الزائف الأغلى كلفةً في التراجع عنه. أما الحوافّ الحتمية التي نستخدمها فعلًا — الجهاز نفسه، والمعرّف المُجزَّأ نفسه، وجذر الزائر المعياري نفسه — فلا تستطيع شبكة مشتركة اختلاقها.
وفوق ذلك مكوّن احتمالي محدود: يمكن اعتبار الأزواج السلوكية المؤكَّدة للزائر مرشّحات للإلحاق، بسقف عدد صغير لكل زائر وفوق حدّ أدنى من الثقة فقط. وهو يوسّع عنقودًا ثبّتته الحوافّ الحتمية سلفًا، ولا يبدأ عنقودًا من تلقاء نفسه.
بناء الرسم البياني للأجهزة
كل رابط مؤكَّد أو عالي الاحتمال بين الجلسات يُنشئ حافّة (edge) في رسم بياني للأجهزة. يربط الرسم البياني نُسخ المتصفّحات بعُقد الأجهزة، وعُقد الأجهزة بعُقد الأشخاص. ومع مرور الوقت، وتراكم مزيد من الجلسات، يزداد الرسم البياني دقة.
يعتمد بناء الرسم البياني نهجًا محافظًا. فالحافّة الحتمية — الجهاز نفسه يُحَلّ تحت ملفَّي متصفّح، أو المعرّف المُجزَّأ نفسه يُقدَّم لحسابَيْن — تُنشئ الرابط مباشرة. وأي شيء أضعف من ذلك يُعامَل مرشّحًا لا رابطًا، وعليه أن يتجاوز حدًّا أدنى من الثقة، وهو مقيَّد بسقف كي لا يجرّ زائر واحد خلفه عنقودًا بلا حدود. أما الزائر أو الجسر الموضوع في الحجر فيُتخطّى بالكامل بدلًا من دمجه على الشبهة.
تطبيقات كشف الاحتيال
الربط عبر الأجهزة فعّال بوجه خاص في كشف الاحتيال. فالمحتال الذي يدير حسابات عبر عدة ملفات متصفّح يمكن تحديده عندما تُحَلّ تلك الملفات إلى الجهاز نفسه تحتها، أو عندما يظهر المعرّف الموقَّع نفسه خلف حسابَيْن منها. وبطاقة ائتمان مسروقة تُستخدم على جهاز لم يرتبط قط بالرسم البياني لأجهزة حامل البطاقة تُطلق تنبيهًا فوريًا.
رأينا حلقات احتيال يشغّل فيها مشغّل واحد عشرات الأجهزة الافتراضية لإنشاء حسابات مزيّفة. ويُظهر كل جهاز افتراضي بصمة متصفّح مختلفة، لكنها جميعًا تعمل على العتاد المادي نفسه، وحلّ الجهاز هو ما يعيد طيّها إلى آلة واحدة. وعُقدة الجهاز المشتركة هذه هي الحافّة التي يُبنى عليها الرسم البياني — فهي تكشف الحلقة انطلاقًا من حساب واحد مكتشَف، دون أي استناد إلى عنوان مشترك.
تصميم يحافظ على الخصوصية
يثير الربط عبر الأجهزة مخاوف خصوصية مشروعة. ويخفّف نهجنا منها عبر عدة قرارات تصميمية. أولًا، الطبقة معطَّلة افتراضيًا — فهي لا تأتي مع أي نشر (deployment)، بل تُفعَّل عمدًا لمساحة عمل بعينها، وحتى ذلك الحين لا يُبنى أي رسم بياني للأشخاص إطلاقًا. ثانيًا، يجري الربط على جانب الخادم ولا يُكشف للمتصفح أبدًا، لذا يتعذّر قراءة الرسم البياني للروابط من جانب العميل، والوضع يُضبط من جانبنا لا عبر أي شيء تستطيع الصفحة إرساله. ثالثًا، لا توجد حافّة المعرّف إلا إذا اختار تطبيقك أنت تزويدنا ببريد إلكتروني أو هاتف موقَّع — فنحن لا نشتقّها من الزائر. رابعًا، يمكن تزويد المستخدمين بشفافية حول الأجهزة المرتبطة عبر واجهة الخصوصية لديك.
مقاييس الدقة
المفاضلة متعمَّدة وتُحابي الدقة (precision) على الاستدعاء (recall): إذ نفضّل أن نفوّت رابطًا على أن نختلق رابطًا زائفًا. وهذا التفضيل ظاهر في التصميم لا في رقم عريض — فالحوافّ الحتمية تُنشئ الروابط، والإشارات الضعيفة توسّع فقط عناقيد مُثبَّتة سلفًا، والجسور الموضوعة في الحجر تُتخطّى، ولكل عنقود سقف. فالرابط الفائت يكلّفك نمط احتيال كنت ستلتقطه لاحقًا بوسائل أخرى، أما الرابط الزائف فيدمج عميلَيْن حقيقيَّيْن في شخص واحد، وينتشر هذا الخطأ في كل قرار يُتَّخذ بعده.
قِس ذلك على حركة المرور الخاصة بك قبل أن تعتمد عليه. فالاستدعاء عبر الأجهزة يتوقف على عدد مستخدميك الذين يسجّلون الدخول أصلًا — إذ إن حافّة المعرّف هي الأقوى المتاحة، وهي لا توجد إلا حيث يوفّرها تطبيقك.