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

— 1 —
עולם הסייבר השתנה. התוקפים מהירים יותר, חכמים יותר, ומרובים יותר מאי פעם.
בני אדם לבד כבר לא יכולים להתמודד עם הכמות. כאן נכנסת הבינה המלאכותית.
כל יום בעולם
זמן התפשטות נוזקה
מחסור באנשי סייבר בעולם
💡 טיפ: מערכות בינה מלאכותית יכולות לנתח מיליוני אירועי אבטחה בשנייה אחת — הרבה מעבר ליכולת האנושית — ולזהות איומים לפני שהם גורמים נזק.
— 2 —
נוזקה יכולה להתפשט ל-45,000 מחשבים תוך דקות.
אנליסט אנושי צריך שעות כדי לבדוק אפילו התראה אחת.
בינה מלאכותית יכולה לבדוק מיליוני אירועים בשנייה.
בודק 10–20 התראות לשעה. עייף, מוסח, עלול לפספס. לוקח לו זמן להבין הקשר בין אירועים שונים.
בודקת מיליוני אירועים בשנייה. לא עייף, לא מוסח. מזהה קשרים בין אירועים שקרו בו-זמנית ב-100 מדינות שונות.
💡 טיפ: כלי בינה מלאכותית לזיהוי איומים כמו Microsoft Sentinel יכולים לקצר את זמן הגילוי של מתקפה מימים לשניות.
— 3 —
דמיינו שאתם צריכים לבדוק את כל הפעולות של 10,000 עובדים בחברה — כל לחיצה, כל כניסה למערכת, כל קובץ שנפתח.
בן אדם לא יכול. בינה מלאכותית יכולה.
עובד שנכנס למערכת בשעה 03:00 לפנות בוקר — בינה מלאכותית מזהה שזה חריג ומתריעה.
עובד שהוריד פתאום 10,000 קבצים — בינה מלאכותית מזהה שזה לא נורמלי עבורו ועוצרת.
חשבון שנכנס מישראל ואחרי 5 דקות מרוסיה — בינה מלאכותית מבינה שזה בלתי אפשרי פיסית.
💡 טיפ: כדי לשפר את דיוק זיהוי החריגות, חשוב לאמן את המודל על נתוני התנהגות בסיסית של כל משתמש בנפרד, ולא רק על ממוצע ארגוני כללי.

— 4 —
אנטי-וירוס רגיל עובד כמו רשימת עצורים — הוא מכיר רק נוזקות שכבר ראה בעבר. בינה מלאכותית עובדת אחרת: היא מבינה איך נוזקה מתנהגת, ולכן יכולה לזהות גם נוזקות חדשות לגמרי.
משווה כל קובץ לרשימה של נוזקות ידועות. אם הנוזקה חדשה — הוא לא מכיר אותה ומפספס אותה.
לומדת איך נוזקות מתנהגות — מה הן עושות, לא מי הן.
אם קובץ מתנהג כמו נוזקה — בינה מלאכותית תזהה אותו גם אם מעולם לא ראתה אותו.
💡 טיפ: כשאתם בוחרים פתרון אבטחה לארגון, חפשו מוצרים שמשתמשים בניתוח התנהגותי מבוסס בינה מלאכותית — לא רק בזיהוי חתימות ידועות.
— 5 —
פישינג הוא מייל שמתחזה למישהו אחר — הבנק שלכם, הבוס שלכם, חברת המשלוחים. 90% מהמתקפות מתחילות ממייל כזה. בינה מלאכותית יכולה לזהות אותם לפני שאתם לוחצים.
בינה מלאכותית קוראת את הטקסט ומזהה ניסוחים חשודים — "לחץ עכשיו!", "דחוף!", "חשבונך יוקפא".
בינה מלאכותית בודקת לאן הקישור מוביל באמת — גם אם הוא נראה לגיטימי.
בינה מלאכותית מזהה כשמישהו מתחזה לכתובת מייל מוכרת עם שינוי קטן (למשל: paypa1.com במקום paypal.com).
בינה מלאכותית מזהה לוגואים מזויפים ועיצובים שמחקים אתרים אמיתיים.
💡 טיפ: לפני שאתם לוחצים על קישור במייל חשוד, העתיקו אותו והדביקו אותו בצ'אט של בינה מלאכותית — היא יכולה לנתח אם מדובר בניסיון פישינג.
— 6 —
רשת של חברה גדולה מעבירה מיליארדי חבילות מידע ביום. בינה מלאכותית יכול לנטר את כולן בזמן אמת ולזהות כשמשהו חשוד עובר.
דמיינו כביש מהיר.
בדרך כלל עוברות 1,000 מכוניות לשעה. פתאום עוברות 100,000 — זו מתקפת DDoS.
בינה מלאכותית, מזהה את זה מיד.
💡 טיפ: הגדירו מערכת בינה מלאכותית לניטור רשת שתשלח התראה אוטומטית לצוות האבטחה ברגע שמזוהה תנועה חריגה.
— 7 —
מחשב שמנסה להתחבר ל-500 מחשבים אחרים תוך שנייה — זה לא נורמלי. בינה מלאכותית מזהה ועוצרת.
💡 טיפ: מערכות זיהוי חדירות מבוססות בינה מלאכותית יכולות ללמוד את דפוסי התנועה הרגילים של הרשת שלכם ולהתריע אוטומטית על כל סטייה חשודה בזמן אמת.
— 8 —
בינה מלאכותית לומדת מה "נורמלי" ברשת שלכם
ומתריעה רק כשמשהו באמת חריג — פחות התראות שווא.
💡 טיפ: הגדירו בסיס התנהגות תקינה לרשת שלכם כדי שמערכת הבינה המלאכותית תזהה חריגות במדויק ותפחית התראות שווא.
— 9 —
בכל יום מתפרסמים אלפי דוחות אבטחה, פוסטים בפורומים של האקרים, ודיונים ברשת האפלה. בינה מלאכותית יכולה לקרוא את כולם ולהתריע: 'מתקפה חדשה בדרך — הנה איך להתגונן.'
בינה מלאכותית קוראת אלפי דוחות אבטחה ביום ומסכמת את הרלוונטי לארגון שלכם — במקום שאנליסט יבזבז שעות.
בינה מלאכותית סורקת פורומים של האקרים ומזהה כשמישהו מוכר מידע על הארגון שלכם או מתכנן מתקפה.
בינה מלאכותית מזהה דפוסים חוזרים ומתריעה: "סוג מתקפה זה עלה ב-300% החודש — היו מוכנים."
💡 טיפ: חברו את מערכת הבינה המלאכותית שלכם לפידי מודיעין איומים מרובים (כמו VirusTotal או MISP) כדי לקבל תמונה מלאה ועדכנית של הנוף האיומים בזמן אמת.
— 10 —
מרכז ניטור אבטחה (SOC) מקבל עשרות אלפי התראות ביום. רוב האנליסטים מותשים ומפספסים דברים חשובים. בינה מלאכותית מסננת, מתעדפת ומשאירה לאנליסט רק מה שבאמת חשוב.
ממוצע ב-SOC גדול
התראות שווא שבינה מלאכותית מסננת
שיפור בזמן תגובה
בינה מלאכותית לא מחליפה את האנליסט — היא עוזר לו להתמקד במה שחשוב.
💡 טיפ: הגדירו סף התראות מינימלי ב-SIEM שלכם ואמנו את מודל הבינה המלאכותית על ההתראות שסגרתם ידנית — כך הוא ילמד מה חשוב לארגון הספציפי שלכם.
— 11 —
מה קורה כשהתוקפים עצמם משתמשים בבינה מלאכותית? הם מנסים לרמות את מערכות הבינה מלאכותית שלנו. זה נקרא Adversarial AI ואנחנו צריכים בינה מלאכותית שתגן מפני הבינה המלאכותית התוקפת.
תוקף משנה קובץ נוזקה בצורה קטנה מאוד — כך שהבינה המלאכותית לא מזהה אותו. כמו להוסיף רעש בלתי נראה לתמונה שגורם לבינה המלאכותית לחשוב שחתול הוא כלב.
מאמנים את הבינה מלאכותית על דוגמאות מרומות כדי שתלמד להתמודד איתן. כמו לאמן שוטר שיזהה תחפושות.
בודקים כל הזמן שהבינה מלאכותית עדיין עובדת כמו שצריך — ומתריעים אם מישהו מנסה לשנות את ההתנהגות שלה.
💡 טיפ: כדי להקשות על תוקפים להערים על מערכות בינה מלאכותית, חשוב לעדכן ולאמן מחדש את המודלים באופן קבוע עם דוגמאות התקפה חדשות.
— 12 —
בודקת מיליוני אירועים בשנייה
מזהה התנהגות חשודה של משתמשים
מזהה גם נוזקות חדשות שמעולם לא נראו
מגן על המייל לפני שאתם לוחצים
שומרת על תעבורת הרשת בזמן אמת
קוראת אלפי דוחות ומתריעה על איומים
מסננת רעש ומשאיר רק מה שחשוב
מגן על מערכות הבינה המלאכותית עצמן
לא מחליף בני אדם, עוזר להם להיות טובים יותר
💡 טיפ: כדי להפיק את המקסימום מכלי בינה מלאכותית בסייבר, חשוב לשלב אותם יחד — כך שכל שכבה (זיהוי נוזקות, פישינג, רשת ומודיעין) מחזקת את השנייה ויוצרת הגנה מקיפה אחת.
— 13 —
מארסק היא חברת השילוח הגדולה בעולם — 1 מכל 7 מכולות שנשלחות בעולם עוברות דרכה.
היא מפעילה 76 נמלים ב-130 מדינות.
מנכ"ל Maersk מתעורר לשיחת חירום. מישהו מדווח: "כל המחשבים קרסו."
עובד של Maersk באוקראינה עדכן תוכנת הנהלת חשבונות בשם MeDoc. העדכון הכיל נוזקה — NotPetya. תוך דקות היא התפשטה לכל 45,000 המחשבים בעולם.
💡 טיפ: מערכות בינה מלאכותית יכולות לזהות עדכוני תוכנה חשודים בזמן אמת ולחסום את התפשטות הנוזקה לפני שהיא מגיעה לשאר הרשת.
— 14 —
כל המחשבים בחברה היו מחוברים זה לזה ללא חסמים. כשמחשב אחד נדבק — כולם נדבקו.
הנוזקה ניצלה חולשה ידועה במערכת Windows שכבר הייתה לה תיקון — אבל Maersk לא התקינה אותו.
כשהנוזקה מחקה את כל הנתונים — היא מחקה גם את הגיבויים. לא היה גיבוי מנותק.
איש לא בדק שהעדכון של MeDoc בטוח לפני שהתקינו אותו. זו טעות קלאסית בניהול שרשרת האספקה.
— 15 —
ההתאוששות של Maersk נחשבת לאחת המהירות ביותר בהיסטוריה של אירועי סייבר — ובזכות קצת מזל.
גיבוי אחד ניצל — שרת בגאנה שהיה כבוי בזמן המתקפה. בלעדיו, ייתכן שלא הייתה התאוששות כלל.
200 עובדי IT מ-130 מדינות גויסו לפעולה מיידית. עבדו 24 שעות ביממה.
45,000 מחשבים, 4,000 שרתים ו-2,500 אפליקציות הותקנו מחדש — תוך 10 ימים בלבד.
בשיא המשבר, Maersk ניהלה 80% מהשילוח שלה ללא מחשבים — בטלפון ובנייר.
💡 טיפ: כלי בינה מלאכותית לניהול אסונות יכולים לסרוק אלפי מערכות בו-זמנית ולזהות אילו שרתים ניצלו מהמתקפה — תוך דקות במקום שעות.
— 16 —
עדכוני אבטחה חייבים להיות מותקנים מיד. חולשה ידועה שלא תוקנה היא דלת פתוחה לתוקפים.
תמיד שמרו לפחות עותק גיבוי אחד שמנותק לחלוטין מהרשת — כך שנוזקה לא תוכל להגיע אליו.
אל תחברו את כל המחשבים יחד. חלוקה לאזורים נפרדים מונעת מנוזקה להתפשט לכל מקום.
כל תוכנה שמגיעה מבחוץ — בדקו אותה. ספק שנפרץ יכול להפוך לשער כניסה לארגון שלכם.
מודלי בינה מלאכותית יכולים לזהות התנהגות חריגה ברשת בזמן אמת — ולעצור מתקפה לפני שהיא מתפשטת.
💡 טיפ: השתמשו בכלי בינה מלאכותית לניתוח לוגים של הרשת הארגונית — הם מזהים דפוסי תקיפה מוקדם הרבה לפני שמערכות הגנה מסורתיות מרימות דגל.

— 17 —
— 18 —
— 19 —
💡 טיפ: מערכות בינה מלאכותית יכולות לנתח עדכוני תוכנה ולזהות קוד חשוד לפני שהוא מותקן ברשת הארגונית.
— 20 —
— 21 —
— 22 —
💡 טיפ: כלי בינה מלאכותית יכולים לסרוק אוטומטית את תשתיות הגיבוי שלכם ולהתריע על גיבויים שמחוברים לרשת ועלולים להיפגע במתקפת כופרה.
— 23 —
— 24 —
— 25 —
💡 טיפ: כלי בינה מלאכותית יכולים לנתח את מבנה הרשת הארגונית ולזהות אוטומטית נקודות תורפה כמו רשתות שטוחות ללא סגמנטציה — עוד לפני שתוקף מנצל אותן.
— 26 —
עמיאל פלד | 054-998-8754
לפני שנצלול למעבדות בינה מלאכותית, נחזור על הכלים הבסיסיים שנשתמש בהם: פקודות Linux בטרמינל ו-Python בסיסי. אם אתם מכירים — זה יהיה רענון מהיר. אם לא — זה הבסיס שתצטרכו.
— 27 —
עמיאל פלד | 054-998-8754
פקודות טרמינל
קוד בסיסי
מה שמחכה אחר כך
— 28 —
עמיאל פלד | 054-998-8754
💡 טיפ: תוכלו לבקש מ-ChatGPT להסביר לכם כל פקודת Linux או קוד Python שאתם לא מבינים — פשוט הדביקו אותה ושאלו "מה עושה הפקודה הזו?"

— 29 —
עמיאל פלד | 054-998-8754
הפקודות הראשונות שכל מי שעובד בטרמינל חייב לדעת — איפה אני, מה יש כאן, ואיך זזים.
pwd # print working directory — shows your current location in the filesystem
# Output example: /home/user/workspaceפלט לדוגמה: /home/user/workspace
מציג את הנתיב המלא של התיקייה הנוכחית.
— 30 —
עמיאל פלד | 054-998-8754
הפקודות הראשונות שכל מי שעובד בטרמינל חייב לדעת — איפה אני, מה יש כאן, ואיך זזים.
ls -la # list all files (-a = include hidden, -l = show details like permissions/size)
# Output example: drwxr-xr-x 2 user user 4096 Jul 14 10:00 lab1מציג את כל הקבצים והתיקיות, כולל מוסתרים (-a) ופרטים (-l).
— 31 —
עמיאל פלד | 054-998-8754
הפקודות הראשונות שכל מי שעובד בטרמינל חייב לדעת — איפה אני, מה יש כאן, ואיך זזים.
cd lab1 # enter directory named "lab1"
cd .. # go up one level (parent directory)
cd ~ # go to home directory (shortcut: ~ = /home/username)cd = Change Directory. ~ מסמל את תיקיית הבית שלך.
💡 טיפ: בקשו מ-ChatGPT להסביר לכם כל פקודת ניווט עם דוגמה מעשית, ותקבלו הבנה מעמיקה תוך דקות.
— 32 —
עמיאל פלד | 054-998-8754
ניהול קבצים ותיקיות — הפעולות הבסיסיות ביותר בכל עבודה בטרמינל.
mkdir lab1 # create a directory named "lab1"
mkdir -p projects/cyber/lab1 # create full path — creates all missing parent dirs too— 33 —
עמיאל פלד | 054-998-8754
ניהול קבצים ותיקיות — הפעולות הבסיסיות ביותר בכל עבודה בטרמינל.
touch detect.py # create an empty file named detect.py
touch data.csv notes.txt # create multiple empty files at once— 34 —
עמיאל פלד | 054-998-8754
ניהול קבצים ותיקיות — הפעולות הבסיסיות ביותר בכל עבודה בטרמינל.
rm data.csv # delete a single file permanently (no trash/recycle bin!)
rm -rf old_folder/ # delete folder and ALL contents recursively (-r) by force (-f)— 35 —
עמיאל פלד | 054-998-8754
ניהול קבצים ותיקיות — הפעולות הבסיסיות ביותר בכל עבודה בטרמינל.
cp detect.py detect_backup.py # copy file — original stays, new copy is created
mv detect.py /workspace/ # move file — original is removed from current location💡 טיפ: שאלו את ChatGPT "מתי עדיף להשתמש ב-mv במקום cp ואז rm?" כדי להבין מתי כל פקודה מתאימה.
— 36 —
עמיאל פלד | 054-998-8754
איך קוראים תוכן קובץ, כותבים אליו, ועורכים אותו — ישירות מהטרמינל.
cat detect.py # print entire file contents to the terminal
cat -n detect.py # same but with line numbers on the left
— 37 —
עמיאל פלד | 054-998-8754
איך קוראים תוכן קובץ, כותבים אליו, ועורכים אותו — ישירות מהטרמינל.
echo "print('Hello Cyber!')" > hello.py # write text to file (overwrites if exists)
echo "extra line" >> hello.py # append text to file (>> adds, > overwrites)
— 38 —
עמיאל פלד | 054-998-8754
איך קוראים תוכן קובץ, כותבים אליו, ועורכים אותו — ישירות מהטרמינל.
head -5 data.csv # show first 5 lines of file (useful for previewing large files)
tail -10 log.txt # show last 10 lines (useful for checking recent log entries)
tail -f log.txt # follow file in real-time — updates as new lines are added (live logs)— 39 —
עמיאל פלד | 054-998-8754
איך קוראים תוכן קובץ, כותבים אליו, ועורכים אותו — ישירות מהטרמינל.
nano detect.py # open file in nano text editor (simple terminal editor)
# Ctrl+O → Enter — save the file
# Ctrl+X — exit nano💡 טיפ: בקש מ-ChatGPT להסביר פקודת cat או echo עם דוגמה קונקרטית לקובץ שאתה עובד עליו — זה מקצר את זמן הלמידה משמעותית.
— 40 —
עמיאל פלד | 054-998-8754
חיפוש בתוך קבצים ובין קבצים — כלים קריטיים לניתוח לוגים ואיתור מידע.
grep "error" log.txt # search for lines containing "error" in log.txt
grep -i "attack" log.txt # -i = case-insensitive (matches Attack, ATTACK, attack)
grep -r "password" /var/log/ # -r = recursive search through all files in directory
grep -n "anomaly" detect.py # -n = show line numbers next to each match💡 טיפ: תוכל לבקש מ-ChatGPT לבנות עבורך פקודת grep מורכבת עם regex על ידי תיאור מה אתה מחפש בשפה פשוטה.
— 41 —
עמיאל פלד | 054-998-8754
חיפוש בתוך קבצים ובין קבצים — כלים קריטיים לניתוח לוגים ואיתור מידע.
find . -name "*.py" # find all Python files in current directory (.)
find /var/log -name "*.log" # find all .log files inside /var/log directory
find . -newer data.csv # find files modified more recently than data.csv— 42 —
עמיאל פלד | 054-998-8754
חיפוש בתוך קבצים ובין קבצים — כלים קריטיים לניתוח לוגים ואיתור מידע.
cat log.txt | grep "error" | head -20 # read file → filter errors → show first 20
ls -la | grep ".py" # list files → show only Python files
ps aux | grep python # list processes → show only Python processes
# | (pipe) sends output of one command as input to the next
💡 טיפ: תוכל לבקש מ-ChatGPT לבנות עבורך פקודת grep מורכבת עם regex על ידי תיאור מה אתה מחפש בשפה פשוטה.
— 43 —
עמיאל פלד | 054-998-8754
הרשאות קבצים הן נושא קריטי בסייבר — הבנת מי יכול לקרוא, לכתוב ולהריץ קבצים.
ls -la detect.py
# Output: -rwxr-xr-- 1 user group 1234 Jul 14 detect.py
# Format: [type+permissions] [links] [owner] [group] [size] [date] [name]
# r = read w = write x = execute - = no permission
# Sections: [owner: rwx] [group: r-x] [others: r--]
— 44 —
עמיאל פלד | 054-998-8754
הרשאות קבצים הן נושא קריטי בסייבר — הבנת מי יכול לקרוא, לכתוב ולהריץ קבצים.
chmod +x detect.py # הוסף הרצה לכולם | add execute permission for everyone
chmod 755 detect.py # rwxr-xr-x | owner=rwx, group=r-x, others=r-x
chmod 600 secret.key # rw------- (רק הבעלים) | only owner can read/write (used for SSH keys)
chmod -R 755 /workspace/ # רקורסיבי לתיקייה | -R = apply recursively to all files inside directory— 45 —
עמיאל פלד | 054-998-8754
הרשאות קבצים הן נושא קריטי בסייבר — הבנת מי יכול לקרוא, לכתוב ולהריץ קבצים.
sudo apt update # run apt update as root (superuser) — refresh package list
sudo pip install pandas # install Python package with admin privileges
sudo cat /etc/shadow # read protected file (only root can access /etc/shadow)💡 טיפ: תוכל לבקש מ-ChatGPT להסביר פלט של ls -la ולנתח אם ההרשאות מהוות סיכון אבטחה.
— 46 —
עמיאל פלד | 054-998-8754
ניטור תהליכים ורשת — כלים שמנתחי סייבר משתמשים בהם לזיהוי פעילות חשודה.
ps aux # list ALL running processes (a=all users, u=user format, x=no terminal)
ps aux | grep python # filter process list — show only Python processes
top # interactive real-time process monitor (like Task Manager)
— 47 —
עמיאל פלד | 054-998-8754
ניטור תהליכים ורשת — כלים שמנתחי סייבר משתמשים בהם לזיהוי פעילות חשודה.
kill 1234 # send termination signal to process with PID 1234
kill -9 1234 # force kill — cannot be ignored by the process (SIGKILL)
pkill python # kill all processes matching the name "python"
— 48 —
עמיאל פלד | 054-998-8754
ניטור תהליכים ורשת — כלים שמנתחי סייבר משתמשים בהם לזיהוי פעילות חשודה.
ss -tulnp # show open ports: -t=TCP -u=UDP -l=listening -n=numeric -p=process
netstat -an | grep LISTEN # list all connections, filter only listening (open) ports
ss -s # summary statistics of all socket connections— 49 —
עמיאל פלד | 054-998-8754
ניטור תהליכים ורשת — כלים שמנתחי סייבר משתמשים בהם לזיהוי פעילות חשודה.
ping google.com -c 4 # send 4 ICMP packets to google.com — test connectivity
curl -I https://site.com # fetch only HTTP headers (not body) — check server response
wget https://site.com/file.txt # download file from URL and save it locally💡 טיפ: תוכלו לבקש מ-ChatGPT לנתח עבורכם פלט של ss -tulnp ולזהות פורטים חשודים או לא מוכרים.
— 50 —
עמיאל פלד | 054-998-8754
pip install pandas scikit-learn # install one or more packages from PyPI
pip list # show all installed packages and their versions
pip show pandas # show details about a specific package
pip freeze > requirements.txt # save all installed packages to a file
pip install -r requirements.txt # install all packages listed in requirements.txt💡 טיפ: תוכלו לבקש מ-ChatGPT לנתח את קובץ requirements.txt שלכם ולהמליץ על חבילות מאובטחות ועדכניות לפרויקט הסייבר שלכם.
— 51 —
עמיאל פלד | 054-998-8754
export API_KEY="my-secret-key" # set an environment variable in current session
echo $API_KEY # print the value of the variable
env | grep PATH # list all env variables, filter by name "PATH"
printenv HOME # print value of a specific variable (HOME = /home/user)
# בקוד Python:
# import os; key = os.environ.get('API_KEY') # access env variable from Python code— 52 —
עמיאל פלד | 054-998-8754
בצעו את הפעולות הבאות בטרמינל:
— 53 —
עמיאל פלד | 054-998-8754
# Step 1: Create directory
mkdir ~/cyber_lab
# Step 2: Enter the directory
cd ~/cyber_lab
# Step 3: Create the file
echo 'print("Cyber AI!")' > test.py
# Step 4: Run the file
python test.py
# Output: Cyber AI!
# Step 5: Search inside the file
grep "print" test.py
# Output: print("Cyber AI!")
# Step 6: Check permissions
ls -la test.py
# Output: -rw-r--r-- 1 user group 20 ... test.py
# Step 7: Add execute permission
chmod +x test.py
ls -la test.py
# Output: -rwxr-xr-x 1 user group 20 ... test.py
— 54 —
עמיאל פלד | 054-998-8754
Python is the language of choice for data analysis and AI. Let's start with the basics.
threat_count = 25 # int
threat_score = 98.5 # float
attacker_name = "Amiel" # str
is_threat = True # bool
print(type(threat_count)) # <class 'int'>
— 52 —
עמיאל פלד | 054-998-8754
Python is the language of choice for data analysis and AI. Let's start with the basics.
threat_types = ["phishing", "malware", "ddos"]
threat_types.append("ransomware")
print(threat_types[0]) # phishing
print(len(threat_types)) # 4
— 53 —
עמיאל פלד | 054-998-8754
Python is the language of choice for data analysis and AI. Let's start with the basics.
attack_event = {
"attack_name" : "NotPetya",
"year" : 2017,
"damage_usd" : 300000000
}
print(attack_event["attack_name"]) # NotPetya
attack_event["target_company"] = "Maersk"— 54 —
עמיאל פלד | 054-998-8754
Python is the language of choice for data analysis and AI. Let's start with the basics.
company_name = "Maersk"
damage_million = 300
print(f"{company_name} suffered ${damage_million}M in damage")
# Output: Maersk suffered $300M in damage💡 Tip: When asking ChatGPT to analyze cybersecurity data, provide the data as a dict with clear fields — it will understand the structure much better.
— 55 —
עמיאל פלד | 054-998-8754
לוגיקה ולולאות — הבסיס לכל תוכנית. נראה דוגמאות מעולם הסייבר.
incoming_connections = 1500
if incoming_connections > 1000:
print("DDoS Attack detected")
elif incoming_connections > 100:
print("Suspicious traffic")
else:
print("Normal traffic")
— 56 —
עמיאל פלד | 054-998-8754
לוגיקה ולולאות — הבסיס לכל תוכנית. נראה דוגמאות מעולם הסייבר.
suspicious_emails = ["[email protected]", "[email protected]", "[email protected]"]
for email_address in suspicious_emails:
if "hack" in email_address or "evil" in email_address:
print(f"{email_address} — PHISHING")
else:
print(f"{email_address} — Clean")— 57 —
עמיאל פלד | 054-998-8754
לוגיקה ולולאות — הבסיס לכל תוכנית. נראה דוגמאות מעולם הסייבר.
failed_attempts = 0
correct_password = "cyber123"
max_attempts = 3
while failed_attempts < max_attempts:
user_input = input("Enter password: ")
if user_input == correct_password:
print("Access granted!")
break
failed_attempts += 1
print(f"Wrong. {max_attempts - failed_attempts} attempts left.")
if failed_attempts == max_attempts:
print("Account locked!")💡 טיפ: כלי בינה מלאכותית כמו ChatGPT יכולים לעזור לך לכתוב במהירות לולאות לסינון נתונים — פשוט תאר את הלוגיקה שאתה צריך בעברית והוא יכתוב את הקוד.

— 58 —
עמיאל פלד | 054-998-8754
Python היא שפת הבחירה לאנליזת נתונים ובינה מלאכותית. נתחיל מהיסודות.
def classify_threat(connection_count, bytes_sent):
if connection_count > 100 and bytes_sent > 10000:
return "HIGH"
elif connection_count > 50:
return "MEDIUM"
return "LOW"
threat_level = classify_threat(connection_count=450, bytes_sent=50000)
print(f"Threat level: {threat_level}") # HIGH
— 59 —
עמיאל פלד | 054-998-8754
Python היא שפת הבחירה לאנליזת נתונים ובינה מלאכותית. נתחיל מהיסודות.
log_file = "security_log.txt"
with open(log_file, "w") as file:
file.write("2017-06-27 NotPetya detected\n")
file.write("2017-06-27 45000 PCs infected\n")
with open(log_file, "r") as file:
for log_entry in file:
if "NotPetya" in log_entry:
print(f"Alert: {log_entry.strip()}")— 60 —
עמיאל פלד | 054-998-8754
Python היא שפת הבחירה לאנליזת נתונים ובינה מלאכותית. נתחיל מהיסודות.
import pandas as pd
network_logs = pd.read_csv("network_data.csv")
print(network_logs.head()) # first 5 rows
print(network_logs.shape) # (1050, 3)
print(network_logs.describe()) # min, max, mean per column
attack_events = network_logs[network_logs['label'] == 1]
print(f"Found {len(attack_events)} attacks")💡 טיפ: תוכל לבקש מ-ChatGPT לכתוב עבורך קוד pandas שמנתח קובץ CSV של לוגים ומוצא חריגות — רק תעלה את הקובץ ותתאר מה אתה מחפש.
— 61 —
עמיאל פלד | 054-998-8754
import numpy as np
network_traffic = np.array([100, 200, 50000, 150, 300, 48000])
average_traffic = np.mean(network_traffic)
traffic_std_dev = np.std(network_traffic)
peak_traffic = np.max(network_traffic)
anomaly_threshold = average_traffic + 2 * traffic_std_dev
anomalies = network_traffic[network_traffic > anomaly_threshold]
print(f"Anomalies detected: {anomalies}") # [50000 48000]— 62 —
עמיאל פלד | 054-998-8754
import matplotlib.pyplot as plt # plotting library
import numpy as np # math/arrays library
time = np.arange(10) # [0,1,2,...,9] — x axis (time steps)
normal_traffic = np.random.normal(100, 20, 10) # 10 random values: mean=100, std=20
attack_traffic = [100,105,98,102,5000,103,99,101,97,104] # spike at index 4 = attack
alert_threshold = 500 # anything above this is an alert
plt.figure(figsize=(10, 4)) # create canvas 10x4 inches
plt.plot(time, normal_traffic, 'b-o', label='Normal') # blue line = normal
plt.plot(time, attack_traffic, 'r-o', label='Under Attack') # red line = attack
plt.axhline(y=alert_threshold, color='orange',
linestyle='--', label='Alert Threshold') # horizontal alert line
plt.legend() # show labels
plt.title('Network Traffic — Attack Detection') # chart title
plt.savefig('traffic.png') # save to file
plt.show()💡 טיפ: השתמש ב-numpy לזיהוי חריגות סטטיסטיות ו-matplotlib להצגתן ויזואלית
כך מודלי בינה מלאכותית "רואים" מתקפות לפני שמאמנים אותם.

— 63 —
עמיאל פלד | 054-998-8754
from sklearn.ensemble import RandomForestClassifier # ML model that detects threats
from sklearn.model_selection import train_test_split # splits data into train and test
from sklearn.metrics import accuracy_score # measures how accurate the model is
import pandas as pd
network_logs = pd.read_csv('data.csv') # load the dataset from a CSV file
features = network_logs[['bytes_sent', 'connections']] # input: what we measure
labels = network_logs['label'] # output: 0=normal, 1=attack
# use 80% of data to train, 20% to test
features_train, features_test, labels_train, labels_test = train_test_split(
features, labels, test_size=0.2
)
threat_detector = RandomForestClassifier() # create the model
threat_detector.fit(features_train, labels_train) # train it on the training data
predictions = threat_detector.predict(features_test) # predict on unseen test data
accuracy = accuracy_score(labels_test, predictions) # compare predictions to real labels
print(f"Accuracy: {accuracy:.1%}") # e.g. "Accuracy: 94.3%"💡 טיפ: כשאתם מאמנים מודל sklearn לזיהוי איומים, בקשו מ-ChatGPT לעזור לכם לפרש את feature_importances_ ולהבין אילו תכונות הכי משפיעות על הסיווג.
— 64 —
עמיאל פלד | 054-998-8754
כתבו סקריפט Python שעושה את הכל:
— 65 —
עמיאל פלד | 054-998-8754
# 1. List of network events(each network event is a dictionary)
events = [
{"bytes": 500, "connections": 10},
{"bytes": 50000, "connections": 450},
{"bytes": 200, "connections": 30},
{"bytes": 80000, "connections": 600},
{"bytes": 100, "connections": 5},
]
# 2. Function to check threat level
def check_threat(connections, bytes_sent):
if connections > 100 and bytes_sent > 10000:
return "HIGH"
elif connections > 50:
return "MEDIUM"
return "LOW"
# 3+4. Loop and print
high_count = 0
results = []
for event in events:
level = check_threat(event["connections"], event["bytes"])
line = f"connections={event['connections']}, bytes={event['bytes']} -> {level}"
print(line)
results.append(line)
if level == "HIGH":
high_count += 1
# 5. Count HIGH events
print(f"\nTotal HIGH events: {high_count}")
# 6. Save to file
with open("results.txt", "w") as f:
for line in results:
f.write(line + "\n")
f.write(f"\nTotal HIGH events: {high_count}\n")
print("Results saved to results.txt")— 66 —
עמיאל פלד | 054-998-8754
בתרגיל זה נבנה מודל פשוט שמזהה תעבורת רשת חריגה — בדיוק כמו שמערכות בינה מלאכותית אמיתיות עושות.
Docker + Python
זמן משוער
create_data.py, detect.py, visualize.py
💡 טיפ: מודלים לזיהוי חריגות עובדים הכי טוב כשמאמנים אותם על נתונים "נורמליים" בלבד — כך הם לומדים לזהות כל מה שחורג מהרגיל.

— 67 —
עמיאל פלד | 054-998-8754
Docker:
הוא כלי מהפכני שמאפשר לפתח, לשלוח ולהריץ יישומים בתוך "קופסאות" מבודדות וקומפקטיות הנקראות קונטיינרים (containers). הקונטיינרים מבטיחים שהקוד שלכם ירוץ בצורה עקבית ואחידה בכל סביבה, ללא תלות במחשב המארח או במערכת ההפעלה שלו.
סביבה מבודדת וקלת משקל המריצה יישום.
תבנית לקונטיינר, כוללת את כל הקוד וההגדרות הנדרשות.
מאגר ציבורי וענק של images מוכנים לשימוש מיידי.
💡 טיפ: תוכלו לבקש מ-ChatGPT לכתוב עבורכם Dockerfile מותאם אישית — פשוט תארו לו את הפרויקט שלכם ואת הסביבה הנדרשת.

— 68 —
עמיאל פלד | 054-998-8754
קובץ טקסט המכיל את כל הפקודות הנדרשות לבניית Image. הוא מתאר את הסביבה והתלויות של היישום.
FROM python:3.11-slim # start from official Python 3.11 image (slim = smaller size)
WORKDIR /app # set /app as the working directory inside the container
COPY . . # copy all files from your computer into /app
RUN pip install -r requirements.txt # install all required Python packages
CMD ["python", "app.py"] # default command to run when container startsגרסה קפואה ובלתי ניתנת לשינוי של הסביבה והיישום, שנבנית מתוך Dockerfile. ניתן לשתף אותה ולרוץ בכל מקום.
מופע חי ורץ של ה-Image. כל Container פועל בסביבה מבודדת משלו, עם קבצים ותהליכים משלו, ללא הפרעה לאחרים.
💡 טיפ: בקשו מבינה מלאכותית לכתוב עבורכם Dockerfile מותאם לפרויקט שלכם — פשוט תארו את השפה, הגרסה והתלויות.
— 69 —
עמיאל פלד | 054-998-8754
docker pull <image>הורדת image מ-Docker Hub
docker run -it <image> bashהפעלת container אינטראקטיבי
docker psהצגת containers פעילים
docker stop <id>עצירת container
docker imagesהצגת כל ה-images המקומיים
docker rm <id>מחיקת container
💡 טיפ: בקשו מ-ChatGPT להסביר פקודת Docker שאינכם מכירים — פשוט הדביקו אותה וכתבו "מה הפקודה הזו עושה?"
— 70 —
עמיאל פלד | 054-998-8754
-v /host/path:/container/path — מחבר תיקייה מהמחשב לקונטיינרdocker run -v $(pwd)/data:/workspace python:3.11-slim-p 8080:80 — מחבר פורט 8080 במחשב לפורט 80 בקונטיינרdocker run -p 8888:8888 jupyter/base-notebook💡 טיפ: בקשו מ-ChatGPT לייצר עבורכם פקודת
docker runמלאהעם volumes ו-ports מותאמים לפרויקט שלכם — פשוט תארו לו מה אתם רוצים להריץ.
— 71 —
עמיאל פלד | 054-998-8754
הריצו: docker --version (אמורים לראות Docker version 24.x.x)
הריצו: docker pull python:3.11-slim
הריצו: docker run -it python:3.11-slim python3 -c "print('Docker works!')"
הריצו: docker ps -a ו- docker rm <id> לניקוי containers ישנים.
💡 טיפ: אם קיבלתם שגיאה בהרצת Docker, העתיקו אותה ל-ChatGPT — הוא יאבחן את הבעיה ויציע פתרון תוך שניות.
— 72 —
עמיאל פלד | 054-998-8754
לפני שמתחילים — נפעיל סביבת Python מבודדת בתוך Docker. כך לא נצטרך להתקין כלום על המחשב שלנו.
docker pull python:3.11-slim
# download Python 3.11 image from Docker Hub (slim = smaller size)docker run -it -v $(pwd)/lab1:/workspace -w /workspace python:3.11-slim bash
# -it = interactive terminal (you can type commands)
# -v $(pwd)/lab1:/workspace = share your lab1 folder with the container
# -w /workspace = start inside the /workspace folder
# bash = open a bash shellפקודה זו יוצרת תיקייה lab1 ומחברת אותה ל-container.
pip install pandas scikit-learn matplotlib
# install 3 Python libraries: data tables, ML, and chartsהמתינו עד שההתקנה מסתיימת — תראו "Successfully installed".
💡 טיפ: תוכלו לבקש מ-ChatGPT להסביר כל שגיאת Docker שתקבלו — פשוט העתיקו את הודעת השגיאה ושאלו "מה הבעיה וכיצד לתקן?".

— 73 —
עמיאל פלד | 054-998-8754
ניצור נתוני תעבורת רשת מדומים — 1,000 חיבורים רגילים ו-50 חיבורים חריגים (מתקפה).
import pandas as pd, numpy as np # pandas = tables, numpy = math/random numbers
np.random.seed(42) # fix the random seed so results are the same every run
# --- Create 1000 rows of NORMAL traffic ---
normal = pd.DataFrame({
'bytes_sent': np.random.normal(500, 100, 1000), # avg 500 bytes, std 100, 1000 rows
'connections': np.random.normal(10, 2, 1000), # avg 10 connections, std 2
'label': 0 # 0 = normal traffic
})
# --- Create 50 rows of ATTACK traffic ---
anomaly = pd.DataFrame({
'bytes_sent': np.random.normal(50000, 5000, 50), # avg 50,000 bytes — 100x more than normal!
'connections': np.random.normal(500, 50, 50), # avg 500 connections — 50x more than normal!
'label': 1 # 1 = attack traffic
})
df = pd.concat([normal, anomaly]).sample(frac=1) # combine and shuffle all rows randomly
df.to_csv('network_data.csv', index=False) # save to CSV file (no row numbers)
print("Created", len(df), "records") # should print: Created 1050 recordsbytes_sent ≈ 500, connections ≈ 10 — כמות נורמלית של נתונים וחיבורים.
bytes_sent ≈ 50,000, connections ≈ 500 — כמות עצומה שמעידה על מתקפה.
💡 טיפ: בקשו מ-ChatGPT להסביר לכם כיצד לשנות את פרמטרי הנתונים המדומים כדי לדמות סוגי מתקפות שונים.
— 74 —
עמיאל פלד | 054-998-8754
נאמן מודל IsolationForest שמזהה נקודות חריגות בנתוני הרשת.
import pandas as pd # for loading and working with data tables
from sklearn.ensemble import IsolationForest # ML model that finds unusual data points
from sklearn.metrics import classification_report # shows how accurate the model is
df = pd.read_csv('network_data.csv') # load the CSV file we created earlier
X = df[['bytes_sent', 'connections']] # use these 2 columns as input features
model = IsolationForest(contamination=0.05, random_state=42)
# contamination=0.05 means we expect ~5% of data to be anomalies
# random_state=42 makes results the same every run
df['anomaly'] = (model.fit_predict(X) == -1).astype(int)
# fit_predict trains the model AND predicts at the same time
# returns -1 for anomaly, +1 for normal → convert to 1/0
print(classification_report(df['label'], df['anomaly']))
# compare our predictions to the real labels and show accuracyאומרים למודל שאנחנו מצפים ש-5% מהנתונים יהיו חריגים.
מאמן את המודל ומסווג בו-זמנית.
מחזיר -(1-) לחריג,
(1+) לתקין.
מציג precision, recall ו-F1 — כמה טוב המודל זיהה את החריגים.
💡 טיפ: כדי לשפר את דיוק IsolationForest, נסו לבקש מ-ChatGPT לעזור לכם לכוונן את ערך ה-contamination בהתבסס על התפלגות הנתונים שלכם.
— 75 —
עמיאל פלד | 054-998-8754
ניצור גרף פיזור שמראה בצבעים שונים אילו נקודות המודל זיהה כחריגות.
import matplotlib.pyplot as plt # library for creating charts and graphs
import pandas as pd # library for working with data tables
df = pd.read_csv('network_data.csv') # load the data with anomaly predictions
colors = df['anomaly'].map({0: 'steelblue', 1: 'crimson'})
# map 0 (normal) → blue, 1 (attack) → red
plt.figure(figsize=(10, 6)) # create a canvas 10 inches wide, 6 inches tall
plt.scatter(df['bytes_sent'], df['connections'],
c=colors, alpha=0.6, edgecolors='white', linewidth=0.5)
# scatter plot: x=bytes sent, y=connections, colored by normal/attack
# alpha=0.6 makes dots slightly transparent
plt.xlabel('Bytes Sent') # label for x axis
plt.ylabel('Connections') # label for y axis
plt.title('Anomaly Detection — Red = Attack | Blue = Normal') # chart title
plt.tight_layout() # remove extra whitespace around the chart
plt.savefig('anomaly_result.png', dpi=150) # save as image file (high quality)
print("Chart saved: anomaly_result.png") # confirm it was savedתעבורה רגילה — מרוכזת בפינה השמאלית התחתונה עם ערכים נמוכים.
תעבורה חריגה (מתקפה) — מרוחקות מהקבוצה הרגילה עם ערכים גבוהים מאוד.
💡 טיפ: בקשו מ-ChatGPT להציע שיפורים לגרף שלכם — למשל הוספת legend, annotations על נקודות חריגות, או שינוי צבעים לנגישות טובה יותר.
— 76 —
עמיאל פלד | 054-998-8754
נאמן מודל שמסווג מיילים כ'פישינג' או 'לגיטימי' על סמך הטקסט — בדיוק כמו שמסנני ספאם עובדים.
Docker + Python + NLP
זמן משוער
emails.py, classify.py
💡 טיפ: בקשו מ-ChatGPT לייצר עבורכם דוגמאות של מיילי פישינג ומיילים לגיטימיים לאימון המודל שלכם.
— 77 —
עמיאל פלד | 054-998-8754
שלב 1 — Docker
docker pull python:3.11-slim # download Python image
docker run -it -v $(pwd)/lab2:/workspace \
-w /workspace python:3.11-slim bash # start container with lab2 folder shared
pip install pandas scikit-learn # install required librariesשלב 2 — יצירת מאגר מיילים (קובץ emails.py)
import pandas as pd # for creating and saving data tables
emails = [
("You won a prize! Click now for 1,000,000 NIS", 1), # 1 = phishing
("Your account will be frozen in 24 hours", 1), # 1 = phishing
("Your password expired — click to renew", 1), # 1 = phishing
("Exclusive offer! Buy now before stock runs out", 1), # 1 = phishing
("Team meeting tomorrow at 10:00 — please confirm", 0), # 0 = legitimate
("Monthly report attached for your review", 0), # 0 = legitimate
("Reminder: project submission on Thursday", 0), # 0 = legitimate
("Happy birthday from the whole team", 0), # 0 = legitimate
]
df = pd.DataFrame(emails, columns=['text', 'label']) # create table with 2 columns
df.to_csv('emails.csv', index=False) # save to CSV file
print("Created", len(df), "emails") # should print: Created 8 emails💡 טיפ: בקשו מ-ChatGPT לייצר עבורכם עוד דוגמאות של מיילי פישינג בעברית כדי להעשיר את מאגר הנתונים ולשפר את דיוק המודל.

— 78 —
עמיאל פלד | 054-998-8754
שלב 3 — אימון מסווג:
import pandas as pd # for loading data
from sklearn.feature_extraction.text import TfidfVectorizer # converts text to numbers
from sklearn.naive_bayes import MultinomialNB # simple but effective text classifier
from sklearn.pipeline import Pipeline # chains steps together
df = pd.read_csv('emails.csv') # load our email dataset
model = Pipeline([
('tfidf', TfidfVectorizer()), # step 1: convert email text to numbers
('nb', MultinomialNB()) # step 2: train classifier on those numbers
])
model.fit(df['text'], df['label']) # train the model on all emails
print("Model trained successfully!")שלב 4 — בדיקת מיילים חדשים:
צרו רשימה של מיילים לבדיקה, לדוגמה:
צפוי: 🚨 פישינג
צפוי: ✅ לגיטימי
צפוי: 🚨 פישינג
צפוי: ✅ לגיטימי
עבור כל מייל הרצו model.predict([email]) והדפיסו את התוצאה.
# Testing new emails:
test_emails = [
"You won! Click here for your prize", # should predict: phishing
"Meeting tomorrow morning", # should predict: legitimate
"Your account was hacked — verify now", # should predict: phishing
"Thank you for attending the conference" # should predict: legitimate
]
for email in test_emails: # loop through each test email
prediction = model.predict([email])[0] # 0=legitimate, 1=phishing
label = "PHISHING" if prediction == 1 else "Clean" # convert number to label
print(f"{email[:40]}... → {label}") # print first 40 chars + result💡 טיפ: כדי לשפר את דיוק מסווג Naive Bayes, נסו להגדיל את מאגר המיילים לאימון — ככל שיש יותר דוגמאות, המודל לומד לזהות דפוסי פישינג בצורה מדויקת יותר.
— 79 —
עמיאל פלד | 054-998-8754
נסווג קבצים כ'נוזקה' או 'תקין' על סמך מאפיינים סטטיים — בלי להריץ אותם. שיטה בטוחה לניתוח קבצים חשודים.
Docker + Jupyter + Python
זמן משוער
file_size, imports, encryption, network
💡 טיפ: מודלים של למידת מכונה לזיהוי נוזקות מצליחים יותר כשמוסיפים להם מאפיינים סטטיים רבים ומגוונים — ככל שיש יותר נתונים על הקובץ, כך הסיווג מדויק יותר.

— 80 —
עמיאל פלד | 054-998-8754
שלב 1 — Docker עם Jupyter:
docker pull jupyter/scipy-notebook # download Jupyter with science libraries pre-installed
docker run -p 8888:8888 \
-v $(pwd)/lab3:/home/jovyan/work \
jupyter/scipy-notebook # -p 8888:8888 = open port so browser can connect
# -v = share lab3 folder with the containerפתחו את הקישור שמופיע בטרמינל בדפדפן.
שלב 2 — יצירת נתוני קבצים מדומים:
import pandas as pd # for creating data tables
import numpy as np # for generating random numbers
np.random.seed(42) # same seed = same results every run
# --- Create 500 rows of NORMAL files ---
normal = pd.DataFrame({
'file_size': np.random.normal(2000, 500, 500), # avg 2KB, normal programs are small
'num_imports': np.random.normal(15, 5, 500), # avg 15 imports, normal amount
'has_encryption': np.random.choice([0,1], 500, p=[0.9, 0.1]), # 10% chance of encryption
'network_calls': np.random.normal(5, 2, 500), # avg 5 network calls, low activity
'label': 0 # 0 = normal file
})
# --- Create 100 rows of MALWARE files ---
malware = pd.DataFrame({
'file_size': np.random.normal(15000, 3000, 100), # avg 15KB — much larger than normal
'num_imports': np.random.normal(60, 10, 100), # avg 60 imports — suspicious!
'has_encryption': np.random.choice([0,1], 100, p=[0.2, 0.8]), # 80% encrypted — red flag
'network_calls': np.random.normal(80, 20, 100), # avg 80 calls — very suspicious
'label': 1 # 1 = malware
})
df = pd.concat([normal, malware]).sample(frac=1) # combine and shuffle randomly
df.to_csv('malware_data.csv', index=False) # save to CSV
print("Created", len(df), "files") # should print: Created 600 files💡 טיפ: תוכלו לבקש מ-ChatGPT להסביר כל שורה בקוד יצירת הנתונים כדי להבין לעומק איך מדמים מאפייני נוזקות מול קבצים תקינים.
— 81 —
עמיאל פלד | 054-998-8754
שלב 3 — אימון Random Forest:
import pandas as pd # for loading data
from sklearn.ensemble import RandomForestClassifier # ML model — many decision trees combined
from sklearn.model_selection import train_test_split # splits data into train and test sets
from sklearn.metrics import classification_report # shows accuracy, precision, recall
df = pd.read_csv('malware_data.csv') # load our malware dataset
features = ['file_size', 'num_imports', 'has_encryption', 'network_calls'] # input columns
X_train, X_test, y_train, y_test = train_test_split(
df[features], df['label'], test_size=0.2, random_state=42
) # 80% for training, 20% for testing
model = RandomForestClassifier(n_estimators=100, random_state=42)
# n_estimators=100 means 100 decision trees vote together
model.fit(X_train, y_train) # train the model
print(classification_report(y_test, model.predict(X_test))) # show accuracy resultsשלב 4 — Feature Importance:
import matplotlib.pyplot as plt # for creating charts
importances = pd.Series(model.feature_importances_, index=features)
# feature_importances_ = how much each feature helped the model decide
importances.sort_values().plot(kind='barh', color='steelblue')
# sort from least to most important, draw horizontal bar chart
plt.title('Which features matter most for detecting malware?')
plt.tight_layout() # remove extra whitespace
plt.savefig('feature_importance.png', dpi=150) # save chart as imageשלב 5 — בדיקת קובץ חדש — תיאור טקסטואלי:
בדקו קובץ חשוד עם ערכים גבוהים: file_size=18000, num_imports=70, has_encryption=1, network_calls=95
# Test a suspicious file with high values in all features
model.predict([[18000, 70, 1, 95]])
# file_size=18000 (large), num_imports=70 (many), has_encryption=1 (yes), network_calls=95 (high)
# Expected output: [1] = MALWARE detectedהשתמשו ב-model.predict([[18000, 70, 1, 95]]) וראו אם המודל מזהה אותו כנוזקה.
שנו ערכים אחד אחד וראו מתי המודל משנה את דעתו.
💡 טיפ: כדי לשפר את דיוק מודל ה-Random Forest לזיהוי נוזקות, נסו לבקש מ-ChatGPT להציע פיצ'רים נוספים שניתן לחלץ מקבצים חשודים.
— 82 —
עשרה מפגשים מובנים
כל מפגש ארבע שעות
היקף לימוד מלא
הקורס בנוי כמסע מתקדם מהיסודות ועד לפרויקט מסכם מעשי — בניית מערכת זיהוי איומים אמיתית.
💡 טיפ: השתמשו בכלי כמו ChatGPT כדי לסכם את נושאי כל מפגש מראש ולהגיע מוכנים יותר לשיעור.
— 83 —
הכרת הנוף: כיצד בינה מלאכותית משנה את עולם הסייבר. סקירת כלים, מודלים ושימושים מרכזיים בתעשייה.
שיטות לזיהוי חריגות בנתוני רשת ומשתמשים. שימוש באלגוריתמי למידת מכונה לאיתור התנהגות חשודה בזמן אמת.
💡 טיפ: כדי לשפר את דיוק מודל ה-Anomaly Detection שלך, נסה לאמן אותו על נתוני תעבורה נורמלית בלבד — כך המודל ילמד לזהות חריגות מבלי להסתמך על דוגמאות של תקיפות ידועות.
— 84 —
בניית מודלים לזיהוי פריצות לרשת. ניתוח תעבורת רשת וזיהוי תבניות חשודות באמצעות ML.
סיווג תוכנות זדוניות לפי סוגים ומשפחות. שימוש בטכניקות deep learning לניתוח קבצים חשודים.
💡 טיפ: שילוב מודלים של Random Forest עם ניתוח תעבורת רשת בזמן אמת מאפשר לזהות פריצות ותוכנות זדוניות במהירות ובדיוק גבוה יותר מאשר חתימות סטטיות.
— 85 —
ניתוח דפוסי התנהגות משתמשים לאיתור חשבונות שנפרצו, איומים פנימיים ופעילות חריגה. בניית פרופיל התנהגותי דינמי.
שימוש בעיבוד שפה טבעית לניתוח דוחות מודיעין, פורומים ברשת האפלה ומקורות מידע פתוחים לחיזוי איומים.
💡 טיפ: מודלים של NLP יכולים לסרוק אוטומטית פורומים ברשת האפלה ולהתריע על איומים חדשים בזמן אמת.
— 86 —
זיהוי מיילים ואתרים מתחזים באמצעות מודלי NLP ו-ML. ניתוח מאפיינים לשוניים, טכניים ויזואליים של תוכן זדוני.
שילוב בינה מלאכותית במרכזי ניטור אבטחה. אוטומציה של תגובה לאירועים, תעדוף התראות והפחתת עומס על אנליסטים.
💡 טיפ: השתמשו במודלי שפה גדולים (LLM) לניתוח אוטומטי של כתובות URL וכותרות מיילים חשודים — הם יכולים לזהות דפוסי פישינג מתוחכמים מהר יותר מאנליסט אנושי.
— 87 —
כיצד תוקפים מרמים מודלי בינה מלאכותית — הזרקת דוגמאות עוינות שגורמות למודל לטעות בסיווג.
טכניקות לחיזוק מודלים: adversarial training, input validation ובדיקות עמידות.
ניטור מתמשך של מודלים בייצור לאיתור drift, מניפולציה ושינויים בביצועים.
💡 טיפ: כדי להגן על מודל בינה מלאכותית מפני התקפות יריבות, כדאי לאמן אותו גם על דוגמאות עוינות מלאכותיות שנוצרו במהלך האימון עצמו.
— 88 —
בחירת תרחיש איום אמיתי ועיצוב ארכיטקטורת הפתרון.
פיתוח מערכת זיהוי איומים מקצה לקצה תוך שימוש בכלים שנלמדו.
הדגמת המערכת, ניתוח ביצועים וקבלת משוב מקצועי.
💡 טיפ: השתמשו בכלי גנרטיבי כמו ChatGPT כדי לקבל רעיונות לתרחישי איום ריאליים שיעזרו לכם להגדיר את פרויקט המסכם.
— 89 —
בהמשך לקורס בינה מלאכותית בסייבר, מוצעים שלושה קורסים משלימים בני 4 שעות כל אחד:
עקרונות Zero Trust, מיקרו-סגמנטציה, זהות כגבול האבטחה החדש ויישום מעשי בארגון.
אבטחת סביבות ענן עם כלי בינה מלאכותית: זיהוי misconfiguration, ניטור גישה ותגובה אוטומטית לאירועים בענן.
שילוב בינה מלאכותית בתהליכי תגובה לאירועים: אוטומציה של playbooks, ניתוח פורנזי ושחזור מהיר.
💡 טיפ: השתמשו בכלי בינה מלאכותית לניתוח אוטומטי של לוגים בענן כדי לזהות תצורות שגויות לפני שהן הופכות לאירועי אבטחה.
— 90 —
10 מקוריים + 3 חדשים
היקף מקיף ומעמיק
מערכת זיהוי איומים אמיתית
💡 טיפ: השתמש בכלי בינה מלאכותית לניתוח פערים בין המיומנויות שרכשת לבין דרישות התפקיד הרצוי, כדי לתעדף את המשך הלמידה שלך.
— 91 —
בינה מלאכותית בסייבר