מהו SBOM (רשימת רכיבים תוכנה)?
רשימת רכיבים תוכנה (SBOM) היא רשימת מלאי מפורטת של רכיבים המרכיבים תוכנה, כולל ספריות צד שלישי וקוד פתוח, וגרסאות מסגרות. זה כמו רשימת מרכיבים בתוך היישום.
על ידי מעקב אחר כל רכיב בתוך היישום, צוות הפיתוח יכול לזהות במהירות כאשר מתגלות פגיעויות חדשות.
למה SBOM חשוב באבטחת סייבר
יישומים מודרניים נבנים על ידי שילוב של מאות או אלפי תלות צד שלישי וספריות קוד פתוח כדי להאיץ את הפיתוח. אם אחת מהן מכילה פגיעויות, היא תסכן את כל היישום.
SBOM עוזר לצוות הפיתוח ל:
- לזהות פגיעויות מוקדם יותר על ידי מיפוי הרכיב הפגוע
- לשפר את התאימות לתקנים כמו NIST, ISO, או Executive Order 14028 בארה”ב
- לשפר את אבטחת שרשרת האספקה על ידי הבטחת שקיפות בהרכב התוכנה
- לבנות אמון עם לקוחות ושותפים על ידי הצגת הרכיבים הכלולים
מרכיבים מרכזיים של SBOM
SBOM נכון כולל בדרך כלל:
- שם רכיב (לדוגמה,
lodash) - גרסה (לדוגמה, 4.17.21)
- מידע על רישיון (קוד פתוח או קנייני)
- ספק (פרויקט או ספק שמתחזק אותו)
- יחסים (איך רכיבים תלויים זה בזה)
דוגמה בפועל: הפריצה של Apache Struts (Equifax, 2017)
בשנת 2017 תוקף ניצל פגיעות קריטית במסגרת Apache Struts (CVE-2017-5638), אשר שימשה ביישומי האינטרנט של Equifax (סוכנות דיווח אשראי צרכנית רב-לאומית אמריקאית). התיקון לפגיעות זו היה זמין, אך Equifax לא הצליחה ליישם אותו בזמן.
בגלל חוסר ראות לכל התלויות והספריות בתוך היישום שלהם, הפגם בספריית Struts לא נצפה, מה שהוביל לאחת מפריצות הנתונים הגדולות בהיסטוריה, יותר מ-147 מיליון נתונים אישיים נחשפו.
אם SBOM היה במקום, Equifax הייתה יכולה במהירות:
- לזהות שהיישומים שלהם משתמשים בגרסה הפגיעה של Apache Struts
- לתעדף תיקון מיד עם גילוי הפגיעות
- להפחית את הזמן שהיה לתוקפים לנצל את החולשה
מקרה זה מראה לנו כיצד ל-SBOM יש תפקיד קריטי בשמירה על רכיבי תוכנה בטוחים, ועוזר לארגון לפעול מהר יותר לפגיעות שנחשפות לאחרונה.
מונחים קשורים
- SCA (ניתוח הרכב תוכנה)
- אבטחת שרשרת אספקת תוכנה
- ביקורת קוד פתוח
- ניהול פגיעות