שאלון גאמ"א סייבר המקוון: איך לדרג נכון
אחרי שעמדתם בנתוני הסף נפתח לכם באזור האישי באתר מתגייסים שאלון הידע של גאמ"א סייבר. הוא שונה מכל מבחן שאתם מכירים: אין בו שאלות עם תשובה נכונה, אין ציון עובר, ואף אחד לא בודק אם פתרתם משהו. זהו מיפוי, ומה שנמדד בו הוא לא כמה אתם יודעים אלא כמה מדויק אתם מדווחים.
הערה על הנתונים: צה"ל אינו מפרסם רשמית את מבנה המיון או משכי השלבים. הפירוט כאן מבוסס על דיווחי מועמדים שעברו את התהליך, והוא עשוי להשתנות בין מחזורי גיוס. הגורם המחייב היחיד הוא מה שמופיע באזור האישי שלכם באתר מתגייסים.
המאמר הזה הוא חלק מהמדריך המלא למיוני גאמ"א סייבר, ומכסה את השלב הראשון בתהליך.
רוצים להתכונן למיוני גאמ"א סייבר?
ערכת ההכנה בנויה לפי שלבי המיון עצמם: תרגול שפה מומצאת ומחשבון קרב, מאות שאלות ידע, ואתגר בלאק בוקס שמדמה את הסדנה המעשית.
לצפייה בסילבוס ערכת ההכנהחלון 72 השעות ואיך לנצל אותו
השאלון נפתח לחלון זמן מוגבל, שלפי דיווחי מועמדים עומד על כ-72 שעות מרגע הפתיחה. אין לחץ שעון בזמן המילוי עצמו, אבל אחרי סגירת החלון אין דרך חזרה.
- אל תפתחו ברגע שקיבלתם הודעה. הפתיחה מתחילה את הספירה. פתחו כשיש לכם כמה שעות פנויות.
- עברו קודם על הכל בלי לסמן. כך לא תדרגו בנדיבות בהתחלה ובקמצנות בסוף.
- אל תשלימו ידע תוך כדי מילוי. ללמוד נושא בשעתיים ולסמן שליטה זו בדיוק המלכודת.
- השאירו זמן למעבר שני. בסבב השני תגלו שדירגתם כמה מושגים בהתלהבות.
אשכולות הידע שמופיעים בשאלון
| אשכול | דוגמאות למושגים |
|---|---|
| שכבה נמוכה וארכיטקטורה | אסמבלי x86/x64, ARM, מחסנית וערימה, אוגרים, קריאות מערכת, פסיקות, שפת C, מצביעים, קומפילציה |
| מערכות הפעלה | קרנל לינוקס, מבנה פנימי של Windows, תזמון תהליכים, ניהול זיכרון, מערכות קבצים, הרשאות, Bash |
| רשתות ופרוטוקולים | מודל שבע השכבות, TCP/IP, UDP, ARP, DNS, HTTP, תכנות סוקטים, מבנה פקטות |
| הנדסת תוכנה | תכנות מונחה עצמים, תבניות עיצוב, מבני נתונים, אלגוריתמים, סיבוכיות, Python, Java, C#, C++ |
| אבטחת מידע וקריפטוגרפיה | הצפנה סימטרית וא-סימטרית, פונקציות גיבוב, חולשות אינטרנט, גלישת חוצץ, הנדסה לאחור |
אף אחד לא מצפה שתסמנו ידע בכל האשכולות. מועמד טיפוסי שמתקבל שולט לעומק באשכול אחד או שניים, ומכיר ברמה בסיסית את השאר.
מלכודת האמינות: למה ניפוח הורג מועמדות
זו הנקודה החשובה ביותר במאמר. לפי הדיווחים, השאלון כולל מנגנוני הצלבה שמזהים חוסר עקביות: אם סימנתם שליטה גבוהה בהנדסה לאחור אבל ידע אפסי באסמבלי ובשפת C, זה לא מסתדר.
אבל המנגנון האמיתי מגיע מאוחר יותר. שאלון הידע שלכם הוא המסמך שממנו נגזרות שאלות הראיון הטכני. מולכם יישב חוקר שעוסק בתחום ביומיום, הוא יבחר מושג שסימנתם ויירד לעומק עד שיגיע לקצה הידע שלכם. זה קורה לכל מועמד וזה תקין לחלוטין.
ההבדל הקריטי: להגיע לקצה הידע במושג שסימנתם ברמה בינונית זו תוצאה טובה. להגיע לקצה אחרי שתי שאלות במושג שסימנתם ברמה גבוהה זה כשל אמינות. הראשון מראה שאתם מכירים את עצמכם, השני מראה שאי אפשר לסמוך על מה שאתם מדווחים. בסביבה שעובדת עם מידע מסווג, אמינות היא לא ניואנס.
מה אומרת כל רמת דירוג
| רמה | המשמעות האמיתית | מבחן הסף שלכם |
|---|---|---|
| לא מכיר | לא שמעתי, או שמעתי ולא יודע מה זה | סמנו בלי היסוס, אין בזה בעיה |
| היכרות בסיסית | יודע מה זה, לא יודע ליישם | אני יכול להסביר במשפט מה זה עושה |
| ידע עובד | השתמשתי בזה בפועל | כתבתי או הרצתי משהו שמשתמש בזה |
| שליטה מלאה | מבין את המנגנון הפנימי | אני יכול ללמד את זה ולענות על שאלת המשך |
הכלל הפשוט: לפני שאתם מסמנים שליטה מלאה, שאלו את עצמכם אם תוכלו להסביר את המושג ללוח במשך חמש דקות ואז לענות על שאלה נוספת. אם התשובה לא ברורה, ירדו רמה.
למה לסמן לפחות C ולינוקס
אם אתם עומדים מול השאלון ולא בטוחים באילו תחומים להשקיע, יש המלצה אחת שחוזרת שוב ושוב ממי שעבר את התהליך: דאגו שיהיה לכם ידע אמיתי לפחות בשפת C ובלינוקס, וסמנו אותם בהתאם.
זו לא המלצה שרירותית. שני הנושאים האלה נושאי משקל: כמעט כל שלב מאוחר יותר בתהליך נשען עליהם, ישירות או בעקיפין. מי שיש לו אותם מגיע לסדנה עם יתרון מובנה, ומי שאין לו מגלה את החוסר ברגע הכי גרוע.
יש לכך גם סיבה פרקטית שנייה: C ולינוקס הם מהתחומים הבודדים שאפשר להביא לרמת שליטה אמיתית בכמה חודשים של עבודה עקבית. זה אומר שתוכלו לסמן אותם ברמה גבוהה בכנות מלאה ולעמוד מאחורי הסימון בראיון. השילוב הזה, של תחום מרכזי שגם ניתן לרכישה בזמן סביר, הוא נדיר.
שימו לב לניסוח: ההמלצה היא מינימום C ולינוקס, לא רק C ולינוקס. אלה הבסיס שעליו בונים. אם יש לכם עומק נוסף ברשתות, בהנדסה לאחור או בתכנות מונחה עצמים, בהחלט סמנו אותו.
מה C נותנת לכם בהמשך הדרך
מצביעים וכתובות זיכרון. ברגע שאתם מבינים שמשתנה הוא כתובת בזיכרון ולא קסם, נפתחת כל תפיסת הזיכרון: מה זו מחסנית, מה זו ערימה, מה קורה כשפונקציה נקראת, ולמה גלישת חוצץ היא בכלל דבר אפשרי. זו התשתית של מחקר פגיעויות.
מבנים ופריסת נתונים. כשאתם מגדירים מבנה נתונים אתם למעשה מתארים איך בתים מסודרים בזיכרון בזה אחר זה. זו בדיוק המיומנות שנדרשת כדי לפענח פורמט קובץ לא מוכר או מבנה פקטה של פרוטוקול שלא ראיתם.
טיפוסים, גדלים וסדר בתים. לדעת שמספר שלם תופס ארבעה בתים ולהבין את ההבדל בין סדר בתים קטן לגדול נשמע כמו פרט משעמם. בפועל זה ההבדל בין מי שמסתכל על פלט הקסדצימלי ורואה מספר, לבין מי שרואה ג'יבריש.
מה שהקוד הופך להיות. כשתסתכלו על קוד מפורק בהנדסה לאחור, אתם מסתכלים על מה שקוד C הפך להיות אחרי קומפילציה. מי שכתב C מזהה שם לולאה, תנאי, קריאה לפונקציה ומערך. מי שלא, רואה רשימת פקודות חסרת פשר.
מה לינוקס נותנת לכם בהמשך הדרך
אם C היא ההבנה, לינוקס היא הידיים. כמעט כל ארגז הכלים של מחקר מערכות הוא ארגז כלים לינוקסי, והאתגרים עצמם רצים בסביבה הזו.
- שורת הפקודה כסביבת עבודה. לשרשר פקודות, לסנן פלט ולכתוב סקריפט שמריץ ניסוי מאה פעמים הוא מכפיל כוח. בסדנה זה הבדל של שעות.
- ארגז הכלים לניתוח. כלי לצפייה בתוכן בינארי, חילוץ מחרוזות, מפרק קוד, מנפה שגיאות ומעקב אחרי קריאות מערכת. כל אחד עונה על שאלה אחרת.
- תהליכים, הרשאות ומערכת קבצים. הרבה אתגרים נפתרים לא בפיצוח אלגוריתם אלא בהבנה שקובץ מסוים נוצר במקום מסוים.
- עבודה מול שירותי רשת. לפתוח חיבור, לשלוח נתונים ולראות מה חוזר. כשהאתגר הוא שירות סגור, זו הפעולה שתחזרו עליה שוב ושוב.
הקשר הישיר לאתגר הקופסה השחורה
כאן הכל מתחבר. אחד ממסלולי הסדנה המעשית הוא אתגר קופסה שחורה רב שלבי: מקבלים מערכת סגורה, בלי קוד מקור, שמייצרת פלט מסוים עבור קלט מסוים, וצריך להסיק את ההיגיון הפנימי שלה. נפרק מה נדרש בפועל, ונראה מאיפה כל יכולת מגיעה:
| מה שצריך לעשות בקופסה השחורה | מאיפה היכולת מגיעה |
|---|---|
| להסתכל על פלט בינארי ולהבין מה מולך | טיפוסים, גדלים וסדר בתים מ-C |
| לשחזר מבנה הודעה בפרוטוקול לא מוכר | מבנים ופריסת זיכרון מ-C |
| להריץ את הקובץ ולראות איך הוא מתנהג | הרצה, הרשאות וכלי מעקב בלינוקס |
| לחלץ רמזים מתוך הקובץ עצמו | כלי חילוץ מחרוזות וצפייה בינארית |
| לקרוא קוד מפורק ולהבין מה הוא עושה | ידיעת C ואיך היא נראית אחרי קומפילציה |
| לדבר עם שירות רשת ולנסות מאות קלטים | שורת הפקודה, סקריפטים וסוקטים |
| לזהות שהנתונים מקודדים או מוצפנים | פעולות על ביטים ובסיסי ספירה |
שימו לב שאף שורה בטבלה לא דורשת ידע אקזוטי. כולן נשענות על אותם שני יסודות. זו הסיבה שההמלצה לסמן לפחות C ולינוקס אינה טיפ לשאלון בלבד, אלא החלטה שמשפיעה על הביצועים שלכם בשלב הקשה ביותר בתהליך. ויש בונוס: אותם יסודות משרתים אתכם גם במסלול השני של הסדנה, כי גם מי שיושב במסלול הנדסת התוכנה נדרש להבין ניהול זיכרון, יעילות ומבני נתונים.
תוכנית לימוד מאפס
שלושה עד ארבעה חודשים בקצב סביר מספיקים כדי להגיע לשאלון עם שני תחומים שאתם יכולים לסמן בראש שקט:
- שלב א. יסודות C: טיפוסים, תנאים ולולאות, פונקציות ומערכים, ואז מצביעים. זה הנושא שדורש הכי הרבה זמן ושווה כל דקה. אחריו הקצאת זיכרון דינמית ומבנים.
- שלב ב. לינוקס בשימוש יומיומי: התקינו במכונה וירטואלית והתחילו להשתמש. ניווט, חיפוש, שרשור פקודות, הרשאות, תהליכים, וקומפילציה משורת הפקודה.
- שלב ג. לחבר בין השניים: כתבו תוכנית שקוראת קובץ בינארי ומדפיסה אותו, השוו לכלי צפייה בינארית, הציצו בקוד המפורק של תוכנית שקמפלתם, ופתרו אתגרי CTF ברמת מתחילים.
רוצים את זה בנוי לכם לפי סדר?
ערכת ההכנה מסודרת בדיוק לפי הלוגיקה הזו: יסודות תכנות ושכבה נמוכה, עבודה בסביבת לינוקס, ואז אתגר בלאק בוקס שמדמה את הסדנה.
לצפייה בסילבוס ערכת ההכנהתיק העבודות: מה לצרף ואיך
השאלון מאפשר לצרף קישורים לקוד פומבי. זו הזדמנות אמיתית, במיוחד למי שאין לו בגרות טכנולוגית, אבל רק אם עושים את זה נכון. צרפו פרויקט אחד או שניים שאתם באמת מבינים לעומק ולא עשרה שהעתקתם ממדריכים, עם קוד מסודר, קובץ הסבר שמפרט מה הפרויקט עושה, והיסטוריית גרסאות שנראית כמו עבודה מתמשכת.
כלל אצבע: כל שורת קוד שאתם מצרפים היא שאלת ראיון פוטנציאלית. לפני שאתם מצרפים פרויקט, עברו עליו ושאלו את עצמכם על כל החלטה: למה ככה ולא אחרת. אם אין לכם תשובה, או שתלמדו אותה או שלא תצרפו.
טעויות נפוצות
- לסמן שליטה גבוהה בכל מה שנשמע מרשים. הטעות מספר אחת, ונחשפת בוודאות בראיון.
- לפתוח את השאלון מיד ואז למהר. חלון הזמן נספר מרגע הפתיחה.
- לדרג לפי מה שנראה שהם מחפשים. אתם לא יודעים מה הם מחפשים, והניחוש מייצר פרופיל לא עקבי.
- ללמוד נושא בחיפזון כדי לסמן אותו. ידע של יומיים לא שורד שאלת המשך אחת.
- לוותר על צירוף קוד. אם יש לכם משהו אמיתי להראות, זו נקודת חוזק שמעטים מנצלים.
- לדרג נמוך מדי מרוב זהירות. ענווה מוגזמת יוצרת פרופיל חלש. דווחו במדויק, לא בהמעטה.
סיכום
השאלון נראה כמו טופס, אבל הוא המסמך שמלווה אתכם לאורך כל התהליך: הוא קובע אם תוזמנו להמשך, לאיזה מסלול תכוונו, ומה ישאלו אתכם בראיון הטכני.
שתי מסקנות. ראשית, דרגו במדויק, כי פרופיל צר ואמיתי חזק מפרופיל רחב ומנופח. שנית, אם אתם בונים ידע ולא בטוחים במה להתמקד, התחילו מ-C ומלינוקס. אלה התחומים שמשתלמים הכי הרבה בהמשך, במיוחד באתגר הקופסה השחורה, והם גם ברי השגה בזמן סביר.
השלב הבא בתהליך: כנס המבחנים של גאמ"א סייבר.
