HafezCTF

پلتفرم مسابقه و سنجش مهارت امنیتی

پلتفرم CTF برای مسابقاتی که به تصمیم ختم می‌شوند: فلگ اختصاصی هر شرکت‌کننده، محیط ایزوله، زنجیره‌های چندمرحله‌ای، تشخیص تقلب، و گزارشی که نشان می‌دهد چه کسی واقعاً از عهده کار برمی‌آید. آموزش عملی و مسیرهای یادگیری اکنون در آکادمی حافظ، روی همان موتور، ارائه می‌شود.

درباره HafezCTF

پلتفرم‌های رایج CTF شرکت‌کنندگان را بر اساس امتیاز مرتب می‌کنند و همان‌جا متوقف می‌شوند. اما سازمانی که می‌خواهد پژوهشگری را وارد برنامه باگ‌بانتی خصوصی کند یا داوطلبی را استخدام کند، به چیزی بیش از رتبه نیاز دارد؛ به نشانه‌ای قابل دفاع که بتواند در جلسه تصمیم‌گیری از آن دفاع کند.

HafezCTF برای همین ساخته شده است. هر شرکت‌کننده فلگ اختصاصی خودش را می‌گیرد، چالش‌های حالت‌مند در محیط ایزوله هر فرد اجرا می‌شوند، زنجیره‌های چندمرحله‌ای پیشرفت جزئی را امتیاز می‌دهند، و پلتفرم زمان، راهنمایی‌ها، گزارش‌های حل و نشانه‌های یکپارچگی را ثبت می‌کند. خروجی، گزارش احراز صلاحیت است: تفکیک مهارت در حوزه‌ها و یک سطح توصیه برای هر نفر.

یک موتور، دو چهره دارد: مسابقات زمان‌دار و آکادمی همیشه‌باز با مسیرهای یادگیری. چالشی که یک‌بار نوشته می‌شود در هر دو کار می‌کند. پلتفرم را می‌توانید روی نصب ما ببینید، روی سرورهای خودتان با برند خودتان اجرا کنید، یا در شبکه‌ای بدون دسترسی به اینترنت برپا کنید.

1:1
فلگ و محیط، برای هر نفر
دو حالت
مسابقه و آکادمی
گزارش
احراز صلاحیت، نه فقط رتبه
خودمیزبان
یا روی نصب ما

چرا جدول امتیاز کافی نیست

دو نفر با امتیاز یکسان، لزوماً هم‌سطح نیستند؛ پلتفرم باید همین تفاوت را نشان دهد

1
دو نفر، یک امتیاز
دو شرکت‌کننده با ۲٬۴۰۰ امتیاز کار را تمام می‌کنند. یکی زنجیره دشوار را بدون کمک در چهل دقیقه حل کرده و دیگری شش ساعت وقت گذاشته و همه راهنمایی‌ها را گرفته است. جدول امتیاز می‌گوید این دو برابرند. برای تصمیم استخدام یا احراز صلاحیت، برابر نیستند.
2
پلتفرم تفاوت را ثبت می‌کند
امتیاز به تفکیک حوزه، اینکه هر فرد تا کجای زنجیره‌های چندمرحله‌ای پیش رفته، کدام راهنمایی‌ها را گرفته، گزارش‌های حلش را بازبینان شما چگونه امتیاز داده‌اند و چه نشانه‌های یکپارچگی در مسیر ثبت شده است.
3
شما گزارش می‌گیرید، نه فقط رتبه‌بندی
گزارش احراز صلاحیت، هر شرکت‌کننده را با تفکیک مهارت در حوزه‌های مختلف به‌صورت نقشه حرارتی و یک سطح توصیه نشان می‌دهد: بررسی برای استخدام، مشارکت در باگ‌بانتی، نیاز به ارزیابی بیشتر، یا توصیه‌نشده. خروجی آن صفحه‌گسترده‌ای است که تیم استخدام می‌تواند با آن کار کند.

نگاهی به کنسول برگزارکننده

جدول امتیاز، گزارش احراز صلاحیت و رویدادهای یکپارچگی — همان چیزی که برگزارکننده در طول رویداد می‌بیند

HafezCTF — کنسول برگزارکننده
پیش‌نمایش

نمایشی از رابط کاربری با داده نمونه. با زبانه‌های بالا میان صفحه‌ها جابه‌جا شوید.

قابلیت‌های کلیدی

سازوکارهایی که مسابقه را به ابزار سنجش تبدیل می‌کنند

فلگ متفاوت برای هر شرکت‌کننده
یک چالش برای هر فرد فلگ یکتا صادر می‌کند؛ پس فلگی که کسی جز صاحبش ثبت کند نامعتبر است و خودبه‌خود یک رویداد یکپارچگی ثبت می‌کند. اشتراک‌گذاری با توصیه منع نمی‌شود، بلکه با ساختار قابل تشخیص است.
زنجیره‌های حمله چندمرحله‌ای
یک چالش می‌تواند به‌صورت زنجیره اجرا شود که هر مرحله فلگ خودش را می‌دهد و مرحله بعد را باز می‌کند. پیشرفت جزئی امتیاز می‌گیرد؛ پس می‌فهمید هر کس تا کجا رسیده، نه فقط اینکه تمام کرده یا نه.
محیط اختصاصی برای هر نفر
چالش‌های حالت‌مند به هر شرکت‌کننده نمونه اختصاصی و مقاوم‌سازی‌شده می‌دهند: ترافیک خروجی مسدود، شمارش معکوس اجاره محیط قابل مشاهده، امکان بازنشانی به‌دست خود شرکت‌کننده، و سقف مصرف پردازنده و حافظه و تعداد محیط هم‌زمان.
محیط مشترک، آنجا که ایزوله‌سازی اتلاف است
یک چالش مهندسی معکوس ایستا به یک کانتینر برای هر نفر نیاز ندارد. پلتفرم چالش‌های مشترک و ایزوله را در کنار هم اجرا می‌کند؛ پس هزینه یک رویداد همان است که باید باشد، نه یک نمونه برای هر شرکت‌کننده در هر چالش.
گزارش احراز صلاحیت، نه فقط جدول امتیاز
برای هر شرکت‌کننده: امتیاز، تعداد حل، نقشه حرارتی مهارت به تفکیک حوزه و یک سطح توصیه، با خروجی صفحه‌گسترده. شرکت‌کنندگان سلب‌صلاحیت‌شده کنار گذاشته می‌شوند و خود خروجی‌گیری هم در سابقه ممیزی ثبت می‌گردد.
ضدتقلب چندلایه
استفاده از فلگ دیگران رویداد یکپارچگی ثبت می‌کند، ارسال‌ها برای هر فرد محدود می‌شوند و پس از خطاهای مکرر تأخیر فزاینده می‌گیرند، و دفتر کامل ارسال‌ها برای بازبینی برگزارکننده باقی می‌ماند.
امتیازدهی به انتخاب شما
امتیاز پایه بر اساس سطح دشواری، پاداش اولین حل، کاهش امتیاز با افزایش تعداد حل‌کنندگان، جریمه راهنمایی که پیش از گرفتن آن نمایش داده می‌شود، و پاداش گزارش حل. این قواعد، تنظیمات رویدادند نه کد.
گزارش حل، همراه با بازبینی
شرکت‌کنندگان توضیح می‌دهند چگونه حل کرده‌اند و بازبینان شما این توضیح را می‌خوانند و امتیاز می‌دهند. همان بخشی از تصویر که ثبت یک فلگ نمی‌تواند نشان دهد و به گزارش احراز صلاحیت وارد می‌شود.
هر چالش، اثبات‌شده حل‌پذیر
هیچ چالشی پیش از آنکه یک حل‌کننده خودکار آن را از آغاز تا فلگ طی کند منتشر نمی‌شود. بسته‌ها امضا می‌شوند و هر نصب تنها بسته‌هایی را می‌پذیرد که با کلید مورد اعتمادش امضا شده باشند؛ پس هیچ مسابقه‌ای با یک چالش خراب آغاز نمی‌شود.
یک کنسول برای برگزارکننده
تنظیمات رویداد، نمایش یا پنهان‌کردن چالش‌ها، محیط‌های در حال اجرا، شرکت‌کنندگان، بازبینی گزارش‌ها و نمای یکپارچگی؛ با ثبت هر اقدام برگزارکننده در سابقه ممیزی.
امنیت‌محور از پیش‌فرض
ورود بدون رمز عبور، نشست سمت سرور، سیاست سخت‌گیرانه امنیت محتوا، محافظت در برابر جعل درخواست بین‌سایتی روی همه اقدام‌ها، و محدودسازی نرخ درخواست. همان پلتفرمی که یک شرکت امنیتی می‌پذیرد برای خودش اجرا کند.
برند شما، نصب شما
سازمان‌ها مسابقات خودشان را روی نصب خودشان، با برند و برگزارکنندگان خودشان اجرا می‌کنند. میزبانی با ما، با شما، یا اجرا در شبکه‌ای که هیچ مسیری به اینترنت ندارد.

دو حالت، یک موتور

چالشی که یک‌بار نوشته شود، هم در مسابقه و هم در آکادمی اجرا می‌شود

مسابقات (Events)
مسابقات زمان‌دار با جدول امتیاز زنده، امتیاز اولین حل و امتیاز کاهشی، جریمه راهنمایی که پیش از دریافت آن نمایش داده می‌شود، بازه انجماد جدول در دقایق پایانی، و ثبت‌نام آزاد، دعوتی یا بسته. شرکت‌کنندگان پس از حل، گزارش حل می‌فرستند و برگزارکننده آن‌ها را بازبینی و امتیازدهی می‌کند.
آکادمی (Academy)
مسیرهای یادگیری همیشه‌دردسترس که درس‌ها را با آزمایشگاه‌های عملی ترکیب می‌کنند و پیشرفت هر فراگیر را دنبال می‌کنند. آزمایشگاه‌ها از همان چالش‌های مسابقات استفاده می‌کنند؛ پس چالشی که یک‌بار نوشته می‌شود، آموزش و تمرین و سنجش را از یک کتابخانه تأمین می‌کند.

کاربردها

هر جا که باید مهارت امنیتی را عملی سنجید یا پرورش داد

استخدام و غربالگری داوطلبان
فهرست کوتاه داوطلبان را از یک مجموعه چالش یکسان عبور دهید و آن‌ها را بر پایه شواهد مقایسه کنید، نه بر پایه اینکه در مصاحبه چقدر خوب حرف می‌زنند.
احراز صلاحیت پژوهشگران باگ‌بانتی
ورود به برنامه خصوصی را به یک دور احراز صلاحیت مشروط کنید تا پژوهشگرانی که به سامانه‌های واقعی شما می‌رسند، توانایی‌شان را پیش‌تر نشان داده باشند.
آموزش و سنجش آمادگی تیم
مسیرهای آکادمی برای طول سال، یک مسابقه داخلی در هر فصل، و سابقه‌ای از اینکه چه کسی واقعاً پیشرفت کرده است.
رویدادهای عمومی و جامعه امنیت
مسابقات دانشگاهی، رویدادهای جانبی همایش‌ها و دورهای جامعه امنیت، روی نصبی که برند شما را دارد.
مسابقه برای مخاطبان بیرونی
یک بانک یا یک سکوی خدمات، دور عمومی را روی نسخه‌ای امن از سامانه خودش برگزار می‌کند و امنیت را به چیزی دیدنی تبدیل می‌کند.
برنامه‌های قهرمانان امنیت
توسعه‌دهندگان مسیرهایی را طی می‌کنند که از فناوری‌های خود شما ساخته شده، و سابقه پیشرفت نشان می‌دهد کدام تیم‌ها آماده مسئولیت بیشترند.

چگونه کار می‌کند

از انتخاب چالش تا تصمیم‌گیری بر اساس نتیجه

1
ساخت مجموعه چالش
چالش‌ها را از کتابخانه بردارید، سفارش دهید، یا با ابزارهای تألیف خودتان بنویسید. هر چالش پیش از استفاده از بررسی خودکار حل‌پذیری عبور می‌کند.
2
پیکربندی مسابقه یا مسیر
بازه زمانی، شرایط ثبت‌نام، قواعد امتیازدهی و زمان انجماد جدول را تعیین کنید، یا درس‌ها و آزمایشگاه‌ها را در قالب مسیری بچینید که تمام سال باز است.
3
حل چالش‌ها
شرکت‌کنندگان بدون رمز عبور وارد می‌شوند، محیط اختصاصی خود را با زمان‌سنج قابل مشاهده راه‌اندازی می‌کنند، فلگ ثبت می‌کنند، با آگاهی از هزینه راهنمایی می‌گیرند و شرح کارشان را می‌نویسند.
4
خواندن نتیجه
فراتر از جدول امتیاز: گزارش احراز صلاحیت، نمای یکپارچگی، امتیاز گزارش‌های حل، و خروجی‌ای که تیم استخدام یا مدیر برنامه می‌تواند با آن کار کند.

گزینه‌های اجرا

روی نصب ما، روی سرورهای شما، یا در شبکه‌ای جداشده

میزبانی توسط ما
نصب با ما، برگزاری با شما. مناسب یک مسابقه موردی یا نخستین برنامه، با حضور تیم ما در زمان اجرا.
روی سرورهای شما
آن را در محیط خودتان با برند، برگزارکنندگان و داده شرکت‌کنندگان خودتان نصب کنید؛ روی یک سرور یا با رشد تعداد، روی یک خوشه.
شبکه‌های جداشده
هر آنچه پلتفرم نیاز دارد همراه خودش عرضه می‌شود؛ پس یک مسابقه می‌تواند درون شبکه‌ای طبقه‌بندی‌شده و بدون مسیر به اینترنت برگزار شود.

چرا HafezCTF

تفاوت آن با یک پلتفرم CTF معمولی

ساخته‌شده برای تصمیم، نه جدول امتیاز
هر قابلیت با یک پرسش سنجیده می‌شود: آیا به تشخیص تفاوت دو نفر با امتیاز یکسان کمک می‌کند؟ همین است که نتیجه را برای استخدام یا کنترل ورود به برنامه باگ‌بانتی قابل استفاده می‌کند.
اجرا در همان جایی که لازم دارید
همان پلتفرم، هم روی نصب میزبانی‌شده ما اجرا می‌شود، هم درون شبکه شما، هم در شبکه‌ای جداشده. هیچ چیز به در دسترس بودن یک سرویس خارجی در روز رویداد وابسته نیست.
هیچ چالش خرابی در روز رویداد
هر کس مسابقه برگزار کرده، دیده است که ساعت دوم یک چالش از کار می‌افتد. اینجا هیچ چالشی پیش از آنکه حل‌کننده، مسیر از آغاز تا فلگ را اثبات کند منتشر نمی‌شود.
از کسانی که خودشان رقابت می‌کنند
وادی ایمن حافظ سال‌هاست مسابقات CTF طراحی می‌کند و در آن‌ها شرکت می‌کند. این پلتفرم بازتاب چیزهایی است که در رویدادهای واقعی خراب می‌شود، نه آنچه در فهرست قابلیت‌ها خوب به نظر می‌رسد.

پرسش‌های متداول

آنچه سازمان‌ها پیش از برگزاری یک رویداد می‌پرسند

چگونه جلوی اشتراک‌گذاری فلگ‌ها را می‌گیرید؟
آیا شرکت‌کنندگان می‌توانند در کار یکدیگر اختلال ایجاد کنند؟
اگر کسی وسط رویداد محیطش را خراب کند چه؟
آیا باید چالش‌ها را خودمان بنویسیم؟
آیا می‌توانیم روی سرورهای خودمان اجرا کنیم؟
در پایان یک رویداد دقیقاً چه چیزی می‌گیریم؟
آیا می‌توانیم از نتیجه در تصمیم استخدام استفاده کنیم؟
شرکت‌کنندگان به چه چیزی نیاز دارند؟
پلتفرم به چه زبانی است؟
راه‌اندازی یک رویداد چقدر طول می‌کشد؟
آیا می‌توانیم آن را با برند خودمان برگزار کنیم؟
تفاوت آکادمی با یک رویداد چیست؟
مسابقه‌ای که به تصمیم ختم شود
پلتفرم را در ctf.hafezsecure.ir ببینید، یا با تیم ما درباره برگزاری مسابقه، سنجش داوطلبان و نصب آن روی زیرساخت سازمان‌تان صحبت کنید