כנס המבחנים הוא יום מיונים ממוחשב הנמשך כ-4 עד 5 שעות במתקן איתור של חיל המודיעין. זהו השלב הראשון שבו נבדקים בפועל ביצועים תחת מגבלת זמן.
| מודול | משך מוערך | אופי המבחן | מה נבדק בפועל |
|---|---|---|---|
| פרוטוקול תקשורת סינתטי | כשעה | חומר חדש לחלוטין | הבנת מפרט טכני, שדות בינאריים ו-Validation |
| מחשבון קרב (שפה מומצאת) | כשעה | חומר חדש לחלוטין | מעקב אחרי שינויי מצב (State), אוגרים ומחסנית |
| סוללת מבחני ידע מודולריים | כשעה וחצי | ידע מוקדם לפי בחירה | עומק שליטה ב-C, רשתות, מערכות הפעלה ו-Web |
| שאלון אישיותי 300 | כ-45 דקות | שאלון היגדים | אמינות, עקביות ודפוסי התנהגות |
עולם הסייבר המבצעי משתנה מדי שבוע. חוקר סייבר או מפתח ביחידה אינו עובד עם מערכות מוכרות בלבד – הוא מקבל מערכת הפעלה שלא ראה מעולם, מעבד בארכיטקטורה לא סטנדרטית, או פרוטוקול קנייני סגור.
לכן, המודיעין מתגמל קצב קליטה וחקירה: האם בהינתן דף חוקים של 3 עמודים אתם מסוגלים להפוך למשתמשים מומחים תוך 20 דקות?
במודול זה תקבלו מסמך מפרט עבור פרוטוקול תקשורת שהומצא במיוחד עבור המבחן. המפרט יגדיר מבנה פקטה בינארית:
מחשבון קרב מציג שפת אסמבלי מומצאת בעלת סט פקודות מצומצם (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 (עוצר) |
בחלק זה מוצגים כ-10 עד 15 מודולי ידע שונים בנושאים כמו: שפת C, אסמבלי x86/ARM, מערכות הפעלה, רשתות TCP/IP, פייתון, Java/C#, ו-Web Security.
שאלון 300 מכיל היגדים אישיותיים ("אני מעדיף לעבוד לבד", "לפעמים אני מתרגז"). השאלות חוזרות על עצמן בניסוחים שונים. ענו בכנות, במהירות ובזרימה בלי לנסות "להנדס" פרופיל מושלם.
במסלול הפיתוח מקבלים פרויקט קוד קיים ונדרשים להרחיב אותו, להוסיף יכולות, ולפתור באגים בזמן אמת.
האתגר המרכזי הוא מנגנון הדרישות המשתנות: כל 45 דקות הבוחנים נכנסים ומשנים את מפרט המערכת (למשל: "מעכשיו הקלט אינו מגיע מקובץ אלא מזרם רשת מוצפן").
במסלול מחקר המערכות תקבלו תוכנית בינארית סגורה (Executable) ללא קוד מקור, המאזינה לפורט מסוים ברשת או מקבלת קלט. המטרה: לפענח את התנהגותה הפנימית, את הפרוטוקול שלה, ולמצוא את מפתח הפענוח (Flag).
הזנת קלטים מגוונים (מחרוזות קצרות, ארוכות, מספרים, תווים בינאריים) ותיעוד התגובה של התוכנית.
ניסוח השערה מדעית מדויקת: "אם שולחים תו X בבייט השלישי, התוכנית מחזירה קוד שגיאה 0x04".
שינוי בייט אחד בלבד בכל ניסוי כדי לבודד את ההשפעה.
רישום מסודר של כל ניסוי ותוצאתו בטבלת מעקב.
אימות ההשערה או הפרכתה ומעבר לשלב הבא.
כדי לחקור קופסה שחורה בסביבת לינוקס, משתמשים בארגז כלים תקני:
# חילוץ מחרוזות טקסט קריאות מתוך הבינארי
strings target_binary
# האזנה וניתוח תעבורת רשת מול התוכנית
nc -zv 127.0.0.1 8080
tcpdump -i lo -X port 8080
# מעקב אחרי קריאות מערכת (Syscalls)
strace ./target_binary
# מעקב אחרי קריאות לספריות דינמיות
ltrace ./target_binary
המבחנים המעשיים בכנס ובסדנה בודקים כיצד אתם פועלים מול אי-ודאות. מי שפועל בשיטתיות, מתעד כל צעד, ושומר על קור רוח – מגיע לתוצאות הטובות ביותר.
קראו את המדריכים המשלימים:
מפת הדרכים הטכנית: C, לינוקס ורשתות ← מדריך כל שלבי המיון ←