המבחנים המעשיים בגאמ"א סייבר: כנס המבחנים, שפה מומצאת ואתגר הקופסה השחורה

המבחנים המעשיים בגאמ"א סייבר: כנס המבחנים, שפה מומצאת ואתגר הקופסה השחורה

📌 תמצית המדריך

  • שני אתגרי הדגל: (1) כנס המבחנים – למידה של חומר חדש בזמן אמת (פרוטוקול סינתטי ושפה מומצאת). (2) הסדנה המעשית – פיתוח מול דרישות משתנות או מחקר מערכת סגורה (Blackbox).
  • שיטת העבודה המנצחת: עבודה עם טבלת מעקב (Trace Table) ודף חוקים מרוכז במבחני השפה המומצאת, ושימוש בלולאת ההשערה המדעית באתגר הבלאקבוקס.
  • אסטרטגיית מודולי הידע: מודיעין מתגמל שיא ועומק – עדיף להצטיין ב-2 מודולים מאשר לענות בינוני על 8.

מבנה יום כנס המבחנים ולוח הזמנים

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

מודול משך מוערך אופי המבחן מה נבדק בפועל
פרוטוקול תקשורת סינתטי כשעה חומר חדש לחלוטין הבנת מפרט טכני, שדות בינאריים ו-Validation
מחשבון קרב (שפה מומצאת) כשעה חומר חדש לחלוטין מעקב אחרי שינויי מצב (State), אוגרים ומחסנית
סוללת מבחני ידע מודולריים כשעה וחצי ידע מוקדם לפי בחירה עומק שליטה ב-C, רשתות, מערכות הפעלה ו-Web
שאלון אישיותי 300 כ-45 דקות שאלון היגדים אמינות, עקביות ודפוסי התנהגות

מדוע בודקים חומר חדש ולא רק ידע מוקדם?

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

לכן, המודיעין מתגמל קצב קליטה וחקירה: האם בהינתן דף חוקים של 3 עמודים אתם מסוגלים להפוך למשתמשים מומחים תוך 20 דקות?

מודול הפרוטוקול הסינתטי: ניתוח מבנה פקטה

במודול זה תקבלו מסמך מפרט עבור פרוטוקול תקשורת שהומצא במיוחד עבור המבחן. המפרט יגדיר מבנה פקטה בינארית:

  • Magic Bytes (תווים מזהים): תבנית פותחת בתחילת המסגרת.
  • שדה אורך (Length): האם האורך כולל את ה-Header או רק את ה-Payload?
  • Flags (דגלים): ביטים בודדים המפעילים הצפנה, דחיסה, או פיצול למקטעים.
  • Sequence / ACK: מספרי רצף ואישורי הגעה.
  • Checksum: אלגוריתם חישוב בדיקת תקינות ייעודי.

מחשבון קרב והשפה המומצאת: אוגרים ומחסנית

מחשבון קרב מציג שפת אסמבלי מומצאת בעלת סט פקודות מצומצם (OpCodes), מספר אוגרים (כגון R0, R1, R2), מחסנית (Stack), ודגלי תנאי (Zero, Negative).

דוגמה מעשית מלאה וטבלת מעקב

נבחן מקטע קוד קצר בשפה מומצאת:

; אתחול אוגרים
SET R0, 5
SET R1, 0
SET R2, 1

; לולאה ראשית
LOOP:
ADD R1, R2        ; R1 = R1 + R2
INC R2            ; R2 = R2 + 1
DEC R0            ; R0 = R0 - 1
JNZ R0, LOOP      ; אם R0 != 0 קפוץ ל-LOOP

PUSH R1           ; דחוף את התוצאה למחסנית

כדי לפתור שאלה על קוד כזה ללא שגיאות חישוב, בונים טבלת מעקב (Trace Table):

איטרציה R0 (מונה) R1 (סכום רץ) R2 (איבר נוכחי) דגל Zero
התחלה 5 0 1 False
איטרציה 1 4 1 2 False
איטרציה 2 3 3 3 False
איטרציה 3 2 6 4 False
איטרציה 4 1 10 5 False
איטרציה 5 (סיום) 0 15 6 True (עוצר)

שיטת 4 השלבים לפיצוח שני המודולים

  1. ריכוז חוקים: ב-5 הדקות הראשונות, סכמו על דף טיוטה את רשימת הפקודות, האוגרים והחוקים המיוחדים.
  2. טבלת מעקב חובה: אל תחשבו שום חישוב בראש. כל שורת קוד מעדכנת שורה בטבלה.
  3. ציד חוקים חריגים: שימו לב לפרטים כמו גלישת מספרים (Overflow), חלוקה באפס, או שינוי סדר בתים.
  4. ניהול זמנים: אל תתעכבו מעל 3 דקות על שאלה אחת – סמנו אותה וחזרו בסוף.

סוללת מבחני הידע המודולריים

בחלק זה מוצגים כ-10 עד 15 מודולי ידע שונים בנושאים כמו: שפת C, אסמבלי x86/ARM, מערכות הפעלה, רשתות TCP/IP, פייתון, Java/C#, ו-Web Security.

אסטרטגיית הבחירה: חוק הדילוג המושכל

הכלל שמכריע: המערכת מחפשת שיא (Peak) ולא ממוצע שטחי. בחרו 2 עד 3 מודולים שבהם אתם חזקים ביותר והשקיעו בהם את כל הזמן כדי לקבל 95%+. דילוג על מודולים שאינכם בקיאים בהם מונע בזבוז זמן ומעיד על מודעות עצמית.

שאלון 300: עקביות וזרימה

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

הסדנה המעשית: מסלול פיתוח תוכנה

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

האתגר המרכזי הוא מנגנון הדרישות המשתנות: כל 45 דקות הבוחנים נכנסים ומשנים את מפרט המערכת (למשל: "מעכשיו הקלט אינו מגיע מקובץ אלא מזרם רשת מוצפן").

למה קוד מונוליטי מפיל מועמדים?

מועמדים שכותבים את כל הלוגיקה בפונקציה אחת גדולה (Spaghetti Code) נתקעים כאשר דרישה משתנה, ונאלצים למחוק ולכתוב הכל מחדש.

איך לבנות נכון מהדקה הראשונה

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

הסדנה המעשית: אתגר הקופסה השחורה (Blackbox)

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

מתודולוגיית העבודה: לולאת ההשערה ב-5 שלבים

1. תצפית (Observation)

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

2. השערה (Hypothesis)

ניסוח השערה מדעית מדויקת: "אם שולחים תו X בבייט השלישי, התוכנית מחזירה קוד שגיאה 0x04".

3. ניסוי מינימלי (Controlled Experiment)

שינוי בייט אחד בלבד בכל ניסוי כדי לבודד את ההשפעה.

4. תיעוד (Logging)

רישום מסודר של כל ניסוי ותוצאתו בטבלת מעקב.

5. עדכון והמשך

אימות ההשערה או הפרכתה ומעבר לשלב הבא.

ארגז הכלים לניתוח בינארי

כדי לחקור קופסה שחורה בסביבת לינוקס, משתמשים בארגז כלים תקני:

# חילוץ מחרוזות טקסט קריאות מתוך הבינארי
strings target_binary

# האזנה וניתוח תעבורת רשת מול התוכנית
nc -zv 127.0.0.1 8080
tcpdump -i lo -X port 8080

# מעקב אחרי קריאות מערכת (Syscalls)
strace ./target_binary

# מעקב אחרי קריאות לספריות דינמיות
ltrace ./target_binary

טעויות נפוצות במבחנים המעשיים

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

סיכום וקישורים

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

מוכנים לבנות את הידע הנדרש?

קראו את המדריכים המשלימים:

מפת הדרכים הטכנית: C, לינוקס ורשתות ←    מדריך כל שלבי המיון ←
תודה! בזכותכם נוכל להשתפר