ما تريد معرفته عن Insecure Design

Security
تتعامل العديد من الثغرات الأمنية مع أخطاء في التنفيذ، هنا يختلف الوضع لتصف هذه الثغرة فشلاً في التصميم لعدم وجود ضوابط الأمان
Abdelrahman Nasr
March 27, 2023, 3 p.m.
Abdelrahman
ما تريد معرفته عن Insecure Design

ما هو الـ (Insecure Design)؟

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

OWASP Insecure Design هي فئة جديدة في قائمة OWASP Top 10 لعام 2021 وهي تركز على المخاطر المتعلقة بعيوب التصميم في تطبيقات الويب.

 حيث يغطي هذا التصنيف 40 نقطة ضعف مختلفة تم تحديدها من قبل إطار CWE (Common Weakness Enumeration) والتي تشير إلى أن التطبيق لا يحتوي على عناصر تحكم أمنية كافية أو فعالة لمنع أو اكتشاف أو تخفيف الهجمات.

كيف يؤثر الـ (Insecure Design) على أداء تطبيقات الويب؟

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

أمثلة على تأثير الـ (Insecure Design)

بعض الأمثلة على كيفية تأثير التصميم غير الآمن على أداء تطبيقات الويب هي:

• رسائل الأخطاء المفصلة
قد تعرض رسائل الأخطاء بيانات حساسة تعرض تطبيق الويب لخطر الإختراق علي سبيل المثال رسائل أخطاء قواعد البيانات.

• تخزين كلمات المرور (Plain Text) في قاعدة البيانات
عندما يتم تسجيل المستخدمين في التطبيق، قد يتم تخزين كلمات المرور الخاصة بهم بشكل نصي عادي في قاعدة البيانات بدلاً من استخدام الـ (Hash)، ذلك ما يعرض كلمات المرور لخطر الكشف في حالة اختراق قاعدة البيانات أو الحصول على وصول غير مصرح به إلى التطبيق.

• استخدام بروتوكول HTTP غير آمن لإرسال بيانات حساسة
عندما يتم إرسال بيانات حساسة مثل بطاقات الائتمان أو بيانات الهوية عبر بروتوكول HTTP غير المشفر، فإنها تصبح عرضة للاعتراض أو التعديل من قبل المهاجمين عن طريق هجوم MITM لتجنب ذلك يجب استخدام بروتوكول HTTPS المشفر لضمان سرية وسلامة البيانات.

• عدم التحقق من صحة المدخلات من جانب الخادم
عندما يقوم التطبيق بقبول المدخلات من المستخدمين، فإنه يجب التحقق من صحتها من جانب الخادم قبل معالجتها أو تخزينها. إذا لم يتم ذلك، فقد يؤدي ذلك إلى هجمات حقن SQL أو XSS أو CSRF أو غيرها من هجمات التلاعب بالبيانات.

• استخدام خوارزمية تشفير ضعيفة
عندما يستخدم التطبيق خوارزمية تشفير قديمة أو مكسورة لحماية البيانات، قد يكون من الممكن للمهاجم فك تشفير البيانات باستخدام Brute Force & Dictionary Attacks ما قد يؤدي إلى فقدان سرية أو سلامة البيانات.

طرق الحماية من الـ (Insecure Design)

للحماية من التصميم غير الآمن، يوصي OWASP باتباع بعض الخطوات الأساسية، مثل:

• إنشاء دورة حياة تطوير آمنة (SDLC)
خلال مرحلة تصميم التطبيق، يجب أن يتبنى فريق التطوير منهجية وأنماط تصميم لضمان آمان التطبيق، يجب أيضًا إجراء اختبارات مستمرة للتحقق من سلامة التطبيق والكشف عن الثغرات الأمنية.

• إنشاء نموذج تهديد (Threat Modeling)
يجب دمج نموذج التهديد لتحديد وتقييم التهديدات والثغرات الأمنية للتطبيق، حيث يتم تطبيقه بشكل مستمر خلال دورة التطوير (SDLC).

• استخدام أفضل الممارسات
وذلك لإدارة السرية والتحكم في الوصول والتشفير والتحقق من صحة المدخلات.

• بناء شبكة آمنة
يجب تصميم شبكة آمنة تساعد على حماية التطبيق من هجمات الـ DDoS، حيث يفضل الفصل بين مكونات تطبيق الويب علي سبيل المثال خادم للويب وخادم آخر منفصل لقواعد البيانات.

وهنا نكون قد وصلنا إلى نهاية مقالتنا عزيزي القارئ ولا تنسى أن تنتظرنا قريباً- إن شاء الله- وإلى لقاء آخر قريب...


Insecure Design CWE OWASP MITM SQL XSS CSRF SDLC Threat Modeling Abdelrahman Nasr