לדלג לתוכן

פורמטים של תחרויות CTF - Jeopardy מול Attack-Defense

אם אתם מתכננים להצטרף לתחרות CTF חיה לראשונה, יש דבר אחד שכדאי לברר לפני שאתם נרשמים, ולא אחרי - מה הפורמט של התחרות. זה נשמע כמו פרט טכני, אבל זה בעצם קובע איך תיראה כל השעה או היום הקרובים שלכם, ואיזה כישורים תצטרכו להביא איתכם.

פורמט Jeopardy - הנפוץ מכולם

רוב האתגרים שאתם פותרים בפלטפורמות תרגול, ורוב התחרויות האונליין, בנויים בפורמט Jeopardy. השם מגיע מתוכנית משחקי הטריוויה המפורסמת, וזה בדיוק הרעיון - לוח עם קטגוריות בציר אחד וערכי נקודות בציר השני. web, crypto, pwn, forensics, וכל קטגוריה מכילה כמה אתגרים בערכי נקודות עולים, שבדרך כלל מתאימים לרמת הקושי.

כל צוות עובד בנפרד, בקצב שלו, ובוחר באיזה סדר לתקוף את האתגרים. כשפותרים אתגר, מוצאים בתוכו "דגל" - מחרוזת ייחודית - ומגישים אותו למערכת כדי לקבל את הנקודות. הצוות עם הכי הרבה נקודות בסוף הזמן המוקצב מנצח.

הפורמט הזה נוח כי הוא לא תלוי בזמן אמת מול צוותים אחרים באופן ישיר - אתם לא צריכים להגיב לפעולה של אף אחד, רק לפתור. זו הסיבה שהוא כל כך נפוץ, גם בתרגול עצמאי וגם ברוב התחרויות האונליין - הוא נגיש, אפשר להריץ אותו מרחוק, וקל יחסית לארגן.

פורמט Attack-Defense - הרבה יותר אינטנסיבי

זה הפורמט השני הגדול, ומי שמתרגל רק Jeopardy עלול לחוות הלם תרבות אם הוא נכנס לתחרות attack-defense בלי לדעת למה לצפות. כאן כל צוות מקבל מערכת זהה של שירותים פגיעים על מכונה או רשת פרטית משלו. חלק מהתפקיד שלכם הוא להגן על השירותים האלה - למצוא ולתקן את הפגיעויות בהם לפני שמישהו מנצל אותן נגדכם - וחלק אחר הוא לתקוף בדיוק את אותם שירותים כשהם רצים אצל כל הצוותים היריבים.

זה אומר שאתם עובדים בו זמנית בשני כיוונים. patching בזמן אמת של השירותים שלכם תוך כדי שהתחרות רצה, ופיתוח exploits עובדים נגד מטרה שכל הזמן משתנה, כי הצוותים האחרים גם מתקנים את המערכות שלהם באמצע. יש בדרך כלל מנגנון שבודק כל כמה דקות אם השירותים שלכם עדיין עובדים ואם השירותים של האחרים עדיין פגיעים, ומחלק נקודות בהתאם.

זה דורש הרבה יותר תיאום צוותי מ-Jeopardy. צריך מישהו שמנטר את הלוגים בזמן אמת, מישהו שכותב exploits, מישהו שמתקן קוד, וכולם צריכים לתקשר כל הזמן כדי לא לדרוך אחד על השני. פורמט כזה הוא הרבה יותר מתאים לתחרויות פרונטליות, כי הוא דורש תשתית מורכבת וזמן אמת אמיתי. זו הסיבה שגמרי הגמר הפרונטליים של תחרויות יוקרתיות רבות, כולל תחרות ה-CTF המפורסמת של DEF CON, נערכים היסטורית לרוב בפורמט attack-defense או בגרסה שלו.

וריאציות והיברידים

מעבר לשני הפורמטים המרכזיים, יש גם וריאציות מעניינות. אחת הנפוצות נקראת King of the Hill, שבה כל הצוותים מתחרים על השליטה במערכת אחת משותפת, וכל דקה שאתם שולטים בה מזכה אתכם בנקודות, עד שמישהו אחר משתלט עליה. יש גם תחרויות שמשלבות שלב Jeopardy בהתחלה ושלב attack-defense בסוף, בעיקר בתחרויות גדולות שרוצות גם נגישות רחבה וגם שיא דרמטי בסיום.

למה בכלל להכיר את זה מראש

הסיבה שחשוב להבין את ההבדל לפני שאתם נכנסים לתחרות חיה היא פשוטה - הכישורים הנדרשים שונים לגמרי. מי שמתרגל רק פתרון אתגרים בודדים ב-Jeopardy יגיע לתחרות attack-defense בלי ניסיון בכתיבת exploit שעובד תחת לחץ זמן אמיתי, ובלי ניסיון בהגנה על שירות חי. גם ההיבט הצוותי שונה - Jeopardy אפשר לפתור כמעט לבד, בעוד attack-defense כמעט בלתי אפשרי בלי תיאום הדוק.

אם אתם רואים תחרות עם פורמט לא מוכר, שווה לקרוא את הכללים המלאים לפני שנרשמים ולא באמצע. לפני שאתם קופצים לפורמטים המתקדמים יותר, כדאי לוודא שהבסיס שלכם באמת יציב. תבנו את הבסיס עם קורס בדיקות החדירה שלנו, כדי שכשתגיעו לתחרות הראשונה שלכם, לא משנה באיזה פורמט, יהיו לכם הכלים הבסיסיים כדי להשתתף באמת ולא רק לצפות.

בואו נדבר על תחרויות, פורמטים, וחוויות מהצד השני של הלוח.

הצטרפו לקהילה בדיסקורד

לסיכום

Jeopardy ו-Attack-Defense הם שני עולמות שונים לגמרי בתוך אותו תחום. הכירו את שניהם, דעו למה לצפות מכל אחד, ואל תיתנו לפורמט לא מוכר להפתיע אתכם באמצע תחרות.