כך עולה ממחקר חדש. התוקפים מתמקדים בחולשות והרעלת קוד פתוח, בעיות בתשתית הפיתוח CI/CD ושינויי קוד
Aqua Security (אקווה סקיוריטי), המפתחת פתרונות אבטחת מידע לסביבות ענן, הודיעה על תוצאות מחקר שנערך בתחום מתקפות על שרשרת האספקה של התוכנה, על ידי מומחים מחברת Argon Security, שנרכשה לאחרונה על ידי אקווה. המחקר מצא כי המתקפות על שרשרת אספקת התוכנה צמחו ביותר מ-300% ב-2021 בהשוואה ל-2020 ושלמרות הסיכונים וההבנה שיש להתמגן מפניהם, מרבית הארגונים עדיין חשופים להתקפות אלה.
על פי הדו"ח, החוקרים גילו כי התוקפים מתמקדים במידה הרבה ביותר בחולשות והרעלה של קוד פתוח, בעיות בקוד וניצול של תהליך שרשרת אספקת התוכנה ואמינות הספק, כדי להפיץ תוכנות זדוניות או מתקפות מסוג פריצת דלתות אחוריות. הם מצאו שבקרב כל החברות שנבדקו, רמת האבטחה בכל סביבות פיתוח התוכנה נותרה נמוכה, כאשר הן סבלו מחולשות אבטחה ומתצורות שגויות בכלי הפיתוח, שעלולות לחשוף אותן למתקפות על שרשרת האספקה של התוכנה. הממצאים התבססו על ניתוח בן שישה חודשים במסגרתו בוצעו הערכות בנוגע לעמידות אבטחת ארגונים שערכו חוקרי Argon, כדי לקבוע את מצב האבטחה הארגונית ואת המוכנות לקראת התגוננות מפני התקפות שרשרת אספקת תוכנה.
"מספר ההתקפות בשנה האחרונה וההשפעה הנרחבת של התקפה בודדת מדגישים את האתגר האדיר שצוותי אבטחת יישומים מתמודדים עמו", אמר ערן אורזל, מנהל תחום מכירות ולקוחות ב-Argon. "לצערנו, לרוב הצוותים חסרים משאבים, תקציב וידע להתמודד עם התקפות על שרשרת האספקה של התוכנה. אם נוסיף לכך את העובדה שכדי לטפל בווקטור ההתקפה הזה, צוותי AppSec זקוקים לשיתוף פעולה מצד צוותי הפיתוח וה-DevOps, ניתן להבין מדוע קשה להתגבר על האתגר הזה".
המחקר שערכה Argon זיהה שלושה תחומי סיכון עיקריים שחברות נדרשות להבין ולהתייחס אליהם כדי לשפר את אבטחת שרשרת אספקת התוכנה:
שימוש בחבילות קוד פתוח פגיעות
כמעט בכל התוכנות המסחריות נעשה שימוש בקוד פתוח. רבות מחבילות הקוד הפתוח שנמצאות בשימוש מכילות חולשות קיימות, ותהליך השדרוג לגרסה מאובטחת יותר דורש מאמץ מצד צוותי הפיתוח וה-DevOps. אין זה מפתיע שחל גידול מהיר בשימוש בשיטה זו לטובת ביצוע התקפות בשרשרת האספקה. ישנן שתי התקפות נפוצות אשר מעצימות את החולשות בחבילות קוד פתוח:
- ניצול חולשות קיימות — ניצול נקודות תורפה קיימות בחבילות קוד פתוח כדי לקבל גישה ליישום ולבצע את ההתקפה (לדוגמה: התקפות Log4j שאירעו לאחרונה).
- הרעלת חבילות — שתילת קוד זדוני בחבילות קוד פתוח פופולריות ובחבילות קוד פרטיות כדי להערים על מפתחים או כלים של תהליכים אוטומטיים ובכך להטמיע את הקוד הזדוני כחלק מתהליך בניית היישום (לדוגמה: הרעלת חבילת us-parser-js).
בעיות בתשתיות הפיתוח (CI/CD pipeline)
תוקפים יכולים לנצל הרשאות גישה עודפות, תצורות שגויות וחולשות בכלי CI/CD ובשירותים שמשתתפים בתהליכי תשתית הפיתוח האלה, כדי להשיג גישה לתשתיות IT קריטיות, לתהליכי פיתוח, לקוד מקור וליישומים. בעיות בצנרת CI/CD יכולות לחשוף את קוד המקור של היישום המהווה את הבסיס ליישום, לתשתית הפיתוח ולתהליכי הפיתוח. כך יכולים התוקפים לשנות את הקוד או להזריק קוד זדוני במהלך תהליך הבנייה של הקוד ולחבל ביישום, כמו שהתרחש במתקפה נגד SolarWinds. פריצות מסוג זה הן קשות לזיהוי ויכולות לגרום נזק רב לפני שהן מזוהות ונפתרות. כמו כן, התוקפים משתמשים ברישומי חבילות קוד פגומים כדי להעלות לתהליך הפיתוח אלמנטים (Artifacts) פרוצים במקום אלמנטים לגיטימיים. בנוסף, יש עשרות שירותי ענן (Service Dependencies) חיצוניים המחוברים לתהליך שיכולים לשמש כדי לגשת אליו ולתקוף אותו (למשל,Attack Codecov).
שינויים בקוד
אחת מהפעילויות שמהוות סיכון עיקרי שזוהתה במחקר של Argon היא העלאת קוד עם חולשה למאגרי קוד מקור, המשפיעה במישרין על איכות הקוד וחוזק האבטחה שלו. במרבית סביבות הארגונים שנבדקו נמצאו בעיות נפוצות בנתונים רגישים הרשומים בקוד (Secrets), איכות קוד ובעיות אבטחה, בעיות בשירותי "תשתית כקוד" (IaC), חולשות אבטחה בקובצי התקנת Dockers (Container image) ותצורות שגויות. במקרים רבים, מספר הבעיות שהתגלו היה עצום ונדרשו פרויקטים ייעודיים כדי לצמצם את החשיפה, כגון ניקוי מפתחות הצפנה סודיים, סטנדרטיזציה של קובצי התקנה ועוד.
"תהליך שרשרת אספקת התוכנה הוא מרכיב מרכזי במחזור החיים של פיתוח היישומים המודרני. וקטור התקפה רחב זה, אם יישאר פתוח, מאיים לפגוע באופן חמור ביציבות אבטחת היישומים הארגונית, לחשוף נתונים רגישים פוטנציאליים וליצור נקודות כניסה נוספות ליישום בזמן שהוא בתהליכי פיתוח או באוויר", אמר אורזל. "במקרים רבים, צוותי האבטחה אינם ערים לתהליך זה בזמן, מכיוון שלרוב החברות אין יכולות מניעה אבטחתיות שמוטמעות בתוך הכלים והתהליכים של תשתיות הפיתוח CI/CD".
אורזל מוסיף, כי "על מנת להתמודד עם הבעיה המהותית שעולה מן המחקר, צוותי האבטחה בארגונים השונים צריכים לחזק את שיתוף הפעולה עם צוותי DevOps וליישם אוטומציה של חיזוק האבטחה בתהליכי הפיתוח. לארגונים אלה מומלץ לאמץ את פתרונות האבטחה החדשים שקיימים כיום בשוק, אשר שנועדו לאבטח את תהליך פיתוח התוכנה כנגד גל חדש זה של התקפות מתוחכמות על שרשרת אספקת התוכנה".