אסטרטגיות שרשרת אספקת תוכנה למניעת התקפות בלבול תלויות

אסטרטגיות שרשרת אספקת תוכנה למניעת התקפות בלבול תלויות

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

"מה בשם? זה שאנו קוראים לו ורד בכל שם אחר היה מריח מתוק". כששייקספיר כתב את המילים הללו (רומיאו ויוליה, מערכה 2, סצנה 2) ב-1596, הוא אמר ששם הוא רק מוסכמה. אין לזה משמעות מהותית. ג'ולייט אוהבת את רומיאו בגלל מי שהוא, לא בגלל שמו.

אבל בלי לדעת זאת, שייקספיר תיאר גם התקפות בלבול של תלות.

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

דוחות מחקר אחרונים מעריכים כי 41% עד 49% מהארגונים נמצאים בסיכון להתקפות בלבול תלות. מחקר חדש של OX Security מראה שכאשר ארגון נמצא בסיכון להתקפת בלבול תלות, 73% מהנכסים שלו פגיעים. המחקר התמקד בארגונים בינוניים וגדולים (1K+, 8K+, 80K+ עובדים) על פני מגוון רחב של מגזרים - פיננסים, משחקים, טכנולוגיה ומדיה - ומצאו את הסיכון בכל מגזר בארגונים מכל הגדלים. המחקר גם מצא שכמעט כל האפליקציות עם יותר ממיליארד משתמשים משתמשות בתלות שפגיעות לבלבול של תלות.

מאמר זה נועד לעזור לך להבין את בלבול התלות וכיצד למנוע זאת.

כפול כפול

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

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

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

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

עמל וצרות

ישנן גישות שונות להתקף בלבול תלות.

  • מרווח שמות. על ידי העלאת ספריית תוכנה זדונית לרישום ציבורי - כגון Python Package Index (PyPI) או JavaScript של רישום npm - זה בשם דומה לספרייה מהימנה, בשימוש פנימי, מערכות המשמיטות בדיקת מרחב שמות/כתובות אתרים או שאינן מאלצות אחזור מרישום פרטי עלולות למשוך בטעות את הקוד הזדוני. ה אירוע בלבול התלות האחרון ב- PyTorch היא דוגמא אחת כזו.
  • זיוף DNS. על ידי שימוש בטכניקה כמו זיוף DNS, ניתן להפנות מערכות למשוך תלות ממאגרים זדוניים תוך הצגת מה שנראה כמו כתובות URL/נתיבים פנימיים לגיטימיים.
  • סקריפטים. על ידי שינוי בניית/התקנה של סקריפטים או אינטגרציה רציפה/אספקה ​​רציפה תצורות צינור (CI/CD), ניתן להערים על מערכות להוריד תלות בתוכנה ממקור זדוני ולא ממאגר מקומי.

דברים שנעשו היטב ובזהירות

כדי להגן מפני בלבול של תלות, יש להפעיל שיטות אלה.

  • הגדר מדיניות במנהל החבילות. אסור למנהלי חבילות לתעדף חבילה ציבורית על פני חבילה פרטית.
  • כלול תמיד קובץ npmrc. אם אתה משתמש ב-NPM הפופולרי כמנהל חבילות, כלול תמיד קובץ npmrc המציין היכן להביא חבילות בהיקף ארגון ספציפי.
  • שמור שם חבילה ברישום ציבורי. דרך נוספת להגן מפני התקפות בלבול של תלות היא לשמור את שם החבילה ברישום ציבורי כך שחוטפים לא יוכלו להשתמש בו, ולכן לא יוכלו "להערים" על מנהל החבילות להתקין חבילה זדונית.

כדי להגן באופן מלא מפני התקפות בלבול של תלות, ארגונים צריכים תמיד להשתמש היקפי ארגון עבור כל החבילות הפנימיות, גם בעת פרסום ברישום הפנימי שלך. היקפים של הארגון צריכים להירשם גם במרשם הציבורי של NPM, ובכך למנוע מאף אחד לחטוף את ההיקף ולנצל את הבלבול.

יש לרשום את שמות החבילות גם בפומבי. אם ארגון משתמש ב-PIP הפופולרי כמנהל חבילות לתלות ב-Python, למשל, עליו ליצור חבילות פנימיות עם סיומת קפדנית שניתן לזהות ותפעל בכל הפרויקטים. העלה חבילה ריקה עם אותו שם לרישום הציבורי PyPI כמציין מיקום.

סיבה נוספת לשמור את שם החבילה ברישום ציבורי היא מכיוון שאם מישהו אחר שומר אותו (במזיד או לא), המפתחים יצטרכו לשנות את כל שמות החבילות ברישום הפרטי לכזה שטרם נשמר ברישום הציבורי. זה יכול להיות תהליך ארוך ומייגע.

חשוב לציין שלא כל רישום החבילות מאפשר למשתמשים לשמור שמות חבילות, לכן וודא שאתה מוצא אחד שכן.

יציאה, נרדף על ידי דוב

התקפות בלבול של תלות מהוות איום רציני ומיידי על אבטחת סייבר לארגונים ברחבי העולם. כמחצית מכלל הארגונים נמצאים בסיכון, ו-73% מהנכסים של אותם ארגונים חשופים. כדי להתמודד עם האיום הגובר הזה, ארגונים חייבים ליישם אמצעי מניעה חזקים ולאמץ שיטות עבודה מומלצות לאבטחת סייבר.

הוורדים של שייקספיר אולי הודיעו על הסיכון להתקפות בלבול תלות במאות שנים, אבל ציטוט אחר מהפייטן עשוי להחזיק בחוכמה להגנה מפניהם: "תנו לכל עין לנהל משא ומתן בעצמה ואל תסמכו על אף סוכן." (מהומה רבה על כלום, מערכה 2, סצנה 1)

בול זמן:

עוד מ קריאה אפלה