Professional Documents
Culture Documents
STANDARD Secure Coding Template Ar FINAL
STANDARD Secure Coding Template Ar FINAL
إخالء المسؤولية
ُط ور هذا النموذج عن طريق الهيئة الوطنية لألمن الس++يبراني كمث++ال توض++يحي يمكن اس++تخدامه ك++دليل
ومرجع للجهات .يجب أن يتم تعديل ه+ذا النم+وذج ومواءمت+ه م+ع أعم+ال <اس+م الجه+ة> والمتطلب+ات التش+ريعية
والتنظيمية ذات العالقة .كما يجب أن ُيعتمد هذا النموذج من قبل رئيس الجهة أو من يقوم/تقوم بتفويض++ه .وتخلي
الهيئة مسؤوليتها من استخدام هذا النموذج كما هو ،وتؤكد على أن هذا النموذج ما هو إال مثال توضيحي.
اإلصدار <>1.0
1
نموذج معيار التطوير اآلمن للتطبيقات
اعتماد الوثيقة
نسخ الوثيقة
<أدخل وصف التعديل> <أدخل االسم الكامل للموظف> <أدخل رقم النسخة>
جدول المراجعة
اضغط هنا إلضافة تاريخ اضغط هنا إلضافة تاريخ مره واحدة كل سنة
اإلصدار <>1.0
2
نموذج معيار التطوير اآلمن للتطبيقات
قائمة المحتويات
الغرض4..................................................................................................................
نطاق المعيار4............................................................................................................
المعايير4..................................................................................................................
األدوار والمسؤوليات29.................................................................................................
التحديث والمراجعة29...................................................................................................
االلتزام بالمعيار29.......................................................................................................
اإلصدار <>1.0
3
نموذج معيار التطوير اآلمن للتطبيقات
الغرض
يهدف هذا المعيار إلى تحديد متطلبات األمن السيبراني التفصيلية لحماية تطوير البرمجيات والتطبيق++ات
الخاصة ب<اسم الجهة> وذلك لتحقيق الغرض األساسي وهو تقليل المخ++اطر الس++يبرانية الناتج++ة عن التهدي++دات
الداخلية والخارجية في <اس+م الجه+ة> .ه+ذه المتطلب+ات تمت موائمته+ا متطلب+ات األمن الس+يبراني الص+ادرة من
الهيئة الوطنية لألمن السيبراني ويشمل ذلك على سبيل المثال ال الحصر :الضوابط األساس++ية لألمن الس++يبراني (
،)ECC – 1: 2018ضوابط األمن الس+يبراني لألنظم+ة الحساس+ة ( )CSCC – 1: 2019وغيره+ا من
المتطلبات التشريعية والتنظيمية ذات العالقة.
نطاق المعيار
يطبق هذا المعيار على جميع أنشطة ومشاريع وممارسات تط++وير البرمجي++ات والتطبيق++ات واألص++ول
المعلوماتية والتقنية الخاص+ة به+ا في <اس+م الجه+ة> ،وعلى جمي+ع الع+املين (الم+وظفين والمتعاق+دين) في <اس+م
الجهة>.
المعايير
التطوير اآلمن للتطبيقات 1
توفير متطلبات األمن السيبراني لضمان حماية أنش+طة تط+وير البرمجي+ات والتطبيق++ات
الهدف
وضوابط األمن السيبراني لحماية البرمجيات التي يتم تطويرها.
يمكن أن يؤدي تطوير التطبيق+ات غ+ير اآلمن إلى إيج+اد ثغ+رات أمني+ة يمكن اس+تغاللها
المخاطر المحتملة
لتهديد سرية بيانات <اسم الجهة> وسالمتها وتوافرها ،والتأثير في سير عملها.
اإلجراءات المطلوبة
ضمان اختبار األمن السيبراني في مراحل اختبار تطوير البرمجي++ات ودمج++ه في دورة
1-4
حياة تطوير البرمجيات اآلمنة (.)SSDLC
تطوير آلية تلقائية في مراحل اختبار تطوير البرمجيات اتجاه البرمجي+ات واالختراق+ات
1-5
الضارة المعروفة.
اإلصدار <>1.0
4
نموذج معيار التطوير اآلمن للتطبيقات
يجب استخدام الطرق المختلفة لالختبارات األمنية في مراحل تط++وير البرمجي++ات مث++ل
1-6
(طريقة التشويش ،اختبار الصندوق األسود) وغيرها.
تصميم وإعداد بيئة آمنة لغايات التطوير واالختبار وضمان الجودة. 1-7
يجب استخدام لغة ذاكرة آمنة ويجب اختبار التطبيق ضد هجمات اختراقات الذاكرة. 1-9
تط++بيق إج++راءات التخفي++ف على أعلى 10مخ++اطر ته++دد أمن تطبيق++ات ال++ويب وفق ً+ا
للمشروع المفتوح ألمن تطبيقات الويب ( )OWASPفيما يخص األنظمة والتطبيقات 1-10
الحساسة.
تطبيق آليات لتقييد صالحيات التعديل على الشفرة المصدرية أو بيانات بيئات اإلنتاج. 1-11
إلزام الموردين الخارجيين ب++االلتزام بسياس++ات ومع++ايير األمن الس++يبراني المعتم++دة في
1-12
<اسم الجهة>.
استخدام المصادر الحديثة والموثوق به++ا والمرخص++ة فق++ط ألدوات تط++وير البرمجي++ات
1-13
والمكتبات والمكونات.
ضمان تطبيق ض++وابط حماي+ة تطبيق++ات ال+ويب وفقً+ا لسياس++ة ومعي+ار حماي+ة تطبيق++ات
1-14
الويب المعتمدين في <اسم الجهة>.
استخدام خوارزمي++ات تش++فير موح++دة ومراجع++ة بدق++ة وفقً+ا للمع++ايير واإلج++راءات ذات
1-15
العالقة.
تدريب جميع العاملين في تطوير البرمجيات على كتاب++ة الش++فرات المص++درية المناس++بة
1-17
للغة البرمجة وبيئة التطوير المستخدمة.
يجب التأكد من أن جميع العاملين داخل أو خارج <اسم الجهة> لمن له عالقة في دورة
حياة تطوير البرمجيات على استعداد لتنفيذ مهامهم ومسؤولياتهم خالل دورة حياة 1-18
تطوير التطبيق.
<اسم الجهة> يجب أن تطبق آليات الحماية والتحصين على أجهزة مطوري التطبيقات
مثل (األجهزة المحمولة لمصممي التطبيقات ،مطوري التطبيقات ،مختبري التطبيقات، 1-19
الخ) لتنفيذ المهام التطويرية باستخدام المنهجية القائمة على المخاطر.
يجب على <اسم الجهة> ضمان التغييرات اآلمنة المصرح بها للشفرة لتقييد مصادر 1-20
اإلصدار <>1.0
5
نموذج معيار التطوير اآلمن للتطبيقات
توفير ضوابط األمن السيبراني لضمان حماية الشفرة المص++درية والمكتب++ات ومس++تودع
الهدف
الشفرة المصدرية.
في ح++ال ع++دم توف++ير حماي++ة كافي++ة ومناس++بة للش++فرة المص++درية والمكتب++ات ،يمكن أن
تتعرض الشفرة المصدرية في <اسم الجه++ة> للخط++ر أو يتم التالعب به++ا أو الوص++ول المخاطر المحتملة
غير المصرح به لها.
اإلجراءات المطلوبة
اس++تخدام مس++تودع ش++فرة مص++درية آمن يمت++از بتط++بيق إج++راءات التحق++ق من الهوي++ة
2-1
واإلصدار والرقابة وتسجيل الدخول.
تط++بيق إج++راءات من++ع وص++ول أي ش++خص إلى الش++فرة المص++درية ومس++تودع الش++فرة
2-2
المصدرية باستثناء مطوري التطبيقات والجهات المسؤولة عنها عند الحاجة.
استخدام خطة ترقيم موح+دة لض+وابط اإلص+دار بحيث ت+بين ت+اريخ تث+بيت اإلص+دارات
2-3
المحدثة من البرمجيات.
فصل الشفرة المصدرية للتطبيقات قي++د التط++وير عن الش++فرة المص++درية للتطبيق++ات في
2-5
بيئة اإلنتاج.
أرشفة الشفرة المصدرية للتطبيقات التي انتهت صالحيتها بحيث يمكن استرجاعها عن++د
2-6
الحاجة.
الحص++ول على نس++خة من الش++فرة المص++درية لكاف++ة التطبيق++ات ال++تي طورته++ا أط++راف
2-7
خارجية لـ<اسم الجهة> وتخزينها في مستودع الشفرة المصدرية.
تثبيت آليات إدارة األسرار وذلك من أج++ل إدارة األس++رار والمف++اتيح والش++هادات ومن++ع
2-9
تخزين األسرار في الحاويات.
استخدام سجل حاويات خاص لضمان تنزيل نسخ الحاويات المعتمدة واآلمن++ة فق++ط على
2-11
النظام بحيث يمكن فحص كل نسخة بحثًا عن الثغرات المعروفة والشائعة.
اإلصدار <>1.0
6
نموذج معيار التطوير اآلمن للتطبيقات
عدم إدارة الحاويات من خالل حسابات المستخدمين عالية الصالحية واالمتيازات. 2-12
توف++ير ض++مان بش++أن تط++بيق ض++وابط األمن الس++يبراني على تط++وير التطبيق++ات اآلمن
الهدف
وكشف نقاط الضعف والثغرات والمشكالت في البرمجيات.
يمكن أن تتعرض <اسم الجهة> إلى مخاطر أمنية كبيرة في ح++ال ع++دم اختب++ار الش++فرة
المصدرية وأنشطة تطوير الشفرات ومراجعته++ا بانتظ++ام لغاي++ات الكش++ف عن الثغ++رات
المخاطر المحتملة
األمني++ة واإلع++دادات الخاطئ++ة ونق++اط الض++عف ،يمكن أن تتع++رض <اس++م الجه++ة> إلى
مخاطر أمنية كبيرة.
اإلجراءات المطلوبة
إجراء عملية مراجعة الشفرة المصدرية بانتظام لتطبيقات الويب المطورة داخليًا. 3-1
القي++ام بمراجع++ة أمني++ة الش++فرة المص++درية بانتظ++ام لكاف++ة التطبيق++ات المط++ورة لـ <اس++م
3-3
الجهة> من قبل أطراف خارجية.
مراجع++ة واعتم++اد الض++وابط األمني++ة للتطبيق++ات المط++ورة داخلي ً+ا قب++ل تثبيته++ا في بيئ++ة
3-4
اإلنتاج.
إعادة تقييم التطبيقات الحالية المطورة داخليًا وإعادة اعتمادها بعد إجراء تغيير رئيس++ي
3-5
عليها أو بعد مرور فترة زمنية محددة.
إجراء تقييم المخاطر لكافة التطبيقات قيد التطوير أو التي يتم شراؤها لتحديد الض++وابط
المطلوبة لتقليل مخاطر التطبيق+ات إلى مس+تويات مقبول+ة قب+ل التث+بيت في بيئ+ة اإلنت+اج 3-6
(يرجى الرجوع إلى سياسة إدارة المخاطر المعتمدة في <اسم الجهة>).
إجراء اختبار االلتزام باألمن السيبراني للبرمجيات بناًء على سياسات األمن الس++يبراني
3-7
المعتمدة في <اسم الجهة> قبل التثبيت في بيئة اإلنتاج.
إجراء مراجعة إلعدادات البرمجيات بما في ذلك مراجعة اإلعدادات والتحصين وح++زم
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
إدراج االختبارات كجزء من عمليات التحسين المستمر والتطوير المستمر (.)CI/CD 3-20
اإلصدار <>1.0
8
نموذج معيار التطوير اآلمن للتطبيقات
التحقق من أن المستخدمين يمكنهم الوص++ول فق++ط إلى الوظ++ائف أو الخ++دمات اآلمن++ة ال++تي A1-1
يملكون تصاريح وصالحيات خاصة لها.
التحق+++ق من أن المس+++تخدمين يمكنهم الوص+++ول فق+++ط إلى العن+++اوين اآلمن+++ة (Secured A1-2
)URLsالتي يملكون تصاريح وصالحيات خاصة لها.
التحقق من أن المستخدمين يمكنهم الوصول فقط إلى ملفات البيان++ات اآلمن++ة ال++تي يملك++ون A1-3
تصاريح وصالحيات خاصة لها.
A1-4
التحقق من عدم تجاوز ضوابط الوصول.
التحق++ق من أن مرجعي++ات العناص++ر المباش++رة محمي++ة بحيث يمكن الوص++ول فق++ط إلى A1-5
العناصر المصرح بها لكل مستخدم.
التحق++ق من إلغ++اء تفعي++ل تص++فح ال++دليل ( )Directory Browsingإال إذا ك++ان ذل++ك A1-6
مطلوبًا.
التحقق من أن المستخدم يمكنه الوصول فقط إلى المعلومات المحمية ال++تي يمل++ك تص++اريح
A1-7
وصالحيات خاصة لها (على سبيل المث++ال ،من خالل تط++بيق ض++وابط لحماي++ة مرجعي++ات
الكائنات من التالعب المباشر والوصول غير المصرح به إلى البيانات).
A1-8
التحقق من إخفاق ضوابط الوصول بصورة آمنة.
التحق++ق من أن نفس قواع++د التحكم بالوص++ول المتض++منة في طبق++ة الع++رض مطبق++ة على
A1-9
الخادم بحسب دور المس+تخدم ،بحيث ال يمكن إع+ادة تفعي+ل الض+وابط والمع+ايير أو إع+ادة
إضافتها من مستخدمين يمتلكون مزايا وصالحيات أعلى.
التحقق من أن قرارات التحكم بالوصول يمكن تسجيلها وأن كافة الق++رارات غ++ير الناجح++ة A1-12
اإلصدار <>1.0
9
نموذج معيار التطوير اآلمن للتطبيقات
قد تم تسجيلها.
التحقق من أن التط++بيق أو إط++ار العم++ل يص++در رم++وزًا تعريفي++ة عش++وائية معق++دة مض++ادة
ل++تزوير الطلب ع++بر المواق++ع ،))"Cross-Site Request Forgery "CSRF
وتكون هذه الرموز خاصة بالمستخدم باعتبارها جزءًا من كافة المعامالت عالية القيم++ة أو A1-13
الوصول إلى المعلومات المحمية ،وأن التطبيق يتحق++ق من وج++ود ه++ذه الرم++وز التعريفي++ة
بالقيمة المالئمة للمستخدم الحالي عند معالجة هذه الطلبات.
الحماي++ة التراكمي++ة للتحكم بالوص++ول -التحق++ق من أن النظ++ام يس++تطيع توف++ير الحماي++ة من
الوصول التراكمي أو المستمر للوظائف المحمية أو المصادر أو البيانات ،وذلك من خالل
A1-14
استخدام ضابط مصادر ( )Resource Governorعلى سبيل المث+ال ،للح+د من ع+دد
حاالت التسجيل لكل ساعة أو منع مستخدم فردي من سحب بيانات قاعدة البيانات بأكملها.
التحقق من وجود آلي+ة مركزي+ة (بم+ا في ذل+ك المكتب+ات ال+تي تس+تدعي خ+دمات تص+اريح
A1-15
وصالحيات خارجية) للتحكم بالوصول إلى كل نوع من المصادر المحمية.
التحق++ق من الفص++ل بين المنط++ق ال++ذي يتمت++ع بمزاي++ا وص++الحيات عن ش++فرات التط++بيق
A1-16
األخرى.
تطبيق ضوابط الوصول المالئمة إلى المعلوم++ات المحمي++ة المخزن++ة على الخ++ادم .وتش++مل
هذه المعلومات البيانات المخزنة والملفات المؤقتة والبيانات التي يمكن الوصول إليها فق++ط A1-17
من قبل مستخدمين نظام محددين.
التحقق من تطبيق تدقيق الحسابات وإلغاء تفعي++ل الحس++ابات غ++ير المس++تخدمة (على س++بيل
المثال ،بعد مرور أكثر من 30يومً+ا من ت++اريخ انته++اء ص++الحية كلم++ة م++رور الحس++اب، A1-19
حساب غير مستخدم).
في ح++ال الس++ماح بالجلس++ات الطويل++ة المص++ادق عليه++ا ،يجب إع++ادة التحق++ق دوري ً+ا من
تصاريح وصالحيات المستخدم لضمان عدم تغير مزاياه ،وفي حال تغيرها ،يجب تس++جيل
A1-20
خ++روج المس++تخدم وإجب++اره على إج++راء عملي++ة إع++ادة التحق++ق من الهوي++ة (مث++ل الرس++ائل
النصية ،أو رموز تعريفية ،أو غيرها (.
التحقق من أن التطبيق يدعم إلغاء تفعيل الحسابات وإنهاء الجلسات عند توق++ف التص++اريح
والصالحيات (على سبيل المثال ،عند حدوث تغيير في ال++دور ،أو في حال++ة التوظي++ف ،أو
A1-21
إجراءات األعمال ،أو غيرها)employment status, business process, ,.
.).etc
اإلصدار <>1.0
10
نموذج معيار التطوير اآلمن للتطبيقات
التحقق من أن كافة داالت التشفير المستخدمة لحماية األسرار من مستخدم التطبيق مطبق++ة A2-1
على الخادم.
التحقق من حماية أي أسرار رئيسية من الوصول غير المص++رح ب++ه (الس++ر الرئيس++ي ه++و
بيانات اعتم+اد التط+بيق المخزن+ة كنص غ+ير مش+فر على الق+رص وال+تي تس+تخدم لحماي+ة A2-3
الوصول إلى معلومات اإلعدادات األمنية).
التحقق من أن نماذج التشفير المس+تخدمة في التط+بيق ق+د تم التحق+ق منه+ا وفقً+ا للسياس+ات
A2-5
واإلجراءات ذات العالقة.
التحق+ق من أن نم+اذج التش+فير تعم+ل بنظامه+ا المعتم+د وفقً+ا للسياس+ات واإلج+راءات ذات
A2-6
العالقة.
التحقق من وجود سياسة صريحة حول كيفية إدارة مفاتيح التش++فير (مث++ل كيفي++ة إص++دارها
A2-7
وتوزيعها وإلغائها وانتهاء صالحيتها) والتحقق من تطبيق هذه السياسة بصورة مالئمة.
التحقق من حماية كافة مفاتيح التشفير بصورة مالئمة .في ح++ال تع++رض المفت++اح النته++اك
A2-9
أمني ،فإنه ال يمكن الوثوق به ويجب استبداله أو إلغاؤه.
التحقق من إلغاء تفعيل تخزين النماذج التي تتضمن معلومات محمية لدى العمي++ل ،بم++ا في
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
تتضمن معلومات محمية ،بما في ذلك التحقق من الهوية.
التحقق من أن بيئة التش+غيل غ+ير معرض+ة لتج+اوز س+عة المخ+زن الم+ؤقت ،وأن ض+وابط
A3-1
األمن تمنع تجاوز سعة المخزن المؤقت.
التحق++ق من أن بيئ++ة التش++غيل غ++ير معرض++ة لحقن تعليم++ات االس++تعالم البنيوي++ة )SQL
،)Injectionوأن ض++++وابط األمن تمن++++ع حقن تعليم++++ات االس++++تعالم البنيوي++++ة (SQL A3-2
.)Injection
اإلصدار <>1.0
12
نموذج معيار التطوير اآلمن للتطبيقات
التحق++ق من أن بيئ++ة التش++غيل غ++ير معرض++ة لحقن النص++وص البرمجي++ة ع++بر المواق++ع ((
A3-4
،XSSوأن ضوابط األمن تمنع حقن النصوص البرمجية عبر المواقع.) )XSS
التحق++ق من أن بيئ++ة التش++غيل غ++ير معرض++ة لحقن بروتوك++ول النف++اذ إلى ال++دليل البس++يط
))LDAP Injectionوأن ضوابط األمن تمنع حقن بروتوكول النفاذ إلى الدليل البس++يط A3-5
(.)LDAP Injection
التحق+++ق من أن بيئ+++ة التش+++غيل غ+++ير معرض+++ة لحقن أوام+++ر نظ+++ام التش+++غيل ( OS
،(Command Injectionوأن ضوابط األمن تمنع حقن أوام++ر نظ++ام التش++غيل (OS A3-6
.(Command Injection
عند الحاجة إلى السماح برموز خطرة محتملة كمدخالت ،يجب التأكد من تط++بيق ض++وابط
إض++افية مث++ل ترم++يز الم++دخالت ،وحماي++ة واجه++ات برمج++ة التطبيق++ات الخاص++ة بالمه++ام،
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-19
له ضابط أمني واحد للوجهة المقصودة.
التحقق من عمليات التطبيق ومن كافة تدفقات قواعد العمل عالي++ة القيم++ة في بيئ++ة موثوق++ة
A4-1
مثل الخادم المحمي والمراقب.
التحقق من أن التطبيق ال يسمح بمع++امالت عالي+ة القيم++ة منتحل+ة ،مث+ل الس++ماح للمس++تخدم
المهاجم (أ) بمعالجة معاملة باعتباره المستخدم الض++حية (ب) من خالل التالعب أو إع++ادة A4-2
إعداد الجلسة أو حالة المعاملة أو هوية المستخدم أو المعاملة.
التحقق من أن التطبيق ال يسمح بالتالعب بمعايير قواعد العمل عالية القيمة وال+تي تش+مل،
على سبيل المثال ال الحصر ،السعر ،والفائدة ،والخص++ومات ،والمعلوم++ات القابل++ة لتحدي++د A4-3
الهوية ( ،)PIIواألرصدة ،وهويات األسهم ،وغيرها.
التحقق من وجود إجراءات دفاعية في التطبيق للحماية من هجم++ات اإلنك++ار ،حيث تش++مل
هذه اإلجراءات سجالت المعامالت المحمية والقابلة للتحقق ،وسجالت التدقيق أو س++جالت
A4-4
النظام ،وفي األنظمة ذات القيمة األعلى ،المراقبة المباشرة ألنشطة المستخدم والمع+امالت
بحثًا عن أي أنشطة غير طبيعية.
التحقق من وجود ضوابط كشف وضبط كافية في التطبيق للحماية من الهجمات التخميني++ة
A4-6
(مثل االستخدام المستمر لدالة معينة) أو هجمات حجب الخدمة.
التحقق من وجود ضوابط وصول كافية في التط++بيق لمن++ع هجم++ات رف++ع مس++توى المزاي++ا A4-7
والص++الحيات ،وتش++مل ه++ذه الض++وابط من++ع المس++تخدمين المجه++ولين من الوص++ول إلى
اإلصدار <>1.0
14
نموذج معيار التطوير اآلمن للتطبيقات
البيان++ات المحمي++ة أو ال++داالت المحمي++ة ،أو من++ع المس++تخدمين من الوص++ول إلى معلوم++ات
المستخدمين اآلخرين ،أو استخدام وظائف ذات مزايا وصالحيات هامة وحساسة.
التحقق من أن التط++بيق يع++الج دفع++ات قواع++د العم++ل في خط++وات متتالي++ة فق++ط ،بحيث تتم
معالجة كافة الخطوات مباشرة ،وتجنب المعالجة بطريقة غير منتظمة أو التج++اوز عن أي A4-8
خطوات ،أو معالجة خطوات مستخدم آخر أو المعامالت المقدمة بسرعة.
التحق++ق من أن التط++بيق يتض++من تص++اريح وص++الحيات إض++افية (مث++ل تحق++ق اإلع++داد أو
التحقق من الهوية المتغير) ألنظم++ة القيم المتدني++ة و/أو فص++ل المه++ام للتطبيق++ات ذات القيم
A4-9
المرتفع++ة لف++رض ض++وابط مكافح++ة االحتي++ال وفقً+ا لمخ++اطر التط++بيق وعملي++ات االحتي++ال
السابقة.
التحقق من أن للتطبيق حدود عمل يطبقها في موقع موث++وق (كتطبيقه++ا على خ++ادم محمي)
على كل مستخدم أو بشكل يومي ،والتي تتضمن تنبيهات قابلة لإلعداد واس++تجابات تلقائي++ة A4-10
للهجمات التلقائية أو غير االعتيادية.
يجب تطبيق واستخدام آلية أمنية في تطوير دورة حياة التطبيقات بواسطة مطوري A4-11
.التطبيقات المحترفين بالوظائف والخصائص األمنية
.يجب دمج لغة األمان وعناصر التحكم في حاالت المستخدم أو العميل A4-14
يجب دمج الفحص لكل طبقة في التطبيق من الواجهة األمامية للتطبيق الى الواجهة A4-15
.الخلفية للتطبيق
يجب كتابة اختبارات الوحدة والتحقق من أن جميع التدفقات الحرجة مقاومة لنموذج
A4-16
التهديد .كما يجب تجميع الحاالت وحاالت سوء االستخدام لكل طبقة في التطبيق.
يجب أن تكون طبقات التطبيق منفصلة في األنظمة وشبكات اإلنترنت بناًء على احتياجات A4-17
.التعرض والحماية
يجب أن يكون التصميم للتطبيق بناًء على فصل المشتركين أو العمالء على مدار كل A4-18
.الطبقات
التحقق من أنه يمكن بناء مسار من جهة إصدار شهادات موثوقة لكل ش++هادة تش++فير خ++ادم
A5-1
أمن طبقة النقل ،))TLSوأنه قد تم التحقق من صالحية شهادة كل خادم.
اإلصدار <>1.0
15
نموذج معيار التطوير اآلمن للتطبيقات
التحقق من استخدام أحدث إصدار من أمن طبقة النقل ))TLSفي كاف++ة االتص++االت (بم++ا
في ذلك االتصاالت الخارجية واتصاالت أجهزة النقطة النهائية) التي تم مصادقتها أو التي A5-2
تتضمن معلومات أو وظائف محمية.
التحق++ق من تس++جيل ح++االت إخف++اق اتص++االت أمن طبق++ة النق++ل ( )TLSب++أجهزة النقط++ة
A5-3
النهائية.
التحقق من المصادقة على كافة االتصاالت مع األنظمة الخارجية ال+تي تتض++من معلوم++ات
A5-4
أو وظائف محمية.
التحقق من أن اتصاالت أمن طبقة النق++ل ( )TLSالفاش++لة ال ينتج عنه++ا اتص++ال غ++ير آمن
A5-6
(غير مشفر).
التحقق من أن مسارات شهادات التشفير قد تم بناؤها والتحقق منها لكافة ش++هادات التش++فير
A5-7
الخاصة بالعميل باستخدام جهات الصالحيات الموثوقة ومعلومات اإللغاء.
التحق++ق من وج++ود تنفي++ذ أمن طبق++ة النق++ل ))TLSموح++د يتم اس++تخدامه في التط++بيق وتم
A5-8
إعداده ليعمل في نظام عمل معتمد.
التحقق من أن ترميز الرموز المحددة معرف لكافة االتصاالت (مثل ".)"UTF-8 A5-9
التحقق ومراجعة اإلعدادات دوريًا بما يتوافق مع أحدث اإلعدادات األمنية. A5-10
التحقق من أن التطبيق يقبل مجموعة مح++ددة فق++ط من ط++رق طلب بروتوك++ول نق++ل النص
التشعبي ( )HTTPمثل طلب "" GETوطلب " "POSTوأن الط++رق غ++ير المس++تخدمة A5-11
محظورة.
اإلصدار <>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أو طريقة تحقق مشابهة.
إذا ك++ان من غ++ير الممكن تط++بيق ه++ذه الض++وابط ،يجب دراس++ة اس++تخدام ح++زم التح++ديثات
االفتراضية ،أو البوابات األمنية لواجهات برمجة التطبيق++ات ،أو ج++دار الحماي++ة لتطبيق++ات
A5-21
الويب لكشف هجمات لغ++ة الترم++يز القابل+ة لالمت+داد لجه++ات خارجي+ة (( XXEومراقبته++ا
وحجبها.
التحقق من استخدام بيانات اعتماد معقدة وآمنة للوصول إلى قواعد البيانات. A5-23
التحق++ق من أن التط++بيق ال++ذي يص++ل إلى قواع++د البيان++ات يمتل++ك أدنى مس++توى ممكن من
A5-24
االمتيازات والصالحيات المطلوبة.
اإلصدار <>1.0
17
نموذج معيار التطوير اآلمن للتطبيقات
التحقق من حذف كافة وظائف قاعدة البيانات غ++ير الالزم++ة أو غ++ير المس++تخدمة أو إلغ++اء
تفعيله++ا ،بم++ا في ذل++ك محت++وى الم++ورد التلق++ائي ،وتث++بيت الح++د األدنى من الخص++ائص
A5-27
والخيارات الالزمة لعمل التطبيق .على سبيل المثال ،إلغاء تفعيل اإلجراءات أو الخ++دمات
المخزنة وحزم الخصائص المفيدة غير الالزمة.
التحق++ق من إلغ++اء تفعي++ل أي حس++ابات تلقائي++ة أو غ++ير ض++رورية وال++تي يمكن من خالله++ا
A5-28
الوصول إلى قواعد البيانات غير الالزمة لدعم متطلبات األعمال.
التحقق من أن التطبيق يستخدم بيانات اعتماد مختلفة لكل ميزة وصالحية (مث++ل مس++تخدم،
A5-29
ومستخدم للقراءة فقط ،وضيف ،ومشرفين) عند اتصاله بقاعدة البيانات.
التحق++ق من إلغ++اء تفعي+ل تس++جيل ال+دخول عن بع++د والجلس++ات المجهول+ة إذا لم يكن هن+اك
A5-30
حاجة إليها.
بالنسبة للتطبيقات التي تعتمد على قاعدة بيانات ،يجب استخدام قوالب اإلع++داد والتحص++ين
A5-31
الموحدة ،واختبار جميع األنظمة التي تعتبر جزءًا من إجراءات العمل الحساسة.
التحقق من عدم وجود ش+فرات خبيث+ة في أي ش+فرة تم تطويره+ا أو تع+ديلها به+دف إنش+اء
A6-1
التطبيق.
التأكد من أن سالمة الشفرة المفسرة والمكتبات واألوامر التنفيذية وملفات اإلعدادات قد تم
A6-2
التحقق منها باستخدام المجموعات االختبارية أو عمليات حساب ملخص النص المميز.
التحقق من أن كافة الشفرات التي تطبق ضوابط التحقق من الهوي++ة أو تس++تخدمها لم تت++أثر
A6-3
بأي شفرات خبيثة.
التحقق من أن كافة الشفرات التي تطبق إدارة الجلسات أو تستخدمها لم تتأثر بأي ش++فرات
A6-4
خبيثة.
التحقق من أن كاف++ة الش++فرات ال++تي تطب++ق ض++وابط الوص++ول أو تس++تخدمها لم تت++أثر ب++أي
A6-5
شفرات خبيثة.
التحقق من أن كافة ضوابط التحقق من المدخالت لم تتأثر بأي شفرات خبيثة. A6-6
التحقق من أن كافة الشفرات التي تطبق ض++وابط التحق++ق من المخرج++ات أو تس++تخدمها لم
A6-7
تتأثر بأي شفرات خبيثة.
التحقق من أن كافة الشفرات التي تطبق نموذج التشفير أو تستخدمه لم تتأثر ب++أي ش++فرات
A6-8
خبيثة.
اإلصدار <>1.0
18
نموذج معيار التطوير اآلمن للتطبيقات
التحق++ق من أن كاف++ة الش++فرات ال++تي تطب++ق ض++وابط التعام++ل م++ع األخط++اء وتس++جيلها أو
A6-9
تستخدمها لم تتأثر بأي شفرات خبيثة.
عمل قائمة جرد مستمرة إلصدارات المكونات من طرف العميل والخادم (مثل أطر العمل
والمكتب+++ات) واعتمادياته+++ا باس+++تخدام أدوات مث+++ل اإلص+++دارات ،و"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
موثوقة.
التحقق من أن كافة أنواع الملفات المسموح برفعه++ا مقتص++رة على غاي++ات العم++ل وحس++ب
A6-26
الحاجة (مثل ملفات " "PDFومستندات برامج "".)Office
التأكد من أن التحقق من نوع المل++ف يتم من خالل التحق++ق من عن++اوين الملف++ات وليس من
A6-27
خالل اسم امتداد الملفات فقط.
التحقق من عدم تفعيل امتيازات وصالحيات التنفيذ في أدلة تحميل الملفات. A6-28
التحقق من ضبط إعدادات ملفات ومصادر التطبيق تلقائيًا على وضعية القراءة فقط. A6-29
التحق++ق من إلغ++اء كاف++ة أن++واع المش++اركات والمش++اركات اإلداري++ة غ++ير الالزم++ة ،وتقيي++د
A6-30
الوصول إلى المشاركات أو جعله يتطلب التحقق من الهوية.
وضع حد على حجم الملفات ال++تي يمكن رفعه++ا وال++ذي يجب أال يتج++اوز الحجم المطل++وب
لغايات العمل (على سبيل المثال 1 ،ميغابايت كحد أعلى) ،وإضافة مالحظ++ة على ص++فحة A6-32
الويب تخص أحجام الملفات المقبولة.
التحق+ق من أن كاف+ة الص+فحات والمص+ادر تقتض+ي التحق+ق من الهوي+ة باس+تثناء المح+ددة A7-1
اإلصدار <>1.0
20
نموذج معيار التطوير اآلمن للتطبيقات
التحقق من أن حقول كلمات المرور ال ُت ظهر كلمات مرور المستخدمين عن++د إدخاله++ا وأن
A7-2
خاصية اإلكمال التلقائي في حقول كلمات المرور (أو األشكال التي تتضمنها) غير مفعلة.
التحقق من أن كاف+ة ض+وابط التحق+ق من الهوي+ة تخف+ق بص+ورة آمن+ة لض+مان ع+دم ق+درة
A7-3
الجهات المهاجمة على تسجيل الدخول.
التحقق من أن بيانات االعتماد وكافة معلومات الهوية األخرى التي يتعامل معه++ا التط++بيق
A7-4
ال تمر عبر روابط غير مشفرة أو مشفرة بصورة غير آمنة.
التحقق من أن مسار "نسيت كلمة المرور" ومسارات االستعادة األخرى ال ترس++ل كلم++ات
A7-5
المرور الحالية أو الجديدة من غير تشفير إلى المستخدم.
التحقق من عدم وجود كلمات مرور افتراضية قيد االستخدام إلط++ار عم++ل التط++بيق أو أي
A7-7
مكونات مستخدمة من قبل التطبيق (مثل ".)"admin/password
التحقق من أن حقول كلمات المرور تسمح باس++تخدام عب++ارات م++رور ،وال تمن++ع اس++تخدام
عبارات مرور طويلة أو معقدة للغاية ،وت++وفر حماي++ة كافي++ة من اس++تخدام كلم++ات الم++رور 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
نموذج معيار التطوير اآلمن للتطبيقات
يجب إبالغ المستخدم بآخر استخدام للحساب (سواًء كان ناجحًا أم ال) عند تسجيله ال+دخول
A7-31
بنجاح.
التحقق من استخدام التطبيق لتنفيذ التحكم بإدارة الجلسة التلقائية الخاصة بإطار العمل. A7-32
التحقق من انتهاء وقت الجلسات بعد مرور فترة معينة من عدم النشاط. A7-34
التحقق من أن كاف++ة الص++فحات ال++تي تقتض++ي التحق++ق من الهوي++ة للوص++ول إليه++ا تتض++من
A7-35
روابط لتسجيل الخروج.
التحقق من أن هوية الجلسة غير مكشوفة أبدًا إال في عناوين ملف++ات االرتب++اط )Cookie
( ،Headersوتحدي++دًا في ش++ريط العن++وان ))URLأو رس++ائل الخط++أ أو الس++جالت.
A7-36
ويتضمن هذا التحقق من أن التطبيق ال ي+دعم قي+ام ش+ريط العن+وان (( URLبإع+ادة كتاب+ة
جلسات الملفات التعريفية.
التحقق من أن الرموز التعريفية للجلسات المصادق عليها باستخدام ملفات االرتباط محمية
A7-38
باستخدام آلية "( "HttpOnlyعدم عرض ملفات االرتباط عند المستخدم).
التحقق من أن الرموز التعريفية للجلسات المصادق عليها باستخدام ملفات االرتباط محمية
بخاص++++ية " "Secureوأن عن++++اوين أمن النق++++ل المقي++++د موج++++ودة (مث++++لStrict- " : A7-39
.)" Transport-Security: max-age=60000; includeSubDomains
التحقق من تغيير هوية الجلسة عند تسجيل الدخول لمنع سرقة بيانات الجلسة. A7-40
التحقق من أن الرموز التعريفية للجلسات المصادق عليها طويلة وعشوائية بالق++در الك++افي A7-42
لمواجهة الهجمات التي تعتبر تهديدات شائعة في بيئة التثبيت.
التحقق من أن الرموز التعريفية للجلسات المصادق عليها والتي تس++تخدم ملف++ات االرتب++اط A7-43
لها مسار محدد بقيمة حصرية مالئمة لذلك الموقع .ويجب عدم تحديد تقيي++د خاص++ية مل++ف
ارتباط النطاق إال إذا كانت األعمال تقتضي ذلك ،كعملية تسجيل دخول موحد.
التحق+ق من أن التط+بيق ال يس+مح بجلس+ات مس+تخدم متزامن+ة مك+ررة ص+ادرة من أجه+زة A7-44
اإلصدار <>1.0
24
نموذج معيار التطوير اآلمن للتطبيقات
مختلفة.
التحقق من انتهاء وقت الجلسات بعد مرور الحد األقصى لف++ترة زمني++ة تم إع++دادها إداري ً+ا A7-45
بغض النظر عن النشاط (أي وقت انتهاء مطلق).
إص++دار هوي++ة جدي++دة للجلس++ة في ح++ال تغي++ير أمن االتص++ال من بروتوك++ول نق++ل النص
التش++عبي ( )HTTPإلى بروتوك++ول نق++ل النص التش++عبي اآلمن ( ،)HTTPSوال++ذي ق++د
يح++دث خالل عملي++ة التحق++ق من الهوي++ة .من المستحس++ن اس++تخدام بروتوك++ول نق++ل النص A7-46
التش++عبي اآلمن ( )HTTPSباس++تمرار في التط++بيق ب++دًال من التنق++ل بين بروتوك++ول نق++ل
النص التشعبي (( HTTPوبروتوكول نقل النص التشعبي اآلمن ((.HTTPS
تطبيق عمليات التحقق من سالمة المعلومات ،مثل التواقيع الرقمية ،ألي كائن++ات متسلس++لة
A8-1
لمنع إنشاء كائنات عدائية أو التالعب بالبيانات.
إنفاذ قيود محددة خالل إلغاء التسلسل قبل إنشاء الكائن ألن الش++فرة تتوق++ع ع++ادة مجموع++ة
فئات قابلة للتحديد .من غير المستحسن االعتماد على هذا األسلوب فق++ط نظ++رًا إلى وج++ود A8-2
طرق لتجاوزه.
عزل الشفرة التي يتم إلغاء تسلسلها وتشغيلها في بيئات متدنية المزايا والصالحيات حيثم++ا
A8-3
أمكن.
تسجيل استثناءات إلغاء التسلسل وحاالت اإلخفاق ،مثل الحاالت التي ال يكون فيه++ا الن++وع
A8-4
الوارد هو النوع المتوقع أو التي يحدد فيها إلغاء تسلسل االستثناءات.
تقييد أو مراقبة الربط البيني الوارد والصادر في الشبكة من الحاويات أو الخ++وادم ال++تي تم
A8-5
إلغاء تسلسلها.
مراقبة إلغاء التسلسل والتنبيه إذا كان المستخدم يلغي التسلسل باستمرار. A8-6
ضمان إجراء التحقق الص+ريح من األخط+اء للبرمجي+ات المط+ورة داخليً+ا ،وتوثيق+ه لكاف+ة
A9-1
المدخالت ،بما في ذلك الحجم ونوع البيانات والنطاقات أو الصيغ المسموحة.
التحقق من أن التطبيق ال يظهر رسائل خطأ أو يكدس آثارًا تتضمن معلومات محمية ،بم++ا
في ذلك هوية الجلسة والمعلومات الشخصية ،والتي يمكن أن تساعد الجهة المهاجم++ة على A9-2
تنفيذ أنشطتها.
التحقق من تنفيذ جميع عمليات التعامل مع األخطاء على أجهزة موثوقة. A9-3
اإلصدار <>1.0
25
نموذج معيار التطوير اآلمن للتطبيقات
التحقق من أن منطق التعامل مع األخطاء في الضوابط األمنية يحجب الوصول تلقائيًا. A9-5
التحقق من أن ضوابط التسجيل األمنية تس++مح بتس++جيل أح+داث النج+اح واإلخف++اق ال+تي تم
A9-6
تحديدها باعتبارها مهمة أمنيًا.
التحقق من أن كل حدث في السجل يتضمن ختمًا زمنيًا من مصدر موثوق ،ومستوى ش++دة
الحدث ،ومؤشرًا على أن الحدث مهم أمنيًا (إذا كان مختلطًا مع س++جالت أخ++رى) ،وهوي++ة
المستخدم الذي تسبب بالحدث (إذا كان هناك مس+تخدم مرتب+ط بالح+دث) ،ومص+در عن+وان A9-7
بروتوكول اإلنترنت للطلب المصاحب للحدث سواًء كان الحدث ناجحًا أو فاشً+ال ،ووص++فًا
للحدث.
التحقق من أن التطبيق ال يس++جل معلوم++ات محمي++ة خاص++ة ب++التطبيق ،بم++ا في ذل++ك هوي++ة
الجلسة والمعلومات الشخصية أو المحمي++ة ،وال++تي يمكن أن تس++اعد الجه++ة المهاجم++ة على A9-9
تنفيذ أنشطتها.
التحقق من توفر أداة تحليل السجل مما يسمح للمحلل بالبحث عن أحداث السجل بن++اًء على
A9-10
تركيبة من معايير البحث في كافة الحقول في صيغة السجل المدعومة من النظام.
التحقق من عدم تنفيذ كافة األحداث التي تتضمن بيانات غير موثوق++ة باعتباره++ا ش++فرة في
A9-11
برمجيات استعراض السجالت المعنية.
التحقق من أن السجالت لها إجراء منتظم موحد للنسخ االحتياطية أو األرشفة. A9-13
اإلصدار <>1.0
26
نموذج معيار التطوير اآلمن للتطبيقات
والتهيئة األمنية.
سجل يشمل كل حاالت إخفاق اتصال أمن طبقة النقل بأجهزة النقطة النهائية.
سجل يشمل كل حاالت إخفاق نموذج التشفير.
وظائف الوصول عن بعد للمصادر يجب أن تكون مفصولة داخل شبكات اإلنترنت لتقليل
A10-1
التأثير من اختراقات تزوير الطلب عبر الخوادم.
<اسم الجهة> يجب أن تطبق سياسات "المنع بشكل افتراضي" في جدار الحماية أو في
نقاط وصول شبكات اإلنترنت لمنع جميع التحركات داخل الشبكة الداخلية الغير A10-2
ضرورية.
<اسم الجهة> يجب منع ارسال االستجابات والردود للعميل على هيئتها األصلية. A10-5
<اسم الجهة> يجب أن تتأكد من أن العاملين لديهم الوعي الكافي لفهم تناسق وخصائص
الرابط اإللكتروني ( )URLلتجنب االختراقات مثل اختراق إعادة الربط لنظام اسم A10-7
المجال ( )DNSو "وقت الفحص ،وقت االستخدام" (.)TOCTOU
ع++دم تث++بيت خ++دمات أمني++ة أخ++رى على أنظم++ة الواجه++ة مث++ل خدم++ة الهوي++ة المفتوح++ة (
A10-8
.)OpenIDتقييد حركات المرور الداخلية على هذه األنظمة مثل المضيف المحلي.
يجب استخدام وظائف وتقنيات تشفير اإلنترنت مثل شبكات الخصوصية االفتراضية (
A10-9
)VPNsعلى األنظمة المستقلة.
التأكد من تحقق العميل من شهادات تشفير طبقة المنافذ اآلمنة (.)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-9
،AndroidManifest.xmlو.)iOS Entitlements
التحقق من أن كافة بيانات االختبار قد تم إزالتها من حاوية التطبيق (.)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-26
األندرويد.
التأكد من تنفيذ التحقق الكامل من البيان++ات على الم++دخالت ألي رس++ائل أنش++طة وم++زودي A11-28
محتوى ومتلقي بث معرضين للمخاطر (األندرويد).
األدوار والمسؤوليات
مالك المعيار< :رئيس اإلدارة المعنية باألمن السيبراني>. -1
مراجعة وتحديث المعيار< :اإلدارة المعنية باألمن السيبراني>. -2
تنفيذ وتطبيق المعيار< :اإلدارة المعنية بتقنية المعلومات>. -3
قياس االلتزام بالمعيار< :اإلدارة المعنية باألمن السيبراني>. -4
التحديث والمراجعة
يجب على <اإلدارة المعنية باألمن السيبراني> مراجعة المعيار سنوًيا على األقل أو في حال حدوث
تغييرات تقنية جوهرية في البنية التحتية أو في حال حدوث تغييرات في السياسات أو اإلجراءات التنظيمية في
<اسم الجهة> أو المتطلبات التشريعية والتنظيمية ذات العالقة.
اإلصدار <>1.0
29
نموذج معيار التطوير اآلمن للتطبيقات
االلتزام بالمعيار
يجب على <رئيس اإلدارة المعني++ة ب++األمن الس++يبراني> التأك++د من ال++تزام <اس++م الجه++ة> به++ذا المعي++ار -1
باستمرار.
يجب على جميع العاملين في <اسم الجهة> االلتزام بهذا المعيار. -2
قد يعرض أي انتهاك لهذا المعيار صاحب المخالفة إلى إجراء تأديبي حس++ب اإلج++راءات المتبع++ة في <اس++م -3
الجهة>.
اإلصدار <>1.0
30