You are on page 1of 31

‫هذا المربع مخّص ص ألغراض توجيهية‪ .

‬احذف جميع المربعات التوجيهية‬


‫بع‪+‬د تعبئ‪+‬ة النم‪+‬وذج‪ .‬يجب تحري‪+‬ر البن‪+‬ود الملّو ن‪+‬ة ب‪+‬اللون األزرق بص‪+‬ورة‬
‫مناسبة‪ .‬ويجب إزالة التظليل الملون بعد إجراء التعديالت‪.‬‬

‫أدخل شعار الجهة بالضغط على الصورة الموضحة‪.‬‬

‫نموذج معيار التطوير اآلمن للتطبيقات‬

‫استبدل <اسم الجهة> باسم الجهة في مجمل صفحات الوثيقة‪.‬‬


‫وللقيام بذلك‪ ،‬اتبع الخطوات التالية‪:‬‬
‫اض‪++‬غط على مفت‪++‬احي "‪ "Ctrl‬و"‪ "H‬في ال‪++‬وقت‬ ‫‪‬‬
‫نفسه‪.‬‬
‫أض‪++‬ف "<اس‪++‬م الجه‪++‬ة>" في مرب‪++‬ع البحث عن‬ ‫‪‬‬
‫النص‪.‬‬ ‫التاريخ‪:‬‬
‫أدخل االسم الكامل لجهتك في مرب‪++‬ع "اس‪++‬تبدال"‬ ‫‪‬‬ ‫اضغط هنا إلضافة نص‬ ‫اإلصدار‪:‬‬
‫النص‪.‬‬
‫اض‪+++‬غط على "المزي‪+++‬د" وتأّك د من اختي‪+++‬ار "‬ ‫‪‬‬
‫اضغط هنا إلضافة نص‬ ‫المرجع‪:‬‬
‫‪."Match case‬‬
‫اضغط على "استبدل الكل"‪.‬‬ ‫‪‬‬
‫أغلق مربع الحوار‪.‬‬ ‫‪‬‬
‫نموذج معيار التطوير اآلمن للتطبيقات‬

‫إخالء المسؤولية‬
‫ُط ور هذا النموذج عن طريق الهيئة الوطنية لألمن الس‪++‬يبراني كمث‪++‬ال توض‪++‬يحي يمكن اس‪++‬تخدامه ك‪++‬دليل‬
‫ومرجع للجهات‪ .‬يجب أن يتم تعديل ه‪+‬ذا النم‪+‬وذج ومواءمت‪+‬ه م‪+‬ع أعم‪+‬ال <اس‪+‬م الجه‪+‬ة> والمتطلب‪+‬ات التش‪+‬ريعية‬
‫والتنظيمية ذات العالقة‪ .‬كما يجب أن ُيعتمد هذا النموذج من قبل رئيس الجهة أو من يقوم‪/‬تقوم بتفويض‪++‬ه‪ .‬وتخلي‬
‫الهيئة مسؤوليتها من استخدام هذا النموذج كما هو‪ ،‬وتؤكد على أن هذا النموذج ما هو إال مثال توضيحي‪.‬‬

‫اإلصدار <‪>1.0‬‬

‫‪1‬‬
‫نموذج معيار التطوير اآلمن للتطبيقات‬

‫اعتماد الوثيقة‬

‫التوقيع‬ ‫التاريخ‬ ‫االسم‬ ‫المسمى الوظيفي‬ ‫الدور‬

‫<أدخل االسم الكامل‬


‫<أدخل التوقيع>‬ ‫<أدخل المسمى الوظيفي>‬
‫للموظف>‬

‫نسخ الوثيقة‬

‫أسباب التعديل‬ ‫ُعدَل بواسطة‬ ‫التاريخ‬ ‫النسخة‬

‫<أدخل وصف التعديل>‬ ‫<أدخل االسم الكامل للموظف>‬ ‫<أدخل رقم النسخة>‬

‫جدول المراجعة‬

‫تاريخ المراجعة القادمة‬ ‫التاريخ ألخر مراجعة‬ ‫معدل المراجعة‬

‫اضغط هنا إلضافة تاريخ‬ ‫اضغط هنا إلضافة تاريخ‬ ‫مره واحدة كل سنة‬

‫اإلصدار <‪>1.0‬‬

‫‪2‬‬
‫نموذج معيار التطوير اآلمن للتطبيقات‬

‫قائمة المحتويات‬
‫الغرض‪4..................................................................................................................‬‬
‫نطاق المعيار‪4............................................................................................................‬‬
‫المعايير‪4..................................................................................................................‬‬
‫األدوار والمسؤوليات‪29.................................................................................................‬‬
‫التحديث والمراجعة‪29...................................................................................................‬‬
‫االلتزام بالمعيار‪29.......................................................................................................‬‬

‫اإلصدار <‪>1.0‬‬

‫‪3‬‬
‫نموذج معيار التطوير اآلمن للتطبيقات‬

‫الغرض‬
‫يهدف هذا المعيار إلى تحديد متطلبات األمن السيبراني التفصيلية لحماية تطوير البرمجيات والتطبيق‪++‬ات‬
‫الخاصة ب<اسم الجهة> وذلك لتحقيق الغرض األساسي وهو تقليل المخ‪++‬اطر الس‪++‬يبرانية الناتج‪++‬ة عن التهدي‪++‬دات‬
‫الداخلية والخارجية في <اس‪+‬م الجه‪+‬ة>‪ .‬ه‪+‬ذه المتطلب‪+‬ات تمت موائمته‪+‬ا متطلب‪+‬ات األمن الس‪+‬يبراني الص‪+‬ادرة من‬
‫الهيئة الوطنية لألمن السيبراني ويشمل ذلك على سبيل المثال ال الحصر‪ :‬الضوابط األساس‪++‬ية لألمن الس‪++‬يبراني (‬
‫‪ ،)ECC – 1: 2018‬ضوابط األمن الس‪+‬يبراني لألنظم‪+‬ة الحساس‪+‬ة (‪ )CSCC – 1: 2019‬وغيره‪+‬ا من‬
‫المتطلبات التشريعية والتنظيمية ذات العالقة‪.‬‬

‫نطاق المعيار‬
‫يطبق هذا المعيار على جميع أنشطة ومشاريع وممارسات تط‪++‬وير البرمجي‪++‬ات والتطبيق‪++‬ات واألص‪++‬ول‬
‫المعلوماتية والتقنية الخاص‪+‬ة به‪+‬ا في <اس‪+‬م الجه‪+‬ة>‪ ،‬وعلى جمي‪+‬ع الع‪+‬املين (الم‪+‬وظفين والمتعاق‪+‬دين) في <اس‪+‬م‬
‫الجهة>‪.‬‬

‫المعايير‬
‫التطوير اآلمن للتطبيقات‬ ‫‪1‬‬

‫توفير متطلبات األمن السيبراني لضمان حماية أنش‪+‬طة تط‪+‬وير البرمجي‪+‬ات والتطبيق‪++‬ات‬
‫الهدف‬
‫وضوابط األمن السيبراني لحماية البرمجيات التي يتم تطويرها‪.‬‬

‫يمكن أن يؤدي تطوير التطبيق‪+‬ات غ‪+‬ير اآلمن إلى إيج‪+‬اد ثغ‪+‬رات أمني‪+‬ة يمكن اس‪+‬تغاللها‬
‫المخاطر المحتملة‬
‫لتهديد سرية بيانات <اسم الجهة> وسالمتها وتوافرها‪ ،‬والتأثير في سير عملها‪.‬‬

‫اإلجراءات المطلوبة‬

‫تطوير عملية دورة حياة تطوير البرمجيات اآلمنة (‪ )SSDLC‬وتطبيقها‪.‬‬ ‫‪1-1‬‬

‫تطوير منهجية وعملية "التطوير واألمن والعمليات" (‪ )DevSecOps‬واتباعها‪.‬‬ ‫‪1-2‬‬

‫ضمان توف‪++‬ير متطلب‪++‬ات األمن الس‪++‬يبراني في المراح‪++‬ل األولي‪++‬ة من تط‪++‬وير البرمجي‪++‬ات‬


‫‪1-3‬‬
‫ودمجها في دورة حياة تطوير البرمجيات اآلمنة (‪.)SSDLC‬‬

‫ضمان اختبار األمن السيبراني في مراحل اختبار تطوير البرمجي‪++‬ات ودمج‪++‬ه في دورة‬
‫‪1-4‬‬
‫حياة تطوير البرمجيات اآلمنة (‪.)SSDLC‬‬

‫تطوير آلية تلقائية في مراحل اختبار تطوير البرمجيات اتجاه البرمجي‪+‬ات واالختراق‪+‬ات‬
‫‪1-5‬‬
‫الضارة المعروفة‪.‬‬

‫اإلصدار <‪>1.0‬‬

‫‪4‬‬
‫نموذج معيار التطوير اآلمن للتطبيقات‬

‫يجب استخدام الطرق المختلفة لالختبارات األمنية في مراحل تط‪++‬وير البرمجي‪++‬ات مث‪++‬ل‬
‫‪1-6‬‬
‫(طريقة التشويش‪ ،‬اختبار الصندوق األسود) وغيرها‪.‬‬

‫تصميم وإعداد بيئة آمنة لغايات التطوير واالختبار وضمان الجودة‪.‬‬ ‫‪1-7‬‬

‫تطبيق إرشادات تطوير التطبيقات اآلمن وفقًا للجدول )أ(‪.‬‬ ‫‪1-8‬‬

‫يجب استخدام لغة ذاكرة آمنة ويجب اختبار التطبيق ضد هجمات اختراقات الذاكرة‪.‬‬ ‫‪1-9‬‬

‫تط‪++‬بيق إج‪++‬راءات التخفي‪++‬ف على أعلى ‪ 10‬مخ‪++‬اطر ته‪++‬دد أمن تطبيق‪++‬ات ال‪++‬ويب وفق ‪ً+‬ا‬
‫للمشروع المفتوح ألمن تطبيقات الويب (‪ )OWASP‬فيما يخص األنظمة والتطبيقات‬ ‫‪1-10‬‬
‫الحساسة‪.‬‬

‫تطبيق آليات لتقييد صالحيات التعديل على الشفرة المصدرية أو بيانات بيئات اإلنتاج‪.‬‬ ‫‪1-11‬‬

‫إلزام الموردين الخارجيين ب‪++‬االلتزام بسياس‪++‬ات ومع‪++‬ايير األمن الس‪++‬يبراني المعتم‪++‬دة في‬
‫‪1-12‬‬
‫<اسم الجهة>‪.‬‬

‫استخدام المصادر الحديثة والموثوق به‪++‬ا والمرخص‪++‬ة فق‪++‬ط ألدوات تط‪++‬وير البرمجي‪++‬ات‬
‫‪1-13‬‬
‫والمكتبات والمكونات‪.‬‬

‫ضمان تطبيق ض‪++‬وابط حماي‪+‬ة تطبيق‪++‬ات ال‪+‬ويب وفق‪ً+‬ا لسياس‪++‬ة ومعي‪+‬ار حماي‪+‬ة تطبيق‪++‬ات‬
‫‪1-14‬‬
‫الويب المعتمدين في <اسم الجهة>‪.‬‬

‫استخدام خوارزمي‪++‬ات تش‪++‬فير موح‪++‬دة ومراجع‪++‬ة بدق‪++‬ة وفق‪ً+‬ا للمع‪++‬ايير واإلج‪++‬راءات ذات‬
‫‪1-15‬‬
‫العالقة‪.‬‬

‫التحقق من أن إصدارات كافة البرمجي‪++‬ات ال‪++‬تي تم ش‪++‬راؤها من خ‪++‬ارج <اس‪++‬م الجه‪++‬ة>‬


‫‪1-16‬‬
‫مدعومة من المطور ومحصنة بصورة مالئمة بناًء على التوصيات األمنية للمطور‪.‬‬

‫تدريب جميع العاملين في تطوير البرمجيات على كتاب‪++‬ة الش‪++‬فرات المص‪++‬درية المناس‪++‬بة‬
‫‪1-17‬‬
‫للغة البرمجة وبيئة التطوير المستخدمة‪.‬‬

‫يجب التأكد من أن جميع العاملين داخل أو خارج <اسم الجهة> لمن له عالقة في دورة‬
‫حياة تطوير البرمجيات على استعداد لتنفيذ مهامهم ومسؤولياتهم خالل دورة حياة‬ ‫‪1-18‬‬
‫تطوير التطبيق‪.‬‬

‫<اسم الجهة> يجب أن تطبق آليات الحماية والتحصين على أجهزة مطوري التطبيقات‬
‫مثل (األجهزة المحمولة لمصممي التطبيقات‪ ،‬مطوري التطبيقات‪ ،‬مختبري التطبيقات‪،‬‬ ‫‪1-19‬‬
‫الخ) لتنفيذ المهام التطويرية باستخدام المنهجية القائمة على المخاطر‪.‬‬

‫يجب على <اسم الجهة> ضمان التغييرات اآلمنة المصرح بها للشفرة لتقييد مصادر‬ ‫‪1-20‬‬

‫اإلصدار <‪>1.0‬‬

‫‪5‬‬
‫نموذج معيار التطوير اآلمن للتطبيقات‬

‫الوصول لبيئة التطوير وتفعيل خاصية تسجيل األحداث والتغييرات‪.‬‬

‫مستودع الشفرة المصدرية‬ ‫‪2‬‬

‫توفير ضوابط األمن السيبراني لضمان حماية الشفرة المص‪++‬درية والمكتب‪++‬ات ومس‪++‬تودع‬
‫الهدف‬
‫الشفرة المصدرية‪.‬‬

‫في ح‪++‬ال ع‪++‬دم توف‪++‬ير حماي‪++‬ة كافي‪++‬ة ومناس‪++‬بة للش‪++‬فرة المص‪++‬درية والمكتب‪++‬ات‪ ،‬يمكن أن‬
‫تتعرض الشفرة المصدرية في <اسم الجه‪++‬ة> للخط‪++‬ر أو يتم التالعب به‪++‬ا أو الوص‪++‬ول‬ ‫المخاطر المحتملة‬
‫غير المصرح به لها‪.‬‬

‫اإلجراءات المطلوبة‬

‫اس‪++‬تخدام مس‪++‬تودع ش‪++‬فرة مص‪++‬درية آمن يمت‪++‬از بتط‪++‬بيق إج‪++‬راءات التحق‪++‬ق من الهوي‪++‬ة‬
‫‪2-1‬‬
‫واإلصدار والرقابة وتسجيل الدخول‪.‬‬

‫تط‪++‬بيق إج‪++‬راءات من‪++‬ع وص‪++‬ول أي ش‪++‬خص إلى الش‪++‬فرة المص‪++‬درية ومس‪++‬تودع الش‪++‬فرة‬
‫‪2-2‬‬
‫المصدرية باستثناء مطوري التطبيقات والجهات المسؤولة عنها عند الحاجة‪.‬‬

‫استخدام خطة ترقيم موح‪+‬دة لض‪+‬وابط اإلص‪+‬دار بحيث ت‪+‬بين ت‪+‬اريخ تث‪+‬بيت اإلص‪+‬دارات‬
‫‪2-3‬‬
‫المحدثة من البرمجيات‪.‬‬

‫أرشفة اإلصدارات القديمة من الشفرة المصدرية دوريًا‪.‬‬ ‫‪2-4‬‬

‫فصل الشفرة المصدرية للتطبيقات قي‪++‬د التط‪++‬وير عن الش‪++‬فرة المص‪++‬درية للتطبيق‪++‬ات في‬
‫‪2-5‬‬
‫بيئة اإلنتاج‪.‬‬

‫أرشفة الشفرة المصدرية للتطبيقات التي انتهت صالحيتها بحيث يمكن استرجاعها عن‪++‬د‬
‫‪2-6‬‬
‫الحاجة‪.‬‬

‫الحص‪++‬ول على نس‪++‬خة من الش‪++‬فرة المص‪++‬درية لكاف‪++‬ة التطبيق‪++‬ات ال‪++‬تي طورته‪++‬ا أط‪++‬راف‬
‫‪2-7‬‬
‫خارجية لـ<اسم الجهة> وتخزينها في مستودع الشفرة المصدرية‪.‬‬

‫تط‪++‬وير مع‪++‬ايير تحص‪++‬ين وأمن الحاوي‪++‬ات والنس‪++‬خ االفتراض‪++‬ية للنظ‪++‬ام ( ‪)Docker‬‬


‫‪2-8‬‬
‫وإرشادات الممارسات األمنية المثلى وتطبيقها‪.‬‬

‫تثبيت آليات إدارة األسرار وذلك من أج‪++‬ل إدارة األس‪++‬رار والمف‪++‬اتيح والش‪++‬هادات ومن‪++‬ع‬
‫‪2-9‬‬
‫تخزين األسرار في الحاويات‪.‬‬

‫استخدام نسخ الحاويات من مصادر موثوقة أو معتمدة‪.‬‬ ‫‪2-10‬‬

‫استخدام سجل حاويات خاص لضمان تنزيل نسخ الحاويات المعتمدة واآلمن‪++‬ة فق‪++‬ط على‬
‫‪2-11‬‬
‫النظام بحيث يمكن فحص كل نسخة بحثًا عن الثغرات المعروفة والشائعة‪.‬‬

‫اإلصدار <‪>1.0‬‬

‫‪6‬‬
‫نموذج معيار التطوير اآلمن للتطبيقات‬

‫عدم إدارة الحاويات من خالل حسابات المستخدمين عالية الصالحية واالمتيازات‪.‬‬ ‫‪2-12‬‬

‫مراجعة واختبار الشفرة المصدرية‬ ‫‪3‬‬

‫توف‪++‬ير ض‪++‬مان بش‪++‬أن تط‪++‬بيق ض‪++‬وابط األمن الس‪++‬يبراني على تط‪++‬وير التطبيق‪++‬ات اآلمن‬
‫الهدف‬
‫وكشف نقاط الضعف والثغرات والمشكالت في البرمجيات‪.‬‬

‫يمكن أن تتعرض <اسم الجهة> إلى مخاطر أمنية كبيرة في ح‪++‬ال ع‪++‬دم اختب‪++‬ار الش‪++‬فرة‬
‫المصدرية وأنشطة تطوير الشفرات ومراجعته‪++‬ا بانتظ‪++‬ام لغاي‪++‬ات الكش‪++‬ف عن الثغ‪++‬رات‬
‫المخاطر المحتملة‬
‫األمني‪++‬ة واإلع‪++‬دادات الخاطئ‪++‬ة ونق‪++‬اط الض‪++‬عف‪ ،‬يمكن أن تتع‪++‬رض <اس‪++‬م الجه‪++‬ة> إلى‬
‫مخاطر أمنية كبيرة‪.‬‬

‫اإلجراءات المطلوبة‬

‫إجراء عملية مراجعة الشفرة المصدرية بانتظام لتطبيقات الويب المطورة داخليًا‪.‬‬ ‫‪3-1‬‬

‫تط‪++‬بيق أدوات التحلي‪++‬ل الثابت‪++‬ة والديناميكي‪++‬ة للتحق‪++‬ق من االل‪++‬تزام بممارس‪++‬ات تط‪++‬وير‬


‫‪3-2‬‬
‫التطبيقات اآلمن بالنسبة للبرمجيات المطورة داخليًا‪.‬‬

‫القي‪++‬ام بمراجع‪++‬ة أمني‪++‬ة الش‪++‬فرة المص‪++‬درية بانتظ‪++‬ام لكاف‪++‬ة التطبيق‪++‬ات المط‪++‬ورة لـ <اس‪++‬م‬
‫‪3-3‬‬
‫الجهة> من قبل أطراف خارجية‪.‬‬

‫مراجع‪++‬ة واعتم‪++‬اد الض‪++‬وابط األمني‪++‬ة للتطبيق‪++‬ات المط‪++‬ورة داخلي ‪ً+‬ا قب‪++‬ل تثبيته‪++‬ا في بيئ‪++‬ة‬
‫‪3-4‬‬
‫اإلنتاج‪.‬‬

‫إعادة تقييم التطبيقات الحالية المطورة داخليًا وإعادة اعتمادها بعد إجراء تغيير رئيس‪++‬ي‬
‫‪3-5‬‬
‫عليها أو بعد مرور فترة زمنية محددة‪.‬‬

‫إجراء تقييم المخاطر لكافة التطبيقات قيد التطوير أو التي يتم شراؤها لتحديد الض‪++‬وابط‬
‫المطلوبة لتقليل مخاطر التطبيق‪+‬ات إلى مس‪+‬تويات مقبول‪+‬ة قب‪+‬ل التث‪+‬بيت في بيئ‪+‬ة اإلنت‪+‬اج‬ ‫‪3-6‬‬
‫(يرجى الرجوع إلى سياسة إدارة المخاطر المعتمدة في <اسم الجهة>)‪.‬‬

‫إجراء اختبار االلتزام باألمن السيبراني للبرمجيات بناًء على سياسات األمن الس‪++‬يبراني‬
‫‪3-7‬‬
‫المعتمدة في <اسم الجهة> قبل التثبيت في بيئة اإلنتاج‪.‬‬

‫اس‪++‬تخدام معي‪++‬ار التحق‪++‬ق من حماي‪++‬ة التطبيق‪++‬ات الص‪++‬ادر عن المش‪++‬روع المفت‪++‬وح ألمن‬


‫تطبيقات الويب (‪ )OWASP‬كدليل إرشادي لتحديد المتطلبات األمني‪++‬ة وعم‪++‬ل ح‪++‬االت‬ ‫‪3-8‬‬
‫اختبار لمراجعة األنظمة والتطبيقات الحساسة‪.‬‬

‫إجراء مراجعة إلعدادات البرمجيات بما في ذلك مراجعة اإلعدادات والتحصين وح‪++‬زم‬
‫‪3-9‬‬
‫التحديثات قبل التثبيت في بيئة اإلنتاج‪.‬‬

‫اإلصدار <‪>1.0‬‬

‫‪7‬‬
‫نموذج معيار التطوير اآلمن للتطبيقات‬

‫إج‪++‬راء اختب‪++‬ارات األمن الس‪++‬يبراني‪ ،‬بم‪++‬ا في ذل‪++‬ك تق‪++‬ييم الثغ‪++‬رات واختب‪++‬ار االخ‪++‬تراق‬
‫‪3-10‬‬
‫ومراجعة تطوير التطبيقات اآلمن‪ ،‬قبل التثبيت في بيئة اإلنتاج‪.‬‬

‫إجراء اختبارات األمن السيبراني‪ ،‬بما في ذلك تقييم الثغ‪++‬رات واختب‪++‬ار االخ‪++‬تراق‪ ،‬بع‪++‬د‬
‫‪3-11‬‬
‫التثبيت في بيئة اإلنتاج‪.‬‬

‫معالجة كافة المشاكل األمنية في التطبيقات المط‪++‬ورة ال‪++‬تي يتم اكتش‪++‬افها خالل مراجع‪++‬ة‬
‫‪3-12‬‬
‫تطوير التطبيقات اآلمن قبل التثبيت في بيئة اإلنتاج‪.‬‬

‫اختبار التطبيقات المطورة لضمان تطبيق ضوابط فصل المهام بالصورة المالئمة‪.‬‬ ‫‪3-13‬‬

‫إلغاء وحذف حسابات وبيانات االختبار الموجودة في بيئ‪++‬ة غ‪++‬ير بيئ‪++‬ة اإلنت‪++‬اج قب‪++‬ل نق‪++‬ل‬
‫‪3-14‬‬
‫التطبيقات إلى بيئة اإلنتاج‪.‬‬

‫فص‪++‬ل بيئ‪++‬ة االختب‪++‬ار والتط‪++‬وير منطقي‪ً+‬ا عن بيئ‪++‬ة اإلنت‪++‬اج والبيئ‪++‬ات األخ‪++‬رى باس‪++‬تخدام‬
‫محددات الشبكة عن طريق إعداد وتثبيت ق‪+‬وائم التحّك م بالوص‪++‬ول (‪ )ACL‬والسياس‪++‬ات‬ ‫‪3-15‬‬
‫األمنية على جدران الحماية‪.‬‬

‫إجراء مراجعة النظير للشفرة المصدرية من قبل مطور لم يش‪++‬ارك في كتاب‪++‬ة أي ش‪++‬فرة‬
‫‪3-16‬‬
‫قبل التثبيت في بيئة اإلنتاج في <اسم الجهة>‪.‬‬

‫استخدام الشفرة المصدرية وأدوات تقييم أمن البرمجيات المعتمدة والمرخصة‪.‬‬ ‫‪3-17‬‬

‫إج‪++‬راء االختب‪++‬ارات األمني‪++‬ة للتطبيق‪++‬ات المط‪++‬ورة في كاف‪++‬ة مراح‪++‬ل اختب‪++‬ار دورة حي‪++‬اة‬
‫تط‪++‬وير البرمجي‪++‬ات (‪ ،)SDLC‬بم‪++‬ا في ذل‪++‬ك االختب‪++‬ارات غ‪++‬ير الوظيفي‪++‬ة‪ ،‬واختب‪++‬ار‬ ‫‪3-18‬‬
‫الوحدات (‪ )UT‬واختبار تكامل األنظمة (‪ ،)SIT‬واختبار قبول المستخدم (‪.)UAT‬‬

‫استحداث عملية إلدارة العيوب البرمجية في البرمجيات والثغرات والمش‪++‬كالت األمني‪++‬ة‬


‫‪3-19‬‬
‫ووضع سجل خاص بها ومتابعتهما‪.‬‬

‫إدراج االختبارات كجزء من عمليات التحسين المستمر والتطوير المستمر (‪.)CI/CD‬‬ ‫‪3-20‬‬

‫اإلصدار <‪>1.0‬‬

‫‪8‬‬
‫نموذج معيار التطوير اآلمن للتطبيقات‬

‫الجدول أ ‪ -‬إرشادات تطوير التطبيقات اآلمن‬


‫التحكم بالوصول (‪ - OWASP:A1:2021‬إجراءات التحكم بالوصول غير اآلمنة)‬ ‫‪A1‬‬

‫التحقق من أن المستخدمين يمكنهم الوص‪++‬ول فق‪++‬ط إلى الوظ‪++‬ائف أو الخ‪++‬دمات اآلمن‪++‬ة ال‪++‬تي‬ ‫‪A1-1‬‬
‫يملكون تصاريح وصالحيات خاصة لها‪.‬‬

‫التحق‪+++‬ق من أن المس‪+++‬تخدمين يمكنهم الوص‪+++‬ول فق‪+++‬ط إلى العن‪+++‬اوين اآلمن‪+++‬ة (‪Secured‬‬ ‫‪A1-2‬‬
‫‪ )URLs‬التي يملكون تصاريح وصالحيات خاصة لها‪.‬‬

‫التحقق من أن المستخدمين يمكنهم الوصول فقط إلى ملفات البيان‪++‬ات اآلمن‪++‬ة ال‪++‬تي يملك‪++‬ون‬ ‫‪A1-3‬‬
‫تصاريح وصالحيات خاصة لها‪.‬‬

‫‪A1-4‬‬
‫التحقق من عدم تجاوز ضوابط الوصول‪.‬‬

‫التحق‪++‬ق من أن مرجعي‪++‬ات العناص‪++‬ر المباش‪++‬رة محمي‪++‬ة بحيث يمكن الوص‪++‬ول فق‪++‬ط إلى‬ ‫‪A1-5‬‬
‫العناصر المصرح بها لكل مستخدم‪.‬‬

‫التحق‪++‬ق من إلغ‪++‬اء تفعي‪++‬ل تص‪++‬فح ال‪++‬دليل ( ‪ )Directory Browsing‬إال إذا ك‪++‬ان ذل‪++‬ك‬ ‫‪A1-6‬‬
‫مطلوبًا‪.‬‬

‫التحقق من أن المستخدم يمكنه الوصول فقط إلى المعلومات المحمية ال‪++‬تي يمل‪++‬ك تص‪++‬اريح‬
‫‪A1-7‬‬
‫وصالحيات خاصة لها (على سبيل المث‪++‬ال‪ ،‬من خالل تط‪++‬بيق ض‪++‬وابط لحماي‪++‬ة مرجعي‪++‬ات‬
‫الكائنات من التالعب المباشر والوصول غير المصرح به إلى البيانات)‪.‬‬

‫‪A1-8‬‬
‫التحقق من إخفاق ضوابط الوصول بصورة آمنة‪.‬‬

‫التحق‪++‬ق من أن نفس قواع‪++‬د التحكم بالوص‪++‬ول المتض‪++‬منة في طبق‪++‬ة الع‪++‬رض مطبق‪++‬ة على‬
‫‪A1-9‬‬
‫الخادم بحسب دور المس‪+‬تخدم‪ ،‬بحيث ال يمكن إع‪+‬ادة تفعي‪+‬ل الض‪+‬وابط والمع‪+‬ايير أو إع‪+‬ادة‬
‫إضافتها من مستخدمين يمتلكون مزايا وصالحيات أعلى‪.‬‬

‫التحقق من أن كافة خصائص المستخدمين والبيان‪++‬ات ومعلوم‪++‬ات السياس‪++‬ة المس‪++‬تخدمة من‬


‫قبل ضوابط الوصول ال يمكن التالعب بها من قبل المس‪++‬تخدمين إال إذا ك‪++‬ان مص‪++‬رحًا لهم‬ ‫‪A1-10‬‬
‫بذلك تحديدًا‪.‬‬

‫التحقق من أن كافة ضوابط الوصول فعالة من جهة الخادم‪.‬‬ ‫‪A1-11‬‬

‫التحقق من أن قرارات التحكم بالوصول يمكن تسجيلها وأن كافة الق‪++‬رارات غ‪++‬ير الناجح‪++‬ة‬ ‫‪A1-12‬‬

‫اإلصدار <‪>1.0‬‬

‫‪9‬‬
‫نموذج معيار التطوير اآلمن للتطبيقات‬

‫قد تم تسجيلها‪.‬‬

‫التحقق من أن التط‪++‬بيق أو إط‪++‬ار العم‪++‬ل يص‪++‬در رم‪++‬وزًا تعريفي‪++‬ة عش‪++‬وائية معق‪++‬دة مض‪++‬ادة‬
‫ل‪++‬تزوير الطلب ع‪++‬بر المواق‪++‬ع ‪،))"Cross-Site Request Forgery "CSRF‬‬
‫وتكون هذه الرموز خاصة بالمستخدم باعتبارها جزءًا من كافة المعامالت عالية القيم‪++‬ة أو‬ ‫‪A1-13‬‬
‫الوصول إلى المعلومات المحمية‪ ،‬وأن التطبيق يتحق‪++‬ق من وج‪++‬ود ه‪++‬ذه الرم‪++‬وز التعريفي‪++‬ة‬
‫بالقيمة المالئمة للمستخدم الحالي عند معالجة هذه الطلبات‪.‬‬

‫الحماي‪++‬ة التراكمي‪++‬ة للتحكم بالوص‪++‬ول‪ -‬التحق‪++‬ق من أن النظ‪++‬ام يس‪++‬تطيع توف‪++‬ير الحماي‪++‬ة من‬
‫الوصول التراكمي أو المستمر للوظائف المحمية أو المصادر أو البيانات‪ ،‬وذلك من خالل‬
‫‪A1-14‬‬
‫استخدام ضابط مصادر (‪ )Resource Governor‬على سبيل المث‪+‬ال‪ ،‬للح‪+‬د من ع‪+‬دد‬
‫حاالت التسجيل لكل ساعة أو منع مستخدم فردي من سحب بيانات قاعدة البيانات بأكملها‪.‬‬

‫التحقق من وجود آلي‪+‬ة مركزي‪+‬ة (بم‪+‬ا في ذل‪+‬ك المكتب‪+‬ات ال‪+‬تي تس‪+‬تدعي خ‪+‬دمات تص‪+‬اريح‬
‫‪A1-15‬‬
‫وصالحيات خارجية) للتحكم بالوصول إلى كل نوع من المصادر المحمية‪.‬‬

‫التحق‪++‬ق من الفص‪++‬ل بين المنط‪++‬ق ال‪++‬ذي يتمت‪++‬ع بمزاي‪++‬ا وص‪++‬الحيات عن ش‪++‬فرات التط‪++‬بيق‬
‫‪A1-16‬‬
‫األخرى‪.‬‬

‫تطبيق ضوابط الوصول المالئمة إلى المعلوم‪++‬ات المحمي‪++‬ة المخزن‪++‬ة على الخ‪++‬ادم‪ .‬وتش‪++‬مل‬
‫هذه المعلومات البيانات المخزنة والملفات المؤقتة والبيانات التي يمكن الوصول إليها فق‪++‬ط‬ ‫‪A1-17‬‬
‫من قبل مستخدمين نظام محددين‪.‬‬

‫التحقق من أن حسابات الخدمة أو الحسابات التي تدعم االتصاالت من األنظم‪++‬ة الخارجي‪++‬ة‬


‫‪A1-18‬‬
‫أو إليها تمتلك الحد األدنى من الصالحيات واالمتيازات‪.‬‬

‫التحقق من تطبيق تدقيق الحسابات وإلغاء تفعي‪++‬ل الحس‪++‬ابات غ‪++‬ير المس‪++‬تخدمة (على س‪++‬بيل‬
‫المثال‪ ،‬بعد مرور أكثر من ‪ 30‬يوم‪ً+‬ا من ت‪++‬اريخ انته‪++‬اء ص‪++‬الحية كلم‪++‬ة م‪++‬رور الحس‪++‬اب‪،‬‬ ‫‪A1-19‬‬
‫حساب غير مستخدم)‪.‬‬

‫في ح‪++‬ال الس‪++‬ماح بالجلس‪++‬ات الطويل‪++‬ة المص‪++‬ادق عليه‪++‬ا‪ ،‬يجب إع‪++‬ادة التحق‪++‬ق دوري ‪ً+‬ا من‬
‫تصاريح وصالحيات المستخدم لضمان عدم تغير مزاياه‪ ،‬وفي حال تغيرها‪ ،‬يجب تس‪++‬جيل‬
‫‪A1-20‬‬
‫خ‪++‬روج المس‪++‬تخدم وإجب‪++‬اره على إج‪++‬راء عملي‪++‬ة إع‪++‬ادة التحق‪++‬ق من الهوي‪++‬ة (مث‪++‬ل الرس‪++‬ائل‬
‫النصية‪ ،‬أو رموز تعريفية‪ ،‬أو غيرها (‪.‬‬

‫التحقق من أن التطبيق يدعم إلغاء تفعيل الحسابات وإنهاء الجلسات عند توق‪++‬ف التص‪++‬اريح‬
‫والصالحيات (على سبيل المثال‪ ،‬عند حدوث تغيير في ال‪++‬دور‪ ،‬أو في حال‪++‬ة التوظي‪++‬ف‪ ،‬أو‬
‫‪A1-21‬‬
‫إجراءات األعمال‪ ،‬أو غيرها)‪employment status, business process, ,.‬‬
‫‪.).etc‬‬

‫التشفير (‪ – OWASP:A2:2021‬فشل التشفير)‬ ‫‪A2‬‬

‫اإلصدار <‪>1.0‬‬

‫‪10‬‬
‫نموذج معيار التطوير اآلمن للتطبيقات‬

‫التحقق من أن كافة داالت التشفير المستخدمة لحماية األسرار من مستخدم التطبيق مطبق‪++‬ة‬ ‫‪A2-1‬‬
‫على الخادم‪.‬‬

‫التحقق من أن كافة وحدات التشفير تفشل بصورة آمنة‪.‬‬ ‫‪A2-2‬‬

‫التحقق من حماية أي أسرار رئيسية من الوصول غير المص‪++‬رح ب‪++‬ه (الس‪++‬ر الرئيس‪++‬ي ه‪++‬و‬
‫بيانات اعتم‪+‬اد التط‪+‬بيق المخزن‪+‬ة كنص غ‪+‬ير مش‪+‬فر على الق‪+‬رص وال‪+‬تي تس‪+‬تخدم لحماي‪+‬ة‬ ‫‪A2-3‬‬
‫الوصول إلى معلومات اإلعدادات األمنية)‪.‬‬

‫التحقق من أن كافة األرقام العش‪++‬وائية‪ ،‬وأس‪++‬ماء الملف‪++‬ات العش‪++‬وائية‪ ،‬والمعرف‪++‬ات الموح‪++‬دة‬


‫‪ ،))GUIDs‬وسالسل الحروف العشوائية ((‪ Strings‬صادرة من مولد األرقام العشوائية‬
‫‪A2-4‬‬
‫المعتمد لنموذج التشفير‪ ،‬وذلك عندما يكون الهدف من هذه القيم العشوائية هو جعل الجه‪++‬ة‬
‫المهاجمة غير قادرة على تخمينها‪.‬‬

‫التحقق من أن نماذج التشفير المس‪+‬تخدمة في التط‪+‬بيق ق‪+‬د تم التحق‪+‬ق منه‪+‬ا وفق‪ً+‬ا للسياس‪+‬ات‬
‫‪A2-5‬‬
‫واإلجراءات ذات العالقة‪.‬‬

‫التحق‪+‬ق من أن نم‪+‬اذج التش‪+‬فير تعم‪+‬ل بنظامه‪+‬ا المعتم‪+‬د وفق‪ً+‬ا للسياس‪+‬ات واإلج‪+‬راءات ذات‬
‫‪A2-6‬‬
‫العالقة‪.‬‬

‫التحقق من وجود سياسة صريحة حول كيفية إدارة مفاتيح التش‪++‬فير (مث‪++‬ل كيفي‪++‬ة إص‪++‬دارها‬
‫‪A2-7‬‬
‫وتوزيعها وإلغائها وانتهاء صالحيتها) والتحقق من تطبيق هذه السياسة بصورة مالئمة‪.‬‬

‫التحق‪++‬ق من وج‪++‬ود ع‪++‬دم اإلنك‪++‬ار(‪ )Non-Repudiation‬من خالل التش‪++‬فير (التوقي‪++‬ع‬


‫الرقمي) للمعامالت الحساسة مثل ( المعامالت المالي‪++‬ة والتج‪++‬ارة اإللكتروني‪++‬ة والس‪++‬جالت‪،‬‬ ‫‪A2-8‬‬
‫وغيرها)‪.‬‬

‫التحقق من حماية كافة مفاتيح التشفير بصورة مالئمة‪ .‬في ح‪++‬ال تع‪++‬رض المفت‪++‬اح النته‪++‬اك‬
‫‪A2-9‬‬
‫أمني‪ ،‬فإنه ال يمكن الوثوق به ويجب استبداله أو إلغاؤه‪.‬‬

‫التحقق من تشفير المعلومات القابلة لتحديد الهوي‪++‬ة (‪ )PII‬والمعلوم‪++‬ات المحمي‪++‬ة والبيان‪++‬ات‬


‫‪A2-10‬‬
‫المخزنة عندما ال تكون قيد االستخدام‪.‬‬

‫التحقق من إلغاء تفعيل تخزين النماذج التي تتضمن معلومات محمية لدى العمي‪++‬ل‪ ،‬بم‪++‬ا في‬
‫‪A2-11‬‬
‫ذلك خصائص اإلكمال التلقائي‪.‬‬

‫التحقق من إرس‪++‬ال كاف‪++‬ة المعلوم‪++‬ات المحمي‪++‬ة إلى الخ‪++‬ادم في متن رس‪++‬الة بروتوك‪++‬ول نق‪++‬ل‬
‫النص التش‪++‬عبي (‪( ،)HTTP‬أي من‪++‬ع اس‪++‬تخدام مع‪++‬ايير ش‪++‬ريط العن‪++‬وان "‪ "URL‬إلرس‪++‬ال‬ ‫‪A2-12‬‬
‫البيانات المحمية)‪.‬‬

‫التحقق من أن كافة النسخ المخزن‪++‬ة أو المؤقت‪++‬ة للمعلوم‪++‬ات المحمي‪++‬ة المخزن‪++‬ة على الخ‪++‬ادم‬ ‫‪A2-13‬‬
‫محمية من الوصول غير المصرح به‪ ،‬والتأكد من حذف الملف‪++‬ات العامل‪++‬ة المؤقت‪++‬ة بمج‪++‬رد‬

‫اإلصدار <‪>1.0‬‬

‫‪11‬‬
‫نموذج معيار التطوير اآلمن للتطبيقات‬

‫انقضاء الحاجة لها‪.‬‬

‫إلغاء تفعيل التخزين أو حفظ النسخ المؤقتة للصفحات التي تتضمن معلومات محمي‪++‬ة ل‪++‬دى‬
‫العميل‪ ،‬والتحقق من أن هذه النسخ محمية من الوص‪++‬ول غ‪++‬ير المص‪++‬رح ب‪++‬ه أو مس‪++‬حها أو‬
‫إلغ‪+++++++‬اء ص‪+++++++‬الحيتها بع‪+++++++‬د وص‪+++++++‬ول المس‪+++++++‬تخدم المص‪+++++++‬رح ل‪+++++++‬ه إليه‪+++++++‬ا‪.‬‬
‫‪A2-14‬‬
‫(يمكن استخدام "‪ "Cache-Control: no-store‬مع ض‪++‬ابط عن‪++‬وان بروتوك‪++‬ول نق‪++‬ل‬
‫النص التشعبي "‪ ،"HTTP". "Pragma: no-cache‬وهو أقل فاعلية‪ ،‬ولكنه متوافق‬
‫مع النسخ األقدم "‪ "1.0‬من بروتوكول نقل النص التشعبي "‪.)"HTTP‬‬

‫التحقق من تحدي‪+‬د قائم‪+‬ة بالمعلوم‪+‬ات المحمي‪+‬ة ال‪+‬تي يعالجه‪+‬ا التط‪+‬بيق‪ ،‬والتأك‪+‬د من وج‪+‬ود‬
‫سياسة صريحة حول كيفي‪+‬ة التحكم بالوص‪+‬ول إلى ه‪+‬ذه المعلوم‪+‬ات‪ ،‬وم‪+‬تى يجب تش‪+‬فيرها‬
‫‪A2-15‬‬
‫(أثناء عدم االستخدام وأثناء النقل واالستخدام)‪ ،‬والتحقق من تطبيق ه‪+‬ذه السياس‪++‬ة بص‪++‬ورة‬
‫مالئمة‪.‬‬

‫التحقق من وجود طريقة لحذف كل أنواع المعلومات المحمية الموج‪++‬ودة في التط‪++‬بيق عن‪++‬د‬
‫‪A2-16‬‬
‫نهاية فترة االحتفاظ المطلوبة‪.‬‬

‫التحقق من أن التطبيق يقلل عدد المعايير المرسلة إلى األنظمة غير الموثوقة مثل الحق‪++‬ول‬
‫‪A2-17‬‬
‫المخفية ومتغيرات ‪ ""Ajax‬وملفات االرتباط وقيم العناوين‪.‬‬

‫التحقق من قدرة التطبيق على كش‪++‬ف األرق‪++‬ام غ‪++‬ير الطبيعي‪++‬ة لطلب‪++‬ات المعلوم‪++‬ات والتنبي‪++‬ه‬
‫بش‪++‬أنها‪ ،‬أو معالج‪++‬ة المع‪++‬امالت عالي‪++‬ة القيم‪++‬ة ل‪++‬دور المس‪++‬تخدم مث‪++‬ل س‪++‬حب الشاش‪++‬ة‪ ،‬أو‬
‫االستخدام التلقائي الستخالص خدمات الويب‪ ،‬أو منع فقدان البيان‪++‬ات‪ .‬على س‪++‬بيل المث‪++‬ال‪،‬‬ ‫‪A2-18‬‬
‫يجب أال يكون المستخدم العادي قادرًا على الوصول إلى أكثر من ‪ 5‬س‪++‬جالت في الس‪++‬اعة‬
‫أو أكثر من ‪ 30‬سجًال في اليوم‪.‬‬

‫التحقق من أن بيانات االعتماد ال‪+‬تي يس‪++‬تخدمها التط‪+‬بيق على الخ‪+‬ادم‪ ،‬مث‪+‬ل اتص‪++‬ال قاع‪++‬دة‬
‫البيانات‪ ،‬وكلمة المرور‪ ،‬والمفاتيح السرية للتشفير‪ ،‬ليست مثبتة في الشفرة‪ .‬ويجب تخزين‬ ‫‪A2-19‬‬
‫أي بيانات اعتماد في ملف إعدادات منفصل على نظام موثوق وتشفيرها‪.‬‬

‫التحقق من أن خصائص اإلكمال التلقائي غير مفعل‪+‬ة على النم‪+‬اذج باس‪+‬تثناء النم‪+‬اذج ال‪+‬تي‬
‫‪A2-20‬‬
‫تتضمن معلومات محمية‪ ،‬بما في ذلك التحقق من الهوية‪.‬‬

‫اعتماد المدخالت (‪ - OWASP:A3:2021‬الحقن واإلدخال)‬ ‫‪A3‬‬

‫التحقق من أن بيئة التش‪+‬غيل غ‪+‬ير معرض‪+‬ة لتج‪+‬اوز س‪+‬عة المخ‪+‬زن الم‪+‬ؤقت‪ ،‬وأن ض‪+‬وابط‬
‫‪A3-1‬‬
‫األمن تمنع تجاوز سعة المخزن المؤقت‪.‬‬

‫التحق‪++‬ق من أن بيئ‪++‬ة التش‪++‬غيل غ‪++‬ير معرض‪++‬ة لحقن تعليم‪++‬ات االس‪++‬تعالم البنيوي‪++‬ة )‪SQL‬‬
‫‪ ،)Injection‬وأن ض‪++++‬وابط األمن تمن‪++++‬ع حقن تعليم‪++++‬ات االس‪++++‬تعالم البنيوي‪++++‬ة (‪SQL‬‬ ‫‪A3-2‬‬
‫‪.)Injection‬‬

‫اإلصدار <‪>1.0‬‬

‫‪12‬‬
‫نموذج معيار التطوير اآلمن للتطبيقات‬

‫اس‪++‬تخدام ض‪++‬وابط لتقيي‪++‬د تعليم‪++‬ات االس‪++‬تعالم البنيوي‪++‬ة (‪ )SQL‬مث‪++‬ل (‪ )LIMIT‬للحماي‪++‬ة‬


‫‪A3-3‬‬
‫والتقليل من خطر وضرر االفصاح الكبير للمعلومات والسجالت‪.‬‬

‫التحق‪++‬ق من أن بيئ‪++‬ة التش‪++‬غيل غ‪++‬ير معرض‪++‬ة لحقن النص‪++‬وص البرمجي‪++‬ة ع‪++‬بر المواق‪++‬ع ((‬
‫‪A3-4‬‬
‫‪ ،XSS‬وأن ضوابط األمن تمنع حقن النصوص البرمجية عبر المواقع‪.) )XSS‬‬

‫التحق‪++‬ق من أن بيئ‪++‬ة التش‪++‬غيل غ‪++‬ير معرض‪++‬ة لحقن بروتوك‪++‬ول النف‪++‬اذ إلى ال‪++‬دليل البس‪++‬يط‬
‫‪ ))LDAP Injection‬وأن ضوابط األمن تمنع حقن بروتوكول النفاذ إلى الدليل البس‪++‬يط‬ ‫‪A3-5‬‬
‫(‪.)LDAP Injection‬‬

‫التحق‪+++‬ق من أن بيئ‪+++‬ة التش‪+++‬غيل غ‪+++‬ير معرض‪+++‬ة لحقن أوام‪+++‬ر نظ‪+++‬ام التش‪+++‬غيل ( ‪OS‬‬
‫‪ ،(Command Injection‬وأن ضوابط األمن تمنع حقن أوام‪++‬ر نظ‪++‬ام التش‪++‬غيل (‪OS‬‬ ‫‪A3-6‬‬
‫‪.(Command Injection‬‬

‫التحقق من نوع البيانات ونطاقها وطولها (إذا أمكن)‪.‬‬ ‫‪A3-7‬‬

‫عند الحاجة إلى السماح برموز خطرة محتملة كمدخالت‪ ،‬يجب التأكد من تط‪++‬بيق ض‪++‬وابط‬
‫إض‪++‬افية مث‪++‬ل ترم‪++‬يز الم‪++‬دخالت‪ ،‬وحماي‪++‬ة واجه‪++‬ات برمج‪++‬ة التطبيق‪++‬ات الخاص‪++‬ة بالمه‪++‬ام‪،‬‬
‫‪A3-8‬‬
‫ومعرفة الجهات التي تستخدم تلك البيانات طوال ف‪++‬ترة اس‪++‬تخدام التط‪++‬بيق‪ .‬وتش‪++‬مل األمثل‪++‬ة‬
‫على الرموز الخطرة الشائعة اآلتي‪.)"\ '\ \ + & ) ( % ' " > <( :‬‬

‫التأك‪++‬د من أن جمي‪++‬ع عملي‪++‬ات التحق‪++‬ق من ص‪++‬حة الم‪++‬دخالت تتم بواس‪++‬طة روتين مرك‪++‬زي‬
‫‪A3-9‬‬
‫للتحقق من صحة المدخالت للتطبيق‪.‬‬

‫التحقق من أن كافة عمليات التحقق الفاشلة تؤدي إلى رفض المدخالت أو تدقيقها‪.‬‬ ‫‪A3-10‬‬

‫التحق‪++‬ق من تنفي‪++‬ذ كاف‪++‬ة إج‪++‬راءات التحق‪++‬ق أو إج‪++‬راءات تط‪++‬وير التطبيق‪++‬ات وإنفاذه‪++‬ا على‬
‫‪A3-11‬‬
‫الخادم‪.‬‬

‫التحقق من إزالة من كافة البيانات غ‪++‬ير الموثوق‪++‬ة وال‪++‬تي تعت‪++‬بر مخرج‪++‬ات بالنس‪++‬بة للغ‪++‬ة "‬
‫‪( "HTML‬بم‪+++‬ا في ذل‪+++‬ك عناص‪+++‬ر لغ‪+++‬ة "‪ "HTML‬وخصائص‪+++‬ها‪ ،‬وقيم بيان‪+++‬ات لغ‪+++‬ة "‬
‫‪A3-12‬‬
‫‪ ،"JavaScript‬وكت‪+‬ل الص‪+‬فحات النمطي‪+‬ة المتسلس‪+‬لة "‪ ،"CSS Blocks‬وخص‪+‬ائص‬
‫شريط العنوان ""‪ )URL‬بصورة مالئمة لمحتوي التطبيق‪.‬‬

‫التحقق من أن مجموعات الرموز‪ ،‬مثل "‪ ،"UTF-8‬محددة لكافة مصادر المدخالت‪.‬‬ ‫‪A3-13‬‬

‫التحقق من أن كافة البيانات المدخلة موحدة لكافة برمجيات فك تشفير أو برمجيات تفس‪++‬ير‬
‫‪A3-14‬‬
‫البيانات المرسلة إلى العميل قبل مصادقتها‪.‬‬

‫إذا كان إطار عمل التطبيق يسمح بالتخص‪++‬يص التلق‪++‬ائي الض‪++‬خم للمع‪++‬ايير (ويس‪++‬مى أيض‪ً+‬ا‬ ‫‪A3-15‬‬
‫رب‪+++‬ط المتغ‪+++‬يرات التلق‪+++‬ائي) من طلب وارد إلى نم‪+++‬وذج‪ ،‬فيجب التحق‪+++‬ق من أن الحق‪+++‬ول‬
‫الحساسة أمنيًا مث‪+‬ل "رص‪+‬يد الحس‪+‬اب" أو "ال‪+‬دور" أو "كلم‪+‬ة الم‪+‬رور" محمي‪+‬ة من الرب‪+‬ط‬

‫اإلصدار <‪>1.0‬‬

‫‪13‬‬
‫نموذج معيار التطوير اآلمن للتطبيقات‬

‫التلقائي الخبيث‪.‬‬

‫التحقق من أن التطبيق محمي من هجمات تلوث متغيرات بروتوكول نق‪++‬ل النص التش‪++‬عبي‬
‫(‪ ،)HTTP‬خصوصًا إذا كان إطار عمل التط‪++‬بيق ال يم‪++‬يز بين مص‪++‬ادر متغ‪++‬يرات الطلب‬
‫‪A3-16‬‬
‫(مث‪+++‬ل طلب ‪ ،""GET‬وطلب "‪ ،"POST‬وملف‪+++‬ات االرتب‪+++‬اط‪ ،‬والعن‪+++‬اوين‪ ،‬والبيئ‪+++‬ة‪،‬‬
‫وغيرها)‪.‬‬

‫التحقق من أن التطبيق يستخدم ضوابط تحقق من المدخالت لكل نوع من البيانات التي يتم‬
‫‪A3-17‬‬
‫قبولها‪.‬‬

‫التحقق من تسجيل كافة حاالت اإلخفاق في التحقق من المدخالت‪.‬‬ ‫‪A3-18‬‬

‫التحقق من أن كل نوع من عمليات ترميز المخرجات أو إزالة منها التي يقوم بها التط‪++‬بيق‬
‫‪A3-19‬‬
‫له ضابط أمني واحد للوجهة المقصودة‪.‬‬

‫التصميم الغير آمن (‪ -OWASP:A4:2021‬التصميم الغير آمن)‬ ‫‪A4‬‬

‫التحقق من عمليات التطبيق ومن كافة تدفقات قواعد العمل عالي‪++‬ة القيم‪++‬ة في بيئ‪++‬ة موثوق‪++‬ة‬
‫‪A4-1‬‬
‫مثل الخادم المحمي والمراقب‪.‬‬

‫التحقق من أن التطبيق ال يسمح بمع‪++‬امالت عالي‪+‬ة القيم‪++‬ة منتحل‪+‬ة‪ ،‬مث‪+‬ل الس‪++‬ماح للمس‪++‬تخدم‬
‫المهاجم (أ) بمعالجة معاملة باعتباره المستخدم الض‪++‬حية (ب) من خالل التالعب أو إع‪++‬ادة‬ ‫‪A4-2‬‬
‫إعداد الجلسة أو حالة المعاملة أو هوية المستخدم أو المعاملة‪.‬‬

‫التحقق من أن التطبيق ال يسمح بالتالعب بمعايير قواعد العمل عالية القيمة وال‪+‬تي تش‪+‬مل‪،‬‬
‫على سبيل المثال ال الحصر‪ ،‬السعر‪ ،‬والفائدة‪ ،‬والخص‪++‬ومات‪ ،‬والمعلوم‪++‬ات القابل‪++‬ة لتحدي‪++‬د‬ ‫‪A4-3‬‬
‫الهوية (‪ ،)PII‬واألرصدة‪ ،‬وهويات األسهم‪ ،‬وغيرها‪.‬‬

‫التحقق من وجود إجراءات دفاعية في التطبيق للحماية من هجم‪++‬ات اإلنك‪++‬ار‪ ،‬حيث تش‪++‬مل‬
‫هذه اإلجراءات سجالت المعامالت المحمية والقابلة للتحقق‪ ،‬وسجالت التدقيق أو س‪++‬جالت‬
‫‪A4-4‬‬
‫النظام‪ ،‬وفي األنظمة ذات القيمة األعلى‪ ،‬المراقبة المباشرة ألنشطة المستخدم والمع‪+‬امالت‬
‫بحثًا عن أي أنشطة غير طبيعية‪.‬‬

‫التحقق من أن التطبيق يوفر الحماية من هجمات اإلفصاح عن المعلومات مث‪++‬ل مرجعي‪++‬ات‬


‫العناصر المباش‪+‬رة‪ ،‬والتالعب‪ ،‬واس‪+‬تخدام الهجم‪+‬ات التخميني‪+‬ة الخ‪+‬تراق الجلس‪+‬ة‪ ،‬وأن‪+‬واع‬ ‫‪A4-5‬‬
‫الهجمات األخرى‪.‬‬

‫التحقق من وجود ضوابط كشف وضبط كافية في التطبيق للحماية من الهجمات التخميني‪++‬ة‬
‫‪A4-6‬‬
‫(مثل االستخدام المستمر لدالة معينة) أو هجمات حجب الخدمة‪.‬‬

‫التحقق من وجود ضوابط وصول كافية في التط‪++‬بيق لمن‪++‬ع هجم‪++‬ات رف‪++‬ع مس‪++‬توى المزاي‪++‬ا‬ ‫‪A4-7‬‬
‫والص‪++‬الحيات‪ ،‬وتش‪++‬مل ه‪++‬ذه الض‪++‬وابط من‪++‬ع المس‪++‬تخدمين المجه‪++‬ولين من الوص‪++‬ول إلى‬

‫اإلصدار <‪>1.0‬‬

‫‪14‬‬
‫نموذج معيار التطوير اآلمن للتطبيقات‬

‫البيان‪++‬ات المحمي‪++‬ة أو ال‪++‬داالت المحمي‪++‬ة‪ ،‬أو من‪++‬ع المس‪++‬تخدمين من الوص‪++‬ول إلى معلوم‪++‬ات‬
‫المستخدمين اآلخرين‪ ،‬أو استخدام وظائف ذات مزايا وصالحيات هامة وحساسة‪.‬‬

‫التحقق من أن التط‪++‬بيق يع‪++‬الج دفع‪++‬ات قواع‪++‬د العم‪++‬ل في خط‪++‬وات متتالي‪++‬ة فق‪++‬ط‪ ،‬بحيث تتم‬
‫معالجة كافة الخطوات مباشرة‪ ،‬وتجنب المعالجة بطريقة غير منتظمة أو التج‪++‬اوز عن أي‬ ‫‪A4-8‬‬
‫خطوات‪ ،‬أو معالجة خطوات مستخدم آخر أو المعامالت المقدمة بسرعة‪.‬‬

‫التحق‪++‬ق من أن التط‪++‬بيق يتض‪++‬من تص‪++‬اريح وص‪++‬الحيات إض‪++‬افية (مث‪++‬ل تحق‪++‬ق اإلع‪++‬داد أو‬
‫التحقق من الهوية المتغير) ألنظم‪++‬ة القيم المتدني‪++‬ة و‪/‬أو فص‪++‬ل المه‪++‬ام للتطبيق‪++‬ات ذات القيم‬
‫‪A4-9‬‬
‫المرتفع‪++‬ة لف‪++‬رض ض‪++‬وابط مكافح‪++‬ة االحتي‪++‬ال وفق‪ً+‬ا لمخ‪++‬اطر التط‪++‬بيق وعملي‪++‬ات االحتي‪++‬ال‬
‫السابقة‪.‬‬

‫التحقق من أن للتطبيق حدود عمل يطبقها في موقع موث‪++‬وق (كتطبيقه‪++‬ا على خ‪++‬ادم محمي)‬
‫على كل مستخدم أو بشكل يومي‪ ،‬والتي تتضمن تنبيهات قابلة لإلعداد واس‪++‬تجابات تلقائي‪++‬ة‬ ‫‪A4-10‬‬
‫للهجمات التلقائية أو غير االعتيادية‪.‬‬

‫يجب تطبيق واستخدام آلية أمنية في تطوير دورة حياة التطبيقات بواسطة مطوري‬ ‫‪A4-11‬‬
‫‪.‬التطبيقات المحترفين بالوظائف والخصائص األمنية‬

‫‪.‬يجب تطوير واستخدام المكتبات ألنماط التصميم اآلمن‬ ‫‪A4-12‬‬


‫يجب استخدام نمذجة التهديد في المصادقات الهامة‪ ،‬التحكم في الوصول‪ ،‬منطق األعمال‪،‬‬
‫‪.‬وتدفقات المفاتيح‬ ‫‪A4-13‬‬

‫‪.‬يجب دمج لغة األمان وعناصر التحكم في حاالت المستخدم أو العميل‬ ‫‪A4-14‬‬

‫يجب دمج الفحص لكل طبقة في التطبيق من الواجهة األمامية للتطبيق الى الواجهة‬ ‫‪A4-15‬‬
‫‪.‬الخلفية للتطبيق‬

‫يجب كتابة اختبارات الوحدة والتحقق من أن جميع التدفقات الحرجة مقاومة لنموذج‬
‫‪A4-16‬‬
‫التهديد‪ .‬كما يجب تجميع الحاالت وحاالت سوء االستخدام لكل طبقة في التطبيق‪.‬‬

‫يجب أن تكون طبقات التطبيق منفصلة في األنظمة وشبكات اإلنترنت بناًء على احتياجات‬ ‫‪A4-17‬‬
‫‪.‬التعرض والحماية‬

‫يجب أن يكون التصميم للتطبيق بناًء على فصل المشتركين أو العمالء على مدار كل‬ ‫‪A4-18‬‬
‫‪.‬الطبقات‬

‫‪.‬يجب تقييد استهالك المصدر من قبل المستخدم أو الخدمة‬ ‫‪A4-19‬‬

‫أمن االتصاالت (‪ - OWASP:A5:2021‬اإلعدادات األمنية الخاطئة)‬ ‫‪A5‬‬

‫التحقق من أنه يمكن بناء مسار من جهة إصدار شهادات موثوقة لكل ش‪++‬هادة تش‪++‬فير خ‪++‬ادم‬
‫‪A5-1‬‬
‫أمن طبقة النقل ‪ ،))TLS‬وأنه قد تم التحقق من صالحية شهادة كل خادم‪.‬‬

‫اإلصدار <‪>1.0‬‬

‫‪15‬‬
‫نموذج معيار التطوير اآلمن للتطبيقات‬

‫التحقق من استخدام أحدث إصدار من أمن طبقة النقل ‪ ))TLS‬في كاف‪++‬ة االتص‪++‬االت (بم‪++‬ا‬
‫في ذلك االتصاالت الخارجية واتصاالت أجهزة النقطة النهائية) التي تم مصادقتها أو التي‬ ‫‪A5-2‬‬
‫تتضمن معلومات أو وظائف محمية‪.‬‬

‫التحق‪++‬ق من تس‪++‬جيل ح‪++‬االت إخف‪++‬اق اتص‪++‬االت أمن طبق‪++‬ة النق‪++‬ل (‪ )TLS‬ب‪++‬أجهزة النقط‪++‬ة‬
‫‪A5-3‬‬
‫النهائية‪.‬‬

‫التحقق من المصادقة على كافة االتصاالت مع األنظمة الخارجية ال‪+‬تي تتض‪++‬من معلوم‪++‬ات‬
‫‪A5-4‬‬
‫أو وظائف محمية‪.‬‬

‫التحقق من أن كافة االتصاالت مع األنظمة الخارجية ال‪++‬تي تتض‪++‬من معلوم‪++‬ات أو وظ‪++‬ائف‬


‫محمي‪+‬ة تس‪+‬تخدم حس‪+‬ابًا تم إع‪+‬داده ومنح‪+‬ه الح‪+‬د األدنى من المزاي‪+‬ا والص‪+‬الحيات الالزم‪+‬ة‬ ‫‪A5-5‬‬
‫ليعمل التطبيق بالشكل الصحيح‪.‬‬

‫التحقق من أن اتصاالت أمن طبقة النق‪++‬ل (‪ )TLS‬الفاش‪++‬لة ال ينتج عنه‪++‬ا اتص‪++‬ال غ‪++‬ير آمن‬
‫‪A5-6‬‬
‫(غير مشفر)‪.‬‬

‫التحقق من أن مسارات شهادات التشفير قد تم بناؤها والتحقق منها لكافة ش‪++‬هادات التش‪++‬فير‬
‫‪A5-7‬‬
‫الخاصة بالعميل باستخدام جهات الصالحيات الموثوقة ومعلومات اإللغاء‪.‬‬

‫التحق‪++‬ق من وج‪++‬ود تنفي‪++‬ذ أمن طبق‪++‬ة النق‪++‬ل ‪ ))TLS‬موح‪++‬د يتم اس‪++‬تخدامه في التط‪++‬بيق وتم‬
‫‪A5-8‬‬
‫إعداده ليعمل في نظام عمل معتمد‪.‬‬

‫التحقق من أن ترميز الرموز المحددة معرف لكافة االتصاالت (مثل "‪.)"UTF-8‬‬ ‫‪A5-9‬‬

‫التحقق ومراجعة اإلعدادات دوريًا بما يتوافق مع أحدث اإلعدادات األمنية‪.‬‬ ‫‪A5-10‬‬

‫التحقق من أن التطبيق يقبل مجموعة مح‪++‬ددة فق‪++‬ط من ط‪++‬رق طلب بروتوك‪++‬ول نق‪++‬ل النص‬
‫التشعبي (‪ )HTTP‬مثل طلب ""‪ GET‬وطلب "‪ "POST‬وأن الط‪++‬رق غ‪++‬ير المس‪++‬تخدمة‬ ‫‪A5-11‬‬
‫محظورة‪.‬‬

‫التحقق من أن كل استجابة لبروتوكول نقل النص التشعبي ( ‪ )HTTP‬تتضمن عنوان نوع‬


‫‪A5-12‬‬
‫محتوى يحدد مجموعة رموز آمنة (مثل "‪.)"UTF-8‬‬

‫التحقق من أن عناوين بروتوك‪++‬ول نق‪++‬ل النص التش‪++‬عبي (‪ )HTTP‬و‪/‬أو اآللي‪++‬ات األخ‪++‬رى‬


‫للمتص‪++‬فحات األق‪++‬دم تم تض‪++‬مينها من أج‪++‬ل الحماي‪++‬ة من هجم‪++‬ات الخط‪++‬ف ب‪++‬النقر ( ‪Click‬‬ ‫‪A5-13‬‬
‫‪.)Jacking‬‬

‫التحق‪++++‬ق من أن عن‪++++‬اوين بروتوك‪++++‬ول نق‪++++‬ل النص التش‪++++‬عبي ( ‪ )HTTP‬في الطلب‪++++‬ات‬


‫واالستجابات تتض‪++‬من فق‪++‬ط رم‪++‬وز المدون‪+‬ة الموح‪+‬دة األمريكي‪+‬ة لتب‪+‬ادل المعلوم‪++‬ات القابل‪+‬ة‬ ‫‪A5-14‬‬
‫للطباعة‪)ASCII( .‬‬

‫اإلصدار <‪>1.0‬‬

‫‪16‬‬
‫نموذج معيار التطوير اآلمن للتطبيقات‬

‫التحقق من استخدام صيغ بيانات أقل تعقيدًا مثل جاف‪+‬ا س‪+‬كريبت (‪ ،)JSON‬وتجنب جع‪+‬ل‬
‫‪A5-15‬‬
‫المعلومات المحمية متسلسلة‪.‬‬

‫تحديث وإصالح أو ترقية معالجات لغة الترميز القابل‪++‬ة لالمت‪++‬داد (‪ )XML‬والمكتب‪++‬ات قي‪++‬د‬
‫االس‪+++‬تخدام في التط‪++‬بيق أو نظ‪++‬ام التش‪+++‬غيل األساس‪+++‬ي‪ ،‬واس‪+++‬تخدام عملي‪++‬ات التحق‪+++‬ق من‬
‫‪A5-16‬‬
‫االعتماديات‪ ،‬وتحديث البروتوكول البسيط للوصول إلى الكائن‪++‬ات (‪ )SOAP‬إلى إص‪++‬دار‬
‫‪ 1.2‬أو إصدار أحدث‪.‬‬

‫إلغ‪++‬اء تفعي‪++‬ل لغ‪++‬ة الترم‪++‬يز القابل‪++‬ة لالمت‪++‬داد لجه‪++‬ات خارجي‪++‬ة ومعالج‪++‬ة ‪ ""DTD‬في كاف‪++‬ة‬
‫محلالت لغ‪++‬ة الترم‪++‬يز القابل‪++‬ة لالمت‪++‬داد (‪ )XML‬في التط‪++‬بيق وفق ‪ً+‬ا لتوجيه‪++‬ات المش‪++‬روع‬ ‫‪A5-17‬‬
‫المفتوح ألمن تطبيقات الويب "‪."XXE Prevention‬‬

‫تطبيق التحقق اإليجابي من المدخالت على الخادم (السماح بقائم‪++‬ة مح‪++‬ددة) أو التص‪++‬فية أو‬
‫التدقيق لمنع البيانات العدائية ضمن وثائق أو عناوين أو ُعقد لغة الترميز القابلة لالمتداد (‬ ‫‪A5-18‬‬
‫‪.)XML‬‬

‫التحقق من أن وظيفة رفع الملف بلغة الترميز القابلة لالمت‪++‬داد (‪ )XML‬أو بلغ‪++‬ة األس‪++‬لوب‬
‫الموسع ((‪ XSL‬تتحقق من لغة الترميز القابلة لالمتداد ‪ ))XML‬باستخدام تحقق لغة كتابة‬ ‫‪A5-19‬‬
‫الملفات المرافقة للغة ‪ ))XSD‬أو طريقة تحقق مشابهة‪.‬‬

‫اس‪+++‬تخدام أدوات اختب‪+++‬ار أمن التطبيق‪+++‬ات الث‪+++‬ابت (‪ )SAST‬واختب‪+++‬ار أمن التطبيق‪+++‬ات‬


‫الديناميكي (‪ )DAST‬للمساعدة في كشف لغ‪++‬ة الترم‪++‬يز القابل‪++‬ة لالمت‪++‬داد لجه‪++‬ات خارجي‪++‬ة‬
‫‪A5-20‬‬
‫‪ ))XXE‬في الشفرة المص‪+‬درية‪ ،‬م‪+‬ع األخ‪+‬ذ بعين االعتب‪+‬ار أن مراجع‪+‬ة الش‪+‬فرة ي‪+‬دويًا هي‬
‫الطريقة التي يفضل اتباعها في التطبيقات الكبيرة والمعقدة ذات العديد من التداخالت‪.‬‬

‫إذا ك‪++‬ان من غ‪++‬ير الممكن تط‪++‬بيق ه‪++‬ذه الض‪++‬وابط‪ ،‬يجب دراس‪++‬ة اس‪++‬تخدام ح‪++‬زم التح‪++‬ديثات‬
‫االفتراضية‪ ،‬أو البوابات األمنية لواجهات برمجة التطبيق‪++‬ات‪ ،‬أو ج‪++‬دار الحماي‪++‬ة لتطبيق‪++‬ات‬
‫‪A5-21‬‬
‫الويب لكشف هجمات لغ‪++‬ة الترم‪++‬يز القابل‪+‬ة لالمت‪+‬داد لجه‪++‬ات خارجي‪+‬ة (( ‪ XXE‬ومراقبته‪++‬ا‬
‫وحجبها‪.‬‬

‫التحق‪++‬ق من اس‪++‬تخدام االستفس‪++‬ارات المض‪++‬بوطة بمع‪++‬ايير لمن‪++‬ع حقن تعليم‪++‬ات االس‪++‬تعالم‬


‫‪A5-22‬‬
‫البنيوية (‪.)SQL Injection‬‬

‫التحقق من استخدام بيانات اعتماد معقدة وآمنة للوصول إلى قواعد البيانات‪.‬‬ ‫‪A5-23‬‬

‫التحق‪++‬ق من أن التط‪++‬بيق ال‪++‬ذي يص‪++‬ل إلى قواع‪++‬د البيان‪++‬ات يمتل‪++‬ك أدنى مس‪++‬توى ممكن من‬
‫‪A5-24‬‬
‫االمتيازات والصالحيات المطلوبة‪.‬‬

‫التحقق من أن سالسل الحروف العشوائية (‪ )Strings‬لالتص‪+‬ال ليس‪+‬ت مثبت‪+‬ة في الش‪+‬فرة‬


‫‪A5-25‬‬
‫ضمن التطبيق‪ ،‬خصوصًا بيانات اعتماد التحقق من الهوية من قاعدة البيانات‪.‬‬

‫التحقق من إغالق االتصال بقاعدة البيانات بأسرع ما يمكن‪.‬‬ ‫‪A5-26‬‬

‫اإلصدار <‪>1.0‬‬

‫‪17‬‬
‫نموذج معيار التطوير اآلمن للتطبيقات‬

‫التحقق من حذف كافة وظائف قاعدة البيانات غ‪++‬ير الالزم‪++‬ة أو غ‪++‬ير المس‪++‬تخدمة أو إلغ‪++‬اء‬
‫تفعيله‪++‬ا‪ ،‬بم‪++‬ا في ذل‪++‬ك محت‪++‬وى الم‪++‬ورد التلق‪++‬ائي‪ ،‬وتث‪++‬بيت الح‪++‬د األدنى من الخص‪++‬ائص‬
‫‪A5-27‬‬
‫والخيارات الالزمة لعمل التطبيق‪ .‬على سبيل المثال‪ ،‬إلغاء تفعيل اإلجراءات أو الخ‪++‬دمات‬
‫المخزنة وحزم الخصائص المفيدة غير الالزمة‪.‬‬

‫التحق‪++‬ق من إلغ‪++‬اء تفعي‪++‬ل أي حس‪++‬ابات تلقائي‪++‬ة أو غ‪++‬ير ض‪++‬رورية وال‪++‬تي يمكن من خالله‪++‬ا‬
‫‪A5-28‬‬
‫الوصول إلى قواعد البيانات غير الالزمة لدعم متطلبات األعمال‪.‬‬

‫التحقق من أن التطبيق يستخدم بيانات اعتماد مختلفة لكل ميزة وصالحية (مث‪++‬ل مس‪++‬تخدم‪،‬‬
‫‪A5-29‬‬
‫ومستخدم للقراءة فقط‪ ،‬وضيف‪ ،‬ومشرفين) عند اتصاله بقاعدة البيانات‪.‬‬

‫التحق‪++‬ق من إلغ‪++‬اء تفعي‪+‬ل تس‪++‬جيل ال‪+‬دخول عن بع‪++‬د والجلس‪++‬ات المجهول‪+‬ة إذا لم يكن هن‪+‬اك‬
‫‪A5-30‬‬
‫حاجة إليها‪.‬‬

‫بالنسبة للتطبيقات التي تعتمد على قاعدة بيانات‪ ،‬يجب استخدام قوالب اإلع‪++‬داد والتحص‪++‬ين‬
‫‪A5-31‬‬
‫الموحدة‪ ،‬واختبار جميع األنظمة التي تعتبر جزءًا من إجراءات العمل الحساسة‪.‬‬

‫الشفرة الخبيث‪++‬ة والثغ‪++‬رات (‪ - OWASP:A6:2021‬المكون‪++‬ات القديم‪++‬ة وال‪++‬تي تحت‪++‬وي‬


‫‪A6‬‬
‫على ثغرات)‬

‫التحقق من عدم وجود ش‪+‬فرات خبيث‪+‬ة في أي ش‪+‬فرة تم تطويره‪+‬ا أو تع‪+‬ديلها به‪+‬دف إنش‪+‬اء‬
‫‪A6-1‬‬
‫التطبيق‪.‬‬

‫التأكد من أن سالمة الشفرة المفسرة والمكتبات واألوامر التنفيذية وملفات اإلعدادات قد تم‬
‫‪A6-2‬‬
‫التحقق منها باستخدام المجموعات االختبارية أو عمليات حساب ملخص النص المميز‪.‬‬

‫التحقق من أن كافة الشفرات التي تطبق ضوابط التحقق من الهوي‪++‬ة أو تس‪++‬تخدمها لم تت‪++‬أثر‬
‫‪A6-3‬‬
‫بأي شفرات خبيثة‪.‬‬

‫التحقق من أن كافة الشفرات التي تطبق إدارة الجلسات أو تستخدمها لم تتأثر بأي ش‪++‬فرات‬
‫‪A6-4‬‬
‫خبيثة‪.‬‬

‫التحقق من أن كاف‪++‬ة الش‪++‬فرات ال‪++‬تي تطب‪++‬ق ض‪++‬وابط الوص‪++‬ول أو تس‪++‬تخدمها لم تت‪++‬أثر ب‪++‬أي‬
‫‪A6-5‬‬
‫شفرات خبيثة‪.‬‬

‫التحقق من أن كافة ضوابط التحقق من المدخالت لم تتأثر بأي شفرات خبيثة‪.‬‬ ‫‪A6-6‬‬

‫التحقق من أن كافة الشفرات التي تطبق ض‪++‬وابط التحق‪++‬ق من المخرج‪++‬ات أو تس‪++‬تخدمها لم‬
‫‪A6-7‬‬
‫تتأثر بأي شفرات خبيثة‪.‬‬

‫التحقق من أن كافة الشفرات التي تطبق نموذج التشفير أو تستخدمه لم تتأثر ب‪++‬أي ش‪++‬فرات‬
‫‪A6-8‬‬
‫خبيثة‪.‬‬

‫اإلصدار <‪>1.0‬‬

‫‪18‬‬
‫نموذج معيار التطوير اآلمن للتطبيقات‬

‫التحق‪++‬ق من أن كاف‪++‬ة الش‪++‬فرات ال‪++‬تي تطب‪++‬ق ض‪++‬وابط التعام‪++‬ل م‪++‬ع األخط‪++‬اء وتس‪++‬جيلها أو‬
‫‪A6-9‬‬
‫تستخدمها لم تتأثر بأي شفرات خبيثة‪.‬‬

‫التحق‪+++‬ق من أن كاف‪+++‬ة األنش‪+++‬طة الخبيث‪+++‬ة ق‪+++‬د خض‪+++‬عت لتقني‪+++‬ة الحماي‪+++‬ة المعزول‪+++‬ة (‬


‫‪A6-10‬‬
‫‪.)Sandboxing‬‬

‫تح‪++‬ديث المكون‪++‬ات بأح‪++‬دث التح‪++‬ديثات واإلص‪++‬الحات عن‪++‬د معرف‪++‬ة المس‪++‬تخدم ب‪++‬الثغرات‬


‫‪A6-11‬‬
‫المنشورة‪.‬‬

‫إلغ‪++‬اء االعتمادي‪++‬ات غ‪++‬ير المس‪++‬تخدمة والخص‪++‬ائص غ‪++‬ير الالزم‪++‬ة والمكون‪++‬ات والملف‪++‬ات‬


‫‪A6-12‬‬
‫والوثائق‪.‬‬

‫عمل قائمة جرد مستمرة إلصدارات المكونات من طرف العميل والخادم (مثل أطر العمل‬
‫والمكتب‪+++‬ات) واعتمادياته‪+++‬ا باس‪+++‬تخدام أدوات مث‪+++‬ل اإلص‪+++‬دارات‪ ،‬و"‪Dependency‬‬
‫‪ ،"Check‬و"‪ ،"retire.js‬وغيرها‪ ،‬والمراقبة المس‪++‬تمرة للمص‪++‬ادر مث‪++‬ل تع‪++‬داد الثغ‪++‬رات‬
‫الش‪++‬ائعة (‪ )CVE‬وقاع‪++‬دة بيان‪++‬ات الثغ‪++‬رات الوطني‪++‬ة ((‪ NVD‬بحث‪ً++‬ا عن الثغ‪++‬رات في‬ ‫‪A6-13‬‬
‫المكونات‪ ،‬إلى ج‪+‬انب اس‪+‬تخدام أدوات تحلي‪+‬ل تك‪+‬وين البرمجي‪+‬ات من أج‪+‬ل أتمت‪+‬ة العملي‪+‬ة‪،‬‬
‫واالشتراك في تنبيهات البريد اإللكتروني من أجل الثغرات األمنية ذات العالقة بالمكونات‬
‫قيد االستخدام‪.‬‬

‫الحصول على المكونات من مصادر رسمية وعبر رواب‪++‬ط محمي‪++‬ة فق‪++‬ط‪ ،‬وتفض‪++‬يل الح‪++‬زم‬
‫‪A6-14‬‬
‫الموقعة لتقليل فرص وجود مكون خبيث معدل‪.‬‬

‫مراقبة المكتبات والمكونات التي ال تت‪+‬وافر له‪+‬ا ص‪+‬يانة أو ليس لإلص‪+‬دارات القديم‪+‬ة منه‪+‬ا‬
‫تحديثات وإصالحات أمنية‪ .‬إذا كان تثبيت حزم التحديثات غير ممكنًا‪ ،‬يجب دراسة تث‪++‬بيت‬
‫‪A6-15‬‬
‫التحديثات واإلص‪++‬الحات االفتراض‪++‬ية لمراقب‪++‬ة المش‪++‬كالت المكتش‪++‬فة أو كش‪++‬فها أو الحماي‪++‬ة‬
‫منها‪.‬‬

‫التحقق من أن إعادة التوجيه واإلرسال في شريط العنوان (‪ )URL‬ال تتضمن بيانات غير‬
‫‪A6-16‬‬
‫مصرحة‪.‬‬

‫التحقق من توحيد أسماء الملفات وبيانات المسارات التي يتم الحص‪++‬ول عليه‪++‬ا من مص‪++‬ادر‬
‫‪A6-17‬‬
‫غير موثوقة إللغاء هجمات تجاوز المسار‪.‬‬

‫التحقق من فحص الملفات ال‪++‬تي يتم الحص‪++‬ول عليه‪++‬ا من مص‪++‬ادر غ‪++‬ير موثوق‪++‬ة من خالل‬
‫‪A6-18‬‬
‫برامج مكافحة الفيروسات لمنع تحميل برمجيات خبيثة معروفة‪.‬‬

‫التحق‪++‬ق من ع‪++‬دم اس‪++‬تخدام المع‪++‬ايير ال‪++‬تي تم الحص‪++‬ول عليه‪++‬ا من مص‪++‬ادر غ‪++‬ير موثوق‪++‬ة‬
‫للتالعب في أسماء الملفات أو أسماء المس‪++‬ارات أو ملف‪++‬ات وكائن‪++‬ات النظ‪++‬ام دون توحي‪++‬دها‬ ‫‪A6-19‬‬
‫أوًال والتحقق من مدخالتها لمنع هجمات إدراج الملفات المحلية‪.‬‬

‫التحقق من توحيد المعايير التي تم الحصول عليها من مصادر غ‪++‬ير موثوق‪++‬ة والتحق‪++‬ق من‬ ‫‪A6-20‬‬

‫اإلصدار <‪>1.0‬‬

‫‪19‬‬
‫نموذج معيار التطوير اآلمن للتطبيقات‬

‫مدخالتها وترميز مخرجاتها لمنع هجمات إدراج الملفات عن بعد‪ ،‬خصوصًا عندما يك‪++‬ون‬
‫من الممكن تنفيذ المدخالت مثل العناوين أو المصادر أو إدراج القوالب‪.‬‬

‫التحق‪++‬ق من ع‪++‬دم الس‪++‬ماح ب‪++‬إدراج محت‪++‬وى عش‪++‬وائي عن بع‪++‬د عن‪++‬د مش‪++‬اركة م‪++‬وارد "‬
‫‪A6-21‬‬
‫‪ "IFRAMEs‬و"‪ "HTML 5‬عبر النطاقات‪.‬‬

‫التحقق من تخ‪+‬زين الملف‪++‬ات ال‪+‬تي تم الحص‪++‬ول عليه‪++‬ا من مص‪++‬ادر غ‪++‬ير موثوق‪+‬ة خ‪+‬ارج "‬
‫‪."Webroot‬‬ ‫‪A6-22‬‬

‫التحقق من إعداد وض‪++‬بط خ‪+‬ادم ال‪+‬ويب أو التط‪+‬بيق تلقائي‪ً+‬ا لحجب الوص‪++‬ول إلى المص‪++‬ادر‬
‫‪A6-23‬‬
‫البعيدة أو األنظمة خارج خادم الويب أو التطبيق‪.‬‬

‫التحقق من أن شفرة التطبيق ال تنفذ بيانات مرفوعة تم الحص‪+‬ول عليه‪+‬ا من مص‪+‬ادر غ‪+‬ير‬
‫‪A6-24‬‬
‫موثوقة‪.‬‬

‫التحقق من ض‪++‬بط إع‪++‬دادات مش‪++‬اركة مص‪++‬ادر تطبيق‪++‬ات ‪ ""Flash‬أو ‪ ""Silverlight‬أو‬


‫غيرها من تطبيق‪+‬ات اإلن‪+‬ترنت الغني‪+‬ة (‪ )RIA‬ع‪+‬بر النطاق‪+‬ات بحيث تمن‪+‬ع الوص‪+‬ول غ‪+‬ير‬ ‫‪A6-25‬‬
‫المصرح به أو الوصول عن بعد غير المعتمد‪.‬‬

‫التحقق من أن كافة أنواع الملفات المسموح برفعه‪++‬ا مقتص‪++‬رة على غاي‪++‬ات العم‪++‬ل وحس‪++‬ب‬
‫‪A6-26‬‬
‫الحاجة (مثل ملفات "‪ "PDF‬ومستندات برامج ""‪.)Office‬‬

‫التأكد من أن التحقق من نوع المل‪++‬ف يتم من خالل التحق‪++‬ق من عن‪++‬اوين الملف‪++‬ات وليس من‬
‫‪A6-27‬‬
‫خالل اسم امتداد الملفات فقط‪.‬‬

‫التحقق من عدم تفعيل امتيازات وصالحيات التنفيذ في أدلة تحميل الملفات‪.‬‬ ‫‪A6-28‬‬

‫التحقق من ضبط إعدادات ملفات ومصادر التطبيق تلقائيًا على وضعية القراءة فقط‪.‬‬ ‫‪A6-29‬‬

‫التحق‪++‬ق من إلغ‪++‬اء كاف‪++‬ة أن‪++‬واع المش‪++‬اركات والمش‪++‬اركات اإلداري‪++‬ة غ‪++‬ير الالزم‪++‬ة‪ ،‬وتقيي‪++‬د‬
‫‪A6-30‬‬
‫الوصول إلى المشاركات أو جعله يتطلب التحقق من الهوية‪.‬‬

‫طلب التحقق من الهوية قبل السماح برفع الملفات‪.‬‬ ‫‪A6-31‬‬

‫وضع حد على حجم الملفات ال‪++‬تي يمكن رفعه‪++‬ا وال‪++‬ذي يجب أال يتج‪++‬اوز الحجم المطل‪++‬وب‬
‫لغايات العمل (على سبيل المثال‪ 1 ،‬ميغابايت كحد أعلى)‪ ،‬وإضافة مالحظ‪++‬ة على ص‪++‬فحة‬ ‫‪A6-32‬‬
‫الويب تخص أحجام الملفات المقبولة‪.‬‬

‫عمليات التحقق من الهوية (‪ - OWASP:A7:2021‬إجراءات فشل التحقق من الهوية)‬ ‫‪A7‬‬

‫التحق‪+‬ق من أن كاف‪+‬ة الص‪+‬فحات والمص‪+‬ادر تقتض‪+‬ي التحق‪+‬ق من الهوي‪+‬ة باس‪+‬تثناء المح‪+‬ددة‬ ‫‪A7-1‬‬

‫اإلصدار <‪>1.0‬‬

‫‪20‬‬
‫نموذج معيار التطوير اآلمن للتطبيقات‬

‫خصوصًا لتكون عامة (مبدأ التحقق التام والمتكامل)‪.‬‬

‫التحقق من أن حقول كلمات المرور ال ُت ظهر كلمات مرور المستخدمين عن‪++‬د إدخاله‪++‬ا وأن‬
‫‪A7-2‬‬
‫خاصية اإلكمال التلقائي في حقول كلمات المرور (أو األشكال التي تتضمنها) غير مفعلة‪.‬‬

‫التحقق من أن كاف‪+‬ة ض‪+‬وابط التحق‪+‬ق من الهوي‪+‬ة تخف‪+‬ق بص‪+‬ورة آمن‪+‬ة لض‪+‬مان ع‪+‬دم ق‪+‬درة‬
‫‪A7-3‬‬
‫الجهات المهاجمة على تسجيل الدخول‪.‬‬

‫التحقق من أن بيانات االعتماد وكافة معلومات الهوية األخرى التي يتعامل معه‪++‬ا التط‪++‬بيق‬
‫‪A7-4‬‬
‫ال تمر عبر روابط غير مشفرة أو مشفرة بصورة غير آمنة‪.‬‬

‫التحقق من أن مسار "نسيت كلمة المرور" ومسارات االستعادة األخرى ال ترس‪++‬ل كلم‪++‬ات‬
‫‪A7-5‬‬
‫المرور الحالية أو الجديدة من غير تشفير إلى المستخدم‪.‬‬

‫التحقق من أن تنفيذ هجمات تعداد اسم المستخدم (‪ )User Enumeration‬غ‪++‬ير ممكن‬


‫‪A7-6‬‬
‫عن طريق وظائف "تسجيل الدخول" أو "إعادة ضبط كلمة المرور" أو "نسيت الحساب"‪.‬‬

‫التحقق من عدم وجود كلمات مرور افتراضية قيد االستخدام إلط‪++‬ار عم‪++‬ل التط‪++‬بيق أو أي‬
‫‪A7-7‬‬
‫مكونات مستخدمة من قبل التطبيق (مثل "‪.)"admin/password‬‬

‫التحق‪++‬ق من وج‪++‬ود ض‪++‬ابط مص‪++‬ادر (‪ )Resource Governor‬لتوف‪++‬ير الحماي‪++‬ة من‬


‫الهجوم التخميني العمودي (‪( )Vertical Brute Forcing‬وهو هجوم يحاول اختراق‬
‫حس‪++‬اب واح‪++‬د باس‪++‬تخدام كاف‪++‬ة كلم‪++‬ات الم‪++‬رور المحتمل‪++‬ة) والهج‪++‬وم التخمي‪++‬ني األفقي‬
‫‪( ))Horizontal Brute Forcing‬وه‪++‬و هج‪++‬وم يح‪++‬اول اخ‪++‬تراق جمي‪++‬ع الحس‪++‬ابات‬
‫باستخدام كلمة مرور واح‪++‬دة مث‪++‬ل "‪ .)"Password1‬ويجب أال يك‪++‬ون هن‪++‬اك ت‪++‬أخير في‬ ‫‪A7-8‬‬
‫إدخ‪++‬ال بيان‪++‬ات االعتم‪++‬اد الص‪++‬حيحة‪ .‬فعلى س‪++‬بيل المث‪++‬ال‪ ،‬يجب ض‪++‬بط إع‪++‬دادات عن‪++‬وان‬
‫بروتوك‪++‬ول اإلن‪++‬ترنت لمص‪++‬در الهج‪++‬وم التخمي‪++‬ني بحيث يتم إغالق‪++‬ه بع‪++‬د ‪ 60‬دقيق‪++‬ة‪ ،‬ويتم‬
‫إغالق الحساب بعد ‪ 15‬دقيقة‪ .‬ويجب أن تكون آليتا الضبط فاعلتين بشكل متزامن للحماية‬
‫من الهجمات التشخيصية والموزعة‪.‬‬

‫التحقق من أن كافة ضوابط التحقق من الهوية فعالة من جهة الخادم‪.‬‬ ‫‪A7-9‬‬

‫التحقق من أن حقول كلمات المرور تسمح باس‪++‬تخدام عب‪++‬ارات م‪++‬رور‪ ،‬وال تمن‪++‬ع اس‪++‬تخدام‬
‫عبارات مرور طويلة أو معقدة للغاية‪ ،‬وت‪++‬وفر حماي‪++‬ة كافي‪++‬ة من اس‪++‬تخدام كلم‪++‬ات الم‪++‬رور‬ ‫‪A7-10‬‬
‫الدارجة‪.‬‬

‫التحقق من أن كافة وظائف إدارة الحسابات‪( ،‬مثل التسجيل‪ ،‬أو تح‪++‬ديث المل‪++‬ف التع‪++‬ريفي‪،‬‬
‫أو "نس‪+++‬يت اس‪+++‬م المس‪+++‬تخدم"‪ ،‬أو "نس‪+++‬يت كلم‪+++‬ة الم‪+++‬رور"‪ ،‬أو رم‪+++‬ز التعري‪+++‬ف غ‪+++‬ير‬
‫المفع‪++‬ل‪/‬المفق‪++‬ود‪ ،‬أو مكتب المس‪++‬اعدة‪ ،‬أو االس‪++‬تجابة الص‪++‬وتية التفاعلي‪++‬ة "‪ ،)"IVR‬وال‪++‬تي‬ ‫‪A7-11‬‬
‫يمكن أن تس‪++‬تعيد ص‪++‬الحية الوص‪++‬ول إلى الحس‪++‬اب‪ ،‬ق‪++‬ادرة على مقاوم‪++‬ة الهجم‪++‬ات بنفس‬
‫مستوى اآللية األساسية للتحقق من الهوية‪.‬‬

‫اإلصدار <‪>1.0‬‬

‫‪21‬‬
‫نموذج معيار التطوير اآلمن للتطبيقات‬

‫التحقق من أن المستخدمين يمكنهم تغيير بيانات اعتمادهم باستخدام آلي‪+‬ة مقاوم‪+‬ة للهجم‪+‬ات‬
‫تتمتع بنفس قدرة اآللية األساسية للتحقق من الهوية على مقاومة الهجم‪++‬ات (مث‪++‬ل الرس‪++‬ائل‬
‫النصية‪ ،‬أو رموز تعريفية‪ ،‬أو تطبيقات الهواتف المحمولة‪ ،‬أو غيرها)‪ .‬عند تغيير كلم‪++‬ات‬ ‫‪A7-12‬‬
‫المرور‪ ،‬يجب إدخال كلمة المرور الحالية قبل إدخال كلمة المرور الجديدة وأن يتب‪++‬ع ذل‪++‬ك‬
‫عملية إعادة تحقق من المستخدم‪.‬‬

‫التحقق من انتهاء صالحية بيان‪++‬ات االعتم‪++‬اد بع‪++‬د م‪++‬رور ف‪++‬ترة زمني‪++‬ة يتم إع‪++‬دادها إداري‪ً+‬ا‪.‬‬
‫ويجب أن تكون فترة انتهاء صالحية كلم‪+‬ة الم‪+‬رور قص‪+‬يرة بن‪+‬اًء على حساس‪+‬ية التط‪+‬بيق‪،‬‬ ‫‪A7-13‬‬
‫مما يفرض بالتالي تغيير كلمة المرور بشكل أسرع‪.‬‬

‫التحق‪+‬ق من تس‪+‬جيل كاف‪+‬ة ق‪+‬رارات التحق‪+‬ق من الهوي‪+‬ة بم‪+‬ا في ذل‪+‬ك "المباع‪+‬دات الخطي‪+‬ة"‬
‫‪A7-14‬‬
‫و"األقفال المؤقتة"‪.‬‬

‫التحقق من أن كلمات مرور الحسابات مجزئة عشوائيًا باستخدام طريق‪++‬ة تجزئ‪++‬ة عش‪++‬وائية‬
‫خاص‪++‬ة لك‪++‬ل حس‪++‬اب (مث‪++‬ل هوي‪++‬ة مس‪++‬تخدم اإلن‪++‬ترنت أو إنش‪++‬اء الحس‪++‬اب) واختزاله‪++‬ا قب‪++‬ل‬ ‫‪A7-15‬‬
‫التخزين‪.‬‬

‫التحقق من أن كافة بيانات اعتماد التحقق من الهوية للوصول للخ‪+‬دمات الخارجي‪+‬ة بالنس‪+‬بة‬
‫‪A7-16‬‬
‫للتطبيق مشفرة ومخزنة في موقع محمي (وليس في شفرة مصدرية)‪.‬‬

‫التحقق من أن نسيان كلمة المرور ومس‪++‬ارات االس‪+‬تعادة ترس‪++‬ل رم‪++‬ز تفعي‪+‬ل أو تحّق ق من‬
‫الهوي‪++‬ة متع‪ّ++‬دد العناص‪++‬ر ل‪++‬ه وقت مح‪++‬دد (مث‪++‬ل الرس‪++‬ائل النص‪++‬ية‪ ،‬أو رم‪++‬وز تعريفي‪++‬ة‪ ،‬أو‬ ‫‪A7-17‬‬
‫تطبيقات الهواتف المحمولة‪ ،‬أو غيرها) بدًال من إرسال كلمة المرور‪.‬‬

‫التحقق من أن وظيفة "نسيت كلم‪+‬ة الم‪+‬رور" ال تغل‪+‬ق الحس‪+‬اب أو تلغي تفعيل‪+‬ه إال بع‪+‬د أن‬
‫‪A7-18‬‬
‫ينجح المستخدم في تغيير كلمة المرور‪.‬‬

‫التحقق من عدم وجود أس‪++‬ئلة وإجاب‪++‬ات معرفي‪++‬ة مش‪++‬تركة (م‪++‬ا يس‪++‬مى باألس‪++‬ئلة واإلجاب‪++‬ات‬
‫‪A7-19‬‬
‫"السرية")‪.‬‬

‫التحقق من إمكانية إعداد النظام وضبطه بحيث ال يسمح باستخدام أرقام قابل‪++‬ة لإلع‪++‬داد من‬
‫‪A7-20‬‬
‫كلمات مرور سابقة‪.‬‬

‫التحقق من تنفي‪+‬ذ كاف‪+‬ة ض‪+‬وابط التحق‪+‬ق من الهوي‪+‬ة مركزي‪ً+‬ا (بم‪+‬ا في ذل‪+‬ك المكتب‪+‬ات ال‪+‬تي‬
‫‪A7-21‬‬
‫تستدعي خدمات تحقق خارجية)‪.‬‬

‫التحقق من طلب إعادة التحقق من الهوية أو تحقق اإلعداد أو التحقق من الهوي‪++‬ة المتغ‪++‬ير‪،‬‬
‫أو الرسالة النصية أو التطبيق ثنائي العوامل أو توقيع المعاملة قب‪++‬ل الس‪++‬ماح ب‪++‬أي عملي‪++‬ات‬ ‫‪A7-22‬‬
‫حساسة على التطبيق وفقًا للملف التعريفي للمخاطر الخاصة بالتطبيق‪.‬‬

‫التحقق من وجود وظيفة إللغاء تفعيل بيانات اعتماد المس‪++‬تخدم أو إبطاله‪++‬ا في ح‪++‬ال وق‪++‬وع‬
‫‪A7-23‬‬
‫انتهاك أمني‪.‬‬

‫اإلصدار <‪>1.0‬‬

‫‪22‬‬
‫نموذج معيار التطوير اآلمن للتطبيقات‬

‫التحقق من تشفير كلمة المرور وفقًا للمعايير واإلجراءات ذات العالقة‪.‬‬ ‫‪A7-24‬‬

‫إذا كان تطبيق <اسم الجهة> ي‪++‬دير مخ‪++‬زن بيان‪++‬ات اعتم‪++‬اد‪ ،‬فإن‪++‬ه يجب أن يض‪++‬من تخ‪++‬زين‬
‫قيمة االختزال باتج‪+‬اه واح‪+‬د وبطريق‪+‬ة مش‪+‬فرة بدرج‪+‬ة تعقي‪+‬د عالي‪+‬ة لكلم‪+‬ات الم‪+‬رور‪ ،‬وأن‬
‫‪A7-25‬‬
‫الجدول والملف الذي يخزن كلمات المرور والمفاتيح يمكن الكتاب‪++‬ة علي‪++‬ه فق‪++‬ط عن طري‪++‬ق‬
‫التطبيق‪( .‬يجب عدم استخدام خوارزمية "‪ "MD5‬قدر اإلمكان)‪.‬‬

‫فصل منطق التحقق من الهوية عن المصدر الذي يتم طلبه‪ ،‬واس‪++‬تخدام إع‪++‬ادة التوجي‪++‬ه من‬
‫‪A7-26‬‬
‫وإلى مراقبة التحقق من الهوية المركزي‪.‬‬

‫يجب أال تشير رسائل فشل التحقق من الهوية إلى الجزء غير الصحيح من بيان‪+‬ات التحق‪+‬ق‬
‫من الهوية‪ .‬فعلى سبيل المثال‪ ،‬ب‪++‬دًال من اس‪++‬تخدام "اس‪++‬م مس‪++‬تخدم غ‪++‬ير ص‪++‬حيح" أو "كلم‪++‬ة‬
‫مرور غير ص‪+‬حيحة"‪ ،‬يجب اس‪++‬تخدام "اس‪++‬م مس‪++‬تخدم غ‪++‬ير ص‪++‬حيح أو كلم‪++‬ة م‪++‬رور غ‪++‬ير‬ ‫‪A7-27‬‬
‫صحيحة" لكال الحالتين‪ .‬ويجب أن تكون رسائل األخط‪+‬اء متطابق‪++‬ة في الش‪++‬فرة المص‪++‬درية‬
‫وعند عرضها‪.‬‬

‫التحقق من قوة كلمة المرور والتأكد من عدم تطابقها مع كلمات المرور الضعيفة الدارجة‪.‬‬ ‫‪A7-28‬‬

‫يجب تطبيق متطلبات درجة طول وتعقي‪++‬د كلم‪++‬ة الم‪++‬رور ال‪++‬واردة في السياس‪++‬ة أو الالئح‪++‬ة‬
‫المعتمدة لدى <اسم الجهة>‪ ،‬كما يجب أن تكون بيانات اعتم‪++‬اد التحق‪++‬ق من الهوي‪++‬ة كافي‪++‬ة‬
‫لمواجهة الهجمات التي تعتبر شائعة بالنسبة للتهديدات الموجودة في بيئ‪++‬ة التث‪++‬بيت‪ .‬ويجب‬
‫التحقق من أن كلمة المرور تتضمن كحد أدنى ما يلي‪:‬‬
‫حرف كبير واحد على األقل (‪.)A-Z‬‬ ‫‪‬‬
‫حرف صغير واحد على األقل (‪.)a-z‬‬ ‫‪‬‬
‫رقم واحد على األقل (‪.)9-0‬‬ ‫‪‬‬
‫رم‪+++++‬ز خ‪+++++‬اص واح‪+++++‬د على األق‪+++++‬ل مث‪+++++‬ل‪?>=<;:/.-,+*)('&%$#"! (:‬‬ ‫‪‬‬ ‫‪A7-29‬‬
‫@[\]^_`{|}~”)‪.‬‬
‫كما يجب التحقق من أن كلمة المرور ال تتضمن على األقل ما يلي‪:‬‬
‫أكثر من رقمين أو رمزين متطابقين متتاليين (مثل "‪ "111‬و"‪.)"aa‬‬ ‫‪‬‬
‫أرقام أو رموز متسلسلة (مثل "‪ ،"123‬أو "‪ ،"789‬أو"‪.)"abc‬‬ ‫‪‬‬
‫نفس اسم المستخدم‪.‬‬ ‫‪‬‬
‫كلمات قاموسية ("‪ ،"password‬أو "‪ ،"p@ssw0rd‬أو "‪.)"secret123‬‬ ‫‪‬‬

‫إنفاذ إلغاء تفعيل الحساب بعد ع‪++‬دد مح‪++‬دد من مح‪++‬اوالت تس‪++‬جيل ال‪++‬دخول غ‪++‬ير الص‪++‬حيحة‬ ‫‪A7-30‬‬
‫(على سبيل المثال‪ ،‬خمس مح‪+‬اوالت للتطبيق‪+‬ات غ‪+‬ير الهام‪+‬ة وثالث مح‪+‬اوالت للتطبيق‪+‬ات‬
‫الحساسة)‪ .‬ويجب إلغاء تفعيل الحساب لفترة زمنية معينة تك‪++‬ون كافي‪++‬ة إلحب‪++‬اط مح‪++‬اوالت‬
‫الهجوم التخميني لبيانات االعتماد شريطة أال تكون ه‪++‬ذه الم‪++‬دة طويل‪++‬ة بحيث تس‪++‬مح بتنفي‪++‬ذ‬

‫اإلصدار <‪>1.0‬‬

‫‪23‬‬
‫نموذج معيار التطوير اآلمن للتطبيقات‬

‫هجمات حجب الخدمة (مثًال إلغاء التفعيل لمدة ‪ 30‬دقيقة فقط)‪.‬‬

‫يجب إبالغ المستخدم بآخر استخدام للحساب (سواًء كان ناجحًا أم ال) عند تسجيله ال‪+‬دخول‬
‫‪A7-31‬‬
‫بنجاح‪.‬‬

‫التحقق من استخدام التطبيق لتنفيذ التحكم بإدارة الجلسة التلقائية الخاصة بإطار العمل‪.‬‬ ‫‪A7-32‬‬

‫التحقق من إبطال الجلسات عند تسجيل خروج المستخدم‪.‬‬ ‫‪A7-33‬‬

‫التحقق من انتهاء وقت الجلسات بعد مرور فترة معينة من عدم النشاط‪.‬‬ ‫‪A7-34‬‬

‫التحقق من أن كاف‪++‬ة الص‪++‬فحات ال‪++‬تي تقتض‪++‬ي التحق‪++‬ق من الهوي‪++‬ة للوص‪++‬ول إليه‪++‬ا تتض‪++‬من‬
‫‪A7-35‬‬
‫روابط لتسجيل الخروج‪.‬‬

‫التحقق من أن هوية الجلسة غير مكشوفة أبدًا إال في عناوين ملف‪++‬ات االرتب‪++‬اط ‪)Cookie‬‬
‫(‪ ،Headers‬وتحدي‪++‬دًا في ش‪++‬ريط العن‪++‬وان ‪ ))URL‬أو رس‪++‬ائل الخط‪++‬أ أو الس‪++‬جالت‪.‬‬
‫‪A7-36‬‬
‫ويتضمن هذا التحقق من أن التطبيق ال ي‪+‬دعم قي‪+‬ام ش‪+‬ريط العن‪+‬وان ((‪ URL‬بإع‪+‬ادة كتاب‪+‬ة‬
‫جلسات الملفات التعريفية‪.‬‬

‫التحقق من تغيير هوية الجلسة أو مسحها عند تسجيل الخروج‪.‬‬ ‫‪A7-37‬‬

‫التحقق من أن الرموز التعريفية للجلسات المصادق عليها باستخدام ملفات االرتباط محمية‬
‫‪A7-38‬‬
‫باستخدام آلية "‪( "HttpOnly‬عدم عرض ملفات االرتباط عند المستخدم)‪.‬‬

‫التحقق من أن الرموز التعريفية للجلسات المصادق عليها باستخدام ملفات االرتباط محمية‬
‫بخاص‪++++‬ية "‪ "Secure‬وأن عن‪++++‬اوين أمن النق‪++++‬ل المقي‪++++‬د موج‪++++‬ودة (مث‪++++‬ل‪Strict- " :‬‬ ‫‪A7-39‬‬
‫‪.)" Transport-Security: max-age=60000; includeSubDomains‬‬

‫التحقق من تغيير هوية الجلسة عند تسجيل الدخول لمنع سرقة بيانات الجلسة‪.‬‬ ‫‪A7-40‬‬

‫التحقق من تغيير هوية الجلسة عند إعادة التحقق من الهوية‪.‬‬ ‫‪A7-41‬‬

‫التحقق من أن الرموز التعريفية للجلسات المصادق عليها طويلة وعشوائية بالق‪++‬در الك‪++‬افي‬ ‫‪A7-42‬‬
‫لمواجهة الهجمات التي تعتبر تهديدات شائعة في بيئة التثبيت‪.‬‬

‫التحقق من أن الرموز التعريفية للجلسات المصادق عليها والتي تس‪++‬تخدم ملف‪++‬ات االرتب‪++‬اط‬ ‫‪A7-43‬‬
‫لها مسار محدد بقيمة حصرية مالئمة لذلك الموقع‪ .‬ويجب عدم تحديد تقيي‪++‬د خاص‪++‬ية مل‪++‬ف‬
‫ارتباط النطاق إال إذا كانت األعمال تقتضي ذلك‪ ،‬كعملية تسجيل دخول موحد‪.‬‬

‫التحق‪+‬ق من أن التط‪+‬بيق ال يس‪+‬مح بجلس‪+‬ات مس‪+‬تخدم متزامن‪+‬ة مك‪+‬ررة ص‪+‬ادرة من أجه‪+‬زة‬ ‫‪A7-44‬‬

‫اإلصدار <‪>1.0‬‬

‫‪24‬‬
‫نموذج معيار التطوير اآلمن للتطبيقات‬

‫مختلفة‪.‬‬

‫التحقق من انتهاء وقت الجلسات بعد مرور الحد األقصى لف‪++‬ترة زمني‪++‬ة تم إع‪++‬دادها إداري ‪ً+‬ا‬ ‫‪A7-45‬‬
‫بغض النظر عن النشاط (أي وقت انتهاء مطلق)‪.‬‬

‫إص‪++‬دار هوي‪++‬ة جدي‪++‬دة للجلس‪++‬ة في ح‪++‬ال تغي‪++‬ير أمن االتص‪++‬ال من بروتوك‪++‬ول نق‪++‬ل النص‬
‫التش‪++‬عبي (‪ )HTTP‬إلى بروتوك‪++‬ول نق‪++‬ل النص التش‪++‬عبي اآلمن (‪ ،)HTTPS‬وال‪++‬ذي ق‪++‬د‬
‫يح‪++‬دث خالل عملي‪++‬ة التحق‪++‬ق من الهوي‪++‬ة‪ .‬من المستحس‪++‬ن اس‪++‬تخدام بروتوك‪++‬ول نق‪++‬ل النص‬ ‫‪A7-46‬‬
‫التش‪++‬عبي اآلمن (‪ )HTTPS‬باس‪++‬تمرار في التط‪++‬بيق ب‪++‬دًال من التنق‪++‬ل بين بروتوك‪++‬ول نق‪++‬ل‬
‫النص التشعبي ((‪ HTTP‬وبروتوكول نقل النص التشعبي اآلمن ((‪.HTTPS‬‬

‫إلغاء التسلسل غير اآلمن (‪ -OWASP:A8:2021‬فشل سالمة البرامج والبيانات)‬ ‫‪A8‬‬

‫تطبيق عمليات التحقق من سالمة المعلومات‪ ،‬مثل التواقيع الرقمية‪ ،‬ألي كائن‪++‬ات متسلس‪++‬لة‬
‫‪A8-1‬‬
‫لمنع إنشاء كائنات عدائية أو التالعب بالبيانات‪.‬‬

‫إنفاذ قيود محددة خالل إلغاء التسلسل قبل إنشاء الكائن ألن الش‪++‬فرة تتوق‪++‬ع ع‪++‬ادة مجموع‪++‬ة‬
‫فئات قابلة للتحديد‪ .‬من غير المستحسن االعتماد على هذا األسلوب فق‪++‬ط نظ‪++‬رًا إلى وج‪++‬ود‬ ‫‪A8-2‬‬
‫طرق لتجاوزه‪.‬‬

‫عزل الشفرة التي يتم إلغاء تسلسلها وتشغيلها في بيئات متدنية المزايا والصالحيات حيثم‪++‬ا‬
‫‪A8-3‬‬
‫أمكن‪.‬‬

‫تسجيل استثناءات إلغاء التسلسل وحاالت اإلخفاق‪ ،‬مثل الحاالت التي ال يكون فيه‪++‬ا الن‪++‬وع‬
‫‪A8-4‬‬
‫الوارد هو النوع المتوقع أو التي يحدد فيها إلغاء تسلسل االستثناءات‪.‬‬

‫تقييد أو مراقبة الربط البيني الوارد والصادر في الشبكة من الحاويات أو الخ‪++‬وادم ال‪++‬تي تم‬
‫‪A8-5‬‬
‫إلغاء تسلسلها‪.‬‬

‫مراقبة إلغاء التسلسل والتنبيه إذا كان المستخدم يلغي التسلسل باستمرار‪.‬‬ ‫‪A8-6‬‬

‫التعام‪+++‬ل م‪+++‬ع األخط‪+++‬اء وتس‪+++‬جيلها ( ‪ – OWASP:A9:2021‬فش‪+++‬ل أمن الس‪+++‬جالت‬


‫‪A9‬‬
‫والمراقبة)‬

‫ضمان إجراء التحقق الص‪+‬ريح من األخط‪+‬اء للبرمجي‪+‬ات المط‪+‬ورة داخلي‪ً+‬ا‪ ،‬وتوثيق‪+‬ه لكاف‪+‬ة‬
‫‪A9-1‬‬
‫المدخالت‪ ،‬بما في ذلك الحجم ونوع البيانات والنطاقات أو الصيغ المسموحة‪.‬‬

‫التحقق من أن التطبيق ال يظهر رسائل خطأ أو يكدس آثارًا تتضمن معلومات محمية‪ ،‬بم‪++‬ا‬
‫في ذلك هوية الجلسة والمعلومات الشخصية‪ ،‬والتي يمكن أن تساعد الجهة المهاجم‪++‬ة على‬ ‫‪A9-2‬‬
‫تنفيذ أنشطتها‪.‬‬

‫التحقق من تنفيذ جميع عمليات التعامل مع األخطاء على أجهزة موثوقة‪.‬‬ ‫‪A9-3‬‬

‫اإلصدار <‪>1.0‬‬

‫‪25‬‬
‫نموذج معيار التطوير اآلمن للتطبيقات‬

‫التحقق من تطبيق كافة ضوابط التسجيل على الخادم‪.‬‬ ‫‪A9-4‬‬

‫التحقق من أن منطق التعامل مع األخطاء في الضوابط األمنية يحجب الوصول تلقائيًا‪.‬‬ ‫‪A9-5‬‬

‫التحقق من أن ضوابط التسجيل األمنية تس‪++‬مح بتس‪++‬جيل أح‪+‬داث النج‪+‬اح واإلخف‪++‬اق ال‪+‬تي تم‬
‫‪A9-6‬‬
‫تحديدها باعتبارها مهمة أمنيًا‪.‬‬

‫التحقق من أن كل حدث في السجل يتضمن ختمًا زمنيًا من مصدر موثوق‪ ،‬ومستوى ش‪++‬دة‬
‫الحدث‪ ،‬ومؤشرًا على أن الحدث مهم أمنيًا (إذا كان مختلطًا مع س‪++‬جالت أخ‪++‬رى)‪ ،‬وهوي‪++‬ة‬
‫المستخدم الذي تسبب بالحدث (إذا كان هناك مس‪+‬تخدم مرتب‪+‬ط بالح‪+‬دث)‪ ،‬ومص‪+‬در عن‪+‬وان‬ ‫‪A9-7‬‬
‫بروتوكول اإلنترنت للطلب المصاحب للحدث سواًء كان الحدث ناجحًا أو فاش‪ً+‬ال‪ ،‬ووص‪++‬فًا‬
‫للحدث‪.‬‬

‫التحقق من أن كافة السجالت محمية من الوصول غير المصرح به والتعديل‪.‬‬ ‫‪A9-8‬‬

‫التحقق من أن التطبيق ال يس‪++‬جل معلوم‪++‬ات محمي‪++‬ة خاص‪++‬ة ب‪++‬التطبيق‪ ،‬بم‪++‬ا في ذل‪++‬ك هوي‪++‬ة‬
‫الجلسة والمعلومات الشخصية أو المحمي‪++‬ة‪ ،‬وال‪++‬تي يمكن أن تس‪++‬اعد الجه‪++‬ة المهاجم‪++‬ة على‬ ‫‪A9-9‬‬
‫تنفيذ أنشطتها‪.‬‬

‫التحقق من توفر أداة تحليل السجل مما يسمح للمحلل بالبحث عن أحداث السجل بن‪++‬اًء على‬
‫‪A9-10‬‬
‫تركيبة من معايير البحث في كافة الحقول في صيغة السجل المدعومة من النظام‪.‬‬

‫التحقق من عدم تنفيذ كافة األحداث التي تتضمن بيانات غير موثوق‪++‬ة باعتباره‪++‬ا ش‪++‬فرة في‬
‫‪A9-11‬‬
‫برمجيات استعراض السجالت المعنية‪.‬‬

‫التحقق من وجود تنفيذ تسجيل موحد مستخدم في التطبيق‪.‬‬ ‫‪A9-12‬‬

‫التحقق من أن السجالت لها إجراء منتظم موحد للنسخ االحتياطية أو األرشفة‪.‬‬ ‫‪A9-13‬‬

‫تطبيق "التعامل مع االستثناءات في الشفرات" حيثما أمكن‪.‬‬ ‫‪A9-14‬‬

‫التحقق من أن السجالت أدناه مفعلة‪:‬‬ ‫‪A9-15‬‬


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

‫اإلصدار <‪>1.0‬‬

‫‪26‬‬
‫نموذج معيار التطوير اآلمن للتطبيقات‬

‫والتهيئة األمنية‪.‬‬
‫سجل يشمل كل حاالت إخفاق اتصال أمن طبقة النقل بأجهزة النقطة النهائية‪.‬‬ ‫‪‬‬
‫سجل يشمل كل حاالت إخفاق نموذج التشفير‪.‬‬ ‫‪‬‬

‫تزوير الطلب عبر الخوادم (‪)OWASP:A10:2021 –SSRF‬‬ ‫‪A10‬‬

‫وظائف الوصول عن بعد للمصادر يجب أن تكون مفصولة داخل شبكات اإلنترنت لتقليل‬
‫‪A10-1‬‬
‫التأثير من اختراقات تزوير الطلب عبر الخوادم‪.‬‬

‫<اسم الجهة> يجب أن تطبق سياسات "المنع بشكل افتراضي" في جدار الحماية أو في‬
‫نقاط وصول شبكات اإلنترنت لمنع جميع التحركات داخل الشبكة الداخلية الغير‬ ‫‪A10-2‬‬
‫ضرورية‪.‬‬

‫جميع مدخالت العمالء يجب أن تتم تصفيتها وفحصها‪.‬‬ ‫‪A10-3‬‬

‫التحقق من صحة المخطط للرابط اإللكتروني (‪ ،)URL‬مع تحديد المنفذ والوجهة‬


‫‪A10-4‬‬
‫النهائية مع قائمة السماح المحددة‪.‬‬

‫<اسم الجهة> يجب منع ارسال االستجابات والردود للعميل على هيئتها األصلية‪.‬‬ ‫‪A10-5‬‬

‫<اسم الجهة> يجب تعطيل إعادة التوجيه بروتوكول (‪.)HTTP‬‬ ‫‪A10-6‬‬

‫<اسم الجهة> يجب أن تتأكد من أن العاملين لديهم الوعي الكافي لفهم تناسق وخصائص‬
‫الرابط اإللكتروني (‪ )URL‬لتجنب االختراقات مثل اختراق إعادة الربط لنظام اسم‬ ‫‪A10-7‬‬
‫المجال (‪ )DNS‬و "وقت الفحص‪ ،‬وقت االستخدام" (‪.)TOCTOU‬‬

‫ع‪++‬دم تث‪++‬بيت خ‪++‬دمات أمني‪++‬ة أخ‪++‬رى على أنظم‪++‬ة الواجه‪++‬ة مث‪++‬ل خدم‪++‬ة الهوي‪++‬ة المفتوح‪++‬ة (‬
‫‪A10-8‬‬
‫‪ .)OpenID‬تقييد حركات المرور الداخلية على هذه األنظمة مثل المضيف المحلي‪.‬‬

‫يجب استخدام وظائف وتقنيات تشفير اإلنترنت مثل شبكات الخصوصية االفتراضية (‬
‫‪A10-9‬‬
‫‪ )VPNs‬على األنظمة المستقلة‪.‬‬

‫التحّقق من الهاتف المحمول‬ ‫‪A11‬‬

‫التأكد من تحقق العميل من شهادات تشفير طبقة المنافذ اآلمنة (‪.)SSL‬‬ ‫‪A11-1‬‬

‫التحقق من عدم استخدام قيم رقم تعريف الجهاز المميز (‪ )UDID‬كضوابط أمنية‪.‬‬ ‫‪A11-2‬‬

‫التحق‪++‬ق من أن تط‪++‬بيق اله‪++‬اتف المحم‪++‬ول ال يخ‪++‬زن المعلوم‪++‬ات المحمي‪++‬ة على المص‪++‬ادر‬ ‫‪A11-3‬‬
‫المشتركة على الجهاز (مثل بطاقة "‪ "SD‬أو المجلدات المشتركة)‪.‬‬

‫التحق‪++‬ق من أن المعلوم‪++‬ات المحمي‪++‬ة ليس‪++‬ت مخزن‪++‬ة في قاع‪++‬دة بيان‪++‬ات "‪ "SQLite‬على‬ ‫‪A11-4‬‬
‫الجهاز‪.‬‬

‫اإلصدار <‪>1.0‬‬

‫‪27‬‬
‫نموذج معيار التطوير اآلمن للتطبيقات‬

‫التحق‪++‬ق من أن المف‪++‬اتيح الس‪++‬رية وكلم‪++‬ات الم‪++‬رور ليس‪++‬ت مثبت‪++‬ة في الش‪++‬فرة في ال‪++‬برامج‬ ‫‪A11-5‬‬
‫التنفيذية‪.‬‬

‫التحقق من أن تطبيق الهاتف المحمول يمنع تسرب المعلومات المحمية عن طريق خاصية‬ ‫‪A11-6‬‬
‫التصوير التلقائي في نظام تشغيل "‪."iOS‬‬

‫التحق‪++‬ق من أن التط‪++‬بيق ال يمكن تش‪++‬غيله على جه‪++‬از تم إلغ‪++‬اء القي‪++‬ود الموج‪++‬ودة علي‪++‬ه (‬ ‫‪A11-7‬‬
‫‪ )Jailbroken‬أو جهاز يتمتع بصالحيات ومزايا هامة وحساسة (‪.)Rooted‬‬

‫التحقق من أن وقت انتهاء الجلسة له قيمة منطقية‪.‬‬ ‫‪A11-8‬‬

‫التحقق من التصاريح التي يتم طلبها ومن المصادر التي يتم منح تصاريح الوصول إليها (‬ ‫‪A11-9‬‬
‫‪ ،AndroidManifest.xml‬و‪.)iOS Entitlements‬‬

‫التحقق من أن سجالت انهيار النظام ال تتضمن معلومات محمية‪.‬‬ ‫‪A11-10‬‬

‫التحقق من عدم وضوح النظام الثنائي في التطبيق‪.‬‬ ‫‪A11-11‬‬

‫التحقق من أن كافة بيانات االختبار قد تم إزالتها من حاوية التطبيق (‪.)apk .bar .ipa.‬‬ ‫‪A11-12‬‬

‫التحقق من أن التطبيق ال يقوم بتس‪++‬جيل المعلوم‪++‬ات المحمي‪+‬ة على س‪++‬جل النظ‪+‬ام أو ملف‪++‬ات‬ ‫‪A11-13‬‬
‫النظام‪.‬‬

‫التحقق من أن التطبيق ال يتيح اإلكمال التلقائي للنص‪++‬وص الحساس‪++‬ة في حق‪++‬ول الم‪++‬دخالت‬ ‫‪A11-14‬‬
‫مثل حقول كلمات المرور أو المعلومات الشخصية أو بطاقات االئتمان‪.‬‬

‫التحق‪++‬ق من أن تط‪++‬بيق اله‪++‬اتف المحم‪++‬ول يطب‪++‬ق عملي‪++‬ة تث‪++‬بيت الش‪++‬هادات (‪Certificate‬‬ ‫‪A11-15‬‬
‫‪ )Pinning‬لمنع إدارة حركة البيانات في التطبيق بالوكالة‪.‬‬

‫التحق‪++‬ق من ع‪++‬دم وج‪++‬ود إع‪++‬دادات خاطئ‪++‬ة في ملف‪++‬ات اإلع‪++‬دادات (مجموع‪++‬ة العالم‪++‬ات‬ ‫‪A11-16‬‬
‫التصحيحية‪ ،‬وتصاريح قابلة للقراءة وللكتابة العالمية)‪.‬‬

‫التحقق من تح‪+‬ديث مكتب‪+‬ات األط‪+‬راف الخارجي‪+‬ة قي‪+‬د االس‪+‬تخدام وع‪+‬دم احتوائه‪+‬ا على أي‬ ‫‪A11-17‬‬
‫ثغرات معروفة‪.‬‬

‫التحقق من عدم تخزين بيانات الويب مث‪+‬ل حرك‪+‬ة بيان‪+‬ات بروتوك‪+‬ول نق‪+‬ل النص التش‪+‬عبي‬ ‫‪A11-18‬‬
‫اآلمن (‪.)HTTPS‬‬

‫التحقق من عدم استخدام سلسلة األحرف لالستفس‪+‬ار (‪ )Query String‬م‪+‬ع المعلوم‪+‬ات‬ ‫‪A11-19‬‬
‫المحمية‪ .‬بدًال من ذلك‪ ،‬يجب استخدام طلب ‪ ""POST‬عبر طبق‪+‬ة المناف‪+‬ذ اآلمن‪+‬ة ((‪SSL‬‬
‫مع رمز تعريفي للحماية من تزوير الطلب عبر المواقع (‪.)CSRF‬‬

‫التحقق‪ ،‬إن أمكن‪ ،‬من أن أرقام الحسابات الشخصية متقطعة قبل تخزينها على الجهاز‪.‬‬ ‫‪A11-20‬‬

‫اإلصدار <‪>1.0‬‬

‫‪28‬‬
‫نموذج معيار التطوير اآلمن للتطبيقات‬

‫(‬ ‫التحقق من أن التطبيق يستفيد من خاصية التوزيع العشوائي لمخطط مس‪++‬احات العن‪++‬اوين‬ ‫‪A11-21‬‬
‫‪.)ASLR‬‬

‫التحق‪++‬ق من أن البيان‪++‬ات المس‪++‬جلة عن طري‪++‬ق لوح‪++‬ة المف‪++‬اتيح (‪ )iOS‬ال تتض‪++‬من بيان‪++‬ات‬ ‫‪A11-22‬‬
‫اعتماد أو معلومات مالية أو معلومات محمية أخرى‪.‬‬

‫في تطبيق‪++++‬ات األندروي‪++++‬د‪ ،‬التحق‪++++‬ق من أن التط‪++++‬بيق ال ينش‪++++‬ئ ملف‪++++‬ات بتص‪++++‬اريح "‬ ‫‪A11-23‬‬
‫‪ " MODE_WORLD_READABLE‬أو "‬
‫‪." MODE_WORLD_WRITABLE‬‬

‫التحقق من تخزين المعلومات المحمية بطريقة مشفرة وآمنة (حتى عند تخزينها في سلسلة‬ ‫‪A11-24‬‬
‫مفاتيح ‪.)""iOS‬‬

‫التحقق من تطبيق آليات مكافحة التصحيح والهندسة العكسية في التطبيق‪.‬‬ ‫‪A11-25‬‬

‫التحق‪++‬ق من أن التط‪++‬بيق ال يس‪++‬تورد أنش‪++‬طة حساس‪++‬ة أو م‪++‬زودي محت‪++‬وى أو غ‪++‬يرهم على‬ ‫‪A11-26‬‬
‫األندرويد‪.‬‬

‫التحقق من استخدام هيكليات متغ‪++‬يرة لسالس‪++‬ل الح‪++‬روف العش‪++‬وائية (‪ )Strings‬الحساس‪++‬ة‬ ‫‪A11-27‬‬


‫مثل أرقام الحسابات‪ ،‬والكتابة فوقها عن‪++‬د ع‪++‬دم اس‪++‬تخدامها (لتقلي‪++‬ل األض‪++‬رار الناجم‪++‬ة عن‬
‫هجمات تحليل الذاكرة)‪.‬‬

‫التأكد من تنفيذ التحقق الكامل من البيان‪++‬ات على الم‪++‬دخالت ألي رس‪++‬ائل أنش‪++‬طة وم‪++‬زودي‬ ‫‪A11-28‬‬
‫محتوى ومتلقي بث معرضين للمخاطر (األندرويد)‪.‬‬

‫األدوار والمسؤوليات‬
‫مالك المعيار‪< :‬رئيس اإلدارة المعنية باألمن السيبراني>‪.‬‬ ‫‪-1‬‬
‫مراجعة وتحديث المعيار‪< :‬اإلدارة المعنية باألمن السيبراني>‪.‬‬ ‫‪-2‬‬
‫تنفيذ وتطبيق المعيار‪< :‬اإلدارة المعنية بتقنية المعلومات>‪.‬‬ ‫‪-3‬‬
‫قياس االلتزام بالمعيار‪< :‬اإلدارة المعنية باألمن السيبراني>‪.‬‬ ‫‪-4‬‬

‫التحديث والمراجعة‬
‫يجب على <اإلدارة المعنية باألمن السيبراني> مراجعة المعيار سنوًيا على األقل أو في حال حدوث‬
‫تغييرات تقنية جوهرية في البنية التحتية أو في حال حدوث تغييرات في السياسات أو اإلجراءات التنظيمية في‬
‫<اسم الجهة> أو المتطلبات التشريعية والتنظيمية ذات العالقة‪.‬‬

‫اإلصدار <‪>1.0‬‬

‫‪29‬‬
‫نموذج معيار التطوير اآلمن للتطبيقات‬

‫االلتزام بالمعيار‬
‫يجب على <رئيس اإلدارة المعني‪++‬ة ب‪++‬األمن الس‪++‬يبراني> التأك‪++‬د من ال‪++‬تزام <اس‪++‬م الجه‪++‬ة> به‪++‬ذا المعي‪++‬ار‬ ‫‪-1‬‬
‫باستمرار‪.‬‬
‫يجب على جميع العاملين في <اسم الجهة> االلتزام بهذا المعيار‪.‬‬ ‫‪-2‬‬
‫قد يعرض أي انتهاك لهذا المعيار صاحب المخالفة إلى إجراء تأديبي حس‪++‬ب اإلج‪++‬راءات المتبع‪++‬ة في <اس‪++‬م‬ ‫‪-3‬‬
‫الجهة>‪.‬‬

‫اإلصدار <‪>1.0‬‬

‫‪30‬‬

You might also like