CTF (مخفف کلمه Capture The Flag) که با اصطلاح مسابقه فتح پرچم هم شناخته میشود، یکی از سرگرمیهای مورد علاقه هکرها و کارشناسان تست نفوذ است. در این پست به معرفی CTF میپردازیم و نحوه حل یک CTF تقریباً آسان را مشاهده میکنیم.
از آنجا که حملات سایبری در سالهای اخیر بسیار گسترش یافتهاند، امنیت سایبری بدل به یکی از اولویتهای اصلی شرکتهای کوچک و بزرگ شده است. در پاسخ به این حملات، متخصصان امنیت و دانشجویان آموزش دیدهاند که هکرها چطور به شرکتها نفوذ میکنند و چگونه میتوان با آنها مقابله کرد. یکی از راههای آموزش امنیت سایبری برگزاری رویدادهای CTF یا همان مسابقات فتح پرچم است.
مسابقه فتح پرچم چیست؟
مسابقه فتح پرچم یا CTF رقابتی در زمینه امنیت سایبری است که میان متخصصان امنیت و حتی دانشجویان برپا میشود. این مسابقات در واقع برای یادگیری افراد علاقهمند به مبحث امنیت سایبری استفاده میشود و میتواند به صورت تجربی نحوه استفاده از ابزارهایی را که در روند آموزش آموختهاند، نشان بدهد. در حقیقت CTF توانایی شرکتکنندگان را در طی حل مراحل به چالش میکشد. در این چالشها معمولاً از شرکتکننده خواسته میشود که متن خاصی را پیدا کند که ممکن است به صورت مخفی بر روی سرور یا پشت صفحه کار گذاشته شده باشد.
مانند هر مسابقهی دیگری، سطح مهارت مورد نیاز برای انواع مسابقات CTF متفاوت است. برخی از این مسابقات برای حرفهایهای باتجربه در تیمهای امنیت سایبری طراحی شدهاند. در این نوع مسابقات که بعضی اوقات در یک مکان جغرافیایی مشخص برگزار میشوند، معمولا پاداش قابلتوجهی را برای نفرات یا تیمهای برنده در نظر میگیرند.
به جامعه کارشناسان تست نفوذ بپیوندید:
تاریخچه مسابقات فتح پرچم
اولین مسابقه CTF سال ۱۹۹۳ در گردهمایی DEFCON در لاسوگاس و نوادا برگزار شد. DEFCON بزرگترین کنفرانس امنیت سایبری در ایالات متحده است و در سال ۱۹۹۳ توسط جف ماس (Jeff Moss) بطور رسمی آغاز بکار کرده است. پس از آن به تدریج DEFCON به سکویی برای رقابت مهارتهای امنیتی مختلف تبدیل شد. با گسترش اینترنت، هم DEFCON و هم CTF روند رو به رشدی داشتهاند. امروزه رقابتهای فتح پرچم جهانی شدهاند؛ چرا که هیچ مرز و محدودیت جغرافیایی ندارند و میتوان هر کجای جهان و تنها از طریق اینترنت در آنها شرکت کرد. تیمهای بینالمللی برای کسب جوایز مختلف و نشان دادن تواناییهای خود، در این رقابتها شرکت میکنند. دو دسته CTF وجود دارد :
• Attack-Defend
• Jeopardy-style
مسابقات فتح پرچم attack-defend
در مسابقه فتح پرچم از نوع attack-defend، هر تیم به سیستم تیم دیگر حمله میکند و در مقابل باید از سیستم خود نیز دفاع کند. این مسابقه معمولا دو دور (Round) دارد. در دور اول، یک تیم مهاجم و تیم دیگر مدافع است و در دور بعدی نقش تیمها عوض میشود. در سیستمهای تیم مدافع، پرچمهایی قرار دارد (فایلهای متنی، پوشهها، تصاویر و …) که تیم مهاجم باید با استفاده از روشهای نفوذ آنها را بهدست بیاورد.
تیم مهاجم میتواند از ابزارهای مختلف تست نفوذ استفاده کند تا سیستمهای تیم مدافع را به خطر بیاندازد اما قوانینی نیز در این زمینه وجود دارد تا اطمینان حاصل شود که تیمها برتری خاصی نسبت به یکدیگر نداشته باشند. تیم مدافع میتواند در چارچوب مقررات برای دفاع از سیستم خود در مقابل تیم مهاجم، اقدام کند. بعنوان مثال تیم مدافع مجاز به غیرفعال کردن اتصالات شبکه یا خاموش کردن دستگاهها نیست. اگر نقض قوانین اتفاق بیفتد، تیم متخلف امتیاز از دست میدهد و حتی شاید رد صلاحیت شود.
مسابقات فتح پرچم Jeopardy
مسابقه فتح پرچم از نوع Jeopardy، شبیه به بازیهای جئوپاردی (Jeopardy) است. این نوع از مسابقه CTF، جدول امتیازاتی شبیه به جئوپاردی با دستهبندیها و مقادیر مختلف دارد. این نوع مسابقه میتواند با بیش از دو تیم برگزار شود؛ چرا که قرار نیست تیمها به یکدیگر حمله کنند. دستهبندیهای Jeopardy شامل رمزنگاری، استگانوگرافی، امنیت فیزیکی و اسکن و دستههای دیگری است. برخی از چالشها را میتوان روی یک سرور اصلی انجام داد که برای CTF ایجاد شده است؛ روی این سرور پرچمی قرار دارد که تیمها برای امتیازگرفتن، باید آن را به دست بیاورند. در نهایت هم امتیازات هر تیم در یک جدول نمایش داده میشود. در این مسابقه از یک تایمر برای شروع و متوقف کردن بازی استفاده میشود و پس از اتمام زمان، بازی به پایان میرسد. تیمی که بیشترین امتیازات را بدست آورده باشد، برندهی مسابقه است.
همانطور که قبلاً نیز ذکر شد، امروزه CTF ها جهانی هستند و میتوانند بصورت آنلاین یا در همان منطقه جغرافیایی برگزار شوند. موسسه Open Security Project Security Application (OWASP) واقع در سن دیگو، معمولاً سالی یک بار CTF به سبک جئوپاردی را برپا میکند. در این مسابقه شرکتکنندگان قادر به یادگیری نحوه انتخاب قفل و استفاده از ابزارهای دیگر برای تکمیل رقابت CTF هستند. National Cyber League (NCL) یکی دیگر از رویدادهای CTF است که میان دانشجویان و دانشکدههای دانشگاهها برگزار میشود. NCL به عنوان برنامه درسی برای آموزش امنیت سایبری به دانشجویان نیز استفاده میشود. چندین رقابت اینترنتی و حضوری CTF دیگر نیز وجود دارد که در وبسایت CTFTime میتوانید آنها را مشاهده کنید.
در ویدئوی زیر با یک نمونه از حل مراحل یک مسابقه فتح پرچم که توسط مهندس نیما دباغی انجام شده است، آشنا می شوید: