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

‫תוכנית לימודים להתמחות‬
‫תכנון ותכנות מערכות‬
‫הגנת סייבר‬
‫צוות תוכנית הלימודים‬
‫כתיבה (לפי סדר א"ב)‬
‫איגור בוגודלוב‬
‫לטם גיא‬
‫עדי שהרבני‬
‫עמרי אילדיס‬
‫שלומי בוטנרו‬
‫שלומי הוד‬
‫עריכה‬
‫שלומי הוד‬
‫מבוא לתוכנית הלימודים‬
‫מרחב הסייבר והגנת סייבר‬
‫מרחב הסייבר הוא המרחב המטפורי הנוצר מחיבור ישויות שונות – מציאותיות ווירטואליות ‪ -‬באמצעות מערכות‬
‫מחשב ומערכות תקשורת‪ .‬למערכות אלו‪ ,‬ישנה השפעה על חיי היום יום של כל אחד מאיתנו‪ ,‬ולכן פגיעה בהן‬
‫עלולה להפריע למהלך החיים התקין‪ .‬לכן‪ ,‬ישנה חשיבות ללימוד הגנת כסייבר כמקצוע‪.‬‬
‫מההיבט הכולל‪ ,‬ניתן להגדיר את מרחב הסייבר כמערכת של מערכות‪ .‬כל מערכת שכזו מורכבת מרכיבים הבונים‬
‫אותה‪ ,‬מקשרים בניהם ומפעולות אפשריות עליהם‪ .‬מערכת יכולה להיות בכל סדר גודל‪ ,‬החל משבב בודד וכלה‬
‫ברשת תקשורת חובקת עולם – האינטרנט‪.‬‬
‫מטרת העל‬
‫התלמיד יהיה שחקן פעיל כמגן במרחב הסייבר‪.‬‬
‫פרקיהחלופה בהתמחות‬
‫ההתמחות בנוייה משישה חלקים (ובתוכם תת פרקים)‪:‬‬
‫‪ .1‬מבוא להגנת סייבר ‪ 11 -‬שעות‬
‫‪ .2‬הגנת רשתות ‪ 121 -‬שעות‬
‫‪ .3‬הגנת אפליקציות (בדגש ‪ 04 - )Web‬שעות‬
‫‪ .4‬הגנת מערכות הפעלה (בדגש ‪ 124 - )Windows‬שעות‬
‫‪ .5‬הגנת סייבר בעולם מורכב ‪ 34 -‬שעות‬
‫‪ .6‬עבודת גמר – ‪ 124‬שעות‬
‫עקרונות מנחים בלימוד ההתמחות‬
‫‪ .1‬התנסות ‪ -‬עבודה באופן ישיר‪ ,‬בלתי‪-‬אמצעי ומעשי עם המערכות השונות בתכנית הלימודים‪.‬‬
‫‪ .2‬רקע תיאורטי‪ -‬הבנה מעמיקה ויסודית עם המערכות השונות‪ .‬יש להבין את המנגנונים הפנימיים של‬
‫המערכות‪.‬‬
‫חלוקה מומלצת‬
‫‪ .1‬כיתה י"א – ‪ 181‬שעות (‪ 6‬ש"ש)‬
‫‪ .2‬כיתה י"ב – ‪ 271‬שעות (‪ 9‬ש"ש)‬
‫המלצות לבחירה במסגרת הבגרות במדעי המחשב‬
‫‪ .1‬יחידה חמישית – מערכות מחשב ואסמבלי‬
‫‪ .2‬יחידה שלישית – מבוא לתכנות בסביבת אינטרנט‬
‫חלק א' ‪ -‬מבוא להגנת סייבר (‪ 51‬שעות)‬
‫פרק ‪ :5‬מבוא להגנת סייבר‬
‫מטרת הפרק‬
‫להבין את משמעות המונח "סייבר" ומהי "הגנת סייבר"‪.‬‬
‫מטרות ביצועיות‬
‫‪ .1‬התלמיד יבחין וסביר מהם היישויות המרכיבות את העולם המכונה "סייבר" – מחשב‪ ,‬רשת‪ ,‬אינטרנט‪.‬‬
‫‪ .2‬התלמיד יזהה סוגי הגנה שונים – רמת המשתמש‪ ,‬רמת המערכת‪.‬‬
‫‪ .3‬התלמיד יתאר ויסביר מהו אירוע אבטחה בעולם ה"סייבר"‪.‬‬
‫‪ .4‬התלמיד יתאר וינמק אירועי אבטחה אמיתיים‪.‬‬
‫מושגים והכוונה‬
‫‪ .1‬מחשב אישי‬
‫‪ .2‬שרת‬
‫‪ .3‬מערכת משובצת‬
‫‪ .4‬רשת‬
‫‪ .5‬רשת פנימית‬
‫‪DoS/DDoS .6‬‬
‫‪ .7‬נוזקה (‪)Malware‬‬
‫‪ .8‬סוס טרויאני (‪)Trojan Horse‬‬
‫‪ .9‬תולעת מחשבים (‪)Computer Worm‬‬
‫‪ .11‬וירוס מחשבים (‪)Computer Virus‬‬
‫‪Adware .11‬‬
‫‪Spyware .12‬‬
‫דרכי הוראה‬
‫‪ .1‬תיאור המרכיבים השונים של עולם ה"סייבר" והקשר ביניהם‪:‬‬
‫א‪ .‬מחשבים פרטיים‬
‫ב‪ .‬מערכות משובצות (ייעודיות)‬
‫ג‪ .‬שרתים פרטיים‬
‫ד‪ .‬שרתי רשת‬
‫ה‪" .‬ענן האינטרנט"‬
‫‪ .2‬תיאור הדרכים השונות לתקוף מחשב או מערכת‪:‬‬
‫א‪ .‬התחזות למשתמש‬
‫ב‪ .‬שיבוש פעולת מחשב או מערכת‬
‫ג‪ .‬השתלטות על מחשב או מערכת‬
‫‪ .3‬תיאור וניתוח סוגי ההגנה השונים‪:‬‬
‫א‪ .‬הגנה ברמת המשתמש – הגיינה דיגיטלית‪:‬‬
‫‪ .i‬ניהול סיסמאות‬
‫‪ .ii‬גלישה מאובטחת‬
‫‪ .iii‬שימוש בכלי אבטחה – אנטי וירוס‪ ,‬עדכונים אוטומטיים‬
‫ב‪ .‬הגנה ברמת המערכת‪:‬‬
‫‪ .i‬חסימת גישה לא נחוצה‬
‫‪ .ii‬זיהוי התקפות‬
‫‪ .iii‬בדיקות חדירות‬
‫‪ .iv‬כתיבת קוד מאובטח‬
‫‪ .4‬הצגה והסבר של המושגים הבאים‪:‬‬
‫א‪ .‬נוזקה ‪ –Malware‬תוכנה בעלת מאפיניים זדוניים כלשהם‪.‬‬
‫‪.5‬‬
‫‪.6‬‬
‫‪.7‬‬
‫‪.8‬‬
‫‪.9‬‬
‫ב‪ .‬סוס טרויאני (‪ – )Trojan Horse‬תוכנה אשר ידועה כי מבצעת ‪ X‬פעולות אולם היא מבצעת ‪Y‬‬
‫פעולות נוספות אשר אינן מוכרות למשתמש‪.‬‬
‫ג‪ .‬תולעת מחשבים (‪ – )Computer Worm‬תוכנה זדונית אשר מטרתה העיקרית הינה לצרוך כמה‬
‫שיותר רוחב פס ברשת ולהעמיס אותה‪ ,‬הינה בעלת יכולת התפשטות אוטונומית (כלומר לא‬
‫נדרשת מעורבות משתמש)‪.‬‬
‫ד‪ .‬וירוס מחשבים (‪ – )Computer Virus‬תוכנה זדונית שאינה יודעת להתפשט מעבר למרחב ה‪-‬‬
‫‪ File System‬ללא מעורבות משתמש‪.‬‬
‫הצגת ‪ 2-3‬מקרי תקיפה אשר התרחשו בעולם‪ .‬דוגמאות‪:‬‬
‫א‪ .‬לוקהיד מרטין‬
‫ב‪TJMaxx .‬‬
‫ג‪ .‬גאורגיה‪/‬אסטוניה‪/‬ישראל‬
‫ד‪ .‬ביצת הקוקיה‬
‫ה‪ .‬דוגמה לתקיפת ‪DDOS‬‬
‫זהו פרק מבוא שאינו דורש ידע מוקדם‪ .‬כדאי לנצל עובדה זו כדי לשתף את התלמידים בהעלאת‬
‫רעיונותיהם ונסיונם בכל אחד מהנושאים הנלמדים‪.‬‬
‫הצגת מקרי התקיפה האמיתיים צריכה להיות מלהיבה‪ .‬יש להעביר שיעורים אלו במתכונת סיפור מקרה‪.‬‬
‫יש להוסיף תמונות‪ ,‬תוצאות וסיפורים מעניינים‪.‬‬
‫חשוב להבהיר שהתיאור של הארגון שייבחר הינו דמיוני ואין קשר בינו לבין המציאות‪ .‬עם זאת‪ ,‬כדאי‬
‫להשאר עם תיאור גוף מוכר כדי לתת הקשר לסיפור ולעזור לתלמידים להבין על מה נדרש להגן ומהן‬
‫הסכנות בהתקפות‪.‬‬
‫ניתן לבנות סיפור זה בצורה שתלווה את התלמידים לאורך הלימוד‪.‬‬
‫דרכי הערכה‬
‫‪ .1‬בחינה עיונית‪:‬‬
‫א‪ .‬סיפור דמיוני המתאר את המחשבים‪ ,‬המכונות והרשתות הקיימות בארגון כלשהו על בסיסו‬
‫התלמיד יתבקש‪:‬‬
‫‪ .i‬לצייר את המתואר (מחשבים רשתות)‬
‫‪ .ii‬לזהות את האזורים הדורשים הגנה‬
‫‪ .iii‬להסביר איזה סוג של הגנה נדרש בכל אחד מהאזורים‬
‫ב‪ .‬עבור אחד מסיפורי התקיפה שתוארו בשיעור התלמיד יתבקש‪:‬‬
‫‪ .i‬לתאר את האזורים בהם ההגנה לא היתה מספקת ואפשרה את התקיפה‪.‬‬
‫‪ .ii‬להסביר מה אדם פרטי יכול לעשות בהנתן שיודע על הפירצה‪.‬‬
‫‪ .iii‬להסביר מה ארגון ממשלתי יכול לעשות בהנתן שיודע על הפירצה‪.‬‬
‫‪ .iv‬להציע מנגנון הגנה המונע את הפירצה‪.‬‬
‫חלוקת שעות‬
‫הנושא‬
‫שעות עיוניות‬
‫שעות התנסות‬
‫סה"כ שעות‬
‫מרכיבי עולם הסייבר וסוגי התקיפות‬
‫‪2‬‬
‫‪1‬‬
‫‪2‬‬
‫סוגי ההגנה השונים‬
‫‪2‬‬
‫‪1‬‬
‫‪2‬‬
‫סיפור מקרי תקיפה אמיתיים‬
‫‪2‬‬
‫‪1‬‬
‫‪2‬‬
‫סה"כ שעות‬
‫‪6‬‬
‫‪0‬‬
‫‪6‬‬
‫פרק ‪ :2‬אינטרסים ושחקנים מרכזיים בעולם הסייבר‬
‫מטרת הפרק‬
‫להכיר מה הם האינטרסים בעולם הגנת הסייבר ומיהם השחקנים המרכזיים‪.‬‬
‫מטרות ביצועיות‬
‫‪ .1‬התלמיד יתאר את הסכנות מהן נרצה להתגונן‪:‬‬
‫א‪ .‬גניבת מידע סודי – כרטיס אשראי‪ ,‬סודות עסקיים‪.‬‬
‫ב‪ .‬שינוי מידע – שתילת מידע כוזב‪ ,‬מחיקת מידע קיים‪.‬‬
‫ג‪ .‬חסימת גישה – השבתת שירות‪.‬‬
‫ד‪ .‬גניבת זהות – ביצוע פעולות בשם מישהו אחר‪ ,‬ביצוע פעולות שהאדם לא מעניין בהם (העברת‬
‫כספים)‪.‬‬
‫‪ .2‬התלמיד ינתח ויתאר את השפעת הסכנות על ארגון‪:‬‬
‫א‪ .‬אמינות ‪ -‬חשיפת מידע סודי המוחזק בארגון יפגע באמון לקוחות הארגון‪.‬‬
‫ב‪ .‬חשיפה ‪ -‬איבוד מידע סודי על הארגון יכול לחשוף את הארגון לסכנות שונות‪ .‬סיכול דרכי פעולה‬
‫ותוכניות‪ ,‬חשיפת יתרון תחרותי וכו'‪.‬‬
‫ג‪ .‬זמינות ‪ -‬השבתת שירות יכולה לפגוע באופן ישיר ומיידי בארגון‪ .‬לדוגמה‪ :‬הפלת אתר ‪Amazon‬‬
‫למשך ‪ 5‬דקות תגרום להפסד כספי מידי של מיליוני דולרים‪.‬‬
‫‪ .3‬התלמיד יסביר את סוגי התוקפים מהם נרצה להתגונן‪:‬‬
‫א‪ – Script Kids .‬גאוני מחשבים שרוצים להוכיח יכולות‪ .‬בדר"כ לא יעשו נזק מתוחכם מדי אבל‬
‫ינסו להפיל שרתים ולהשאיר הוכחות לתקיפה‪.‬‬
‫ב‪ .‬פשיעה כלכלית – תקיפה שמטרתה לגנוב כסף‪ .‬כרטיסי אשראי זו הדוגמה הקלה והנפוצה‬
‫ביותר‪ .‬תקיפה של בנק או חברת אשראי יכולה לאפשר הרבה יותר כמובן‪ .‬התוקפים יכולים‬
‫להיות אנשים בודדים או קבוצות פושעים‪ .‬בנוסף‪ ,‬יש סיבות כלכליות עקיפות כגון גניבת סודות‬
‫בין חברות מתחרות וכדומה‪ .‬במקרה זה החשאיות חשובה עוד יותר (דומה לארגון ביון)‪.‬‬
‫ג‪ – White Hat .‬תוקפים שמטרתם להגן על הרשת‪ .‬אנשים פרטים או חברות שמוכרות מוצרי או‬
‫שירותי הגנה משקיעים מאמצים בזיהוי חולשות‪ .‬בדרך כלל יפרסמו את הממצאים בצורה‬
‫רשמית לאחר שהפרצות תוקנו‪.‬‬
‫ד‪ .‬מפתחים מתוך הארגון – הסכנה הגדולה ביותר לארגון היא מהאנשים הנמצאים בתוך הארגון‪.‬‬
‫בעיקר בארגונים גדול ים יש יכולת מוגבלת לשלוט על כלל העובדים‪ .‬עובד ובעיקר עובדים בצוות‬
‫פיתוח יכולים להכניס פרצות למוצר או תוכנות זדוניות לרשת‪ .‬המוטיבציה יכולה להיות כעס על‬
‫הארגון או שוחד כלכלי מארגון מתחרה‪.‬‬
‫ה‪ .‬ארגוני ביון – הספרים‪ ,‬הכתבות והסרטים לא תמיד רחוקים מהמציאות‪ .‬ארגוני ביון רבים‬
‫משקיעים משאבים רבים בהשגת מידע על מדינות אחרות (מדינות אויבות בדרך כלל‪ ,‬אבל לא‬
‫באופן בלעדי)‪ .‬לרוב‪ ,‬ההתקפות של ארגוני ביון יהיו מתוחכמות יותר כיון שיוכלו להשקיע‬
‫משאבים גדולים יותר והם ינסו להסתיר ככל שיוכלו את קיום הפירצה וניצולה (לעומת ‪Script‬‬
‫‪ ,Kids‬כאמור)‪.‬‬
‫‪ .4‬התלמיד יתאר את הרכיבים השונים אותם ניתן לתקוף‪:‬‬
‫א‪ .‬מחשב או מערכת המחוברים לאינטרנט – מחשב המחובר לרשת האינטרנט חשוף לתקיפות‬
‫מכל מקום בעולם‪ .‬תקיפת מחשב יכולה להעשות על ידי שליחת קוד זדוני שיורץ על המחשב‪,‬‬
‫הפניה לאתר זדוני שיגרום להשתלטות על המחשב וכו'‪.‬‬
‫ב‪ .‬רשת פנימית המחוברת לאינטרנט – אם אחד מרכיבי הרשת מחובר לאינטרנט תקיפה שלו‬
‫תאפשר לתוקף להגיע לרשת הפנימית‪.‬‬
‫ג‪ .‬רשת ‪ – VPN‬כיוון שהרשת מוצפנת הדרך הקלה ביותר לחדור לרשת היא להתחבר כמשתמש‪.‬‬
‫כדי לעשות זאת תוקף ירצה לגנוב ‪ credentials‬של משתמש‪ .‬כלומר‪ ,‬שם משתמש וסיסמה‬
‫(ניחוש סיסמאות מוכרות‪ ,‬סיסמאות אחרות של המשתמש וכו')‪.‬‬
‫‪ .5‬התלמיד יסביר וינמק מהם השלבים השונים בתקיפה על ידי ניתוח מעמיק של מקרה תקיפה (אמיתי או‬
‫מומצא)‪.‬‬
‫‪ .6‬התלמיד יתאר בפירוט מערכות הגנה‪:‬‬
‫א‪ – Firewall .‬חוסם בקשות לכתובות לא מזוהות במחשב או בקשות שמזוהות כתקיפה‪.‬‬
‫ב‪ – Web application firewall .‬חוסם בקשות תקיפה ברמת האפליקציה‪.‬‬
‫ג‪ – Antivirus .‬מזהה קוד זדוני על המחשב‪.‬‬
‫ד‪ .‬הרשאות – ניתן לחסום משתמשים מגישה לנתונים מסוימים‪ .‬כך‪ ,‬גם אם המשתמש נתקף‬
‫התוקף לא יוכל להגיע לכל המידע שחפץ בו‪.‬‬
‫ה‪ – Web application scanners .‬סורקים אוטומטים לאפליקציות לזיהוי פגיעויות באפליקציות‬
‫עצמן‪.‬‬
‫ו‪ – Source code analysis .‬ניתוח אוטומטי של קוד המאפשר זיהוי פגיעויות באפקליציה‪.‬‬
‫‪ .7‬התלמיד ינמק מדוע אין הגנה מושלמת‪:‬‬
‫א‪ .‬תעדוף‪ :‬ההשקעה בהגנה צריכה להמדד באוסף השיקולים של הארגון ובהתחשב בסכנות‬
‫הקיימות‪ .‬לדוגמה‪ ,‬משרד ראש הממשלה צריך להשקיע הרבה יותר בהגנת רשת המחשבים שלו‬
‫מאשר רשת מחשבי בית הספר‪ .‬מצד שני‪ ,‬רשת מחשבי בית הספר מחוברת לאינטרנט והרשת‬
‫הפנימית במשרד ראש הממשלה לא‪ .‬דוגמה נוספת‪ ,‬מנעול חדר הכספות בבנק גדול‪ ,‬חזק‬
‫ומתוחכם יותר ממעול דלת הכניסה לביתנו‪ .‬זה לא שאנחנו מותרים על תחושת הביטחון בביתנו‪,‬‬
‫אנו פשוט מבינים שפורץ פוטנציאלי לביתנו לא יחזיק ברשותו ציוד פריצה מתוחכם שודאי יהיה‬
‫לפורץ בנק‪ .‬צריך להבין שלא בכל מצב נרצה ונוכל (כלכלית) להשקיע בהגנה מקסימלית‪.‬‬
‫ב‪ .‬הגורם האנושי‪ :‬אין הגנה מושלמת‪ .‬ראשית כי אף מערכת הגנה אינה מושלמת ושנית כיוון‬
‫שהמימוש מלא טעויות‪ .‬לדוגמה‪ ,‬גם אם יש לך בבית את המנעול המתקדם ביותר יתכן וביום מן‬
‫הימים תשכח לנעול את הדלת‪ ,‬או את הדלת האחורית או את החלון‪ ,‬הבית יהיה פרוץ‪ .‬דוגמה‬
‫נוספת‪ ,‬אם קינפגת את ה ‪ Firewall‬שיפתח ‪ port‬מסוים לצורך בדיקות ושכחת לשנות זאת לפני‬
‫שהשרת חובר לרשת‪ ,‬השרת יהיה פגיע גם אם מדובר ב ‪ Firewall‬מושלם‪.‬‬
‫מושגים והכוונה‬
‫‪ .1‬ארגוני ביון‬
‫‪Script Kids .2‬‬
‫‪White Hat .3‬‬
‫‪Black Hat .4‬‬
‫‪VPN – Virtual Private Network .5‬‬
‫‪ .6‬חומת אש ‪Firewall‬‬
‫‪ .7‬חומת אש לאפליקציות ‪WAF – Web Application Firewall‬‬
‫‪Antivirus .8‬‬
‫‪Black Box Scanner .9‬‬
‫‪Source Code Analysis – White Box Scanner .11‬‬
‫דרכי הוראה‬
‫‪ .1‬תיאור מהן הסכנות בפניהן עומד ארגון עם דגש על הבדל בין סוגי ארגונים שונים – חברה כלכלית‪ ,‬מוסד‬
‫ממשלתי‪ ,‬בית ספר‪ ,‬וכדומה‪.‬‬
‫‪ .2‬לתאר ולהסביר את סוגי התוקפים השונים ולהדגיש את ההבדלים בין המניעים והמטרות של כל תוקף‪.‬‬
‫‪ .3‬יש לנתח עם התלמיד תהליך תקיפה ולעמוד על שלביו השונים‪ .‬תהליך התקיפה יכול להיות אמיתי או‬
‫דמיוני ואפשר שיהיה זהה לאחד מהתהליכים שתוארו בפרק הראשון‪.‬‬
‫‪ .4‬יש להציג לתלמיד את מנגנוני ההגנה השונים‪ .‬אין להתעמק בדרך פעולתם אבל חשוב להסביר מה מטרת‬
‫כל מנגנון הגנה‪ ,‬על אילו רכיבים הוא מגן‪ ,‬כיצד מתבצעת ההגנה‪ ,‬האם ההגנה היא אקטיבית (חוסמת‬
‫התקפות) או פסיבית (מזהה פגיעויות) וכו'‪.‬‬
‫‪ .5‬נושאי פרק זה אינם דורש ידע מוקדם‪ .‬כדאי לנצל עובדה זו כדי לשתף את התלמידים בהעלאת‬
‫רעיונותיהם ונסיונם בכל אחד מהנושאים הנלמדים‪.‬‬
‫דרכי הערכה‬
‫‪ .1‬בחינה עיונית‪:‬‬
‫א‪ .‬סכנות והשפעות‪:‬‬
‫‪ .i‬התלמיד יקבל תיאור ארגון ויסביר מהן הסכנות של פרצות אבטחה בארגון‪.‬‬
‫‪ .ii‬התלמיד ידרג סכנות שונות על פי חומרתן ויסביר את הדירוג‪.‬‬
‫ב‪ .‬תוקפים‪:‬‬
‫‪ .i‬התלמיד יקבל תיאור תקיפה ויחליט באיזה סוג תוקף מדובר‪.‬‬
‫‪ .ii‬התלמיד יבחר סוג תוקף מועדף עליו ויסביר את בחירתו‪.‬‬
‫‪ .iii‬התלמיד יתאים לכל סוג תוקף את המניע והמטרה שלו‪.‬‬
‫ג‪ .‬שלבי תקיפה‪:‬‬
‫‪ .i‬התלמיד יקבל תיאור על מערכות ורשתות המחשבים של ארגון ויציע את השלבים‬
‫לתקיפה‪.‬‬
‫ד‪ .‬מנגנוני הגנה‪:‬‬
‫‪ .i‬התלמיד יתבקש להסביר מה עושה מנגנון תקיפה מסוים‪.‬‬
‫‪ .ii‬התלמיד יתבקש לחלק את מנגנוני התקיפה לשתי קבוצות – אקטיבים ופסיביים‪.‬‬
‫‪ .iii‬התלמיד יתאים בין שלב תקיפה (מהחלק הקודם) למנגנון ההגנה המתאים לו‪.‬‬
‫ה‪ .‬תרגיל אינגרטיבי‪:‬‬
‫‪ .i‬ניתן לחלק את התלמידים לקבוצות קטנות‪ .‬כל קבוצה תקבל תאור מחשוב של ארגון‬
‫ותתכנן באילו רכיבי הגנה תרצה להשתמש‪ .‬בשלב השני שתי קבוצות יתמודדו ביניהן‬
‫כך שכל קבוצה תנסה למצוא אזורים עליהם הקבוצה השניה לא הגנה בצורה מספקת‪.‬‬
‫חלוקת שעות‬
‫הנושא‬
‫שעות עיוניות‬
‫שעות התנסות‬
‫סה"כ שעות‬
‫סכנות והשפעות‬
‫‪1‬‬
‫‪1‬‬
‫‪1‬‬
‫תוקפים‬
‫‪1‬‬
‫‪1‬‬
‫‪1‬‬
‫שלבי תקיפה‬
‫‪1‬‬
‫‪1‬‬
‫‪1‬‬
‫מנגנוני הגנה‬
‫‪2‬‬
‫‪1‬‬
‫‪2‬‬
‫סה"כ שעות‬
‫‪1‬‬
‫‪0‬‬
‫‪1‬‬
‫פרק ‪ :3‬מבוא לתוכנית הלימודים‬
‫מטרת הפרק‬
‫הבנת תכולת הלימודים במקצוע‪.‬‬
‫מטרות ביצועיות‬
‫‪ .1‬התלמיד יתאר את נושאי הלימוד אשר ילמדו בשנתיים הקרובות‪.‬‬
‫‪ .2‬התלמיד יתאר את ההגבלות החוקיות והמוסריות בשימוש בנושאי הלימוד בחייו האישיים‪.‬‬
‫מושגים והכוונה‬
‫‪ .1‬רשת‬
‫‪ .2‬מערכת הפעלה‬
‫‪ .3‬אפליקציה‬
‫‪ .4‬החוק הישראלי‬
‫‪ .5‬החוק האמריקאי‬
‫דרכי הוראה‬
‫‪ .1‬הצגת הנושאים אשר ילמדו במקצוע (בחלוקה לשנים)‪.‬‬
‫‪ .2‬עבור כל נושא יש לתאר מהם תתי הנושאים המוכלים בו‪.‬‬
‫‪ .3‬מהן ההגבלות המוסריות בשימוש במידע הנלמד במקצוע‪.‬‬
‫‪ .4‬יש להסביר לתלמי ד מהן ההגבלות החוקיות על תקיפות (לדוגמה‪ ,‬נסיון למציאת פרצה ללא כוונת זדון‬
‫הינו עבירה על החוק)‪.‬‬
‫‪ .5‬הצגת החוקים הרשמיים (בתמצית) של ממשלת ישראל וממשלת ארצות הברית (כדוגמה)‪.‬‬
‫‪ .6‬יש להסביר לתלמיד מה עליו לעשות במקרה שמצא פרצת אבטחה (דיווח לאחראים ופרסום רק לאחר‬
‫שהבעיה תוקנה)‪.‬‬
‫‪ .7‬בעת תיאור נושאי הלימוד חשוב מאוד להלהיב את התלמידים‪ .‬לכן‪ ,‬לא כדאי להזכיר הרבה מושגים לא‬
‫מוכרים אלא לתאר את הנושאים בצורה פשוטה‪ .‬בנוסף‪ ,‬כדאי להדגיש חלקים מלהיבים כגון הגנות אשר‬
‫ילמדו‪ ,‬תיאור מקרים אמיתיים נוספים‬
‫דרכי הערכה‬
‫‪ .1‬בחינה עיונית‬
‫א‪ .‬אתיקה‬
‫‪ .i‬תיאור מקרים ותגובות עליהם התלמיד יתבקש לסמן האם נכונים או לא‪ ,‬ולהסביר‪.‬‬
‫‪ .ii‬תיאור מקרים עליהם התלמיד יתבקש לתאר את התגובה הראויה‪.‬‬
‫חלוקת שעות‬
‫הנושא‬
‫שעות עיוניות‬
‫שעות התנסות‬
‫סה"כ שעות‬
‫הסבר על תוכנית הלימודים‬
‫‪2‬‬
‫‪1‬‬
‫‪2‬‬
‫אתיקה‬
‫‪2‬‬
‫‪1‬‬
‫‪2‬‬
‫סה"כ שעות‬
‫‪4‬‬
‫‪0‬‬
‫‪4‬‬
‫חלק ב' ‪ -‬הגנת רשתות (‪ 521‬שעות)‬
‫פרק ‪ :5‬מבוא לתקשורת‬
‫מטרת הפרק‬
‫לבצע הכרות ראשונית עם עולם התקשורת תוך הדגמה על רשת ההאינטרנט‪.‬‬
‫מטרות ביצועיות‬
‫‪ .1‬התלמיד יסביר את המושג של טופולוגיות תקשורת פיזיות ולוגיות‪.‬‬
‫‪ .2‬התלמיד יתאר מושגי תקשורת בסיסיים בעולם התקשורת‪.‬‬
‫‪ .3‬התלמיד יסביר את הסטנדרטים בעולם התקשורת‪.‬‬
‫‪ .4‬התלמיד יתאר את ההקשר של החומר הנלמד לפעולות בסיסיות כמו גלישה באינטרנט‪.‬‬
‫‪ .5‬התלמיד ימנה את אירגוני התקינה השונים הקיימים בעולם התקשורת וההבדלים בניהם‪.‬‬
‫מושגים והכוונה‬
‫‪ .1‬הודעה בתור יחידת מידע בסיסית‬
‫‪ .2‬תווך תקשורת‬
‫‪ .3‬תקשורת קווית‬
‫‪ .4‬תקשורת אלחוטית‬
‫‪ .5‬תת מערכות תקשורת וחיבוריות ביניהם (רשת ביתית‪ ,‬הרשת הגלובלית)‬
‫‪ .6‬כתובת וניתוב‬
‫‪ .7‬פרוטוקול תקשורת‬
‫‪ .8‬טופולוגיות תקשורת‬
‫‪ .9‬תקשורת סנכרונית‪/‬אסינכרונית‬
‫‪ .11‬קצב שידור‬
‫‪ .11‬אפנון‬
‫‪ .12‬ריבוב‬
‫‪RFC (Request for Comment) .13‬‬
‫דרכי ההוראה‬
‫‪ .1‬הפרק מיועד ליצור הכרות של התלמיד עם מושגים ותהליכים אשר בהקשרי תקשורת מחשבים‪.‬‬
‫‪ .2‬הפרק יתבסס על תיאור של "תולדות ההודעה ברשת" בזמן שמתבצעת גלישה בתוך הדפדפן‬
‫‪ .3‬הפרק יספק מבט על על הנושאים והפרוטוקולים שילמדו בהרחבה בהמשך‪.‬‬
‫‪ .4‬יש לנהל את השיעור עם התלמידים באופן אינטראקטיבי‪ ,‬ולתת להם לנחש את התהליכים שקורים‬
‫מאחרי הקלעים‪ ,‬ולהציע כיצד המידע יכול להגיע ליעדו‪.‬‬
‫‪ .5‬הצגת התפתחות אמצעי התקשורת השונים בראייה היסטורית‪.‬‬
‫‪ .6‬הצגת טופולוגיות תקשורת שונות (‪.)Star, Ring & Bus‬‬
‫‪ .7‬פירוט אודות ארכיטקטורת תקשורת שונות (‪.)Mainframe,Client/Server & Peer-to-Peer‬‬
‫‪ .8‬הצגת דוגמאות של אמצעי תקשורת שונים (כגון אינטרנט ותקשורת סלולרית)‪.‬‬
‫דרכי הערכה‬
‫‪ .1‬בחינה עיונית‪:‬‬
‫א‪ .‬התלמיד יגדיר ויסביר מושגים הבאים מעולם התקשורת‬
‫ב‪ .‬התלמיד יציין ‪ 3‬בעיות שיש לפתור כדי לנהל תקשורת אפקטיבית ברשת‪ ,‬ויציע פתרונות‬
‫אפשריים‬
‫‪ .2‬בחינה מעשית‪:‬‬
‫א‪ .‬התלמיד יקבל תיאור של בעיה ויצטרך לכתוב ‪ RFC‬המתאר את פרוטוקול תקשורת שפותר את‬
‫אותה הבעיה‪ .‬אפשריות לבעיות אפשריות הן‪:‬‬
‫‪ .i‬קבלת נתונים אודות מזג האוויר‬
‫‪ .ii‬קבלת תאריך ושעה‬
‫‪ .iii‬קבלת קבצים‬
‫ב‪ .‬התלמיד יקבל תיאור של שירותים נדרשים מרשת ויבנה טופולוגיה לוגית של זרימת המידע‬
‫בהתאם לטופולוגיות שנלמדו בכיתה‪.‬‬
‫חלוקת השעות‬
‫הנושא‬
‫שעות עיוניות‬
‫שעות התנסות‬
‫סה"כ שעות‬
‫מבוא לתקשורת‬
‫‪3‬‬
‫‪1‬‬
‫‪3‬‬
‫סה"כ שעות‬
‫‪3‬‬
‫‪0‬‬
‫‪3‬‬
‫פרק ‪ :2‬מודל ‪ 7‬השכבות‬
‫מטרת הפרק‬
‫להבין את העקרון של חלוקה לשכבות בעת ביצוע תקשורת בין שני ‪ Hosts/Nodes‬ברשת‪ .‬מטרת הפרק להציג‬
‫את מטרת השכבות‪ ,‬הפעולות אותן הן נדרשות לבצע והסדר בניהן‪.‬‬
‫מטרות ביצועיות‬
‫התלמיד יסביר את המטרה של מודל שבע השכבות (‪.)OSI Model‬‬
‫התלמיד ינתח וינמק את הבעיה והרקע לפיתוח מודל שבע השכבות‪.‬‬
‫התלמיד יגדיר את כלל השכבות במודל ואת התפקידים שלהם‪.‬‬
‫התלמיד יסביר את הצורך בסטנדרטזציה בעת פיתוח פרוטוקול תקשורת‪.‬‬
‫התלמיד יגדירוינמק שמודבר במודל ‪ Reference‬בלבד‪.‬‬
‫מושגים והכוונה‬
‫‪ .1‬שכבת תקשורת‬
‫‪ .2‬פרוטוקול‬
‫‪ .3‬תקן‬
‫‪ .4‬כימוס (‪)Encapsulation‬‬
‫‪Protocol Tunneling .5‬‬
‫‪ .6‬השכבה הפיזית (‪)Physical Layer‬‬
‫‪ .7‬שכבת הקו (‪)Data Link Layer‬‬
‫‪ .8‬שכבת הרשת (‪)Network Layer‬‬
‫‪ .9‬שכבת התעבורה (‪)Transport Layer‬‬
‫‪ .11‬שכבת ניהול השיחה (‪)Session Layer‬‬
‫‪ .11‬שכבת התצוגה (‪)Presentation Layer‬‬
‫‪ .12‬שכבת האפליקציה (‪)Application Layer‬‬
‫‪ .13‬תקורה (‪)Overhead‬‬
‫דרכי ההוראה‬
‫‪ .1‬הסבר המטרות והתפקידים של כל אחד מהשכבות‪.‬‬
‫‪ .2‬הצגת השירותים אשר השכבות מספקות אחת לשנייה‪.‬‬
‫‪ .3‬הדגמת אופן יצרת הקשר הלוגי בין שתי שכבות מקבילות ב‪-Host-‬ים שונים תוך שימוש ב‪-Header-‬ים‪.‬‬
‫‪ .4‬תיאור אופן ביצוע תהליך הכימוס (‪ )Encapsulation‬בעת העברת נתונים בין שני ‪-Host‬ים שונים‪.‬‬
‫‪ .5‬התמקדות בשכבות הרשת‪ ,‬התעבורה והאפליקציה‪.‬‬
‫‪ .6‬יש למעט בשכבת הניהול השיחה והתצוגה‪.‬‬
‫דרכי הערכה‬
‫‪ .1‬בחינה עיונית‪:‬‬
‫א‪ .‬התלמיד יציין מהן שבע השכבות המופיעות במודל ה‪ OSI-‬ויתאר את התפקידים של כלל‬
‫השכבות‪.‬‬
‫ב‪ .‬התלמיד יסביר את תהליך ה‪.Encapsulation -‬‬
‫ג‪ .‬התלמיד יסביר את הצורך ב‪ Overhead-‬וכיצד הוא משפיע על תעבורת המידע‪.‬‬
‫ד‪ .‬התלמיד יקבל תסריט של פרוטוקול תקשורת ויצטרך לציין כיצד הוא בא לידי ביטוי בכל אחד‬
‫מהשכבות (למשל העברת מכתבים ברשת הדואר)‪.‬‬
‫חלוקת השעות‬
‫הנושא‬
‫שעות עיוניות‬
‫שעות התנסות‬
‫סה"כ שעות‬
‫מודל ‪ 7‬השכבות‬
‫‪6‬‬
‫‪1‬‬
‫‪6‬‬
‫סה"כ שעות‬
‫‪6‬‬
‫‪0‬‬
‫‪6‬‬
‫פרק ‪ :3‬עבודה עם ‪Sniffer‬‬
‫מטרת הפרק‬
‫להכיר את המטרה של שימוש ברכיב ‪( Sniffer‬הן תוכנתי והן חומרתי)‪ .‬התנסות ועבודה עם ‪ Sniffer‬תוכנתי בשם‬
‫‪ .Wireshark‬להכיר את בעיות האבטחה בנוגע ל‪.Sniffer-‬‬
‫מטרות ביצועיות‬
‫‪ .1‬התלמיד יסביר את המטרה של שימוש ב‪.Sniffer-‬‬
‫‪ .2‬התלמיד ינתח ויתאר את האפשריות הבאות בשימוש ב‪:Wireshark-‬‬
‫א‪ .‬שימוש ב‪Filters-‬‬
‫ב‪ .‬ביצוע סטיסטיקות על תעבורת תקשורת‬
‫ג‪ .‬חיפוש מחרוזות במידע המופיע ב‪Capture-‬‬
‫ד‪ .‬ביצוע ‪ Parsing‬לתעבורת תקשורת ע"פ פרוטוקול מבוקש‬
‫ה‪ .‬שינוי של הגדרות ב‪Capture Options-‬‬
‫ו‪ .‬שמירה של ‪ Captured Data‬ל‪Capture File-‬‬
‫‪ .3‬התלמיד ינתח ויתאר את החלקים השונים ב‪ GUI-‬של ‪:Wireshark‬‬
‫א‪Menus .‬‬
‫ב‪Shortcuts .‬‬
‫ג‪Capture Filters .‬‬
‫ד‪Packet List Pane .‬‬
‫ה‪Packet Detail Pane .‬‬
‫ו‪Dissector Pane .‬‬
‫ז‪Misc .‬‬
‫‪ .4‬תקיפת )‪MITM (Man In The Middle‬‬
‫א‪ .‬היכרות עם התקיפה‬
‫ב‪ .‬השפעת התקיפה‬
‫ג‪ .‬דרכי התמודדות‬
‫מושגים והכוונה‬
‫‪Sniffer .1‬‬
‫‪Promiscuous Mode .2‬‬
‫‪Non- Promiscuous Mode .3‬‬
‫‪Display Filter .4‬‬
‫‪Capture Filter .5‬‬
‫‪MAC Resolving .6‬‬
‫‪Transport Name Resolution .7‬‬
‫‪Transport .8‬‬
‫‪Dissector .9‬‬
‫‪MITM (Man In The Middle) .11‬‬
‫דרכי ההוראה‬
‫‪ .1‬ללמד באופן משולב עם הפרקים בהם יש להשתמש ב‪ ,sniffer-‬ולחזור על האפשרויות השונות‬
‫בהזדמנויות שונות בלמידה‪.‬‬
‫‪ .2‬להסביר את הצורך בשימוש ב‪ Sniffer-‬לשם למידת פרוטוקלי תקשורת וביצוע מחקרים‪.‬‬
‫‪ .3‬להדגים את אופן העבודה עם ‪ Wireshark‬תוך שימוש ב‪ Display Filters-‬ו‪ Capture Filters-‬והצגת‬
‫ההבדל בניהם‪.‬‬
‫‪ .4‬להדגים את אופן ניתוח תקשורת של תעבורה ב‪Online (Real-Time Capturing)-‬אל מול ניתוח ב‪-‬‬
‫‪( Offline‬מעבר על קובץ ‪.)Capture‬‬
‫‪ .5‬להציג את השימוש ב‪ Wireshak-‬הן ב‪ GUI-‬והן ב‪ tshark (command line)-‬ולהסביר את היתרונות‬
‫והחסרונות בכל שיטה‪.‬‬
‫‪ .6‬להציג את בעיות האבטחה שנגרמות משימוש ב‪ Sniffer-‬ומהתקפת ‪ MITM‬והצגת פתרונות להגנה‬
‫(הצפנה ואימות אשר יפורטו לעומק בפרקים הבאים)‪.‬‬
‫דרכי הערכה‬
‫‪ .1‬בחינה עיונית‪:‬‬
‫א‪ .‬התלמיד יסביר את ההבדל בין ‪ Display Filter‬לבין ‪Capture Filter‬‬
‫ב‪ .‬התלמיד יתאר את ההבדל בין צפייה במידע באמצעות ‪ Sniffer‬אל מול קבלתו באפליקציה‬
‫ג‪ .‬התלמיד יתאר את אופן ביצוע של התקפת ‪MITM‬‬
‫‪ .2‬בחינה מעשית‪:‬‬
‫א‪ .‬התלמיד יקבל ‪ Capture File‬ויבצע ‪ Filter‬על התעבורה ולשמור בקובץ חדש את תעבורת‬
‫התקשורתשעונה על ה‪ Filter-‬בלבד‬
‫ב‪ .‬התלמיד ישתמש ב‪ sniffer-‬ב‪ Real-Time Capturing-‬של המידע אותו הוא רואה ברשת‬
‫מקומית וינתח אותו בהתאם למודל שבע השכבות שנלמד‬
‫ג‪ .‬התלמיד יקבל ‪ Capture File‬ויחלץ את כלל כתובות ה‪ IP-‬אשר קיימת בקובץ‬
‫חלוקת השעות‬
‫הנושא‬
‫שעות עיוניות‬
‫שעות התנסות‬
‫סה"כ שעות‬
‫עבודה עם ‪sniffer‬‬
‫‪2‬‬
‫‪4‬‬
‫‪6‬‬
‫סה"כ שעות‬
‫‪2‬‬
‫‪4‬‬
‫‪6‬‬
‫פרק ‪ :4‬טכנולוגיות )‪LAN (Local Area Network‬‬
‫מטרת הפרק‬
‫הכרות עם אופן זרימת התקשורת ברשתות )‪.LAN (Local Area Network‬‬
‫מטרות ביצועיות‬
‫‪ .1‬התלמיד יתאר את אופן העבודה של פרוטוקול ‪ Ethernet‬והשדות הקיימים בו‪.‬‬
‫‪ .2‬התלמיד יתאר את אופן בקרת וניהול השגיאות ב‪.Data Link Layer-‬‬
‫‪ .3‬התלמיד יסביר את הצורך לשימוש ב‪-VLAN-‬ים‪( .‬רשות)‬
‫מושגים והכוונה‬
‫‪ .1‬כתובות ‪MAC‬‬
‫‪CRC .2‬‬
‫‪CSMA/CD .3‬‬
‫‪CSMA/CA .4‬‬
‫‪Ethernet .5‬‬
‫‪Unicast .6‬‬
‫‪Broadcast .7‬‬
‫‪Multicast .8‬‬
‫‪Collisions .9‬‬
‫‪( VLAN .11‬רשות)‬
‫‪( Tagging .11‬רשות)‬
‫דרכי ההוראה‬
‫‪ .1‬להסביר על אופן בו בנויה כתובת ‪ MAC‬ולמה היא משמשת‪.‬‬
‫‪ .2‬להציג את פרוטוקול ‪ Ethernet‬תוך הצגתו ב‪Wireshark-‬‬
‫‪ .3‬לעבור על כלל השדות ב‪ Header-‬של ‪ Ethernet‬ולהסביר את תפקידם‪.‬‬
‫‪ .4‬להציג את הבעיה בעבודה בתווך משותף (‪ )Bus‬ולהציג שיטות להתמודדות עם בעיה זו‪.‬‬
‫‪ .5‬להסביר את המטרה של שימוש ב‪ VLAN-‬ולהסביר את הרעיון ה‪( Tagging-‬רשות)‬
‫דרכי הערכה‬
‫‪ .1‬בחינה עיונית‪:‬‬
‫א‪ .‬התלמיד יסביר את ההבדל בין שידור בתצורת ‪ Unicast‬לבין שידור בתצורת ‪.Broadcast‬‬
‫ב‪ .‬התלמיד יקבל נתונים אודות שני ‪-Host‬ים ברשת המקומית אשר רוצים לדבר בניהם וימלא את‬
‫חבילת השדות בהודעת ‪ Ethernet‬כך שתגיע מ‪ Host A-‬ל‪.Host B-‬‬
‫ג‪ .‬התלמיד יציג את בעית ה‪ Collisions-‬הקיימת בשימוש בטופולוגית ‪ BUS‬וכיצד פרוטוקול‬
‫‪ Ethernet‬מתמודד עימה‪.‬‬
‫ד‪ .‬התלמיד יסביר את הצורך של שימוש ב‪-VLAN-‬ים ברשתות‪( .‬רשות)‬
‫‪ .2‬בחינה מעשית‪:‬‬
‫א‪ .‬התלמיד יקבל ‪ Capture File‬ויצטרך לחלץ את כלל כתובות ה‪ MAC-‬אשר הוא קיימות בקובץ‬
‫ולזהות את היצרנים של אותם כרטיסי רשת‬
‫חלוקת השעות‬
‫הנושא‬
‫שעות עיוניות‬
‫שעות התנסות‬
‫סה"כ שעות‬
‫טכנולוגיות ‪LAN‬‬
‫‪4‬‬
‫‪3‬‬
‫‪7‬‬
‫סה"כ שעות‬
‫‪4‬‬
‫‪3‬‬
‫‪7‬‬
‫פרק ‪ :1‬הכרות בסיסית עם רכיבי תקשורת‬
‫מטרת הפרק‬
‫לבצע הכרות ראשונית עם ציוד תקשורת ואופן פעולתו‪.‬‬
‫מטרות ביצועיות‬
‫‪ .1‬התלמיד יתאר רכיב תקשורת שונים‪.‬‬
‫‪ .2‬התלמיד יתאר את אופן העבודה של רכיבי התקשורת השונים‪.‬‬
‫‪ .3‬התלמיד יסביר עבור כל רכיב תקשורת לאיזה שכבה הוא שייך‪.‬‬
‫מושגים והכוונה‬
‫‪Broadcast Domain .1‬‬
‫‪Collision Domain .2‬‬
‫‪ .3‬משחזר (‪)Repeater‬‬
‫‪ .4‬גשר (‪)Bridge‬‬
‫‪ .5‬רכזת (‪)HUB‬‬
‫‪ .6‬מתג (‪)Switch‬‬
‫‪ .7‬נתב (‪)Router‬‬
‫‪)CAM Table (Content Addressable Memory .8‬‬
‫‪ .9‬טבלת ניתוב (‪)Routing Table‬‬
‫‪ .11‬מודם (‪)Modem‬‬
‫דרכי ההוראה‬
‫‪ .1‬לעבור על אופן העבודה של רכיבי התקשורת השונים‪:‬‬
‫א‪ .‬אופן הכנסת נתונים לטבלת ה‪ CAM-‬ב‪( Switch-‬הן דינמית והן סטטית)‬
‫ב‪ .‬אופן הכנסת נתונים לטבלת ניטוב ב‪( Router-‬הן דינאמית והן סטטית)‬
‫ג‪ .‬אופן העברת נתונים ב‪HUB-‬‬
‫‪ .2‬להציג אופן קונפיגורציה של ציוד תקשורת לדוגמא (נתב ביתי)‪.‬‬
‫‪ .3‬להציג את ההבדל בין ‪ HUB‬לבין ‪ Switch‬תוך התייחסות לנקודות הבאות‪:‬‬
‫א‪ .‬נצילות רוחב הפס‬
‫ב‪ .‬אבטחה‬
‫ג‪ .‬יכולת לעבוד בקבצים שונים מול ‪-Node‬ים שונים‬
‫ד‪ .‬יכולת לעבוד ב‪Full Duplex-‬‬
‫דרכי הערכה‬
‫‪ .1‬בחינה עיונית‪:‬‬
‫א‪ .‬התלמיד יסביר את ההבדל בין מתג (‪ )Switch‬לבין רכזת‬
‫ב‪ .‬התלמיד יסביר את ההבדל בין ‪ Broadcast Domain‬לבין ‪Collision Domain‬‬
‫ג‪ .‬התלמיד יתאר את אופן הטיפול של ‪ Router‬בהודעה המגיעה אליו‬
‫‪ .2‬בחינה מעשית‪:‬‬
‫א‪ .‬התלמיד יתכנת מתג כפי שנלמד בשיעור (אין צורך באמת לשלוח מידע אלא אם לדמות זאת ע"י‬
‫הדפסות למסך)‬
‫ב‪ .‬התלמיד יתכנת נתב כפי שנלמד בשיעור (אין צורך באמת לשלוח מידע אלא אם לדמות זאת ע"י‬
‫הדפסות למסך)‬
‫ג‪ .‬התלמיד יתכנת רכזת כפי שנלמד בשיעור (אין צורך באמת לשלוח מידע אלא אם לדמות זאת ע"י‬
‫הדפסות למסך)‬
‫חלוקת השעות‬
‫הנושא‬
‫שעות עיוניות‬
‫שעות התנסות‬
‫סה"כ שעות‬
‫הכרות בסיסית עם רכיבי תקשורת‬
‫‪3‬‬
‫‪2‬‬
‫‪5‬‬
‫סה"כ שעות‬
‫‪3‬‬
‫‪2‬‬
‫‪1‬‬
‫פרק ‪ :6‬ניתוח תעבורת רשת בסיסית עם ‪Python‬‬
‫מטרת הפרק‬
‫התלמידים יכירו את שפת ‪ Python‬שתשמש אותם ככלי ‪ scripting‬מחקרי‪-‬אינטרקטיבי בהקשר להגנת סייבר‪.‬‬
‫בפרק הזה הכלי ישמש לניתוח בסיסי של תעבורת רשת‪.‬‬
‫מטרות ביצועיות‪:‬‬
‫‪ .1‬התלמיד יתקין וייריץ את הסביבה האינטראקטיבית של ‪.Python‬‬
‫‪ .2‬התלמיד יבצע פעולות בסיסיות בתוך הסביבה ולהדפיס את תוצאתן‪.‬‬
‫‪ .3‬התלמיד יבצע פעולות על מחרוזות‪ ,‬לרבות שרשור‪ ,‬חיפוש והוצאת תת‪-‬מחרוזת‬
‫‪ .4‬התלמיד ישמור ולטעון קובץ ‪ script‬חיצוני‪.‬‬
‫‪ .5‬התלמיד יפתוח‪ ,‬יקרוא וישמור קבצים (‪.)open, read, write, close‬‬
‫‪ .6‬התלמיד יכתוב קוד של מבני שפה בסיסיים (‪.)if, for, while‬‬
‫‪ .7‬התלמיד יינתח תעבורת רשת עם פייתון‪.‬‬
‫דרכי הוראה‪:‬‬
‫‪ .1‬הדגש בעבודה עם פייתון הוא ככלי אינטרקטיבי ולא כשפת תכנות‪.‬‬
‫‪ .2‬יש ללמוד את ‪Python‬ככלי מחקרי להגנת סייברבאופן אינטגרטיבי‪ .‬כלומר‪ ,‬פקודות ב‪ Python-‬יילמדו‬
‫בהקשר למשימה בבניתוח תעבורת רשת בסיסית‪.‬‬
‫‪ .3‬בפרק זה התלמיד מתנסה לראשונה באופן עצמאי בסביבת ‪ ,Python‬תוך שימת דגש על הפן‬
‫האינטראקטיבי והאפשרות לבצע בקלות פעולות‬
‫‪ .4‬ילהדגים פתיחה של סביבת העבודה‪ ,‬ביצוע פעולות חשבון על מספרים ומחרוזות‪ ,‬הדפסת תוצאות‪.‬‬
‫‪ .5‬להדגים יצירת קובץ קוד חיצוני בתוך סביבת העבודה וטעינתו לתוך סביבת העבודה‪.‬‬
‫‪ .6‬להסביר את משמעות המיוחדת שיש להזחה(‪ )ident‬בפייתון‪ ,‬ולסכם על קונבנציה אחידה‪.‬‬
‫‪ .7‬להדגים פתיחה של קובץ‪ ,‬התיחסות לתוכן שלו כמחרוזת וביצוע פעולות חיפוש והוצאת תת מחרוזת‪.‬‬
‫‪ .8‬להסביר תחביר של תנאיים (‪ )if, elif, else‬ולולאות (‪.)for .. in, while, break‬‬
‫דרכי הערכה‬
‫‪ .1‬בחינה מעשית‪:‬‬
‫א‪ .‬התלמיד יקבל ‪ ,Capture File‬יטען אותו כקובץ ויבצע חיפוש מחרוזת מסוימת‪.‬‬
‫ב‪ .‬התלמיד יקבל קובץ ‪ ,Capture File‬ויוציא את כל המחרוזות המופיעות לאחר המידה "‪.”:pass‬‬
‫חלוקת השעות‬
‫הנושא‬
‫שעות עיוניות‬
‫שעות התנסות‬
‫סה"כ שעות‬
‫מבוא לסביבת העבודה‬
‫‪2‬‬
‫‪3‬‬
‫‪5‬‬
‫פעולות על מחרוזות וקבצים‬
‫‪2‬‬
‫‪3‬‬
‫‪1‬‬
‫מבני השפה‬
‫‪2‬‬
‫‪3‬‬
‫‪5‬‬
‫סה"כ שעות‬
‫‪6‬‬
‫‪9‬‬
‫‪51‬‬
‫פרק ‪ :7‬חבילת הפרוטוקולים‪TCP/IP‬‬
‫מטרת הפרק‬
‫ללמוד אודות חבילת הפרוטוקולים ‪ TCP/IP‬גירסא ‪ .4‬מטרת הפרק להציג את הפרוטוקולים השונים‪ ,‬מטרתם‬
‫ואופן פעולתם‪.‬‬
‫מטרות ביצועיות‬
‫‪ .1‬התלמיד יתאר הפרוטוקולים השונים אשר הינם חלק מחבילת הפרוטוקולים ‪TCP/IP‬‬
‫‪ .2‬התלמיד ינתח ויסביר את כלל השדות ב‪-Header-‬ים של הפרוטוקולים השונים‪.‬‬
‫‪ .3‬התלמיד יסביר את המטרה של כל אחד מהפרוטוקולים‪.‬‬
‫‪ .4‬התלמיד ינתח את הפרוטוקולים ב‪( Wireshark-‬כולל שימוש ב‪-Filter-‬ים מתאימים)‪.‬‬
‫מושגים והכוונה‬
‫‪)IP) Internet Protocol .1‬‬
‫‪)UDP) User Datagram Protocol .2‬‬
‫‪)TCP) Transmission Control Protocol .3‬‬
‫‪)ARP) Address Resolution Protocol .4‬‬
‫‪IP Address .5‬‬
‫‪Port .6‬‬
‫‪)NAT/PAT ) Network/Port Address Translation .7‬‬
‫דרכי ההוראה‬
‫‪ .1‬לתאר את ה‪ RFC-‬של ‪.)UDP ) RFC 768‬‬
‫‪ .2‬להציג ולהסביר את כלל ה‪-Header-‬ים של הפרוטוקולים הבאים‪:‬‬
‫‪)ARP ) Address Resolution Protocol .1‬‬
‫‪)IP ) Internet Protocol .2‬‬
‫‪)UDP ) User Datagram Protocol .3‬‬
‫‪)TCP ) Transmission Control Protocol .4‬‬
‫‪ .3‬יש להציג את כלל הפרוטוקולים הנלמדים בפרק זה ב‪.Wireshark-‬‬
‫‪ .4‬יש להציג את טבלה הניתוב במחשב מבוסס ‪ Windows/Linux‬ע"י שימוש בפקודה ‪ route‬ב‪Command -‬‬
‫‪.Line‬‬
‫דרכי הערכה‬
‫‪ .1‬בחינה עיונית‬
‫‪ .1‬התלמיד יקבל שרטוט רשת וימלא את כלל השדות ב‪-Header-‬ים של ‪ IP‬ו‪ TCP-‬או ‪ UDP‬אשר‬
‫נדרשים לשם שליחת ההודעה באופן תקין‬
‫‪ .2‬התלמיד יתאר את כלל השלבים בעת ביצוע תקשורת בין שני ‪-Host‬ים הנמצאים באותו ה‪LAN-‬‬
‫(דימוי של גישה בין מחשבים שונים הנמצאים ברשת ביתית)‬
‫‪ .3‬התלמיד יתאר את כלל השלבים בעת ביצוע תקשורת בין שני ‪-Host‬ים הנמצאים ברשתות שונות‬
‫(דימוי של גלישה מהבית לשרת באינטרנט)‬
‫‪ .4‬התלמיד יקבל ‪ Capture‬של ‪ Wireshark‬ויצטרך לשרטט את כלל ה‪-Host-‬ים ברשת שהוא‬
‫מזהה תוך התייחסות לכתובת ה‪ ,IP-‬כתובות ה‪ MAC-‬והפורטים בהם נעשה שימוש‬
‫‪ .2‬בחינה מעשית‬
‫‪ .1‬התלמיד יקבל ‪ Capture‬של ‪ Wireshark‬ויצטרך לייצג את כלל ה‪-Host-‬ים שמדברים אחד עם‬
‫השני תוך הדפסת כתובת ה‪ IP-‬שלהם‪ ,‬סוג הפרוטוקול בשימוש בשכבת התעבורה‬
‫(‪ )TCP/UDP‬והפורטים בהם נעשה שימוש‬
‫חלוקת השעות‬
‫הנושא‬
‫שעות עיוניות‬
‫שעות התנסות‬
‫סה"כ שעות‬
‫חבילת הפרוטוקולים ‪TCP/IP‬‬
‫‪9‬‬
‫‪9‬‬
‫‪18‬‬
‫סה"כ שעות‬
‫‪9‬‬
‫‪9‬‬
‫‪51‬‬
‫פרק ‪ :1‬תכנות ב‪-Soket-‬ים‬
‫מטרת הפרק‬
‫ללמוד על אופן פיתוח תוכניות בסביבת הרשת באמצעות ‪-Socket‬ים‪.‬‬
‫מטרות ביצועיות‬
‫‪ .1‬התלמיד יתאר כיצד פותחים וסוגרים ‪ Socket‬בסביבת ‪.Python‬‬
‫‪ .2‬התלמיד יתאר כיצד קוראים מידע מ‪ Socket-‬בסביבת ‪.Python‬‬
‫‪ .3‬התלמיד יתאר כיצד שולחים מידע באמצעות ‪ Socket‬בסביבת ‪.Python‬‬
‫‪ .4‬התלמיד ינתח ויסביר את ההבדל בשימוש ב‪ Socket-‬ב‪ Stream Protocol-‬אל מול‬
‫‪.Protocol‬‬
‫‪ .5‬התלמיד יתכנת אפליקציית ‪.Client‬‬
‫‪Datagram‬‬
‫מושגים והכוונה‬
‫‪Socket .1‬‬
‫‪Import socket .2‬‬
‫‪ .3‬הפונקציה ‪bind‬‬
‫‪ .4‬הפונקציה ‪listen‬‬
‫‪ .5‬הפונקציה ‪connect‬‬
‫‪ .6‬הפונקציה ‪recv‬‬
‫‪ .7‬הפונקציה ‪send‬‬
‫‪ .8‬הפונקציה ‪sendto‬‬
‫‪ .9‬הפונקציה ‪recvfrom‬‬
‫‪Blocking Functions .11‬‬
‫‪Stream Protocols .11‬‬
‫‪Datagram Protocols .12‬‬
‫דרכי ההוראה‬
‫‪ .1‬להדגים עבודה בתצורת ‪ Client/Server‬מעל פרוטוקול ‪.UDP‬‬
‫‪ .2‬להדגים עבודה מול שרת ‪ TCP‬הפועל בתצורת ‪.Blocking‬‬
‫‪ .3‬להסביר את החשיבות של סגירת ‪ Socket‬בסיום העבודה‪.‬‬
‫‪ .4‬עבור כל מימוש ב‪-Socket-‬ים יש להציג בעזרת ‪ Wireshark‬את התעבורה שעברה ברשת‪.‬‬
‫‪ .5‬התלמידים ימשיכו ללמוד ולהתנסות ב‪ Python-‬באופן אינטגרטיבי עם המשימות בסוקטים‪ ,‬כלומר מבנה‬
‫חדש מסויים של ‪ Python‬ילמד בהקשר של השימוש בספריית הסוקטים‬
‫דרכי הערכה‬
‫‪ .1‬בחינה עיונית‪:‬‬
‫א‪ .‬התלמיד יציין את הפונקציות בהם יש להשתמש בעת יצירת ‪ TCP Server‬ואת התפקידיהן‬
‫ב‪ .‬התלמיד יציין את הפונקציות בהם יש להשתמש בעת יצירת ‪ TCP Client‬ואת התפקידיהן‬
‫ג‪ .‬התלמיד יציין את הפונקציות בהם יש להשתמש בעת יצירת ‪ UDP Server‬ואת התפקידיהן‬
‫ד‪ .‬התלמיד יציין את הפונקציות בהם יש להשתמש בעת יצירת ‪ UDP Client‬ואת התפקידהן‬
‫‪ .2‬בחינה מעשית‪:‬‬
‫א‪ .‬התלמיד יתחבר לשרת כלשהו (שירות מזג אוויר‪/‬שעון) ויתקשר אותו מעל באמצעות ‪-Socket‬ים‬
‫לשם קבלת נתונים ממנו‪.‬‬
‫ב‪ .‬התלמיד יקבל את ה‪ RFC-‬של )‪ SMTP (RFC 821‬ויתכנת שליחת הודעת ‪ SMTP‬לכתובת ‪E-‬‬
‫‪ Mail‬כלשהי שיבחר‪.‬‬
‫חלוקת השעות‬
‫הנושא‬
‫שעות עיוניות‬
‫שעות התנסות‬
‫סה"כ שעות‬
‫תכנות ב‪-Socket-‬ים‬
‫‪3‬‬
‫‪6‬‬
‫‪9‬‬
‫סה"כ שעות‬
‫‪3‬‬
‫‪6‬‬
‫‪9‬‬
‫פרק ‪ :9‬אבטחת מידע בפרוטוקולי ‪TCP/IP‬‬
‫מטרת הפרק‬
‫להכיר היבטים אבטחתיים ותקיפות בחבילת הפרוטוקולים ‪ TCP/IP‬ודרכי ההתמודדות איתם‪.‬‬
‫מטרות ביצועיות‬
‫‪ .1‬התלמיד יתנסה במיפוי פורטים "פתוחים"‪ ,‬יבין את משמעות האבטחתית שלהם‬
‫‪ .2‬התלמיד ינתח ויתאר את תפקיד רכיבי אבטחה ברשת כגון ‪ firewall‬ו‪IDS-‬‬
‫‪ .3‬התלמיד ינתח ויתאר את תקיפת ‪ ARP spoofing‬ודרכי ההתמודדות איתה‪.‬‬
‫‪ .4‬התלמיד ינתח ויתאר תקיפות נוספות בחבילת הפרוטוקולים ‪( TCP/IP‬רשות)‪.‬‬
‫מושגים והכוונה‬
‫‪ .1‬פורט פתוח ‪ /‬סגור‬
‫‪nmap .2‬‬
‫‪Firewall .3‬‬
‫‪Proxy .4‬‬
‫‪IDS .5‬‬
‫‪ARP Spoofing .6‬‬
‫‪( Smurf Attack .7‬רשות)‬
‫‪( Teardrop Attack .8‬רשות)‬
‫‪( SYN Attack .9‬רשות)‬
‫‪( TCP SYN Cookie .11‬רשות)‬
‫דרכי ההוראה‬
‫‪ .1‬להדגים פורטים פתוחים על המחשב האישי בעזרת הפקודה ‪ ,netstat‬והדרך לגלות אותם מרחוק בעזרת‬
‫החבילה ‪ .nmap‬יש להסביר כיצד ‪ nmap‬מבצעת את המיפוי‪ ,‬ואיך נראית סריקה כזו ב‪Wireshark-‬‬
‫‪ .2‬יש להסביר על סוגי ה‪-Firewall-‬ים השונים הקיימים‪:‬‬
‫‪Packet Filter Firewall .1‬‬
‫‪Stateful Inspection Firewall .2‬‬
‫‪Application Layer Firewall .3‬‬
‫‪.3‬‬
‫‪.4‬‬
‫‪.5‬‬
‫‪.6‬‬
‫הצגה של טבלת ה‪ ARP-‬במחשב מבוסס ‪ Windows/Linux‬ע"י שימוש בפקודה ‪ arp‬ב‪Command -‬‬
‫‪.Line‬‬
‫הצגת התקפת ‪ ARP Spoofing‬ושיטות להתמודדות עימה‪:‬‬
‫‪ .1‬תיאור הבעיה בפרוטוקול ‪ARP‬‬
‫‪ .2‬שימוש בהודעות ‪Unsolicited ARP‬‬
‫‪ .3‬שימוש בהגדרות ‪ ARP‬סטטיות אל מול ה‪ Default Gateway-‬לשם התמודדות‬
‫‪ .4‬שימוש ברכיבי ‪ HIDS/HIPS‬ו‪/‬או ‪ PFW‬להתמודדות‬
‫הצגת ההבדל בין ‪ IPS‬ל‪( IDS-‬בין דיווח לחסימה)‬
‫הצגת התקפות נוספות ברשתות ודרכי התמודדות (רשות)‪:‬‬
‫‪Smurf Attack .1‬‬
‫‪Teardrop Attack .2‬‬
‫‪Ping of Death .1‬‬
‫‪DoS/DDos .3‬‬
‫‪( SYN Attack .4‬הצגת התמודדות עם בעזרת ‪)TCP SYN Cookie‬‬
‫דרכי הערכה‬
‫‪ .3‬בחינה עיונית‬
‫‪ .1‬התלמיד יתאר את אופן העבודה של פרוטוקול ‪ARP‬‬
‫‪ .2‬התלמיד יסביר את תקיפת ‪ ARP spoofing‬ואת דרכי התמודדות איתה‬
‫‪ .3‬התלמיד יסביר תקיפות נוספות מפרוטוקולי ‪TCP/IP‬‬
‫‪ .4‬בחינה מעשית‬
‫‪ .1‬התלמיד יזהה תקיפת ‪ ARP spoofing‬בקובץ ‪ Capture‬של ‪Wireshark‬‬
‫‪ .2‬חלק מההתנסות המעשית של הפרק הזה תופיע בפרק הבא (‪ ,)scapy‬בו התלמידים ידרשו‬
‫לממש תקיפת ‪ ARP spoofing‬בעזרת ‪scapy‬‬
‫חלוקת השעות‬
‫הנושא‬
‫שעות עיוניות‬
‫שעות התנסות‬
‫סה"כ שעות‬
‫תקיפות והגנות ב‪TCP/IP-‬‬
‫‪3‬‬
‫‪4‬‬
‫‪7‬‬
‫סה"כ שעות‬
‫‪3‬‬
‫‪4‬‬
‫‪7‬‬
‫פרק ‪scapy :50‬‬
‫מטרת הפרק‬
‫לנתח ולייצר תעבורת רשת בעזרת חבילת ‪ scapy‬של ‪.Python‬‬
‫מטרות ביצועיות‬
‫‪ .1‬התלמיד יבצע שימוש בסיסי ואינטרקטיבי בפייתון‪.‬‬
‫‪ .2‬התלמיד ייבנה פאקטות בעזרת ‪.scapy‬‬
‫‪ .3‬התלמיד יינתח פאקטות מ‪ sniffer-‬בעזרת ‪.scapy‬‬
‫מושגים והכוונה‬
‫‪Python .1‬‬
‫א‪list .‬‬
‫ב‪dict .‬‬
‫ג‪ .‬גישה לשדות‬
‫ד‪list comprehensions .‬‬
‫‪scapy .2‬‬
‫א‪ .‬פרוטוקולים‪IP, TCP, ARP, Ether, DNS, ICMP :‬‬
‫ב‪ .‬פקודות‪lsc, ls, hexdump, rdpcap, send, sendp, sr, sr1, wireshark :‬‬
‫דרכי ההוראה‬
‫‪ .1‬ללמוד את ‪ Python‬ו‪scapy-‬באופן אינטגרטיבי‪ .‬כלומר‪ ,‬פקודות ב‪ Python-‬יילמדו בהקשר למשימה ב‪-‬‬
‫‪.scapy‬‬
‫‪ .2‬יש להשתמש ב‪ Shell -‬בצורה אינטרקטיבית ב‪.Python-‬‬
‫‪ .3‬על ה‪ sniffer-‬להיות פעיל לאורך כל העבודה עם ‪ ,scapy‬על מנת לראות את הפאקטות שנשלחות‬
‫ומתקבלות ע"י התלמידים‪.‬‬
‫דרכי הערכה‬
‫‪ .1‬בחינה מעשית‪:‬‬
‫‪ .1‬התלמיד יישלח פקטת ‪.TCP/IP‬‬
‫‪ .2‬התלמיד ייממש תקיפת ‪.ARP spoofing‬‬
‫‪ .3‬התלמיד יישלח פאקטות ‪.HTTP‬‬
‫‪ .4‬התלמיד יישלח שאילתות ‪.DNS‬‬
‫‪ .5‬התלמיד יציג ‪ Capture‬של הפקטות ששלח ב‪.Sniffer-‬‬
‫חלוקת השעות‬
‫הנושא‬
‫שעות עיוניות‬
‫שעות התנסות‬
‫סה"כ שעות‬
‫‪scapy‬‬
‫‪4‬‬
‫‪6‬‬
‫‪11‬‬
‫סה"כ שעות‬
‫‪4‬‬
‫‪6‬‬
‫‪50‬‬
‫פרק ‪ :55‬פרוטוקולים בשכבת האפליקציה‬
‫מטרת הפרק‬
‫ללמוד ולהכיר פרוטוקולים נפוצים בשכבת האפליקציה‪.‬‬
‫מטרות ביצועיות‬
‫‪ .1‬התלמיד יתאר את האופן בו מנתחים פרוטוקול תקשורת‪.‬‬
‫‪ .2‬התלמיד יתאר את החשיבות של קריאת התיעוד של פרוטוקול (למשל ‪.)RFC‬‬
‫‪ .3‬התלמיד יתאר את החשיבות בהכרות עם "מכונת המצבים" של הפרוטוקול‪.‬‬
‫‪ .4‬התלמיד יאבחן פרוטוקול בעזרת ‪ Sniffer‬ותקשורת אינטרקטיבית‪.‬‬
‫מושגים והכוונה‬
‫‪HTTP (Hyper Text Transfer Protocol) .1‬‬
‫‪DNS (Domain Name System .2‬‬
‫‪TLD (Top-Level Domains) .3‬‬
‫‪Zone Transfer .4‬‬
‫‪SMTP (Simple Mail Transfer Protocol) .5‬‬
‫‪SMTP spoofing .6‬‬
‫דרכי ההוראה‬
‫‪ .1‬להציג ולהסביר את כלל השדות ב‪-Header-‬ים של הפרוטוקולים ‪ HTTP‬ו‪.DNS-‬‬
‫‪ .2‬להציג את ההבדל בין ‪ HTTP 1.0‬לבין ‪ HTTP 1.1‬מבחינת ניהול ה‪.Connections-‬‬
‫‪ .3‬להציג את הפקודות (‪ )Methods‬השונות הקיימות בפרוטוקול ‪:HTTP‬‬
‫א‪GET .‬‬
‫ב‪POST .‬‬
‫ג‪HEAD .‬‬
‫ד‪OPTIONS .‬‬
‫ה‪PUT .‬‬
‫ו‪DELETE .‬‬
‫ז‪TRACE .‬‬
‫‪ .4‬להציג את אופן ביצוע שאילתות ‪ DNS‬בתצורה איטרטיבית ובתצורה רקורסיבית‪.‬‬
‫‪ .5‬להציג כל אחד מהפרוטוקולים הנלמדים בפרק זה בעזרת ‪.Wireshark‬‬
‫‪ .6‬להציג את השימוש בפרוטוקולים השונים תוך שימוש בכלי ‪ Command Line‬ב‪telnet, ( Windows-‬‬
‫‪)nslookup‬‬
‫‪ .7‬להדגים אבחון של פקודת ‪ HELLO‬ו‪ TO-‬בפרוטוקול ‪ SMTP‬בעזרת ‪ Wireshark‬ותקשורת‬
‫אינטרקטיבית‪.‬‬
‫‪ .8‬להציג פתרון של תרגיל אבחון ‪SMTP‬‬
‫‪ .9‬להציג את תקיפת‪ SMTP spoofing‬ודרכי ההתמודדות איתה‬
‫דרכי הערכה‬
‫‪ .1‬בחינה עיונית‪:‬‬
‫א‪ .‬התלמיד יסביר את מבנה פרוטוקול ‪ HTTP‬על פקודותיו השונות‬
‫ב‪ .‬התלמיד יסביר את מבנה פרוטוקול ‪DNS‬‬
‫ג‪ .‬התלמיד יסביר את תקיפת ‪ SMTP spoofing‬ודרכי ההתמודדות מולה‬
‫‪ .2‬בחינה מעשית‪:‬‬
‫א‪ .‬התלמיד יקבל ‪ Capture File‬אשר כוללת פרוטוקול שאינו נלמד ויסביר את פעולתו תוך שימשו‬
‫ב‪ Sniffer-‬בלבד‪.‬‬
‫ב‪ .‬התלמיד יכנס לאתר ‪ Web‬ויפרט את הבקשות אשר עוברות בין ה‪ Client-‬ל‪.Server-‬‬
‫ג‪ .‬התלמיד ישלח בקשת ‪ HTTP GET‬לאתר ‪ Web‬כלשהו יחלץ מהתשובה את כל הלינקים‬
‫שמופיעים בתשובה שהתקבלה‪.‬‬
‫ד‪ .‬התלמיד יקבל ‪ Capture File‬המכיל תעבורת תקשורת בפרוטוקול ‪ DNS‬ויציין באיזה סוג‬
‫שאילתה מדובר (רקורסיבית‪/‬איטרטיבית)‬
‫ה‪ .‬התלמיד יקבל ‪ Capture File‬המכיל תעבורת תקשורת בפרוטוקול ‪ HTTP‬ויצטרך להבין ממה‬
‫נתונים שונים כגון‪:‬‬
‫‪ .i‬באיזה גירסאת ‪ HTTP‬עובד השרת‬
‫‪ .ii‬מה הגודל של האובייקט המועבר ל‪Client-‬‬
‫‪ .iii‬מה גירסאת הדפדפן של ה‪Client-‬‬
‫ו‪ .‬התלמיד ייאבחן את פרוטוקול ‪ SMTP‬בעזרת ‪ Wireshark‬ותקשורת אינטרקטיבית‬
‫חלוקת השעות‬
‫הנושא‬
‫שעות עיוניות‬
‫שעות התנסות‬
‫סה"כ שעות‬
‫‪HTTP‬‬
‫‪5‬‬
‫‪5‬‬
‫‪11‬‬
‫‪DNS‬‬
‫‪5‬‬
‫‪3‬‬
‫‪8‬‬
‫‪SMTP‬‬
‫‪2‬‬
‫‪9‬‬
‫‪11‬‬
‫סה"כ שעות‬
‫‪13‬‬
‫‪56‬‬
‫‪29‬‬
‫פרק ‪ :52‬תרגיל סיכום‬
‫מטרת הפרק‬
‫לתכנן‪ ,‬לתעד ולממש פרוטוקול תקשורת ברמת האפליקציה‪.‬‬
‫מטרות ביצועיות‬
‫‪ .1‬התלמיד יממש פונקציות ב‪ Python-‬בעזרת ‪.def‬‬
‫‪ .2‬התלמיד יתכנן פרוטוקול ברמת האפליקציה‪.‬‬
‫‪ .3‬התלמיד יכתוב ‪ RFC‬לפרוטוקול‪.‬‬
‫‪ .4‬התלמיד יממש את הפרוטוקול‪.‬‬
‫‪ .5‬התלמיד יציג ב‪ Sniffer-‬את תעבורת הפרוטוקול‪.‬‬
‫מושגים והכוונה‬
‫‪ .1‬שלבים בפיתוח פרוטוקול‬
‫א‪ .‬תכנון‬
‫ב‪ .‬תיעוד‬
‫ג‪ .‬מימוש‬
‫‪Python .2‬‬
‫א‪def .‬‬
‫דרכי ההוראה‬
‫‪ .1‬יש לעבוד בצורה טורית בין המטרות‪ .‬כלומר‪ ,‬יש להשלים כל מטרה ביצועית לפי הסדר‪.‬‬
‫‪ .2‬יש להציג לתלמידים כיצד ממשים פונקציות ב‪ Python-‬בעזרת ‪.def‬‬
‫‪ .3‬התלמידים יציגו את עבודתם בפני הכיתה‪.‬‬
‫דרכי הערכה‬
‫‪ .1‬בחינה עיונית‪:‬‬
‫א‪ .‬התלמיד יסביר את מטרת הפרוטוקול‬
‫ב‪ .‬התלמיד יתכנן פרוטוקול‪.‬‬
‫ג‪ .‬התלמיד יסביר את ההלימה בין מטרת הפרוטוקול לבין תיכנונו‪.‬‬
‫‪ .2‬בחינה מעשית‪:‬‬
‫א‪ .‬התלמיד יתכנת את הפרוטוקול‪.‬‬
‫ב‪ .‬התלמיד יציג ‪ Capture‬של הפרוטוקול ב‪.Sniffer-‬‬
‫חלוקת השעות‬
‫הנושא‬
‫שעות עיוניות‬
‫שעות התנסות‬
‫סה"כ שעות‬
‫תרגיל סיכום‬
‫‪1‬‬
‫‪11‬‬
‫‪11‬‬
‫סה"כ שעות‬
‫‪0‬‬
‫‪50‬‬
‫‪50‬‬
‫חלק ה' ‪ -‬הגנת אפליקציות (בדגש ‪ 21( )Web‬שעות)‬
‫פרק ‪ :1‬מבוא לאפליקציות ‪( Web‬לאלו שלמדו תכנות בסביבת אינטרנט הפרק הוא חזרה קצרה‪ .‬ואפשר‬
‫להפחית את כמות השעות לטובת נושאים אחרים והגשת עבודת הגמר)‬
‫מטרת הפרק‬
‫להכיר ולהבין מהי אפליקצית ‪.web‬‬
‫מטרות ביצועיות‬
‫‪ .1‬התלמיד יסביר מבנה עמוד ‪.HTML‬‬
‫‪ .2‬התלמיד יסביר קוד ‪.JavaScript‬‬
‫‪ .3‬התלמיד יסביר את תהליך התקשורת בין הלקוח לשרת‪.‬‬
‫‪ .4‬התלמיד יסביר את דרך פעולתו של שרת ה ‪.web‬‬
‫מושגים והכוונה‬
‫‪HTML .1‬‬
‫‪JavaScript .2‬‬
‫‪Ajax .3‬‬
‫‪Client-Server .4‬‬
‫‪Cache .5‬‬
‫דרכי הוראה‬
‫‪ .1‬בהינתן לימוד פרק בנית אתרים בתוכנית הלימודים לבגרות יש לקצר פרק זה‪ .‬הפרק יכלול חזרה קצרה‬
‫על ‪ HTML, JavaScript, Client-Server‬ולימוד חוזר של ‪( .Ajax, Cache‬אלו נושאים קשים להפנמה‪,‬‬
‫גם אם נלמדו בעבר)‪.‬‬
‫‪ .2‬להראות איך נראה עמוד ‪ HTML‬על ידי דוגמאות ותרגול‪.‬‬
‫‪ .3‬להסביר איך כותבים ואיך מריצים קוד ‪ JavaScript‬על ידי דוגמאות ותרגול‪.‬‬
‫‪ .4‬להסביר איך עובד שרת ‪.web‬‬
‫‪ .5‬להסביר איך כותבים אתר (צד שרת) על ידי דוגמאות ותרגול‪.‬‬
‫‪ .6‬להסביר מהו ‪ URL‬ואת חלקיו השונים (‪.)protocol, host, port, path, query, hash‬‬
‫‪ .7‬להסביר מהן בקשות ‪ GET‬ו ‪.POST‬‬
‫‪ .8‬להסביר מהם פרמטרים‪.‬‬
‫דרכי הערכה‬
‫‪ .1‬בחינה עיונית‪:‬‬
‫א‪ .‬התלמיד יתבקש לתאר ו‪/‬או לשרטט את פעולתו של שרת ה ‪.web‬‬
‫ב‪ .‬התלמיד יתבקש לתאר ו‪/‬או לשרטט את התקשרות במקרים לדוגמה‪:‬‬
‫‪ .i‬הכנסת שם משתמש וסיסמה (תקשורת לשרת ובין השרת למסד הנתונים)‬
‫‪ .ii‬הכנסת שם משתמש לא חוקי (זיהוי ברמת ה ‪ – JavaScript‬אין תקשורת לשרת)‬
‫‪ .iii‬לחציה על מקש ‪( Back‬קבלת העמוד מה ‪ cache‬ללא תקשורת לשרת)‬
‫‪ .iv‬לחיצה על לינק לעמוד הנוכחי עם פרמטרים שונים (תקשורת לשרת)‬
‫‪ .v‬לחיצה על לינק לעמוד הנוכחי עם שינוי ב ‪ hash‬בלבד (אין תקשורת לשרת)‬
‫‪ .2‬בחינה מעשית‪:‬‬
‫א‪ .‬התלמיד יבנה אתר אשר ישלב את הרעיונות השונים הנלמדים בשיעור על פי השלבים הבאים‪:‬‬
‫ב‪ .‬כתיבת עמוד כניסה (לוגין) לאתר ב ‪HTML‬‬
‫ג‪ .‬זיהוי חוקיות שם משתמש וסיסמה ב ‪JavaScript‬‬
‫ד‪ .‬עמוד בדיקת שם משתמש וסיסמה בצד שרת (עם או בלי קישור למסד נתונים)‬
‫ה‪ .‬שליחת שם משתמש וסיסמה לשרת בבקשת ‪ GET‬ובבקשת ‪POST‬‬
‫חלוקת שעות‬
‫הנושא‬
‫שעות עיוניות‬
‫שעות התנסות‬
‫סה"כ שעות‬
‫‪HTML & JavaScript‬‬
‫‪2‬‬
‫‪3‬‬
‫‪5‬‬
‫‪Client - Server‬‬
‫‪2‬‬
‫‪3‬‬
‫‪5‬‬
‫‪Ajax‬‬
‫‪1‬‬
‫‪2‬‬
‫‪3‬‬
‫‪Cache‬‬
‫‪1‬‬
‫‪1‬‬
‫‪2‬‬
‫סה"כ שעות‬
‫‪6‬‬
‫‪55‬‬
‫‪51‬‬
‫פרק ‪ :2‬הגנה מפני ‪Cross Site Scripting‬‬
‫מטרת הפרק‬
‫התלמיד יבין מהן התקפות וההגנות ברמת האפליקציה ולהכיר התקפת ‪ XSS‬והגנה מפניה‪.‬‬
‫מטרות ביצועיות‬
‫‪ .1‬התלמידיסביר מהן ההתקפות וההגנות הנדרשות ברמת האפליקציה‪.‬‬
‫‪ .2‬התלמיד יתנסה בתקיפת ‪.XSS‬‬
‫‪ .3‬התלמיד יתנסה בהגנה מפני ‪.XSS‬‬
‫מושגים והכוונה‬
‫‪)Open Web Application Security Project( OWASP .1‬‬
‫‪Credentials .2‬‬
‫‪Session .3‬‬
‫‪Cookies .4‬‬
‫‪Same Origin Policy .5‬‬
‫‪Cross Site Scripting .6‬‬
‫דרכי הוראה‬
‫‪ .1‬להסביר שאפליקציות מאפשרות למשתמשים להכניס מידע אליהן ולקרוא מידע מהן ומכאן נובעת בעיה‬
‫פוטנציאלית‪.‬‬
‫‪ .2‬להסביר שהגנה ברמת האפליקציה היא הגנה מפני שימוש זדוני בממשק האמיתי של האפקליקציה‪ .‬זאת‬
‫לעומת הגנה על רשת או מערכת ההפעלה שמגנה מפני גישה זדונית‪ .‬כניסה בשער לעומת כניסה הדלת‬
‫האחורית‪.‬‬
‫‪ .3‬להסביר שפרוטוקול ‪ HTTP‬הוא ‪ .stateless‬כלומר‪ ,‬לא שומר מצב‪ .‬עם זאת‪ ,‬השימוש באפליקציות ‪web‬‬
‫מתחשב במצב (סימנתי מה ארצה לקנות ועכשיו הסל שלי מלא)‪.‬‬
‫‪ .4‬להסביר שרעיון ה ‪ session‬הוא המאפשר שימוש בפרוטוקול עם זיהוי המצב‪.‬‬
‫‪ .5‬לתאר את השימוש ב ‪ cookie‬בהקשרי ‪ session‬וזיהוי משתמש‪.‬‬
‫‪ .6‬להסביר מהו ‪ Same Origin Policy‬ומדוע הוא חשוב למניעת גניבת נתונים‪.‬‬
‫‪ .7‬להסביר מהו ‪ Cross Site Scripting‬על ידי תיאור ודוגמאות‪.‬‬
‫‪ .8‬להסביר כיצד ניתן להגן מפני ‪ :Cross Site Scripting‬חשוב להסביר את ההבדל בין סינון ‪– blacklist‬‬
‫סינון תוים שנקבעו מראש (לדוגמה סינון <‪ ,)> ,‬לבין סינון ‪ – whitelist‬מאפשר כתיבת נתונים רק עם‬
‫עונים על דרישה (לדוגמה‪ ,‬אותיות ומספרים בלבד)‪ .‬יש להדגיש שסינון ‪ blacklist‬מאפשר גמישות‬
‫בשימוש באתר‪ ,‬אך מסוכן ולא בטוח (יש להראות דוגמאות לעקיפת סינון)‪.‬‬
‫דרכי הערכה‬
‫‪ .1‬בחינה עיונית‪:‬‬
‫א‪ .‬התלמיד יסביר את המושגים‪Session, Cookies :‬‬
‫ב‪ .‬התלמיד יקבל תיאור מקרים‪ ,‬יסביר וינמק האם הגיוניים או לא‪ .‬דוגמאות‪:‬‬
‫‪ .i‬משתמש לחץ על קישור לאתר שנראה כמו הבנק שלו‪ ,‬אך אינו ובפועל ה ‪cookies‬‬
‫שמזהים אותו כמשתמש באתר הבנק נשלחו לתוקף‪( .‬לא נכון כיוון ש ‪Same Origin‬‬
‫‪ Policy‬מונע מאתר לקבל את ה ‪ cookies‬של אתר אחר)‬
‫‪ .ii‬משתמש לחץ על קישור לאתר מכירות‪ ,‬קנה שוקולדים במבצע וכרטיס האשראי שלו‬
‫נגנב למרות שחברת כרטיסי האשראי מוגנת מפרצת ‪ Cross Site Scripting‬בצורה‬
‫מושלמת‪( .‬אפשרי אם באתר המכירות יש חולשת ‪.)Cross Site Scripting‬‬
‫‪ .iii‬תוקף מצא חולשה באתר שמסנן תוי < ו > אשר התקבלו על ידי המשתמש‪( .‬אפשרי כי‬
‫ניתן לעקוף סינון חלקי זה)‪.‬‬
‫‪ .2‬בחינה מעשית‪:‬‬
‫א‪ .‬התלמיד יקבל אתר דמה וינסה למצוא בו חולשת ‪ .Cross Site Scripting‬לאחר המציאה‪,‬‬
‫התלמיד ייתקן הבעיה‪.‬‬
‫‪ .3‬התלמידים יכתבו קוד ‪ JavaScript‬שמנצל פגיעות ‪.Cross Site Scripting‬‬
‫א‪ .‬הקוד יכיל את היכולות הבאות‪:‬‬
‫‪ .i‬שליחת סימן חיים לשרת התוקף‬
‫‪ .ii‬שיחת ה ‪ cookies‬לשרת התוקף‬
‫‪ .iii‬שינוי נתונים בעמוד (לדוגמה‪ ,‬שם המשתמש)‬
‫‪ .iv‬יש לתת לתלמידים עמוד פגיע לדוגמה כדי שהם ינסו את הקוד שלהם על אתר זה‪.‬‬
‫חלוקת שעות‬
‫הנושא‬
‫שעות עיוניות‬
‫שעות התנסות‬
‫סה"כ שעות‬
‫תקיפת אפליקציות‬
‫‪1‬‬
‫‪1‬‬
‫‪1‬‬
‫‪Session, Cookies‬‬
‫‪2‬‬
‫‪2‬‬
‫‪4‬‬
‫‪ – Cross Site Scripting‬התקפה והגנה‬
‫‪4‬‬
‫‪6‬‬
‫‪11‬‬
‫סה"כ שעות‬
‫‪7‬‬
‫‪8‬‬
‫‪15‬‬
‫פרק ‪SQL Injection :3‬‬
‫מטרת הפרק‬
‫התלמיד יכיר תקיפת ‪ SQL Injection‬והגנה מפניה‪.‬‬
‫מטרות ביצועיות‬
‫‪ .1‬התלמיד יתנסה בתקיפת ‪.SQL Injection‬‬
‫‪ .2‬התלמיד יתנסה בהגנה מפני ‪.SQL Injection‬‬
‫מושגים והכוונה‬
‫‪ .1‬מסד נתונים‬
‫‪SQL .2‬‬
‫‪SQL Injection .3‬‬
‫‪Blind SQL Injection .4‬‬
‫‪Input Validation .5‬‬
‫‪Escape character .6‬‬
‫‪Stored Procedures .7‬‬
‫‪Parameterized Queries .8‬‬
‫‪Error Pages .9‬‬
‫דרכי הוראה‬
‫‪ .1‬לחזור על ‪ ,SQL‬ובפרט על תווים בעלי משמעות מיוחדת‪.‬‬
‫‪ .2‬להציג פקודות ‪SQL‬סבירות לשימוש באתרי אינטרנט (למשל‪ ,‬בעמוד הזדהות)‪.‬‬
‫‪ .3‬להציג את נפוצות התקיפה ולהציג מקרים אמיתיים בהם התקיפה הצליחה‪ .‬יש להציג מקרים אמיתיים‬
‫בהם התקיפה הצליחה‪.‬‬
‫‪ .4‬לאחר ביצוע התרגיל ע"י התלמידים‪ ,‬יש להסביר על הגנה בעזרת ‪.Escaping‬‬
‫‪ .5‬לאחר ביצוע הגנה בעזרת ‪ Escaping‬יש להציג מעקף של המנגנון ע"י שימוש בשיטות ‪Encoding‬‬
‫שונות‪.‬‬
‫‪ .6‬להסביר את סוגי האינפורמציה שניתן לקבל ע"י ‪.Blind SQL Injection‬‬
‫‪ .7‬להסביר את סוגי האינפורמציה שניתן לקבל מה‪.Error Pages-‬‬
‫‪ .8‬להסביר את השימוש ב‪ Stored Procedures-‬לשם התגוננות אל מול ‪( SQL Injection‬יש להציג‬
‫דוגמאות למימוש במסד נתונים ‪ Oracle‬ו‪.)SQL Server-‬‬
‫‪ .11‬להסביר את השימוש ב‪Parameterized Queries-‬לשם התגוננות כנגד ‪.SQL Injection‬‬
‫דרכי הערכה‬
‫‪ .1‬בחינה עיונית‪:‬‬
‫א‪ .‬התלמיד יסביר איך בנוי מסד נתונים‪.‬‬
‫ב‪ .‬התלמיד יסביר פקודות ‪ SQL‬בסיסיות‪.‬‬
‫ג‪ .‬התלמיד יציע מבנה של מסד נתונים לצורך עמוד אימות‪.‬‬
‫‪ .2‬בחינה מעשית‪:‬‬
‫א‪ .‬התלמיד יקבל אתר דמה וינסה למצוא בו חולשת ‪ .SQL Injection‬לאחר המציאה‪ ,‬התלמיד‬
‫ייתקן הבעיה ע"י שימוש ב‪.Escaping-‬‬
‫ב‪ .‬התלמיד יקבל אתר דמה וינסה למצוא בו חולשת ‪ .Blind SQL Injection‬לאחר המציאה‪,‬‬
‫התלמיד ייתקן הבעיה ע"י שימוש ב‪.Parameterized Queries-‬‬
‫ג‪ .‬התלמיד יקבל אתר דמה בו קיימת חולשת ‪ ,SQL Injection‬ויצטרך לתשאל את מסד הנתונים‬
‫כדי לקבל את הנתונים הבאים‪:‬‬
‫‪ .i‬רשימת המשתמשים במערכת‬
‫‪ .ii‬סיסמאות של המשתמשים במערכת‬
‫‪ .iii‬הצגת כלל הטבלאות במערכת‬
‫חלוקת שעות‬
‫הנושא‬
‫שעות עיוניות‬
‫שעות התנסות‬
‫סה"כ שעות‬
‫‪SQL Injection‬‬
‫‪4‬‬
‫‪6‬‬
‫‪11‬‬
‫סה"כ שעות‬
‫‪4‬‬
‫‪6‬‬
‫‪10‬‬
‫חלק ד' – הגנת מערכות הפעלה (‪ 120‬שעות)‬
‫פרק ‪ :5‬מבוא למערכות הפעלה‬
‫מטרת הפרק‬
‫לפרט את מטרת מערכת ההפעלה ותפקידיה העיקריים‪ ,‬ולהסביר בקווים כלליים את מבנה המחשב‪.‬‬
‫להוות מבוא כללי‪ ,‬בו התלמידים אמורים להבין בקווים כלליים איך המחשב בנוי‪ ,‬ומהם התפקידים של מערכת‬
‫ההפעלה במחשב‪.,‬‬
‫מטרות ביצועיות‬
‫‪ .1‬התלמיד ידע להסביר את המבנה הכללי של מחשב‪.‬‬
‫‪ .2‬התלמיד יפרט ויסביר על תפקידי מערכת ההפעלה‪.‬‬
‫מושגים והכוונה‬
‫‪ .1‬מבנה מחשב‬
‫א‪ .‬רכיבים‬
‫‪ .i‬שעון‬
‫‪ .ii‬זיכרון‬
‫‪ .1‬אוגרים‬
‫‪RAM .2‬‬
‫‪ .iii‬פעולות אריתמטיות‬
‫ב‪ .‬מושגים נוספים‬
‫‪ .i‬קוד לעומת נתונים‬
‫‪ .ii‬מעגל ביצוע‬
‫‪fetch .1‬‬
‫‪decode .2‬‬
‫‪execute .3‬‬
‫‪)write back( .4‬‬
‫‪ .iii‬פסיקה‬
‫ג‪ .‬מימוש במחשב האמיתי‬
‫‪CPU .i‬‬
‫‪Instruction pointer .ii‬‬
‫‪ .iii‬מחסנית‬
‫‪ .2‬תפקידי מערכת ההפעלה‬
‫א‪ .‬ניהול מערכת קבצים‬
‫ב‪ .‬ניהול תהליכים וחוטים‬
‫ג‪ .‬ניהול זיכרון וזיכרון וירטואלי‬
‫ד‪ .‬ממשקים חיצוניים‬
‫ה‪ .‬ניהול משתמשים והרשאות‬
‫דרכי ההוראה‬
‫‪ .1‬התלמדים אינם מורגלים בחשיבת ‪ Low Level‬במע"ה‪ ,‬אלא רגילים‪ ,‬ולכן פרק זה מהווה "תקופת‬
‫הסתגלות"‪.‬‬
‫‪ .2‬פרק זה‪ ,‬בניגוד לרוב המערך‪ ,‬הוא עיוני במהותו וכולל "תרגילים מחשבתיים" עם הכיתה‪ ,‬שבהן המורה‬
‫"מרכיב" מחשב עם הכיתה מרכיבים בסיסיים כמו שעון‪ ,‬רכיב זיכרון ופעולות אריתמטיות‪.‬‬
‫‪ .3‬בחלק השני של הפרק‪ ,‬נסקור את תפקידיה של מערכת ההפעלה ונסביר את הרציונל מאחוריהם‪.‬‬
‫‪ .4‬מטרת הפרק הינה לתת סקירה כללית ולא להעמיק בכל אחד מהסעיפים‪ ,‬בחלקם תהיה העמקה בשלבים‬
‫מאוחרים יותר‪.‬‬
‫‪ .5‬יש להציג את פעולת ה‪ CPU-‬בעזרת ‪ debugging‬לתוכנית פשוטה‪.‬‬
‫‪ .6‬יש לציין שהצורך בניהול זיכרון הוא לשם אבטחה‪.‬‬
‫‪ .7‬יש להדגיש את חשיבות ניהול משאבים‪ ,‬ובהקשר זה‪ ,‬את חשיבות ניהול התהליכים‪ ,‬זיכרון‪ ,‬ממשקים‪.‬‬
‫דרכי הערכה‬
‫‪ .1‬בחינה עיונית‪:‬‬
‫א‪ .‬התלמיד יפרט את מבנה המחשב‬
‫ב‪ .‬התלמיד יפרט ויסביר את תפקידי מערכת ההפעלה‪.‬‬
‫ג‪ .‬התלמיד יקבל תיאור של מחשב דמה ופעולה וויכתוב את המצב של המחשב לאחר ביצוע‬
‫הפעולה‪.‬‬
‫חלוקת השעות‬
‫הנושא‬
‫שעות עיוניות‬
‫שעות התנסות‬
‫סה"כ שעות‬
‫מבנה המחשב‬
‫‪4‬‬
‫‪1‬‬
‫‪4‬‬
‫תפקידי מערכת ההפעלה‬
‫‪4‬‬
‫‪1‬‬
‫‪4‬‬
‫סה"כ שעות‬
‫‪8‬‬
‫‪1‬‬
‫‪8‬‬
‫פרק ‪ :2‬שירותי מערכת ההפעלה‬
‫מטרת הפרק‬
‫הכרת ‪ ,Windows API‬הצגת הספריות המשותפות (‪-DLL‬ים) ופיתוח יכולות מחקריות ב‪.win32api-‬‬
‫מטרות ביצועיות‬
‫‪ .1‬התלמיד יכיר את קובצי הרצה ואת מבנם‪.‬‬
‫‪ .2‬התלמיד יבין את מבנה קובץ ‪ , DLL‬מאפייניו ושימושיו‪.‬‬
‫‪ .3‬התלמיד יטען קובץ ‪DLL‬‬
‫‪ .4‬התלמיד יכיר את ‪.win32 API‬‬
‫‪ .5‬התלמיד יריץ פונקציות מתוך ‪ win 32 API‬בעזרת ‪.Python‬‬
‫מושגים והכוונה‬
‫‪ .1‬קובץ הרצה‬
‫‪PE .2‬‬
‫‪DLL .3‬‬
‫‪Export Table .4‬‬
‫‪WinAPI .5‬‬
‫א‪LoadLibrary .‬‬
‫ב‪GetProcAddress .‬‬
‫ג‪ShellExecute .‬‬
‫ד‪MessageBox .‬‬
‫‪socket .6‬‬
‫א‪send .‬‬
‫ב‪recv .‬‬
‫‪syscalls .7‬‬
‫א‪kernel mode .‬‬
‫ב‪user mode .‬‬
‫‪MSDN .8‬‬
‫דרכי ההוראה‬
‫‪ .1‬פרק זה משלב הרצאות אשר מעבירות חומר תיאורטי‪ ,‬ביחד עם התנסות מעשית שבה התלמיד כותב‬
‫סקריפטי ‪ Python‬פשוטים‪.‬‬
‫‪ .2‬יש להציג את מבנה קובץ הרצה מסוג ‪:PE‬‬
‫א‪Sections .‬‬
‫‪Data .i‬‬
‫‪Text .ii‬‬
‫‪( import/export .iii‬יוסבר שוב ב‪-DLL-‬ים)‬
‫‪ .3‬יש להסביר את הצרכים ל‪:DLL-‬‬
‫א‪ .‬חיסכון במקום‬
‫ב‪ .‬עדכונים‬
‫ג‪ .‬אבטחה‬
‫ד‪ .‬אי‪-‬חשיפת פרטי מימוש‬
‫‪ .4‬יש להציג קריאה לשירותי מערכת ההפעלה בעזרת ‪:win32 API‬‬
‫א‪ .‬פעולות על קבצים‬
‫ב‪ .‬רשת‬
‫ג‪ .‬מצב המחשב‬
‫ד‪GUI .‬‬
‫‪ .5‬יש לתת לתלמידים לחקור בעצמם את התנהגות תוכנות בעזרת שינוי מחרוזות בתוכנית בעזרת כלי‬
‫עריכה‪.‬‬
‫‪ .6‬התלמיד יכיר את ‪ MSDN‬בתור ‪ reference‬ל‪.win32 API-‬‬
‫‪ .7‬יש להציג טעינת ‪ DLL‬וקריאה לפונקציה ממנו בעזרת ‪.ctypes‬‬
‫‪ .8‬יש להציג שימוש ב‪ win32 API-‬בעזרת ‪ .Python‬למשל‪:‬‬
‫א‪ .‬כתיבה לקובץ‬
‫ב‪ .‬שליחת מידע לרשת‬
‫ג‪ .‬שמירת צילום מסך‬
‫ד‪ .‬יצירת חלון וציור למסך‬
‫‪ .9‬יש להדגים כיצד מחלצים את טבלאות ה‪ imports-‬ו‪ exports-‬מתוך תוכנה‪.‬‬
‫דרכי הערכה‬
‫‪ .1‬בחינה עיונית‪:‬‬
‫א‪ .‬התלמיד יסביר את מבנה קובץ הרצה‪.‬‬
‫ב‪ .‬התלמיד יסביר את מבנה קובץ ‪DLL‬‬
‫‪ .2‬בחינה מעשית‪:‬‬
‫א‪ .‬התלמיד יחלץ טבלאות ‪ imports/exports‬מתוך תוכנה‪.‬‬
‫ב‪ .‬התלמיד יטען ‪ DLL‬ויקרא לפונקציות מתוכו‪.‬‬
‫ג‪ .‬התלמיד יימצא את התיעוד של פונקציות בעזרת ‪.MSDN‬‬
‫ד‪ .‬התלמיד יכתוב תוכנית העושה שימוש ב‪.win32 API-‬‬
‫חלוקת השעות‬
‫הנושא‬
‫שעות עיוניות‬
‫שעות התנסות‬
‫סה"כ שעות‬
‫מבנה קובץ ‪PE‬‬
‫‪4‬‬
‫‪1‬‬
‫‪4‬‬
‫‪DLL‬‬
‫‪3‬‬
‫‪3‬‬
‫‪6‬‬
‫‪win API‬‬
‫‪3‬‬
‫‪7‬‬
‫‪10‬‬
‫סה"כ שעות‬
‫‪11‬‬
‫‪10‬‬
‫‪20‬‬
‫פרק ‪ :3‬תהליכים‬
‫מטרת הפרק‬
‫הבנת מהו תהליך במערכת ההפעלה ומהם המשאבים הקשורים אליו‪.‬‬
‫מטרות ביצועיות‬
‫‪ .1‬התלמיד יסביר מהו תהליך‪.‬‬
‫‪ .2‬התלמיד יסביר מהו ‪thread‬‬
‫‪ .3‬התלמיד יסביר בקווים כלליים את פעולות מערכת ההפעלה ביצירת תהליך‪.‬‬
‫מושגים והכוונה‬
‫‪ .1‬תהליך (‪)Process‬‬
‫‪Thread .2‬‬
‫‪scheduler .3‬‬
‫‪ .4‬ניהול תהליכים ו‪-Thread-‬ים ב‪( Windows-‬רשות)‪:‬‬
‫א‪ .‬ה‪ Process Control Block-‬וה‪Process Environment Block-‬‬
‫ב‪ .‬ה‪ Thread Control Block-‬וה‪Thread Environment Block-‬‬
‫ג‪ .‬היררכיית ריצה של תהליכים‬
‫דרכי ההוראה‬
‫‪ .1‬יש להגדיר את המושג תהליך‪:‬‬
‫א‪ .‬מרחב זיכרון פרטי ווירטואלי‬
‫ב‪ .‬ספריות קוד‬
‫ג‪ .‬משאבים פתוחים (כמו‪ :‬קבצים והתקני חומרה)‬
‫ד‪ .‬אוסף ‪-Thread‬ים‬
‫ה‪ .‬היררכיית ריצה של תהליכים‬
‫‪ .2‬יש להגדיר את המושג ‪:Thread‬‬
‫א‪ .‬קוד שרץ בזיכרון (אוגרים ומחסנית משלו)‬
‫ב‪ .‬זיכרון ומשאבים משותפים עם שאר ה‪-Thread-‬ים ב‪Process-‬‬
‫‪ .3‬אין להתעמק בנושא של זיכרון של תהליך‪ ,‬כיוון שהוא יפורט בהרחבה בפרק הבא‪.‬‬
‫‪ .4‬יש לתאר את השלבים המתרחשים במערכת ההפעלה לצורך יצירת תהליך‪.‬‬
‫‪ .5‬יש להציג את ה‪.scheduler-‬‬
‫‪ .6‬הצגת תהליכים ב‪ ,process explorer-‬תוך שימת דגש על הדברים הבאים‪:‬‬
‫א‪ .‬אחוז הזמן שמוקצה לכל תהליך‬
‫ב‪ .‬משאבים של התהליך – כמו‪ :‬קבצים פתוחים‪-DLL ,‬ים טעונים‪-socket ,‬ים‬
‫דרכי הערכה‬
‫‪ .1‬בחינה עיונית‪:‬‬
‫א‪ .‬התלמיד יסביר מה הבדל בין תהליך ל‪.thread-‬‬
‫ב‪ .‬התלמיד יסביר את השלבים במערכת ההפעלה ליצירת תהליך‪.‬‬
‫ג‪ .‬התלמיד יסביר את אופן פעולת ה‪.scheduler-‬‬
‫‪ .2‬בחינה מעשית‪:‬‬
‫א‪ .‬התלמיד ינתח תהליך‪ ,‬בדגש על משאבים‪ ,‬בעזרת ‪.process explorer‬‬
‫ב‪ .‬התלמיד יכתוב סקריפט ‪ Python‬שמציג את התהליכים הרצים‪.‬‬
‫ג‪ .‬התלמיד ייצור תהליך חדש בעזרת ‪ win32api‬באמצעות ‪.Python‬‬
‫חלוקת השעות‬
‫הנושא‬
‫שעות עיוניות‬
‫שעות התנסות‬
‫סה"כ שעות‬
‫תהליכים‬
‫‪4‬‬
‫‪4‬‬
‫‪8‬‬
‫סה"כ שעות‬
‫‪4‬‬
‫‪4‬‬
‫‪8‬‬
‫פרק ‪ :4‬ניהול הזיכרון‬
‫מטרת הפרק‬
‫הבנה כיצד מערכת ההפעלה מאפשרת לתהליכים רבים להשתמש במשותף בזיכרון הדינאמי (‪ )RAM‬של‬
‫המחשב‪.‬‬
‫מטרות ביצועיות‬
‫התלמיד יסביר את הצורך בזיכרון וירטואלי על מנת לממש את מודל ה‪ ,flat memory-‬בו כל תהליך רואה את כל‬
‫הזיכרון כשייך רק לו‪ ,‬ולהתמודד עם מגבלות הזיכרון‪.‬‬
‫התלמיד יסביר כיצד מערכת ההפעלה נעזרת במעבד על מנת לבצע את תהליך ה‪.paging-‬‬
‫התלמיד יסביר כיצד מערכת ההפעלה מייעלת את ניצול הזיכרון באמצעות הזיכרון הווירטואלי‪.‬‬
‫מושגים והכוונה‬
‫‪ .1‬זיכרון וירטואלי‬
‫‪flat memory .2‬‬
‫‪ – Page .3‬דף זיכרון‬
‫‪page fault .4‬‬
‫‪page table .5‬‬
‫‪page file .6‬‬
‫‪protected mode .7‬‬
‫‪( memory mapped file .8‬העשרה)‬
‫דרכי ההוראה‬
‫‪ .1‬הרצאה פרונטלית‪ ,‬מלווה בשרטוטים המסבירים את מיפוי הזיכרון והטבלאות הרלבנטיות‪ .‬כדאי לנהל‬
‫שיחה אינטראקטיבית עם התלמידים‪ ,‬ולתת להם להציע הצעות למימוש מנגנון הזיכרון‪.‬‬
‫‪ .2‬יש להראות כיצד להשתמש בכלים הבאים ב‪:Windows-‬‬
‫‪ .3‬יש להציג את הצורך בזיכרון וירטואלי‪ .‬יש לציין שלכל תהליך יש מרחב זיכרון נפרד‪ ,‬ואולם כל תהליך‬
‫רואה מרחב כתובות חופף בגודל ‪ ,4GB‬אך משתמש בפועל בהרבה פחות‪ .‬וכן שלמחשב יש הרבה פחות‬
‫זיכרון‪.‬‬
‫‪ .4‬יש להסביר על הזיכרון הווירטואלי ותהליך ה‪:paging-‬‬
‫א‪ .‬התאמת מרחב הזיכרון של כל תהליך אל מרחב הזיכרון הפיסי‪.‬‬
‫ב‪ ,protected mode .‬ותפקיד המעבד בתרגום הכתובות‪.‬‬
‫ג‪ .‬דף זיכרון וטבלת הדפים (‪.)page table‬‬
‫ד‪ .‬ה‪ trade off-‬בין גודל כל ‪ page‬לבין גודל הטבלה‪.‬‬
‫ה‪ – Page fault .‬טעינת דף מהדיסק הקשיח אל הזיכרון‪ ,‬והקשר של מנגנון זה ל‪interrupt-‬‬
‫במעבד‪.‬‬
‫ו‪ .‬מנגנון אחסון הדפים על הדיסק‪ Pagefile :‬ב‪.Windows-‬‬
‫‪ .5‬יש להסביר על חסכון וייעול ניצול הזיכרון –‬
‫א‪ .‬טעינת ספריות קוד פעם אחת ל‪ ,RAM-‬ויצירת מיפויים רבים מהזיכרון הווירטואלי של תהליכים‬
‫שונים‪.‬‬
‫ב‪ .‬יש להסביר מדוע המחשב נהיה איטי כשכונן הקשיח כמעט ומלא‪.‬‬
‫‪ .6‬יש להסביר את השימוש בניתוח תוכן הזיכרון באבטחת מידע לאיתור תוכניות זדוניות‪.‬‬
‫א‪ –VMMap .‬כלי המאפשר צפייה בחלוקת הזיכרון הווירטואלי של תהליך‪.‬‬
‫ב‪ – RAMMap .‬כלי המאפשר צפייה בחלוקת הזיכרון הפיסי‪.‬‬
‫דרכי הערכה‬
‫‪ .1‬בחינה עיונית‪:‬‬
‫א‪ .‬התלמיד יסביר את עקרון ה‪.flat memory-‬‬
‫ב‪ .‬התלמיד יסביר את מנגנון ה‪.paging-‬‬
‫ג‪ .‬התלמיד ידגים את מגבלות הזיכרון הוירטואלי ‪.‬‬
‫‪ .2‬בחינה מעשית‪:‬‬
‫א‪ .‬התלמיד ידגים את השימוש ב‪ .page table-‬למשל‪:‬‬
‫‪ .i‬להתאים בין כתובת למספר תא בטבלה ולהפך‪.‬‬
‫‪ .ii‬להכריע האם דף מסוים נמצא בזיכרון או ב‪.HD-‬‬
‫ב‪ .‬התלמיד יפתח את הזיכרון של תהליךמ‪ Python-‬בעזרת ‪ ,ReadProcessMemory‬יחפש‬
‫מחרוזות בתוכו‪ .‬דוגמאות‪:‬‬
‫‪ .i‬מחרוזות מוקלדות לתוך ‪.notepad‬‬
‫‪ .ii‬תוכן דף וסיסמא ב‪.internet explorer-‬‬
‫‪ .iii‬התלמיד יכתוב תוכנית ‪ Python‬שמתריעה כאשר תוכן מסוים הוכנס ל‪internet -‬‬
‫‪ ,explorer‬על ידי ניתור הזיכרון שלו‪.‬‬
‫‪ .iv‬התלמיד יפתח את הקובץ ‪ ,pagefile.sys‬ישווה עם תוכן זיכרון של תהליך קיים‪.‬‬
‫‪ .v‬התלמיד יחיפש סיסמא שהוכנסה לתוכנה שכבר נסגרה בתוך הקובץ ‪.pagefile.sys‬‬
‫חלוקת השעות‬
‫הנושא‬
‫שעות עיוניות‬
‫שעות התנסות‬
‫סה"כ שעות‬
‫מבוא ומושגים בזיכרון וירטואלי‬
‫‪2‬‬
‫‪0‬‬
‫‪2‬‬
‫הסבר מעמיק של מנגנון ה‪paging-‬‬
‫‪4‬‬
‫‪8‬‬
‫‪12‬‬
‫סה"כ שעות‬
‫‪6‬‬
‫‪8‬‬
‫‪14‬‬
‫פרק ‪ :1‬מחקר תהליכים ב‪Windows-‬‬
‫מטרת הפרק‬
‫הבנה וניתוח ניתח תהליכים שקורים "מאחרי הקלעים" ב‪ ,Windows-‬פיתוח מיומנויות חקר פעילות זדונית לצורך‬
‫אבטחת המערכות‪.‬‬
‫מטרות ביצועיות‬
‫‪ .1‬התלמיד יבצע ‪ hooking‬לפונקציות בתוך תהליך מסוים‪.‬‬
‫‪ .2‬התלמיד ינטר וישנה פעולת התוכנה בעזרת ‪.hooking‬‬
‫מושגים והכוונה‬
‫‪hooking .1‬‬
‫דרכי הוראה‬
‫‪ .2‬יש להציג את התוכנה ‪.procmon‬‬
‫‪ .3‬יש להציג כיצד לנתר פעולות קבצים‪.‬‬
‫‪ .4‬יש להסביר על ‪ ,hooking‬אופן פעולתו ושימושיו החיוביים והשליליים‪.‬‬
‫‪ .5‬יש להציג את חבילת ‪ pydbg‬של ‪ Python‬וביצוע ‪ hooking‬בעזרתה‬
‫דרכי הערכה‬
‫‪ .1‬בחינה עיונית‪:‬‬
‫א‪ .‬התלמיד יסביר את המושג ‪.hooking‬‬
‫‪ .2‬בחינה מעשית‪:‬‬
‫א‪ .‬התלמיד ייבצע את הפעולות הבאות בעזרת ‪:pydbg‬‬
‫‪ .i‬הצגת את כל פתיחות הקבצים בתהליך מסויים‪.‬‬
‫‪ .ii‬הצגת כל המידע שהדפדפן שולח לרשת‪.‬‬
‫‪ .iii‬ניטור הכתובות שהדפדפן גולש עליהם‪.‬‬
‫‪ .iv‬מציאת הניקוד בתוך שולה המוקשים (‪ )winmine‬ע"י השוואת הזיכרון שלו בין מספר‬
‫ריצות‪.‬‬
‫‪ .v‬שימוש ב‪ WriteProcessMemory-‬לשינוי התוכן של הזיכרון בזמן ריצה‪.‬‬
‫ב‪ .‬מחקר עצמאי למציאת תוכנה זדונית בעזרת כל הכלים שנלמדו‪.‬‬
‫חלוקת השעות‬
‫הנושא‬
‫שעות עיוניות‬
‫שעות התנסות‬
‫סה"כ שעות‬
‫מבוא למחקר תהליכים ותוכנות‬
‫‪3‬‬
‫‪3‬‬
‫‪6‬‬
‫‪Hooking‬‬
‫‪4‬‬
‫‪12‬‬
‫‪16‬‬
‫סה"כ שעות‬
‫‪7‬‬
‫‪15‬‬
‫‪22‬‬
‫פרק ‪ :6‬ניהול משאבים והרשאות‬
‫מטרת הפרק‬
‫הכרת תהליך ניהול המשאבים שנעשה במערכת ההפעלה‪ ,‬זיהוי בעיות אבטחה נפוצות שנובעות משיתוף‬
‫המשאבים‪ ,‬ודרכים להתמודד עמם‪.‬‬
‫מטרות ביצועיות‬
‫‪ .1‬התלמיד יסביר מהם משאבים פרטיים ומשאבים משותפים‪.‬‬
‫‪ .2‬התלמיד יתאר כיצד מנוהלות הרשאות ע"י מערכת ההפעלה‪.‬‬
‫‪ .3‬התלמיד יזהה בעיות אבטחה שיכולות לנבוע משיתוף משאבים בין תהליכים‪ ,‬וילמד דרכים להתמודד‬
‫אתם‪.‬‬
‫מושגים והכוונה‬
‫‪ .1‬משאבים משותפים ב‪Windows-‬‬
‫א‪ .‬מערכת הקבצים‬
‫‪ .i‬סיפריות מערכת‬
‫‪ .ii‬מיקום (‪)path‬‬
‫ב‪Registry .‬‬
‫ג‪Handle .‬‬
‫ד‪ .‬סקירת משאבים נוספים‪:‬‬
‫ה‪socket .‬‬
‫ו‪ .‬חלון‬
‫ז‪ .‬התקני חומרה‬
‫‪ .2‬מערכת ההרשאות‬
‫א‪Object manager .‬‬
‫ב‪kernel mode .‬‬
‫ג‪ .‬תהליך וידוא ההרשאות‬
‫ד‪ .‬הרשאות משתמש‪ ,‬תהליך וקובץ‬
‫ה‪ .‬ירושת הרשאות‬
‫ו‪security token .‬‬
‫‪ .3‬בעיות אבטחה נפוצות‬
‫א‪Directory traversal .‬‬
‫ב‪Temp directory .‬‬
‫ג‪DLL Hijacking .‬‬
‫‪ .i‬סדר טעינת ‪-DLL‬ים‬
‫ד‪Privilege Escalation .‬‬
‫ה‪Race Conditions .‬‬
‫ו‪Security Domains .‬‬
‫דרכי ההוראה‬
‫‪ .1‬לימוד הפרק מתחלק ל‪ 3-‬חלקים‪ .‬בחלק הראשון התלמידים לומדים על משאבים המשותפים בשימוש‬
‫מערכת ההפעלה בדגש על מערכת הקבצים וה‪ .registry-‬בחלק השני התלמידים לומדים על הצורך‬
‫בניהול המשאבים ועל מערכת ההרשאות‪ .‬בחלק השלישי התלמידים לומדים על בעיות אבטחה נפוצות‬
‫שקשורות לניהול משאבים בסביבה עם ריבוי הרשאות‪.‬‬
‫‪ .2‬משאבים משותפים‪:‬‬
‫א‪ .‬את השיעורים יש ללוות בתצלומי מסך שמדגימים את המושגים הנלמדים‪.‬‬
‫ב‪ .‬בלימוד על המשאבים יש להתעמק במערכת הקבצים וה‪ .registry-‬לגבי יתר המשאבים יש‬
‫להסתפק בסקירה בלבד‪.‬‬
‫ג‪ .‬בהצגת מערכת הקבצים יש להיעזר ב‪ ,procmon-‬ולהציג גישות לקבצים השונים ע"י התהליכים‬
‫שונים במערכת ההפעלה‬
‫ד‪ .‬יש להציג לתלמידים כיצד לחפש ערכים ב‪ ,registry-‬בדגש על מיקומים חשובים‪.‬‬
‫‪.3‬‬
‫‪.4‬‬
‫‪.5‬‬
‫‪.6‬‬
‫מערכת ההרשאות‪:‬‬
‫א‪ .‬בהצגת מערכת ההרשאות יש להתעקב על הצורך והחשיבות של הרשאות‪ ,‬כן בין המשתמשים‬
‫השונים (הגנה על מידע רגיש)‪ ,‬וכן בין תהליכים במחשב (הגנה מפני תוכנות עוינות)‬
‫ב‪ .‬יש להסביר בפירוט כיצד הרשאות ממומשות ברמת מערכת ההפעלה‪:‬‬
‫ג‪ .‬הסיבה לביצוע בדיקת ההרשאות ב‪kernel mode-‬‬
‫ד‪ .‬הרשאות של תהליך נגזרים מהרשאות של המשתמש‬
‫ה‪ .‬בדיקת הרשאות של תהליך מול ההרשאות של האובייקט‬
‫יש להציג לתלמידים את הסכנות במשאבים הניתנים לירושה‪.‬‬
‫בעיות האבטחה הנפוצות‬
‫א‪ .‬יש להקצות זמן משמעותי לחלק זה‪ ,‬להציג לעומק את המושגים ‪Directory traversal, DLL‬‬
‫‪ hijacking, Privilege escalation, Race conditions‬ולכלול התנסות מעשית‪.‬‬
‫ב‪ .‬בשיעורים על מערכת ההרשאות ובעיות האבטחה הנפוצות‪ ,‬מומלץ לנהל דיון בכיתה עם‬
‫התלמידים‪ ,‬ולתת להם לזהות בעיות אבטחה פוטנציאליות ולהציע פתרונות‬
‫ג‪ .‬יש לתת דוגמאות רבות ומגוונות לבעיות אבטחה שנובעות מקיום משאבים משותפים‪ ,‬למשל‪:‬‬
‫תמונת מסך כמשאב משותף‪ ,‬קובץ סיסמאות שלא מוגן כראוי‪ ,‬שימוש לא זהיר ב‪temp -‬‬
‫‪.directory‬‬
‫יש להציג את הפקודות ‪ runas‬ו‪ at-‬ולהסביר על בעיות אבטחה אפשריות‪.‬‬
‫דרכי הערכה‬
‫‪ .1‬בחינה עיונית‪:‬‬
‫א‪ .‬התלמיד יסביר את המושגים המופיעים בפרק‪.‬‬
‫‪ .2‬בחינה מעשית‪:‬‬
‫א‪ .‬התלמיד יתכנת מימושים של בעיות האבטחה שצויינו בפרק‪.‬‬
‫ב‪ .‬התלמיד יזהה בעיות אבטחה בתוכנית פייתון שיקבל‪ ,‬ויציע דרכים לתקן אותם‪.‬‬
‫חלוקת השעות‬
‫הנושא‬
‫שעות עיוניות‬
‫שעות התנסות‬
‫סה"כ שעות‬
‫משאבים ואובייקטים במערכת ההפעלה‬
‫‪3‬‬
‫‪3‬‬
‫‪6‬‬
‫מערכת ההרשאות‬
‫‪3‬‬
‫‪2‬‬
‫‪5‬‬
‫סכנות אבטחה וניהול גישה למשאבים‬
‫‪6‬‬
‫‪8‬‬
‫‪14‬‬
‫סה"כ שעות‬
‫‪12‬‬
‫‪13‬‬
‫‪25‬‬
‫פרק ‪ Windows :7‬כמערכת מוכוונת אירועים‬
‫מטרת הפרק‬
‫הבנת ‪ Event Driven programming‬והארכיטקטורה שעומדת מאחוריו‪.‬‬
‫מטרות ביצועיות‬
‫התלמיד יכיר את מערכת ניתוב ההודעות של ‪.Windows‬‬
‫התלמיד יתנסה בקבלת הודעות ממערכת ההפעלה ובשליחת הודעות לחלונות אחרים‪.‬‬
‫מושגים והכוונה‬
‫‪ .1‬חלונות‬
‫‪ .2‬הודעות‬
‫‪ .3‬מערכת ניתוב ההודעות ב‪windows-‬‬
‫א‪Message Pool .‬‬
‫ב‪Message Pump .‬‬
‫ג‪GetMessage .‬‬
‫ד‪DispatchMessage .‬‬
‫ה‪ .‬תור ההודעות‬
‫‪ .4‬אירועים שגורמים לקבלת הודעה‬
‫א‪ .‬אירוע חומרה‬
‫ב‪ .‬שליחת הודעה מתהליך אחר‬
‫ג‪Windows Hooks .‬‬
‫ד‪Keyboard sniffer .‬‬
‫ה‪SendMessage .‬‬
‫דרכי ההוראה‬
‫‪ .1‬במהלך השיעור‪ ,‬יש להיעזר בתצלומי מסך שמדגימים את המושגים הנלמדים‪ .‬ניתן למצוא איורים‬
‫העוזרים להמחשה באתר האינטרנט של חברת מייקרוסופט או בספר ‪.Windows Internals‬‬
‫‪ .2‬יש להעיזר בכלי ‪ ++Spy‬הקיים בחבילת התוכנה ‪ Visual Studio‬שמאפשר לצפות בכל ההודעות של‬
‫חלון מסויים‪ .‬על התלמידים להתנסות בביצוע פעולות על החלון (למשל‪ ,‬הזזת עכבר מעל החלון‪ ,‬לחיצה‬
‫על כפתור‪ ,‬מזעור חלון) ובחינת ההודעות המוצגות ב‪.++Spy-‬‬
‫‪ .3‬יש להציג את בעיות האבטחה במנגנון זה‪ ,‬למשל‪:‬‬
‫א‪ .‬האזנה להודעות אשר מגיעות לחלון ‪ -‬כתיבת ‪keyboard sniffer‬‬
‫ב‪ .‬דחיפת הודעות לחלון ‪ -‬כתיבת תוכנית שפותחת ‪ notepad‬ומקלידה לתוכו‬
‫ג‪ .‬זיהוי חיבור של ‪ Disk On Key‬וכתיבת קובץ אליו‬
‫‪ .4‬יש להציג את מודל שבירת מודל אבטחה בהודעות‪ ,‬בדגש על‪:‬‬
‫א‪ .‬ניתן לשלוח הודעות לחלונות אחרים גם אם אין הרשאות לפתוח אותם‪.‬‬
‫ב‪ Windows XP .‬מול ‪Windows 7‬‬
‫ג‪shutter attacks .‬‬
‫דרכי הערכה‬
‫‪ .1‬בחינה עיונית‪:‬‬
‫א‪ .‬התלמיד יסביר את תהליך מעבר ההודעות במערכת ההפעלה‪.‬‬
‫ב‪ .‬התלמיד יסביר את דרך הפעולה של תוכנת חלון בסיסית‪.‬‬
‫‪ .2‬בחינה מעשית ‪:‬‬
‫א‪ .‬התלמיד ינתח הודעות על חלון בעזרת ‪.++Spy‬‬
‫ב‪ .‬התלמיד יזייף הודעות לתהליכים אחרים‪.‬‬
‫ג‪ .‬התלמיד יכתוב תוכנית שמנטרת הקשות מקלדת שמוקלדות לתוך ‪ ,notepad‬ימבצעת פעולה‬
‫כאשר היא מזהה מחרוזת מסוימת‬
‫ד‪ .‬התלמיד יכתוב תוכנית בתור תהליך מוגבל‪ ,‬וישלח הודעות לתוכנה שרצה בהרשאות גבוהות‬
‫יותר‪.‬‬
‫ה‪ .‬התלמיד יתכנת תוכנית המנצלת את בעיות האבטחה במנגנון ההודעות של ‪.Windows‬‬
‫חלוקת השעות‬
‫הנושא‬
‫שעות עיוניות‬
‫שעות התנסות‬
‫סה"כ שעות‬
‫היכרות עם מערכת החלונות ב‪Windows-‬‬
‫‪4‬‬
‫‪6‬‬
‫‪11‬‬
‫הודעות מנקודת מבט אבטחתית‬
‫‪1‬‬
‫‪5‬‬
‫‪6‬‬
‫תקיפה באמצעות הודעות‬
‫‪1‬‬
‫‪6‬‬
‫‪7‬‬
‫סה"כ שעות‬
‫‪6‬‬
‫‪17‬‬
‫‪23‬‬
‫חלק ה' ‪ -‬הגנת סייבר בעולם מורכב (‪ 30‬שעות)‬
‫פרק ‪ :1‬סיכום ההגנות הדרושות בעולם הסייבר‬
‫מטרת הפרק‬
‫לסכם את סוגי ההגנות והתקיפות שהכרנו במהלך לימודי המערך‪.‬‬
‫מטרות ביצועיות‬
‫‪ .1‬התלמיד ינתח ויבחין בין סוגי התקיפה השונים‪.‬‬
‫‪ .2‬התלמיד יתאר את הסכנות השונות‪.‬‬
‫‪ .3‬התלמיד יתאר את ההגנות השונות‪.‬‬
‫מושגים והכוונה‬
‫חזרה על מושגים מהמערך כולו‪.‬‬
‫דרכי הוראה‬
‫זהו שיעור חזרה על החומר הנלמד במערך‪ .‬על כן יש לשאוף לשתף את כל התלמידים במהלך השיעור‪ .‬עבור כל‬
‫נושא כדאי לבחור תלמיד שיסביר אותו ולתקן או להוסיף במידת הצורך‪.‬‬
‫‪ .1‬להזכיר ולתאר את סוגי התקיפה השונים‪ :‬רשת‪ ,‬מערכת הפעלה‪ ,‬אפליקציה‪.‬‬
‫‪ .2‬להזכיר ולתאר את הסכנות השונות‪ :‬גניבת מידע‪ ,‬התחזות‪ ,‬שיבוש פעילות‪.‬‬
‫‪ .3‬להזכיר ולתאר את הגנות השונות שנלמדו‪.‬‬
‫דרכי הערכה‬
‫‪ .1‬בחינה עיונית‪:‬‬
‫‪ .1‬התלמיד יתאר את סוגי ההתקפה השונים‪.‬‬
‫‪ .2‬התלמיד יתאר את סוגי ההגנות וההגנות השונות‪.‬‬
‫‪ .3‬התלמיד יתאים בין סוגי התקפה להגנות המתאימות‪.‬‬
‫חלוקת שעות‬
‫הנושא‬
‫שעות עיוניות‬
‫שעות התנסות‬
‫סה"כ שעות‬
‫סיכום הגנות‬
‫‪4‬‬
‫‪1‬‬
‫‪4‬‬
‫סה"כ שעות‬
‫‪4‬‬
‫‪0‬‬
‫‪4‬‬
‫פרק ‪ :2‬מבוא לקריפטוגרפיה (הצפנה)‬
‫מטרת הפרק‬
‫התלמיד יכיר את השימוש בקריפטוגרפיהכאבן יסוד בהגנת סייבר‪.‬‬
‫‪.1‬‬
‫‪.2‬‬
‫‪.3‬‬
‫‪.4‬‬
‫‪.PKI‬‬
‫להסביר את מודל ‪ – PKI‬מפתחות פרטים ומפתחות ציבוריים‪.RSA ,‬‬
‫בתיאור מודל ‪ PKI‬כדאי לספר על חלקו של ‪ Shamir‬ב ‪.RSA‬‬
‫בתיאור ‪ PKI‬לא כדאי להכנס לפרטים המתמטים אלא את הרעיונות ותוצאותן‪.‬‬
‫מטרות ביצועיות‬
‫‪ .1‬התלמיד יסביר מונחים בסיסים בקריפטולוגיה‬
‫‪ .2‬התלמיד יסביר את ה‪PKI-‬‬
‫‪ .3‬התלמיד יתאר פרוטוקולי תקשורת מבוססי קריפטוגרפיה‬
‫מושגים והכוונה‬
‫‪ .1‬צופן סימטרי‬
‫‪ .2‬בעיית תיאום המפתחות‬
‫‪ .3‬צופן א‪-‬סימטרי‬
‫‪ .4‬פונקציית ‪Hash‬‬
‫‪PKI (Public Key Infrastructure) .5‬‬
‫‪CA (Certificate Authority) .6‬‬
‫‪ .7‬חתימה דיגיטלית‬
‫‪Challenge Response .8‬‬
‫‪SSL .9‬‬
‫‪Kerberos .11‬‬
‫דרכי הוראה‬
‫‪ .2‬לציין את מטרות הקריפטוגרפיה‬
‫א‪ .‬חשאיות‬
‫ב‪ .‬אימות‬
‫ג‪ .‬שלמות‬
‫‪ .3‬להדגיש את הקריפטוגרפיה כאבן יסוד בהגנת סייבר‬
‫‪ .4‬מומלץ להשתמש במטאפורות לצורך הסבר הפרימיטיבים הקריפטולוגיים ולא להיכנס לפרטים‬
‫המתמטיים‬
‫דרכי הערכה‬
‫‪ .1‬בחינה עיונית‪:‬‬
‫א‪ .‬התלמיד ייתאר פרימיטיבים קריפטוגרפיים‬
‫ב‪ .‬התלמיד ייתאר את מודל ה‪PKI-‬‬
‫ג‪ .‬התלמיד יסביר את עקרון אימות בעזרת ‪Challenge Response‬‬
‫ד‪ .‬התלמיד ייתאר פרוטוקולי תקשורת מבוססי קריפוגרפיה‬
‫‪ .2‬בחינה מעשית‪:‬‬
‫א‪ .‬התלמיד יירשום את הסרטיפיקטים המותקנים במחשב ואת פרטיהם‬
‫ב‪ .‬התלמיד יתכנת תוכנית המצפינה ומפענחת בעזרת מצפין סימטרי (‪ )AES‬מחבילה קיימת‬
‫ג‪ .‬התלמיד יתכנת תוכנית המצפינה ומפענחת בעזרת מצפין א‪-‬סימטרי (‪ )RSA‬מחבילה קיימת‬
‫חלוקת שעות‬
‫הנושא‬
‫שעות עיוניות‬
‫שעות התנסות‬
‫סה"כ שעות‬
‫מבוא לקריפטוגרפיה‬
‫‪8‬‬
‫‪4‬‬
‫‪12‬‬
‫סה"כ שעות‬
‫‪1‬‬
‫‪4‬‬
‫‪52‬‬
‫פרק ‪ :3‬הגורם האנושי‬
‫מטרת הפרק‬
‫להבין את גבולות ההגנות המובנות מול טעויות אנוש‪.‬‬
‫מטרות ביצועיות‬
‫‪ .1‬התלמיד יסביר שמאחורי כל מערכת עומד אדם שתיכנן ומימש אותה‪.‬‬
‫‪ .2‬התלמיד יתאר תקיפות ‪ Phishing‬ורעיונות ‪.Social Engineering‬‬
‫‪ .3‬התלמיד יתאר בעיות משתמש נפוצות‪.‬‬
‫‪ .4‬התלמיד יתאר רעיונות הצפנה המתגברות על טעויות משתמש‪.‬‬
‫‪ .5‬התלמיד יתאר רעיונות המנסים להפחית טעויות משתמש‪.‬‬
‫מושגים והכוונה‬
‫‪Bugs .1‬‬
‫‪Phishing .2‬‬
‫‪Spam Mail .3‬‬
‫‪Social Engineering .4‬‬
‫‪Shoulder Sniffing .5‬‬
‫‪Captcha .6‬‬
‫‪ .7‬תקיפת ‪brute force‬‬
‫‪Hard to guess password .8‬‬
‫דרכי הוראה‬
‫‪ .1‬לחזור ולציין את שתי רמות ההגנה‪:‬‬
‫א‪ .‬הגנה ברמת המערכת‬
‫ב‪ .‬הגנה ברמת המשתמש‬
‫‪ .2‬בשתי רמות ההגנה עומד הגורם האנושי מאוחר‪.‬‬
‫‪ .3‬להציג דוגמאות שנלמדו בחלופה לטעויות בתכנון ובמימוש של מערכות שונות שנעשו ע"י מפתחי‬
‫המערכת שמהוות חולשות שניתן לנצל לתקיפה‬
‫‪ .4‬להסביר לתלמיד מהן תקיפות ‪ Phishing‬ובאילו דרכים מקובלות משתמשים‪ ,spam mail :‬קישורים‬
‫מפתים ב ‪.social engineering ,facebook‬‬
‫‪ .5‬להסביר לתלמיד מהן הסכנות בתקיפות ‪:phishing‬‬
‫א‪ .‬פרסומת "לגיטימית" לכאורה‪.‬‬
‫ב‪ .‬הונאה – גניבת כסף ו‪/‬או כרטיסי אשראי בחסות מכירה מפתה‪.‬‬
‫ג‪ .‬השתלטות על מחשב המשתמש על ידי הונאת המשתמש לפתוח קובץ שיגרום להרצת קוד‪.‬‬
‫‪ .6‬להציג לתלמיד דרכי הגנה להתמודדות מול התקפות ‪:phishing‬‬
‫א‪ .‬סינון מייל על ידי זיהוי כתובות מייל וכתובות ‪ IP‬מזבלות‪.‬‬
‫ב‪ .‬מודל ‪.PayPal‬‬
‫ג‪ .‬מודלים לזיהוי אירועים חריגים (‪.)BuildGoard‬‬
‫‪ .7‬להסביר לתלמיד מהן החולשות בשימוש בסיסמאות‪:‬‬
‫א‪ .‬סיסמאות קלות לניחוש‪.‬‬
‫ב‪ .‬שימוש בסיסמה זהה לאפליקציות שונות בעלות רמות הגנה שונה‪.‬‬
‫ג‪ .‬אי החלפת סיסמה לאורך זמן‪.‬‬
‫ד‪" .‬שחזור סיסמה" – שאלות ברות ניחוש‪ ,‬שליחה לאימייל‪.‬‬
‫‪ .8‬להסביר להציג לתלמיד דרכי הגנה להתמודדות מול חולשות סיסמאות‪:‬‬
‫א‪ .‬דרישות מגבילות לסיסמה חזקה (‪ ,capslock‬מספרים‪ ,‬סימנים‪ ,‬אורך מינימלי‪ ,‬פסילת שמות‪,‬‬
‫פסילת סיסמאות זהות או דומות לסיסמאות קודמות‪.‬‬
‫ב‪ .‬הכרחת המשתמש להחליף סיסמה בזמן קבוע מראש (חודש‪ ,‬שלושה חודשים)‪.‬‬
‫ג‪ .‬משתמשים חכמים – חינוך לזהירות והבנה של חולשות הרשת‪.‬‬
‫‪ .9‬לשאול את התלמידים האם הם היו קורבנות לנסיונות ‪ .phishing‬צריך לעודד את התלמידים ולהסביר‬
‫שכולנו קורבנות עם דרך ‪ ,spam mail‬קישורים מפתים ב ‪ facebook‬וכו'‪ .‬דוגמאות‪:‬‬
‫א‪" .‬זכית בהגרלה"‬
‫ב‪ .‬העוקץ הניגרי‬
‫ג‪ .‬קניית בית באמריקה‬
‫דרכי הערכה‬
‫‪ .1‬בחינה עיונית‪:‬‬
‫‪ .a‬התלמיד יתאר תקיפות ‪ Phishing‬והתמודדות מולן‪.‬‬
‫‪ .b‬התלמיד יתאר דרך לזיהוי חיובים חשודים בכרטיס אשראי‪.‬‬
‫‪ .2‬בחינה מעשית‪:‬‬
‫‪ .a‬התלמיד יצור מייל ‪ phishing‬וישלח לחבריו לכתה‪.‬‬
‫‪ .b‬התלמיד יתכנת פונקציה לזיהוי סיסמאות חלשות‪.‬‬
‫‪ .c‬התלמיד יתכנתתקיפת ‪ brute force‬על סיסמאות שירוץ מול אתר אינטרנט דמה‪:‬‬
‫‪ .i‬אותיות בלבד‪ ,‬אותיות ומספרים‬
‫‪ .ii‬מילון‬
‫חלוקת שעות‬
‫הנושא‬
‫שעות עיוניות‬
‫שעות התנסות‬
‫סה"כ שעות‬
‫האדם כמפתח מערכת‬
‫‪3‬‬
‫‪1‬‬
‫‪3‬‬
‫‪Phishing‬‬
‫‪2‬‬
‫‪1‬‬
‫‪3‬‬
‫סיסמאות‬
‫‪2‬‬
‫‪2‬‬
‫‪4‬‬
‫סה"כ שעות‬
‫‪7‬‬
‫‪3‬‬
‫‪50‬‬
‫פרק ‪ :4‬ניתוח מקרה תקיפה‬
‫מטרת הפרק‬
‫להבין לעומק מקרה תקיפה מורכב‪.‬‬
‫מטרות ביצועיות‬
‫‪ .1‬התלמיד יתאר את המורכבות במקרה תקיפה אמיתי‪.‬‬
‫‪ .2‬התלמיד יתכנן מערכות הגנה מפני תקיפות מורכבות‪.‬‬
‫מושגים והכוונה‬
‫חזרה על מושגים מהמערך כולו‪.‬‬
‫דרכי הוראה‬
‫‪ .1‬לתאר בפני התלמיד מקרה תקיפה אמיתי‪.‬‬
‫‪ .2‬להקפיד להבחין בין החולשות השונות והשלבים השונים בתקיפה‪.‬‬
‫‪ .3‬להסביר לתלמיד אילו מנגנוני הגנה היו יכולים למנוע את התקיפה וכיצד‪.‬‬
‫דרכי הערכה‬
‫‪ .1‬בחינה עיונית‪:‬‬
‫א‪ .‬התלמיד יתאר את שלבי התקיפה שתוארה‪.‬‬
‫ב‪ .‬התלמיד ימצא הגנה מתאימה לכל אחד משלבי התקיפה‪.‬‬
‫ג‪ .‬התלמיד יסביר כיצד ניתן להשתמש בהגנה שהוצעה בצורה שגויה כך שלא תגן בפועל מפני‬
‫תקיפה‪.‬‬
‫ד‪ .‬עבור אחת ההגנות התלמיד יבחר ארגון אשר לא היה בוחר עבורו לממש את ההגנה וארגון‬
‫עבורו כן היה בוחר לממש את ההגנה‪.‬‬
‫‪ .2‬בחינה מעשית‪:‬‬
‫א‪ .‬התלמידים יקבלו הסבר על מערכות המחשוב בבית הספר ויקבלו את המטרות הבאות‪:‬‬
‫‪ .i‬שרטוט המערכות והרשת‬
‫‪ .ii‬מיפוי נקודות התורפה‬
‫‪ .iii‬זיהוי נקודות התורפה של הגורם האנושי‬
‫‪ .iv‬הצעה למנגנוני הגנה‬
‫חלוקת שעות‬
‫הנושא‬
‫שעות עיוניות‬
‫שעות התנסות‬
‫סה"כ שעות‬
‫ניתוח מקרה תקיפה‬
‫‪2‬‬
‫‪2‬‬
‫‪2‬‬
‫סה"כ שעות‬
‫‪2‬‬
‫‪2‬‬
‫‪4‬‬