
إطار عمل مفتوح المصدر لاستضافة مسابقات CTF من نوع هجوم/دفاع مع روبوت ألعاب آلي، تنفيذ نصوص برمجية، توجيه VPN، وإدارة البنية التحتية السحابية للمعلمين والمدربين.
هذا هو الإطار الذي تستخدمه Shellphish لاستضافة iCTF.
تم وصف إطار عمل iCTF في ورقة بحثية عُرضت في ورشة عمل Usenix 3GSE في عام 2014.
لقد أصدرنا هذا على أمل أن يسمح للمعلمين والمدربين باستضافة مسابقات CTF من نوع A/D الخاصة بهم. هذا الإطار مجاني للاستخدام التجاري، لكن الدعم الذي يمكننا تقديمه محدود.
نخطط لإطلاق المزيد من الوثائق التقنية حول كل مكون في المستقبل؛ أما الآن فيمكنك العثور على إرشادات حول كيفية إنشاء لعبة هنا.
إذا كانت لديك أسئلة، يرجى إرسال بريد إلكتروني إلى [email protected].
إخلاء مسؤولية: لا يزال هذا الإطار قيد التطوير ويجب اعتبار هذا الإصدار نسخة بيتا. نرحب بطلبات السحب الجديدة والقضايا الجديدة :)
هذه هي قاعدة البيانات المركزية التي تتبع حالة اللعبة. تعمل على جهاز VM قاعدة البيانات وتوفر واجهة برمجة تطبيقات RESTful. لاحظ أن الفرق لا ينبغي لها الوصول مباشرة إلى قاعدة البيانات هذه، بل يجب أن تمر عبر مكون خدمات الفريق.
Gamebot هو المكون المسؤول عن تقدم المسابقة. تنقسم المسابقة إلى علامات زمنية (ticks). في بداية كل علامة زمنية، يقرر Gamebot البرامج النصية التي يجب تنفيذها بواسطة Scriptbot (مثل البرامج النصية لتعيين الأعلام، استرجاع الأعلام، أو اختبار الخدمات) ويكتب الجدول في قاعدة البيانات المركزية. ثم يستخرج من قاعدة البيانات بيانات العلامة الزمنية السابقة (مثل العلم المقدم وحالة فحوصات الخدمة) ويحسب النقاط التي سيتم تخصيصها لكل فريق. يتم تخزين النتائج الجديدة في قاعدة البيانات، بحيث يمكن عرضها بواسطة مكون لوحة المعلومات.
Scriptbot مسؤول عن تنفيذ البرامج النصية المجدولة بواسطة Gamebot. يقوم Scriptbot باستخراج البرامج النصية المجدولة للتنفيذ من قاعدة البيانات المركزية، ثم يقوم بتشغيلها. على سبيل المثال، تقوم البرامج النصية باسترجاع الأعلام التي تم تعيينها في العلامة الزمنية السابقة، أو التحقق مما إذا كانت الخدمات قيد التشغيل وتعمل بشكل صحيح.
مكون الموجه مسؤول عن توجيه حركة المرور بين الفرق في المسابقة. يقوم المكون بتنفيذ خدمة OpenVPN. يتم منح كل فريق جهاز VM يعمل كموجه للفريق. يجب إخفاء هوية حركة المرور بين الفرق لمنع الفرق من التمييز بين حركة المرور المولدة من Scriptbot وحركة مرور الفريق.
لمزيد من المعلومات، زر صفحة الويكي الخاصة بنا حول تشغيل CTF للفصل الدراسي.