تقييم الموضوع :
- 0 أصوات - بمعدل 0
- 1
- 2
- 3
- 4
- 5
دروس متعلمة من خمس سنوات من العمل في مجال الحماية
|
المشاركات : 2,523
المواضيع 707
الإنتساب : Sep 2012
السمعة :
48
الشكر: 91
تم شكره 1104 مرات في 297 مشاركات
كاتب الموضوع : أحمد جمال
بسم الله الرحمن الرحيم .
السلام عليكم ورحمة الله وبركاته .
في العدد الأخير من مجلة MSDN كتب Michael Howard مقالاً بعنوان :
Lessons Learned from Five Years of Building More Secure Software
سنحاول نقل ترجمة مختصرة لها هنا ، ولمن يريد المقالة الأصلية فهذا هو الرابط :
http://msdn.microsoft.com/msdnmag/issues/07/11/Lessons/
بداية يقول : منذ خمسة سنوات ، أرسل بيل جيتس رسالة لموظفيه يشرح لهم فيها أهمية بناء تطبيقات على درجة عالية من الحماية والأمان ، ومنذ ذلك التاريخ ، عمل العديد من الأشخاص في شركة مايكروسوفت على بناء تطبيقات أكثر أمناً وحماية
يعود ليقول مرة أخرى ، أن مجال الحماية ليس مجالاً ثابتاً ، بل هو باختصار استمرار المهاجمين في الهجوم والمدافعين في الدفاع مع استمرار تعلم كل طرف من الآخر ، لذا عليه (الكاتب) كمدافع أن يظل يتعلم من أخطاءه ليحمي مستخدمية لاحقاً .
المشاركات : 2,523
المواضيع 707
الإنتساب : Sep 2012
السمعة :
48
الشكر: 91
تم شكره 1104 مرات في 297 مشاركات
الدرس الأول : إنه ليس فقط الكود 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 صغير قدر الإمكان .
المشاركات : 2,523
المواضيع 707
الإنتساب : Sep 2012
السمعة :
48
الشكر: 91
تم شكره 1104 مرات في 297 مشاركات
الدرس الثاني : Fix Old Code First أصلح الكود القديم أولاً .
عندما يتعلق الأمر بمراجعة الكود ، أفضل تصنيف الكود بناء على نقاط الضعف فيه ، إن الأولوية الأولى دوماً هي الكود القديم ، حيث أنه غالباً ما يكون خاضعاً لقدر أقل من اختبارات الأمان ، حيث أن التهديدات تتطور مع الزمن وربما لا يكون الكود القديم من برنامجك مواكباً لها بشكل صحيح ، اضف إلى ذلك أن الخبرة الدفاعية تتطور مع الزمن والكود القديم مهما كان بني في فترة أضعف من ناحية الخبرات البرمجية الدفاعية .
لذا فنصيحتي دائماً أن تتم مراجعة الكود القديم يدوياً وهذه هي السياسة التي تنتهجها مايكروسوفت ، ولهذا فإن تصنيف الكود لدينا لا يعتمد على عدد الأكواد أو تعقيدها او عدد الأسطر ، قدر ما يعنينا عمر هذا الكود .
الدرس المستفاد : قم بترتيب أكواد برنامجك بناء على عمر الكود ، ومن ثم قم بمراجعتهم يدوياً إبتداء من الكود الأقدم .
المشاركات : 2,523
المواضيع 707
الإنتساب : Sep 2012
السمعة :
48
الشكر: 91
تم شكره 1104 مرات في 297 مشاركات
الدرس الثالث : Deprecate! Eliminate! Eradicate! استنكر ! أزل ! استأصل !
أحياناً ما لا تكون ميزة ما أو جزئية في البرنامج آمنة هذه الأيام قدر ما كانت آمنة منذ عدة سنوات ، ربما لا يتعلق الأمر بنقاط الضعف ولكن بتغير بيئة العمل على الأجهزة الشخصية اليوم .
واحد من الأمثلة الجيدة على ذلك هي خدمة Alerter service الموجودة في ويندوز ، هذه الخدمة بدأت تصنف لاحقاً على أنها Spam لذا تم تعطيلها في XP Service Pack 2 حتى تم الغاءها تماماً في Vista .
في العديد من الحالات ستجد مايكروسوفت تقوم بازالة بعض المميزات رغم اعتماد المستخدمين عليها ، يتعلق الأمر بالموازنة بين الفائدة المترتبة والخطر الناتج عن هذه الميزة .
الدرس المستفاد : صنف المميزات القديمة التي ربما تكون أضعف في مستوى الأمان وتسبب لك خروقات أمنية على المدى البعيد ، ربما تكون الخطوة الأولى في تعطيل هذه الخدمة ، في الاصدار اللاحق قم بازالتها مع ايجادها على شكل ملف للتحميل على الإنترنت لأولئك المستخدمين الذين يعتمدون عليها كلياً ، في الخطوة الأخيرة قم برفع الدعم عنها ، أهم ما في الأمر ألا توقف ميزة ما مرة واحدة ومباشرة .
نكمل باقي ترجمة المقال لاحقاً إن شاء الله تعالى .
|
المواضيع المحتمل أن تكون متشابهة . |
الموضوع : |
الكاتب |
الردود : |
المشاهدات : |
آخر رد |
|
شرح خوارزميات معالجة الصور (من دروس الاستاذ فوزي برزنجي) |
ناديه الشجيري |
19 |
34,375 |
20-02-22, 02:13 PM
آخر رد: رضوان الجماعي
|
|
دروس Toolbox in VB.NET موضوع متجدد |
Genius Live |
9 |
10,875 |
14-11-16, 08:42 AM
آخر رد: Genius Live
|
|
[VB.NET] العمل على تحديث الداتا غريد فيو |
العواد الصغير |
0 |
2,728 |
27-07-15, 10:19 PM
آخر رد: العواد الصغير
|
|
العمل على إصدار فيجوال استديو 2012 واجعل مشاريعك تعمل على جميع الإصدارات القديمة |
ali.alfoly |
8 |
8,849 |
22-10-14, 11:08 PM
آخر رد: احمد بكري احمد علي
|
|
كيف تقوم بإضافة إجراءاتك الخاصة إلى مجال الأسماء My- توسيع مجال الأسماء My في VB2005 |
RaggiTech |
0 |
1,863 |
05-10-12, 01:49 AM
آخر رد: RaggiTech
|
|
مجال الاسماء My{} |
RaggiTech |
0 |
2,091 |
04-10-12, 10:14 AM
آخر رد: RaggiTech
|
|
دروس فيديو لتعليم برمجة الاوتوكاد بالفيجوال دوت نت |
RaggiTech |
5 |
3,949 |
03-10-12, 02:27 PM
آخر رد: RaggiTech
|
|
دروس ترجمة كتاب فيجوال بيسك 2008 خطوة خطوة |
RaggiTech |
2 |
4,010 |
03-10-12, 02:22 PM
آخر رد: RaggiTech
|
|
توسيع مجال الأسماء My باستخدام My Extensibility |
RaggiTech |
5 |
3,354 |
03-10-12, 12:26 PM
آخر رد: RaggiTech
|
|
الدرس الثاني - اطار العمل .Net Framework |
RaggiTech |
0 |
4,360 |
02-10-12, 05:28 PM
آخر رد: RaggiTech
|
يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم