استراتيجية أمان WPF - هندسة الأمان

الحوسبة بالثقة هي مبادرة Microsoft لضمان إنتاج التعليمات البرمجية الآمنة. عنصر هام من مبادرة "الحوسبة بالثقة" هو Microsoft Security Development Lifecycle. SDL هو تدريب عملي هندسي تم استخدامه بالارتباط مع عمليات الهندسة القياسية لتسهيل تسليم تعليمات البرمجية أمنة. SDL يتكون من عشرة مراحل التي تضم أفضل الممارسات مع formalization و measurability و بنية إضافية بما في ذلك:

  • تحليل تصميم الأمان

  • تدقيقات الجودة المستندة إلى الأداة

  • اختبار الاختراق

  • مراجعة الأمان النهائية

  • إدارة الأمان اللاحق لطرح المنتج

مواصفات WPF

فريق هندسة WPF يقوم بتطبيق و توسيع SDL، التركيبة التي تتضمن الأوجه الهامة التالية:

تصميم التهديد

أدوات تحليل الأمان و تحريرها

اختبار الأساليب

إدارة التعليمات البرمجية الحرجة

تصميم التهديد

تصميم التهديد هو مكون رئيسي من SDL ، و يستخدم ليحلل النظام لتحديد الثغرات الأمنية المحتملة. حالما يتم تعريف الثغرات الأمنية, تصميم التهديد أيضاً يضمن أن عوامل تخفيف المشاكل المناسبة في مكانها.

في مستوي عالي، تصميم التهديد يتضمن الخطوات الأساسية التالية باستخدام متجر البقالة كمثال:

  1. تعريف الأصول. قد تتضمن أصول مخزن البقالة الموظفين, الخزنة, تسجيلات النقدية و المخزون.

  2. تعداد نقاط الإدخال. قد تتضمن نقاط إدخال مخزن البقالة الأبواب الأمامية و الخلفية, النافذات, رصيف تحميل و وحدات جهاز تكييف الهواء.

  3. التحقق من هجمات مقابل الأصول باستخدام نقاط الإدخال. يمكن لهجوم واحد استهداف أصول خزنة مخزن البقالة خلال نقطة إدخال جهاز تكييف الهواء; قد تكون وحدة جهاز تكييف الهواء مفكوكة للسماح للخزنة أن يتم سحبها خلاله و خارج المخزن.

يتم تطبيق تصميم التهديد خلال WPF و يتضمن ما يلي:

  • كيفية قراءة محلل XAML للملفات ، تعيين النص إلى فئات طراز الكائن المناظرة و إنشاء التعليمات البرمجية الفعلية.

  • كيفية إنشاء معالج نافذة (hWnd), أن يرسل الرسائل و استخدامه في تقديم محتويات النافذة.

  • كيفية حصول ربط البيانات على الموارد وكيفية تفاعله مع النظام.

تعتبر تصميمات التهديد هذه هامة لتعريف متطلبات تصميم الأمان و عوامل تخفيف مشاكل التهديد أثناء عملية تطوير.

تحليل المصدر و أدوات التحرير

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

  • FXCop: البحث عن مشاكل الأمان الشائعة في تعليمات برمجية المدارة يتراوح بين قواعد الوراثة إلى استخدام أمان الوصول إلى التعليمات البرمجية إلى كيفية التعامل بأمان مع التعليمات البرمجية غير المدارة. راجع FXCop.

  • بادئة/Prefast: يبحث عن الثغرات الأمنية ومشكلات الأمان الشائعة في التعليمات البرمجية غير المُدارة مثل تجاوزات المخزن المؤقت, المشكلات سلسلة التنسيق و تدقيق الأخطاء.

  • المحظورة APIs: يبحث مصدر التعليمات البرمجية لتعريف الاستخدام غير المقصود من الدالات المعروفة المتسببة في مشاكل الأمان مثل strcpy. بمجرد التعرف عليهم يتم استبدال هذه الدالات ببدائل بمزيد من الأمان.

اختبار الأساليب

WPF يستخدم مجموعة متنوعة من تقنيات اختبار الأمان التي تتضمن:

  • اختبار Whitebox: يعرض المختبرين مصدر التعليمات البرمجية ، ثم يقومون ببناء اختبارات استغلال

  • اختبار Blackbox: يحاول المختبرين العثور على استغلال الأمان عن طريق فحص API و الميزات و ثم يحاول مهاجمة الناتج.

  • انحدار مشاكل الأمان من المنتجات الأخرى: حيث مناسب, مشاكل الأمان من المنتجات‬ المتعلقة يتم اختبارها. على سبيل المثال، المتغيرات المناسبة من الستين مسألة تقريباً المتعلقة بالأمان لأجل برنامج Internet Explorer قد تم تعريفها و محاولتها لإمكانية تطبيق WPF الخاصة بهم.

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

إدارة التعليمات البرمجية الحرجة

من أجل تطبيقات مستعرض XBAP (XBAP) ، WPF يقوم ببناء‏‫ آلية تحديد الصلاحيات‬ للحماية باستخدام دعم NET Framewor. لوضع علامة و تعقب التعليمات البرمجية الحرجة للحماية التي ترفع الامتيازات (راجع الوسيلة الحرجة للحماية في استراتيجية أمان WPF - أمان النظام الأساسي). معطى متطلبات جودة أمان عالية على التعليمات البرمجية للأمان الهامة, مثل هذه التعليمات البرمجية تتلقى مستوي إضافي من عنصر تحكم إدارة المصدر و تدقيق الأمان. تقريباً 5 % إلى 10 % من WPF يتكون من التعليمات البرمجية ذات الأمان الحرج التي تم مراجعتها بواسطة فريق مخصص للمراجعة. مصدر تعليمات برمجية وإيداع العملية هو يديرها تتبع تعليمات برمجية الضرورية للأمان وتعيين كل وحدة حرج (على سبيل المثال: أسلوب الذي يحتوي على تعليمات برمجية الضرورية) إلى إشارة إيقاف الولاية. حالة تسجيل الخروج تتضمن أسماء أحد المراجعين أو أكثر. كل بناء يومي من WPF يقارن التعليمات البرمجية الهامة إلى تلك من البنيات السابقة للتحقق من وجود تغييرات غير موافق عليها. إذا قام مهندس بتعديل التعليمات البرمجية الهامة دون الحاجة إلى موافقة من فريق المراجعة، يتم تعريفها و تثبيتها فوراً. تمكّن هذه العملية التطبيق و صيانة مستوي عالي خاص من scrutiny عبر آلية تحديد صلاحيات التعليمات البرمجية WPF.

راجع أيضًا:

المبادئ

أمن WPF

الأمان ذا الثقة الجزئية الخاص بWPF

استراتيجية أمان WPF - أمان النظام الأساسي

موارد أخرى

وثوقية الحوسبة

تنميط خطر التطبيق

إرشادات وتوجيهات الأمان NET Framework 2.0.