تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
دروس متعلمة من خمس سنوات من العمل في مجال الحماية
#1
كاتب الموضوع : أحمد جمال

بسم الله الرحمن الرحيم .
السلام عليكم ورحمة الله وبركاته .

في العدد الأخير من مجلة MSDN كتب Michael Howard مقالاً بعنوان :

Lessons Learned from Five Years of Building More Secure Software

سنحاول نقل ترجمة مختصرة لها هنا ، ولمن يريد المقالة الأصلية فهذا هو الرابط :
http://msdn.microsoft.com/msdnmag/issues/07/11/Lessons/

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

يعود ليقول مرة أخرى ، أن مجال الحماية ليس مجالاً ثابتاً ، بل هو باختصار استمرار المهاجمين في الهجوم والمدافعين في الدفاع مع استمرار تعلم كل طرف من الآخر ، لذا عليه (الكاتب) كمدافع أن يظل يتعلم من أخطاءه ليحمي مستخدمية لاحقاً .
}}}}
تم الشكر بواسطة:
#2
الدرس الأول : إنه ليس فقط الكود It's Not Just the Code

في صناعة البرمجيات أو بالأحرى صناعة البرمجيات المتقدمة ، فإن الأمر لا يقتصر على كتابة الكود قدر ما يعتمد على فهم الكود بطريقة صحيحة ، إذا استمررت في محاولة فقط ايجاد الثغرات الأمنية في الكود سوف تغيب عن باقي قائمة المتطلبات الأمنية أو الثغرات الموجودة ، ولعل هذا واحد من الأسباب التي دفعت مايكروسوفت لاعتماد threat modeling and attack surface analysis كجزء من دورة حيان الأمان في تطبيقات مايكروسوفت ، يعتبر threat modeling تقنية تحليل تستخدم لمعرفة نقاط الضعف في المنتج ، أما ال attack surface analysis فيركز على أي اجزاء البرنامج سوف تكون معروضة لمستخدمين غير مؤتمنين ، يمكنك معرفة المزيد من خلال هذا الرابط :
msdn.microsoft.com/msdnmag/issues/04/11/AttackSurface

الدرس المستفاد : إنه من الضروري بناء threat models لكشف ضعف التصميم ولمعرفة ال attack surface ، أنت بحاجة للتأكد من أن أغلب النقاط محمية وأن سطح الهجوم attack surface صغير قدر الإمكان .
}}}}
تم الشكر بواسطة:
#3

الدرس الثاني : Fix Old Code First أصلح الكود القديم أولاً .

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

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

الدرس المستفاد : قم بترتيب أكواد برنامجك بناء على عمر الكود ، ومن ثم قم بمراجعتهم يدوياً إبتداء من الكود الأقدم .
}}}}
تم الشكر بواسطة:
#4

الدرس الثالث : Deprecate! Eliminate! Eradicate! استنكر ! أزل ! استأصل !

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

واحد من الأمثلة الجيدة على ذلك هي خدمة Alerter service الموجودة في ويندوز ، هذه الخدمة بدأت تصنف لاحقاً على أنها Spam لذا تم تعطيلها في XP Service Pack 2 حتى تم الغاءها تماماً في Vista .

في العديد من الحالات ستجد مايكروسوفت تقوم بازالة بعض المميزات رغم اعتماد المستخدمين عليها ، يتعلق الأمر بالموازنة بين الفائدة المترتبة والخطر الناتج عن هذه الميزة .

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


نكمل باقي ترجمة المقال لاحقاً إن شاء الله تعالى .
}}}}
تم الشكر بواسطة: العواد الصغير


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
Rainbow دروس Toolbox in VB.NET موضوع متجدد Genius Live 9 3,586 14-11-16, 08:42 AM
آخر رد: Genius Live
  شرح خوارزميات معالجة الصور (من دروس الاستاذ فوزي برزنجي) ناديه الشجيري 14 7,754 09-04-16, 11:26 PM
آخر رد: بديع
  [VB.NET] العمل على تحديث الداتا غريد فيو العواد الصغير 0 374 27-07-15, 10:19 PM
آخر رد: العواد الصغير
  العمل على إصدار فيجوال استديو 2012 واجعل مشاريعك تعمل على جميع الإصدارات القديمة ali.alfoly 8 3,215 22-10-14, 11:08 PM
آخر رد: احمد بكري احمد علي
  كيف تقوم بإضافة إجراءاتك الخاصة إلى مجال الأسماء My- توسيع مجال الأسماء My في VB2005 RaggiTech 0 308 05-10-12, 01:49 AM
آخر رد: RaggiTech
  مجال الاسماء My{} RaggiTech 0 285 04-10-12, 10:14 AM
آخر رد: RaggiTech
  دروس فيديو لتعليم برمجة الاوتوكاد بالفيجوال دوت نت RaggiTech 5 1,000 03-10-12, 02:27 PM
آخر رد: RaggiTech
  دروس ترجمة كتاب فيجوال بيسك 2008 خطوة خطوة RaggiTech 2 910 03-10-12, 02:22 PM
آخر رد: RaggiTech
  توسيع مجال الأسماء My باستخدام My Extensibility RaggiTech 5 763 03-10-12, 12:26 PM
آخر رد: RaggiTech
  الدرس الثاني - اطار العمل .Net Framework RaggiTech 0 861 02-10-12, 05:28 PM
آخر رد: RaggiTech

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم