תוכנית לימודים להתמחות תכנון ותכנות מערכות הגנת סייבר צוות תוכנית הלימודים כתיבה (לפי סדר א"ב) איגור בוגודלוב לטם גיא עדי שהרבני עמרי אילדיס שלומי בוטנרו שלומי הוד עריכה שלומי הוד מבוא לתוכנית הלימודים מרחב הסייבר והגנת סייבר מרחב הסייבר הוא המרחב המטפורי הנוצר מחיבור ישויות שונות – מציאותיות ווירטואליות -באמצעות מערכות מחשב ומערכות תקשורת .למערכות אלו ,ישנה השפעה על חיי היום יום של כל אחד מאיתנו ,ולכן פגיעה בהן עלולה להפריע למהלך החיים התקין .לכן ,ישנה חשיבות ללימוד הגנת כסייבר כמקצוע. מההיבט הכולל ,ניתן להגדיר את מרחב הסייבר כמערכת של מערכות .כל מערכת שכזו מורכבת מרכיבים הבונים אותה ,מקשרים בניהם ומפעולות אפשריות עליהם .מערכת יכולה להיות בכל סדר גודל ,החל משבב בודד וכלה ברשת תקשורת חובקת עולם – האינטרנט. מטרת העל התלמיד יהיה שחקן פעיל כמגן במרחב הסייבר. פרקיהחלופה בהתמחות ההתמחות בנוייה משישה חלקים (ובתוכם תת פרקים): .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
© Copyright 2024