آخر تحديث: الجمعة | التاريخ: 2021/04/16

ما هو هجوم التعداد؟ وما هي مخاطر هجمات تعداد أسماء المستخدمين؟

ما هو هجوم التعداد؟ وما هي مخاطر هجمات تعداد أسماء المستخدمين؟

أثناء اختبار إحدى منصات سلسلة الكتل من حيث الثغرات الأمنية في الآونة الأخيرة، اكتشف خبراء Kaspersky Blockchain Security أن عملية استرداد كلمة مرور المنصة كانت عرضة للهجمات من خلال تعداد اسم المستخدم. ويجب أن يكون مطورو الويب على دراية بهذا النوع من الهجمات وأخطاره.

 ما هجوم التعداد؟

تتضمن تطبيقات الويب التي تستخدم مصادقة كلمة المرور وتسجيل الدخول عادةً العديد من المكونات التي تتفاعل مع قاعدة بيانات المستخدمين: نافذة تسجيل الدخول (لأسباب واضحة)، ونموذج التسجيل (لتجنب تكرار أسماء المستخدمين)، وصفحة إعادة تعيين كلمة المرور (للتأكد من وجود الحساب المناظر). وإذا لم يطبق مطورو الويب هذه الميزات بشكل آمن بما فيه الكفاية، فقد يتمكن المهاجمون من استخدامها لتحديد ما إذا كان اسم مستخدم معين موجودًا في قاعدة البيانات.

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

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

 مخاطر هجمات تعداد أسماء المستخدمين

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

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

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

كيفية حماية نفسك من هجمات التعداد

هل سبق لك أن لاحظت كيف تستجيب مواقع الويب الحديثة لتقديم نموذج إعادة تعيين كلمة المرور؟ حيث لا تقول “تم إرسال رابط لإعادة تعيين كلمة المرور الخاصة بك” أو “البريد الإلكتروني المحدد غير موجود في قاعدة بياناتنا”، كما كانت تفعل مواقع الويب. بل تكتب بدلاً من ذلك “إذا كان هذا البريد الإلكتروني موجودًا في قاعدة بياناتنا، فسوف نرسل لك رسالة تحتوي على رابط.” بمعنى آخر، لا تؤكد مواقع الويب أو تنفي صراحة وجود اسم المستخدم. وقد أجروا هذا التغيير على وجه التحديد للحماية من هجمات التعداد.

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

ويجب أيضًا بالطبع استخدام اختبار CAPTCHA ووضع القيود على محاولات تسجيل الدخول. بالإضافة إلى ذلك، لضمان أمان تطبيق الويب الخاص بك، نوصي بإجراء تدقيق تابع لجهة خارجية. وإذا كنت تستخدم تقنية سلسلة الكتل، يستطيع زملاؤنا العاملون في Kaspersky Blockchain Security مساعدتك في تحليل أمان تطبيقات الويب.

مقالات ذات صله