Podcast
Questions and Answers
מהו השלב הראשון שנדרש בתהליך אבטחת התוכנה?
מהו השלב הראשון שנדרש בתהליך אבטחת התוכנה?
חשוב לבצע בדיקות אנושיות בתהליך אבטחת התוכנה.
חשוב לבצע בדיקות אנושיות בתהליך אבטחת התוכנה.
True
מהו המונח המתאר את שכבת אבטחת המידע בשרת שמונעת גישה לא מורשית?
מהו המונח המתאר את שכבת אבטחת המידע בשרת שמונעת גישה לא מורשית?
ניהול גישות ל-DB
הפרקטיקה של שימוש בקוד מאובטח שכתבו אחרים נקראת ___ .
הפרקטיקה של שימוש בקוד מאובטח שכתבו אחרים נקראת ___ .
Signup and view all the answers
התאימו בין הטכניקות לניהול אבטחת המידע לבין מטרותיהם:
התאימו בין הטכניקות לניהול אבטחת המידע לבין מטרותיהם:
Signup and view all the answers
אילו ספריות כדאי להשתמש בתהליך אבטחת המידע?
אילו ספריות כדאי להשתמש בתהליך אבטחת המידע?
Signup and view all the answers
מהן הבדיקות המבוצעות לגילוי פגיעויות בתוכנה?
מהן הבדיקות המבוצעות לגילוי פגיעויות בתוכנה?
Signup and view all the answers
אין צורך להתייחס לאזהרות של הקומפיילר.
אין צורך להתייחס לאזהרות של הקומפיילר.
Signup and view all the answers
התקפות מסוג ___ גורמות לקוד זדוני להיפרע על דפי אינטרנט.
התקפות מסוג ___ גורמות לקוד זדוני להיפרע על דפי אינטרנט.
Signup and view all the answers
מהו CVE?
מהו CVE?
Signup and view all the answers
מהו מודל DREAD?
מהו מודל DREAD?
Signup and view all the answers
Secure Software Development Lifecycle נקרא גם ___ (SSDLC).
Secure Software Development Lifecycle נקרא גם ___ (SSDLC).
Signup and view all the answers
שיטת SHIFT LEFT טוענת שיש לשלב רכיבי אבטחה בשלב מאוחר יותר של הפיתוח.
שיטת SHIFT LEFT טוענת שיש לשלב רכיבי אבטחה בשלב מאוחר יותר של הפיתוח.
Signup and view all the answers
מהי הסיבה חוסר במשאבים וזמן בכתיבת קוד לא מאובטח?
מהי הסיבה חוסר במשאבים וזמן בכתיבת קוד לא מאובטח?
Signup and view all the answers
Open SSL Heartbleed היא פגיעות בספריה המיישמת את פרוטוקול HTTPS.
Open SSL Heartbleed היא פגיעות בספריה המיישמת את פרוטוקול HTTPS.
Signup and view all the answers
מהו OWASP Top 10?
מהו OWASP Top 10?
Signup and view all the answers
התאם בין שיטות האבטחה לבין תיאורן:
התאם בין שיטות האבטחה לבין תיאורן:
Signup and view all the answers
Study Notes
אבטחת מערכות תוכנה מתקדם
- CVE - קטלוג של חולשות במוצרי תוכנה, מסודר במס' סידורי ייחודי ומספק שפה משותפת.
- Vulnerability - חולשה בתוכנה, חומרה או במערכות הפעלה.
- Exploit - המידה בה ניתן לנצל חולשה לתקיפה.
- Threat - איום, לרוב קוד זדוני שמנצל חולשות.
- DREAD - מודל להערכת רמת סיכון של חולשה, הכולל דרגת נזק וסיכוי להתרחשות.
דוגמאות לחולשות
- Log4j / Log 4 Shell - חולשה קריטית בספריית לוגים שמאפשרת הזרקת קוד זדוני, בעיקר באמצעות קוד שמוזן בצ'אט של משחקים.
- Heartbleed - פגיעות ב-Open SSL המאפשרת גישה למידע רגיש בזיכרון השרת עקב הצהרת אורך יתר על המידה.
עקרונות לפיתוח אבטחת תוכנה
- SSDLC - תהליך פיתוח תוכנה מאובטחת שעובד לאורך כל מחזור חיי הפיתוח.
- SHIFT LEFT - שילוב אבטחה מוקדמת בתהליך הפיתוח.
- Maintaining security balance - איזון בין אבטחה לפונקציונליות.
גורמים לכתיבת קוד לא מאובטח
- Lack of Resources and Time - חוסר משאבים וזמן בלחץ לספק מוצר ללקוח.
- Lack of Education - חוסר מודעות לאבטחה.
- Security and Development Silos - הפרדה בין צוותי פיתוח ואבטחה.
- Not Seeing Security as a Top Priority - גישה מסוכנת לפיה יש לעודד מוצר עובד לפני שעוסקים באבטחה.
שלב האיומים
- Information Security - הכרת משטח התקיפה והתמודדות עם איומים רלוונטיים.
- Attack Vector - דרכי פעולה של תוקפים תוך ניצול חולשות.
- OWASP top 10 - רשימה של ההתקפות הנפוצות ביותר שחשוב להבין ולהתעדכן בהן.
בקרות אבטחה
- Input Validation - בדיקת קלט מהלקוח ומהשרת, כולל whitelist.
- Authentication Controls - מומלץ להשתמש ביותר מרכיב אימות אחד.
- Encryption - שימוש בהצפנה מתאימה לסוג המידע.
אבטחת מידע בעיצוב
-
Security by Design - אבטחה משפך הבנייה של המערכת.
- Defense in Depth - רבדים שונים להגנה.
- Least privilege & Need to know - גישה מזערית.
- Zero trust - לא לסמוך על אף אחד, תמיד לבדוק זהות.
גישות לניהול אבטחה
- Functionalities of security controls - סוגי בקרות: מניעה, גילוי, תיקון, התראה ושחזור.
- Least privilege ו-Need to know - הרשאות לפי תפקיד.
תהליכי אבטחה
- Adopt the NIST SSDF - מסגרת אבטחת פיתוח תוכנה מהשלב הראשוני ועד להפצה.
- Code Review - ביקורת קוד מבחוץ כדי לחשוף בעיות.
- Reuse Existing Software - שימוש בקוד קיים ומאובטח כדי לצמצם בעיות הוספה.
פרקטיקות לקוד מאובטח
- וידליציה לקלט ו-ENCODING.
- איסור שימוש בספריות לא בטוחות.
- שימוש במערכות אוטומטיות לבדיקת הקוד.
- קונפיגורציה נכונה של הקומפיילר.
בדיקות אנושיות
- בדיקות אנושיות חיוניות כדי לתפוס בעיות שלא ניתן לגלות אוטומטית.### בדיקות פגיעויות אבטחה
- בדיקות סטטיות (SAST) - בודקות קוד בנפרד, עוזרות לזהות בעיות בשלב מוקדם.
- בדיקות דינמיות (DAST) - בודקות את המערכת בזמן ריצה, עוזרות לזהות בעיות שלא נחשפו בבדיקות סטטיות.
- בדיקות רגרסיה - חיוניות לוודא שפונקציות קיימות לא נפגעות עם שינויים בקוד.
קונפיגורציות מאובטחות
- חשוב לקבוע קונפיגורציות בסיסיות מאובטחות לפני פיתוח חדש.
- Infrastructure as Code (IAC) - אוטומציה של אספקת תשתיות כולל שרתים ומסדי נתונים.
- Configuration-as-Code (CAC) - ניהול הגדרות אפליקציה.
תגובה לפגיעויות
- לעקוב אחרי CVEs (חולשות ידועות) ולבנות תהליך תגובה.
- התקנת פאצ'ים חשובים מיד עם גילוי פגיעויות.
- תיעוד גרסאות - לתאר תיקונים ופיצ'רים שנוספו בכל גרסה חדשה.
דרישות אבטחה והגנה
- דרישות אבטחה יש לקבוע כבר בשלב ההתחלתי של הפיתוח.
- Application Security Verification Standard (ASVS) - סטנדרט לפיתוח מאובטח עם רמות אבטחה שונות: 1, 2, 3.
שימוש בספריות מאובטחות
- יש להשתמש בספריות מוכרות עם קהילות פעילות, הימנעו מספריות לא מוכרות.
- OWASP Dependency Check - כלי לבדיקת קוד וספריות עבור פגיעויות.
גישה לבסיסי נתונים ואבטחה
- ניהול גישות לשרת מידע בצורה מבוקרת על מנת למנוע דליפות מידע.
- הגנה מפני SQL injection על ידי שימוש ב-parameterized queries.
הגנה מפני התקפות XSS
- סוגי XSS: Reflective (לא נשמר בדאטה בייס) ו-Persistent (נשמר בדאטה בייס).
- שימוש בטכניקות כמו ניהול קלט צריך למנוע הזרקות קוד זדוני.
הצפנת נתונים
- שימוש בטכניקות Encoding ו-Escaping כדי למנוע הזרקות פקודות.
- Sanitize - פילטור קלט על פי סוג התוכן כדי למנוע פגיעויות.
הגנה על זהות דיגיטלית
- HTTP Strict Transport Security (HSTS) - מחייב שימוש ב-HTTPS ומפחית סיכון להתקפות MITM.
- X-XSS Header - הגנה מפני ניסי התקפות XSS; נותן דוח על ניסי התקפה לא חוקיים.
מסקנות
- יישום טכניקות אבטחה בצד הלקוח והשרת הוא חיוני לפיתוח מאובטח.
- חשוב למנוע פגיעויות בשיטתיות בשלב מוקדם של פיתוח התוכנה.
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.
Related Documents
Description
בוחן את הידע הבסיסי במערכות אבטחת מידע. השיעור עוסק ברעיונות מרכזיים כגון CVE והבנה של חולשות במערכות תוכנה. זהו השיעור הראשון ביחידה זו ומתאר את הגישות הבסיסיות בתחום אבטחת המידע.