Refunded but Rewarded: The Double Dip Attack on Cashback Reward Engines
تحدد هذه الورقة وتحلل فئة من ثغرات "الاسترداد المزدوج" (double dip) في أنظمة مكافآت الاسترداد النقدي، حيث تسمح العيوب في معالجة مرتجعات المعاملات للمستخدمين باستغلال الفجوات الزمنية أو التعديلات المفقودة للاحتفاظ بالمكافآت بشكل غير مشروع، وتقترح نموذجاً رسمياً لآلة الحالة، وتصنيفاً للثغرات، وخوارزميات دفاعية لضمان سلامة المكافآت.
البحث الأصلي مرخَّص بموجب CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). هذا شرح مولَّده بالذكاء الاصطناعي للبحث أدناه. لم يكتبه المؤلفون ولم يصادقوا عليه. وللتحقق من الدقة التقنية، يرجى الرجوع إلى البحث الأصلي. اقرأ إخلاء المسؤولية الكامل
تخيل أن لديك حصالة نقود سحرية تمنحك مبلغاً إضافياً صغيراً في كل مرة تشتري فيها شيئاً. لنقل إنك اشتريت سترة بسعر 100 دولار، فتعيد لك الحصالة 5 دولارات كـ "مكافأة شكر". يمكنك أخذ هذه الـ 5 دولارات وإنفاقها على الحلوى فوراً.
الآن، تخيل أنك قررت أنك لا تريد السترة بعد الآن. تعيدها إلى المتجر، فيعيد لك المتجر مبلغ الـ 100 دولار كاملاً.
السؤال الكبير: ماذا يحدث لمكافأتك البالغة 5 دولارات؟
في عالم مثالي، ستقول الحصالة: "أوه، لقد استرددت مالك، لذا لا يحق لك الاحتفاظ بمكافأة الـ 5 دولارات. سنستعيدها من حصالتك".
لكن هذه الورقة البحثية تكشف أنه بالنسبة لبعض البنوك، الإجابة هي: "احتفظ بالـ 5 دولارات. لقد نسينا استعادتها."
هذا هو "هجوم الازدواج" (Double Dip Attack). إنه ثغرة حيث يمكن للشخص أن يشتري شيئاً، ويحصل على المكافأة، ثم يعيد السلعة ويسترد كامل المبلغ، ويخرج بمال مجاني (المكافأة) وبدون أي تكلفة (الاسترداد).
إليك تفصيل بسيط لكيفية اكتشاف الباحثين لهذا الأمر، والطرق المختلفة التي يحدث بها، وكيفية إصلاحه.
1. الأنواع الثلاثة للبنوك "الناسيّة"
اختبر الباحثون ستة بنوك مختلفة (حافظوا على مجهوليتها) ووجدوا ثلاث طرق متميزة تفشل بها هذه الأنظمة. فكر فيها كأنها ثلاث مستويات من "الارتباك".
المستوى 1: البنك "الذي يبدأ من الصفر" (المصدر أ)
- الاستعارة: تخيل نادلاً يأخذ طلبك، ويعطيك مقبلات مجانية، ثم تخبره أنك لا تريد الطبق الرئيسي. يعيد لك مال الطبق الرئيسي ولكنه ينسى تماماً أنك طلبت المقبلات حتى. لا يطلبها منك أبداً.
- ماذا يحدث: تشتري سلعة بـ 50 دولاراً، تحصل على 2.50 دولار استرداد نقدي وتستخدمها فوراً. ثم تعيد السلعة. يقوم البنك برد الـ 50 دولاراً لك، لكنه يترك الـ 2.50 دولار في جيبك.
- النتيجة: لقد ربحت 2.50 دولار مقابل لا شيء سوى شراء وإعادة منتج. يمكنك فعل ذلك كل شهر حتى تصل إلى الحد الأقصى.
المستوى 2: البنك "المربك زمنياً" (المصدر ب)
- الاستعارة: تخيل نادياً يحسب نقاطك في نهاية الشهر. تشتري هدية في الأسبوع الأخير من شهر يناير. يقول النادي: "رائع! لديك نقاط"، ويعطيك فوراً بطاقة هدايا. لكنك تعيد الهدية في الأسبوع الأول من فبراير.
- ماذا يحدث: لأن "حساب النقاط" في النادي يتم وفق جدول شهري صارم، فقد أعطوك المكافأة بالفعل في يناير. عندما تحدث عملية الإرجاع في فبراير، لا ينظر النظام إلى الوراء إلى يناير ليقول: "انتظر، تلك المعاملة لم تعد موجودة". المكافأة أصبحت ملكك بالفعل.
- النتيجة: تحصل على المكافأة لأنك كنت سريعاً، وتحصل على الاسترداد لأن المتجر بطيء. جدول النادي الزمني وقف في طريق الحقيقة.
المستوى 3: البنك "بطيء الاستجابة" (المصدر و)
- الاستعارة: هذا البنك أذكى ولكن لا تزال هناك فجوة. يقولون: "حسناً، لقد اشتريت تلفازاً، إليك 100 نقطة. يمكنك إنفاقها الآن". ولكن إذا أعدت التلفاز، فهم لا يستعيدون النقاط إلا في نهاية الشهر.
- ماذا يحدث: تشتري التلفاز، تحصل على النقاط، تنفقها على البيتزا، ثم تعيد التلفاز. الآن أصبح لديك "رصيد سالب" من النقاط (أنت مدين للبنك بـ 100 نقطة). لكنك أكلت البيتزا بالفعل!
- النتيجة: تحصل على فرصة الاستمتاع بالبيتزا مجاناً لبضعة أسابيع. إذا توقفت عن استخدام البطاقة بعد ذلك، سيظل البنك عالقاً مع دين لا تدفعه أبداً. الأمر يشبه اقتراض المال بدون فوائد لمدة شهر.
2. البنوك "الجيدة" (المصادر ج، د، هـ)
وجد الباحثون أيضاً ثلاثة بنوك قامت بالأمر بشكل صحيح.
- الاستعارة: هذه البنوك تشبه المحاسب الصارم. إذا اشتريت تلفازاً وحصلت على نقاط، ثم أعدت التلفاز، فإنهم يسحبون النقاط فوراً.
- التحول: إذا كنت قد أنفقت تلك النقاط بالفعل على البيتزا، فإن رصيدك يصبح سالباً. أنت الآن مدين للبنك بالنقاط. لا يمكنك الحصول على أي نقاط جديدة حتى تكسب ما يكفي لسداد ذلك الدين.
- لماذا ينجح الأمر: لا يمكنك "الازدواج" لأن اللحظة التي تعيد فيها السلعة، تختفي المكافأة، وتصبح في حالة دين.
3. كيف تعالج التسريبات
تقترح الورقة البحثية مجموعة بسيطة من القواعد (الخوارواتزميات) لإصلاح هذه البنوك:
- تتبع كل سلعة: لا تكتفِ بحساب إجمالي الإنفاق فقط. احتفظ بإيصال صغير لكل سلعة تم شراؤها والمكافأة التي جنتها.
- قاعدة "الاسترداد" (Clawback): إذا تمت إعادة سلعة، احسب فوراً مقدار المكافأة المرتبطة بتلك السلعة تحديداً واستعدها.
- السماح بالأرصدة السالبة: إذا أنفق المستخدم مكافأته قبل إرجاع السلعة، اجعل رصيده سالباً. لا تسمح له بسحب المزيد من الأموال حتى يكسب ما يكفي لتسديد الدين.
- فترة "الانتظار والترقب": بالنسبة للبنوك التي تحسب المكافآت مرة واحدة في الشهر، يجب عليها وضع "تعليق" على المكافآت لبضعة أيام بعد انتهاء الشهر، تحسباً لحدوث عملية إرجاع متأخرة.
4. لماذا يجب أن تهتم؟
قد تقول: "أنا شخص جيد؛ لن أحاول خداع البنك".
لكن الورقة تجادل بأن هذه ليست مجرد "حيل" للمجرمين. إنها أخطاء منطقية في البرمجيات.
- الأمر لا يتعلق بالسرقة: استخدم الباحثون بطاقاتهم الائتمانية الحقيقية واشتروا أشياء حقيقية. لم يخترقوا البنك؛ بل اتبعوا فقط القواعد التي كتبها البنك، والتي تبين أنها تحتوي على ثغرة.
- إنه يكلف الجميع مالاً: عندما تخسر البنوك المال بسبب هذه الثغرات، فقد ترفع الرسوم على الجميع أو تتوقف عن تقديم المكافآت.
- من السهل إصلاحه: الحل ليس ذكاءً اصطناعياً فائق التعقيد. إنه مجرد التأكد من أن البرنامج يراجع الحسابات عند حدوث عملية إرجاع.
الخلاصة
هذه الورقة هي بمثابة جرس إنذار للبنوك وتطبيقات الدفع. إنهم ينفقون ملايين الدولارات لتأمين عملية نقل الأموال الفعلية (حتى لا يسرق الهكرز أموالك)، لكنهم غالباً ما ينسون تأمين نظام المكافآت.
الأمر يشبه بناء حصن بباب حديدي ضخم (نظام الدفع) ولكن مع ترك الباب الخلفي (نظام المكافآت) مفتوحاً مع لافتة "مرحباً بك". لقد أظهر لنا الباحثون أن الباب الخلفي مفتوح، وشرحوا لنا بالضبط كيف يمكن العبور منه، وأعطونا المخططات لإغلاقه.
غارق في أبحاث مجالك؟
تصلك نشرة يومية بأحدث الأبحاث المطابقة لكلماتك البحثية المفتاحية — مع ملخصات تقنية، بلغتك.