סיכום אבטחת מערכות תוכנה - מבוא
17 Questions
2 Views

סיכום אבטחת מערכות תוכנה - מבוא

Created by
@EverlastingGrossular

Questions and Answers

מהו השלב הראשון שנדרש בתהליך אבטחת התוכנה?

  • שימוש בקוד לא בטוח
  • בדיקות סטטיות ודינמיות
  • סקריפט לתחילת הפיתוח
  • הגדרת דרישות אבטחה (correct)
  • חשוב לבצע בדיקות אנושיות בתהליך אבטחת התוכנה.

    True

    מהו המונח המתאר את שכבת אבטחת המידע בשרת שמונעת גישה לא מורשית?

    ניהול גישות ל-DB

    הפרקטיקה של שימוש בקוד מאובטח שכתבו אחרים נקראת ___ .

    <p>Reuse Existing, Well-Secured Software</p> Signup and view all the answers

    התאימו בין הטכניקות לניהול אבטחת המידע לבין מטרותיהם:

    <p>HTTP Strict Transport Security (HSTS) = מניעת התקפות MITM Cross-Site Scripting Protection (XSS) = מניעת הזרקת קוד זדוני Secure Database Access = מניעת SQL injection Sanitize = פילטור נכון של טקסט</p> Signup and view all the answers

    אילו ספריות כדאי להשתמש בתהליך אבטחת המידע?

    <p>ספריות מוכרות עם קהילה פעילה</p> Signup and view all the answers

    מהן הבדיקות המבוצעות לגילוי פגיעויות בתוכנה?

    <p>בדיקות סטטיות ודינמיות</p> Signup and view all the answers

    אין צורך להתייחס לאזהרות של הקומפיילר.

    <p>False</p> Signup and view all the answers

    התקפות מסוג ___ גורמות לקוד זדוני להיפרע על דפי אינטרנט.

    <p>XSS</p> Signup and view all the answers

    מהו CVE?

    <p>קטלוג של חולשות במוצרי תוכנה</p> Signup and view all the answers

    מהו מודל DREAD?

    <p>מודל שמעריך את רמת הסיכון בחולשה מסוימת.</p> Signup and view all the answers

    Secure Software Development Lifecycle נקרא גם ___ (SSDLC).

    <p>מחזור חיי פיתוח תוכנה מאובטחת</p> Signup and view all the answers

    שיטת SHIFT LEFT טוענת שיש לשלב רכיבי אבטחה בשלב מאוחר יותר של הפיתוח.

    <p>False</p> Signup and view all the answers

    מהי הסיבה חוסר במשאבים וזמן בכתיבת קוד לא מאובטח?

    <p>לחץ באספקת מוצר ללקוח ועמידה בדרישות המעסיק.</p> Signup and view all the answers

    Open SSL Heartbleed היא פגיעות בספריה המיישמת את פרוטוקול HTTPS.

    <p>False</p> Signup and view all the answers

    מהו OWASP Top 10?

    <p>רשימה של ההתקפות הנפוצות ביותר על יישומים.</p> Signup and view all the answers

    התאם בין שיטות האבטחה לבין תיאורן:

    <p>Input Validation = בדיקת קלט Authentication Controls = אימות נגישות Encryption = הצפנה של מידע Security by Design = אבטחה בעיצוב מערכת</p> 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.

    Quiz Team

    Description

    בוחן את הידע הבסיסי במערכות אבטחת מידע. השיעור עוסק ברעיונות מרכזיים כגון CVE והבנה של חולשות במערכות תוכנה. זהו השיעור הראשון ביחידה זו ומתאר את הגישות הבסיסיות בתחום אבטחת המידע.

    More Quizzes Like This

    Information Security Triad
    10 questions
    Use Quizgecko on...
    Browser
    Browser