"מה בשם? זה שאנו קוראים לו ורד בכל שם אחר היה מריח מתוק". כששייקספיר כתב את המילים הללו (רומיאו ויוליה, מערכה 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)
- הפצת תוכן ויחסי ציבור מופעל על ידי SEO. קבל הגברה היום.
- PlatoData.Network Vertical Generative Ai. העצים את עצמך. גישה כאן.
- PlatoAiStream. Web3 Intelligence. הידע מוגבר. גישה כאן.
- PlatoESG. רכב / רכבים חשמליים, פחמן, קלינטק, אנרגיה, סביבה, שמש, ניהול פסולת. גישה כאן.
- PlatoHealth. מודיעין ביוטכנולוגיה וניסויים קליניים. גישה כאן.
- ChartPrime. הרם את משחק המסחר שלך עם ChartPrime. גישה כאן.
- BlockOffsets. מודרניזציה של בעלות על קיזוז סביבתי. גישה כאן.
- מקור: https://www.darkreading.com/edge-articles/software-supply-chain-strategies-to-parry-dependency-confusion-attacks
- :יש ל
- :הוא
- :לֹא
- :איפה
- 1
- 7
- a
- אודות
- לרוחב
- לפעול
- לְאַמֵץ
- יתרון
- נגד
- סוֹכֵן
- מטרות
- תעשיות
- להתיר
- כמעט
- גם
- תמיד
- an
- ו
- אחר
- כל
- כל אחד
- יישומים
- גישות
- ARE
- מאמר
- AS
- נכסים
- At
- לתקוף
- המתקפות
- באופן אוטומטי
- בחזרה
- BE
- כי
- להיות
- הטוב ביותר
- שיטות עבודה מומלצות
- B
- אבני
- פרות
- בִּניָן
- אבל
- by
- שיחה
- נקרא
- CAN
- לא יכול
- מקרה
- גורמים
- שרשרת
- שינוי
- לבדוק
- בחרו
- קוד
- מגיע
- Common
- הקהילות
- חברה
- הענות
- פשרה
- בלבול
- אמנה
- דלפק
- לִיצוֹר
- אבטחת סייבר
- נתונים
- הפרת נתונים
- תלות
- תלות
- מפותח
- מפתחים
- מְכוּוָן
- מציג
- DNS
- do
- עושה
- עשה
- דֶלֶת
- אחר
- עובדים
- שלם
- שווה
- לְהַעֲרִיך
- אֲפִילוּ
- כל
- דוגמה
- לבצע
- חשוף
- עין
- שלח
- לממן
- מרוכז
- בעד
- להכריח
- מצא
- בתדירות גבוהה
- החל מ-
- לגמרי
- המשחקים
- נותן
- ברחבי עולם
- גדל
- חצי
- יש
- he
- לעזור
- ומכאן
- גבוה יותר
- הגבוה ביותר
- שֶׁלוֹ
- להחזיק
- איך
- איך
- HTTPS
- מאות
- זהה
- if
- מְמַשׁמֵשׁ וּבָא
- ליישם
- חשוב
- in
- לכלול
- מדד
- להתקין
- התקנה
- מכון
- אִינטֶלֶקְטוּאַלִי
- קניין רוחני
- פנימי
- כלפי פנים
- אל תוך
- מהותי
- מבוא
- IT
- שֶׁלָה
- עצמו
- JavaScript
- רק
- שמור
- יודע
- גָדוֹל
- לגיטימי
- לתת
- סִפְרִיָה
- כמו
- מקומי
- ארוך
- נראה
- אוהב
- לעשות
- מנהל
- מנהלים
- מאי..
- משמעות
- אמצעים
- מדיה
- יותר
- הרבה
- צריך
- שם
- שמות
- הכרחי
- חדש
- לא
- שום דבר
- מספר
- of
- on
- ONE
- or
- ארגון
- ארגונים
- אחר
- אַחֶרֶת
- יותר
- חבילה
- חבילות
- לְבַצֵעַ
- חתיכות
- צינור
- מציין מיקום
- הַצָבָה
- אפלטון
- מודיעין אפלטון
- אפלטון נתונים
- נקודה
- מדיניות
- פופולרי
- פוזה
- פרקטיקות
- למנוע
- מניעה
- סדר עדיפויות
- פְּרָטִי
- תהליך
- הפקה
- פרויקטים
- רכוש
- להגן
- אבטחה
- ציבורי
- בפומבי
- הוצאה לאור
- פיתון
- פיטורך
- לצטט
- רכס
- במקום
- RE
- טעם
- רשום
- מרשמי
- רישום
- רגולטורים
- דוחות לדוגמא
- מאגר
- מחקר
- עתודה
- שמור
- עתודות
- הסיכון
- חָסוֹן
- רוז
- ריצה
- s
- אותו
- אמר
- סריקה
- סצינה
- היקף
- סקריפטים
- מגזר
- מגזרים
- אבטחה
- רציני
- קשה
- צריך
- הופעות
- since
- גדל
- So
- תוכנה
- שרשרת אספקת תוכנה
- כמה
- מישהו
- מָקוֹר
- ספציפי
- אסטרטגיות
- קפדן
- כזה
- לספק
- שרשרת אספקה
- בטוח
- מתוק
- מערכות
- לקחת
- נטילת
- המשימות
- טכנולוגיה
- מֵאֲשֶׁר
- זֶה
- השמיים
- גְנֵבָה
- אותם
- לכן
- אלה
- הֵם
- דברים
- זֶה
- אלה
- איום
- כָּך
- ל
- להפעיל
- סומך
- מהימן
- שתיים
- בדרך כלל
- תחת
- להבין
- מְעוּדכָּן
- העלאה
- להשתמש
- מְשׁוּמָשׁ
- משתמשים
- באמצעות
- שונים
- גרסה
- הפרות
- פגיע
- היה
- דֶרֶך..
- we
- טוֹב
- מה
- מתי
- אם
- אשר
- בזמן
- מי
- רָחָב
- טווח רחב
- יצטרך
- חכמה
- עם
- בתוך
- לְלֹא
- מילים
- תיק עבודות
- היה
- כתב
- שנים
- עוד
- אתה
- זפירנט