
يحتوي هذا المشروع على الكود المصدري لإطار التزحيف الأساسي لـ CERT (BFF) ومحرك مراقبة الفشل لـ CERT (FOE).
هذا المشروع يحتوي على الكود المصدري لإطار عمل الاختبار الأساسي لـ CERT (BFF)
كان BFF لنظام Windows معروفًا سابقًا باسم محرك مراقبة الأعطال لـ CERT (FOE).
اعتمادًا على مستوى الصعوبة المفضل لديك ونقاط الخبرة، اختر من الخيارات أدناه.
يمكن العثور على معظم كود BFF في حزمة certfuzz src/certfuzz. لتجربة كود certfuzz في تثبيت موجود لـ BFF، استبدل دليل certfuzz في تثبيتك بدليل certfuzz الموجود في هذا المستودع.
بعض الأشياء الخاصة بالمنصة موجودة في src/windows و src/linux. يستخدم BFF لنظام OSX src/linux أيضًا. راجع src/linux/README و src/windows/README.txt للحصول على ملفات README الخاصة بالمنصة، و src/linux/INSTALL إذا كنت تشعر بالمغامرة الزائدة.
نحن في الواقع نستخدم نظام تكامل مستمر مع بعض الأدوات الخاصة بالمنصة إلى جانب الكود الموجود في دليل build/ لبناء الإصدارات الموجودة في الروابط أعلاه. ومع ذلك، في الوقت الحالي، ليس من المتوقع أن يعمل كود البناء في أي مكان آخر غير تلك البيئة. في الواقع، الكود الموجود في الفرع الرئيسي يركز على svn لذلك لم يعمل حتى عندما تحولنا إلى git. لقد أصلحنا ذلك في نظام التطوير الداخلي لدينا، ولكن لم نقم بعد بدمج ذلك مع الكود المنشور هنا.
علاوة على ذلك، تقوم نصوص البناء بتعديل بعض الملفات وتحريك الأشياء لتجميع حزم الإصدار وبناء برامج التثبيت. أسماء الملفات (ولكن ليس بالضرورة المواقع) في أدلة src/ تظل سليمة عادةً، لذا يجب أن تكون قادرًا على معرفة أين تذهب الأشياء إذا كنت تبحث خارج دليل src/certfuzz. (كما ذكرنا في قسم السهل أعلاه، يجب أن يكون src/certfuzz مجرد بديل مباشر.)
إذا كان كل هذا يبدو أكثر كتحدي من كتحذير، فافعلها.
راجع src/experimental/README.md للحصول على بعض الطرق المسدودة التي قد تكون مفيدة بشكل هامشي.
إطار عمل الاختبار الأساسي لـ CERT (BFF) هو أداة لاختبار البرامج تكتشف العيوب في التطبيقات التي تعمل على Linux و Mac OS X و Windows.
يقوم BFF بإجراء اختبار الطفرات على البرامج التي تستهلك مدخلات الملفات. يقومون تلقائيًا بجمع حالات الاختبار التي تتسبب في تعطل البرنامج بطرق فريدة، بالإضافة إلى معلومات التصحيح المرتبطة بالأعطال. الهدف من BFF هو تقليل الجهد المطلوب من بائعي البرامج وباحثي الأمن لاكتشاف وتحليل نقاط الضعف الأمنية التي تم العثور عليها عبر الاختبار الطفري بكفاءة.
الاختبار الطفري هو عملية أخذ بيانات إدخال صحيحة وتشويهها بطرق مختلفة، بحثًا عن الحالات التي تسبب أعطالاً. يقوم BFF تلقائيًا بجمع حالات الاختبار التي تتسبب في تعطل البرنامج بطرق فريدة، بالإضافة إلى معلومات التصحيح المرتبطة بالأعطال. الهدف من BFF هو تقليل الجهد المطلوب من بائعي البرامج وباحثي الأمن لاكتشاف وتحليل نقاط الضعف الأمنية التي تم العثور عليها عبر الاختبار الطفري بكفاءة.
تقليديًا، كان الاختبار الطفري فعالاً جدًا في العثور على نقاط الضعف الأمنية، ولكن نظرًا لطبيعته العشوائية بطبيعتها، يمكن أن تعتمد النتائج بشكل كبير على التكوين الأولي لنظام الاختبار. يطبق BFF تقنيات التعلم الآلي والحوسبة التطورية لتقليل كمية التكوين اليدوي المطلوبة لبدء وإكمال حملة اختبار فعالة. يقوم BFF بضبط معلمات التكوين الخاصة به بناءً على ما يجده (أو لا يجده) خلال حملة الاختبار. وبذلك يمكنه زيادة فعالية وكفاءة الحملة بشكل كبير. نتيجة لذلك، لا يلزم معرفة خبيرة لتكوين حملة اختبار فعالة، ويمكن للمبتدئين والخبراء على حد سواء البدء في العثور على نقاط الضعف وتحليلها بسرعة كبيرة.
فيما يلي بعض الميزات المحددة المتاحة في BFF:
في CERT/CC، استخدمنا البنية التحتية لـ BFF للعثور على عدد من نقاط الضعف الحرجة في منتجات مثل Adobe Reader و Flash Player؛ و Foxit Reader؛ و Apple QuickTime و Preview و Mac OS X؛ و Xpdf؛ و Poppler؛ و FFmpeg؛ و JasPer؛ و Wireshark؛ وبرنامج ترميز الفيديو VMware VMnc؛ وبرنامج ترميز الفيديو Indeo؛ والعديد غيرها. راجع نقاط الضعف العامة المكتشفة باستخدام BFF.
بدأ BFF و FOE كمشروعين منفصلين ولكن مرتبطين ضمن فريق تحليل نقاط الضعف في CERT/CC. بمرور الوقت، تقاربت هندستهما المعمارية إلى الحد الذي جعل BFF 2.7 و FOE 2.1 يتشاركان الكثير من الكود. اعتبارًا من BFF 2.8، اكتمل هذا التكامل وقد ألغينا اسم FOE لصالح BFF.
يمكن العثور على المقالات حول BFF و FOE في فئة نقاط الضعف في CERT/CC على مدونة SEI.