أمن تسجيل الدخول المتزامن

يمكن لتسجيلات الدخول غير المحدودة أن تخفي ثغرات خطيرة في منطق الأعمال.

يقوم مستخدم بتسجيل الدخول من جهاز كمبيوتر محمول. وبعد ثوانٍ، يتم تسجيل الدخول إلى نفس الحساب من متصفح مختلف. ثم من جهاز محمول. ثم من عميل API. كل شيء يعمل بشكل مثالي.

يبدو هذا الأمر طبيعيًا لأن العديد من التطبيقات تدعم أجهزة متعددة. ولكن يجب أن تتساءل: هل يجب أن تسمح كل التطبيقات بجلسات غير محدودة؟

في بعض الأنظمة، تُعد الجلسات المتعددة ميزة. وفي أنظمة أخرى، تُعد ثغرة يستخدمها المهاجمون للبقاء متخفين. هذه ثغرة في منطق الأعمال؛ فالكود يعمل كما هو مصمم، ولكن التصميم نفسه ضعيف.

الفرق: • الثغرات التقليدية تستغل أخطاء برمجية. • ثغرات منطق الأعمال تستغل قرارات التصميم.

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

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

كيفية اختبار ذلك:

غالبًا ما تفرض التطبيقات عالية الأمان هذه القواعد:

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

السياق هو كل شيء. التطبيقات التي تحتاج إلى جلسات متعددة:

التطبيقات التي تحتاج إلى تحكم صارم:

كيفية الإصلاح:

لا تبحث فقط عن أخطاء برمجية مثل حقن SQL. ابحث عن الفجوات بين ما يفعله تطبيقك وما تتطلبه أعمالك.

راجع سياسة الجلسات الخاصة بك اليوم. قد لا يكون أكبر خطر يواجهك هو الكود المعيب، بل قد يكون المنطق المعيب.

المصدر: https://dev.to/arashad_dodhiya_0e4bdba5a/concurrent-login-security-how-to-check-whether-multiple-sessions-are-allowed-1839