المعلوماتية > اتصالات وشبكات

الأمان في أنظمة الدفع الإلكتروني؛ هجوم MITM

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

على الرغم من أنّ البطاقة الذكية هي جهاز مقاوم للعبث ومريح للحمل أيضًا (2)؛ لكنها تعاني واجهةَ مستخدم موثوقة، وبمعنى آخر؛ يفتقر إلى وجود مدخل/ مخرج للتواصل مع حامل البطاقة، ولذلك؛ سنخصص الحديث عن هجوم ضد EMV) Europay-MasterCard-Visa) هنا ويُسمّى هجوم Man In The Middle (MITM).

تتكون معاملة EMV من سلسلة من عمليات تبادل طلب/ استرجاع في إطار وحدة بيانات بروتوكول التطبيق (Application Protocol Data Unit (APDU، ويمكن تقسيمها إلى أربع مراحل (3):

1. التهيئة (Initialization): توافق البطاقة والجهاز على التطبيق الذي سيُستخدَم للمعاملة وتبادل البيانات الثابتة؛ مثل سجلات البطاقة التي تحتوي على معلومات عن البطاقة والبنك المصدر.

2. مصادقة البيانات دون اتصال (Offline Data Authentication (ODA: يتحقق الجهاز من صحة البطاقة استنادًا إلى مرفق المفاتيح العامة PKI، وبمجرد أن تزوّد البطاقة الجهاز بمؤشر هيئة الشهادة (Certificate Authority (CA، وشهادة المفتاح العام (PK) للبنك الصادرة عن CA، وشهادة PK للبطاقة الصادرة عن البنك، تتحقق المحطة من صحة توقيع البطاقة على تفاصيل المعاملة.

3. التحقق من حامل البطاقة Cardholder Verification: تحدد المحطة ما إذا كان الشخص الذي يقدم البطاقة هو حامل البطاقة الشرعي، ويُنجَز ذلك باستخدام طريقة تدعمها كل من البطاقة والجهاز. إنّ أكثر الطرائق شيوعًا هي التحقق من رقم التعريف الشخصي المشفّر عبر الإنترنت (online enciphered PIN verification)؛ إذ ترسل المحطة الطرفية (تشفير) رقم التعريف الشخصي المدخل إلى البنك للتحقق منه.

4. مصادقة المعاملة (Transaction Authorization (TA: تُرفَض المعاملة في وضع عدم الاتصال، أو تُقبَل في وضع عدم الاتصال، أو تُرسَل إلى البنك المُصدَر للمصادقة عبر الإنترنت.

يمكن أن تكون طريقة التحقق من حامل البطاقة (Cardholder Verification Method (CVM عبارة عن توقيع ورقي أو التحقق من رقم التعريف الشخصي أو CVM لجهاز المستهلك (Consumer Device CVM (CDCVM أو مزيج من هذه.

وهناك ثلاث طرائق محددة للتحقق من رقم التعريف الشخصي:

1) رقم التعريف الشخصي في وضع عدم الاتصال (أو رمز PIN العادي): يرسل الجهاز الطرفي أمرَ التحقق مع رقم التعريف الشخصي الذي أُدخِل، وتستجيب البطاقة برسالة النجاح 9000 إذا كان رقم التعريف الشخصي صحيحًا، أو رسالة الفشل 63Cx، علمًا أنّ الرقم x هو عدد المحاولات المتبقية (2,3).

عندما لا توجد محاولات متبقية (أي x=0) يجب أن تستجيب البطاقة برسالة رقم التعريف الشخصي المحظورة 6983 لأي طلبات تحقق لاحقة، ولكنّ نقطة الضعف والعيب الرئيسة في هذه العملية هي عدم قدرة الجهاز على معرفة مَن أرسل استجابة البطاقة، ويصنع هذا الخلل خطة لهجوم (2)MITM. 

يوضح الشكل 1 هذا الهجوم.

2) رقم التعريف الشخصي المشفّر دون اتصال (أو رمز PIN المشفر ببساطة): يرسل الجهاز الطرفي أمر GET CHALLENGE وتستجيب البطاقة برقم عشوائي، ثم تصدر المحطة الطرفية الأمر VERIFY الذي تكون حمولته هي التشفير، مع PK للبطاقة، ورقم التعريف الشخصي الذي أُدخِل، والرقم العشوائي المستلم، والحشو العشوائي الذي أُنشِئ بواسطة الجهاز.

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

3) رقم التعريف الشخصي المشفر عبر الإنترنت: ترسل المحطة الطرفية رقم التعريف الشخصي المُدخل المشفر إلى البنك المُصدر عند طلب تفويض المعاملة.

صُمِّم جهاز المستهلك CVM ليُنفَّذ بواسطة أجهزة مثل الهواتف المحمولة، والتي تصادق على حامل البطاقة عن طريق بصمة الإصبع أو التعرف إلى الوجه.

هجوم الرجل في المنتصف MITM ضد EMV

تحتوي البيانات المصدّق عليها التي تُرسَل إلى البنك على "نتائج التحقق النهائي" (TVR) "Terminal Verification Results و"بيانات تطبيق جهة الإصدار" (IAD) "Issuer Application Data"(2).

يتكون TVR من جميع حالات المصادقة المحتملة للبطاقات الفاشلة الموضّحة في الجدول الأول، ولكن أحد عيوب هذه العملية هو أنه في حالة المصادقة الناجحة لم تُذكَر "الطريقة" التي استُخدِمت (مثل رقم التعريف الشخصي أو التوقيع) (2).

جدول توضيحي لحالات المصادقة المُحتمَلة للبطاقات

وبالتالي، فإنّ المهاجم الذي يستخدم هذا العيب قادرٌ على تنفيذ هجوم MITM لاعتراض الاتصال بين البطاقة ونقطة البيع لخداع الجهاز بإرسال استجابة 9000، دون نقل رقم التعريف الشخصي إلى البطاقة الأصلية؛ ومن ثم تفترض البطاقة الأصلية أنّ نقطة البيع ليس لديها طريقة "التحقق من رقم التعريف الشخصي" وتستخدم طريقة التوقيع للتحقق من حامل البطاقة. ومن ناحية أخرى، نظرًا إلى عدم استلام البطاقة لرقم التعريف الشخصي الكاذب؛ فلن تُزاد عدد محاولات إدخال رقم التعريف الشخصي (أي x)، ونتيجةً لذلك، لم تُعيَّن بتات TVR لأنه لا توجد محاولات أو فشل، ومن ثم تُخدَع كلٌّ من نقطة البيع والبطاقة.

تعتقد نقطة البيع أنّ مصادقة رقم التعريف الشخصي تنجح بعد تلقي استجابة 9000، ثم تنتج قيمة صفرية لـ TVR، ومن ثم تعتقد البطاقة أنّ الجهاز الطرفي لا يدعم طريقة التحقق من رقم التعريف الشخصي PIN بعد عدم استلام رقم التعريف الشخصي، ولذلك يقبل الجهاز صفر بايت.

في حالة معاملات أجهزة الصراف الآلي، لا تشارك بطاقة الشريحة في عملية المصادقة، ولكنّ جهاز الصراف الآلي يشفّر ويعيد رقم التعريف الشخصي إلى البنك المصدر. 

بعد مصادقة المعاملة عبر شبكة الصراف الآلي، تنقل ماكينة الصراف الآلي إلى البطاقة بعض البيانات بما في ذلك الرقم غير المتوقع unpredictable number (اختصار UN، وعادةً ما يُطلَق عليه "nonce" وهو حقل 32 بت) للتأكد من البنك المصدر أنّ المعاملة الحالية لم تتكرر سابقًا وجديدة. 

في الرد، تُرجع البطاقة "تشفير طلب المصادقة" "Authorization Request Cryptogram (ARQC)، وهو MAC محسوب على بعض البيانات بما في ذلك "عداد معاملات التطبيق Application Transaction Counter "(ATC) إلى جانب بيانات تطبيق المُصدِر Issuer Application Data (IAD).

يمكن لسيناريو الهجوم أن يكون عن طريق استبدال قيمة UN هذه، ويُطلق عليه ما يُعرف بهجوم  Pre-Play attack؛ إذ يحفظ المهاجم أولًا ARQC باستخدام نقطة بيع موبوءة ببرنامج ضار، ويرتبط ARQC هذا بـ nonce N، ثم ينقله المهاجم (في معاملة أخرى باستخدام ماكينة الصراف الآلي ATM) إلى ماكينة الصرّاف الآلي التي تولّد nonce آخر (على سبيل المثال Nَ).

تحوّل ماكينة الصراف الآلي الـ ARQC وN´ إلى البنك المصدر (غير مرتبطين معًا).

أخيرًا، باستخدام جهاز MITM يستبدل المهاجم Nَ بـN، ومن ثم تُقبَل المعاملة من قبل البنك المُصدر.

يوضح الشكل 2 هجوم ما قبل اللعب.

هجوم ما قبل اللعب ضد عملية EMV

الوضع العالمي لدعم أمن المعلومات هو البنية التحتية للمفتاح العام (PKI) والتشفير، فبعض أمثلة التشفير هي Triple DES و RSA و Blowfish و Twofish و AES؛ إذ إنّ البنية التحتية للمفاتيح العمومية (PKI) هي دمج للبرامج والأجهزة والعمليات اللازمة لإنشاء وإدارة وتخصيص وإلغاء الشهادات الرقمية والمفاتيح العامة، وتساعد المفاتيح العمومية على إثبات تفرد الأشخاص والأجهزة والخدمات التي تمكن من الدخول المحظور إلى الأنظمة والموارد والبيانات والمساءلة في المعاملات (4).

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

وكتصنيف بسيط لبعض التهديدات (4):

في الختام، نرى أنّه على الرغم من الجهود لتكون عملية الدفع الإلكتروني آمنة؛ ولكن هناك الكثير من الثغرات التي تُكتَشَف والتي يمكن أن تُحدث خللًا كبيرًا.

المصادر:

1. RACHNA, SINGH P. Issues and Challenges of Electronic Payment Systems. International Journal for Research in Management and Pharmacy [Internet]. 2013 [cited 5 November 2021];2(9):25-30. Available from: هنا

2. Ahmed W, Rasool A, Javed A, Kumar N, Gadekallu T, Jalil Z. Security in Next Generation Mobile Payment Systems: A Comprehensive Survey. IEEE Access [Internet]. [cited 26 September 2021];9 pp. 115932-115950, 2021. Available from: هنا

3. Basin D, Sasse R, Toro-Pozo J. The EMV Standard: Break, Fix, Verify. 2021 IEEE Symposium on Security and Privacy (SP) [Internet]. San Francisco; 2021 [cited 5 November 2021]. p. 1766-1781. Available from: هنا

4. 1. Saxena S, Vyas S, Kumar B, Gupta S. Survey on Online Electronic Paymentss Security. Amity International Conference on Artificial Intelligence (AICAI) [Internet]. IEEE; 2019 [cited 5 November 2021]. Available from: هنا