פריצת ענק לשרשרת אספקה
הפריצה הגדולה ביותר אי פעם לשרשרת האספקה של NPM: תוקפים הזריקו נוזקה ל-18 חבילות שמורידים אותן יותר מ-2.6 מיליארד פעמים בשבוע
הפריצה הגדולה ביותר לשרשרת האספקה של חבילות NPM אי פעם התגלתה אתמול (ב'): תוקפים הזריקו נוזקה ל-18 חבילות פופולריות, שמדי שבוע מורידים אותן יותר מ-2.6 מיליארד פעמים.
את הפריצה חשפה חברת הגנת הסייבר אייקידו (Aikido). חבילות NPM הן בלוקים רב פעמיים של קוד ג'אווה סקריפט, שפורסמו ברישום Node Package Manager, ומפתחים יכולים להתקין ולהשתמש בהן בפרויקטים שלהם. החבילות מספקות פונקציונליות נפוצה, כגון עיצוב טקסט, חיבור למסדי נתונים או טיפול בקלט משתמש – מה שמאפשר למפתחים לא לכתוב כל היבט של פרויקט מההתחלה. לכן הן פופולריות מאוד.
לפי אייקידו, תוקפים השתלטו על חשבון התחזוקה שמאחורי הספריות, באמצעות שימוש בפרטי גישה דרך מייל תמיכה מזויף של NPM – שביקש עדכון אימות דו שלבי. לאחר קבלת הגישה, התוקפים הכניסו נוזקה לקבצי ה-index.js של החבילות. זו נועדה לגנוב מטבעות קריפטוגרפיים המועברים בעסקאות, על ידי ניטור ממשקי תכנות יישומי דפדפן כגון Fetch או XMLHttpRequest וממשקי ארנק דוגמת window.ethereum. כך, הכספים הופנו שלא לייעודם, אלא להאקרים, לכתובות הנשלטות על ידם.
הפריצה זוהתה על ידי אייקידו תוך חמש דקות מפרסומה ונחשפה לציבור תוך שעה – מה שהגביל את הנזק הפוטנציאלי, למרות היקף ההורדה העצום של החבילות שנפגעו.
בין 18 הספריות שנפגעו נמצאות תוכנות עזר למפתחים הנמצאות בשימוש נרחב, כגון chalk, עם כ-300 מיליון הורדות שבועיות, debug, עם כ-358 מיליון ו-ansi-styles, שלה מעל 370 מיליון הורדות. המודולים מהווים חלק מסביבת העבודה של ג'אווה סקריפט, כלומר – לפגיעה יש פוטנציאל להשפיע על מספר עצום של יישומים ושירותים בהמשך.

האם ההאקרים של קים ג'ונג און, שליט צפון קוריאה, עומדים מאחורי המתקפה? צילום: ShutterStock
אף קבוצת האקרים לא לקחה אחריות על הפגיעה בשרשרת האספקה. בנוסף, לא נמצאו קשרים לקבוצה מסוימת. מומחים ציינו שהמתקפות מגיעות לאחר שדיווח ביולי הזהיר כי לזרוס, קבוצת ההאקרים הידועה לשמצה, שפועלת בחסות צפון קוריאה, תקפה חבילות קוד פתוח, ובעיקר חבילות NPM.
"רגע מכונן באבטחת שרשרת האספקה של תוכנה"
אחד המומחים ציין שזו "לא הייתה בחירה אקראית. השתלטות על חבילות היא כיום טקטיקה סטנדרטית עבור קבוצות איום מתקדמות ומתמשכות כמו לזרוס, משום שהן יודעות שהן יכולות להגיע לחלק גדול מאוכלוסיית המפתחים בעולם על ידי חדירה לפרויקט יחיד, שאין בו משאבים בכלל ומשאבי הגנה בפרט".
מומחה אחר כתב כי "התקרית מייצגת רגע מכונן באבטחת שרשרת האספקה של תוכנה. פגיעה בכזה היקף של חבילות npm, שמורידים אותן יותר מ-2.6 מיליארד פעמים בשבוע, מדגישה עד כמה הרסניות יכולות להיות מתקפות שמנצלות את האמון הבסיסי המובנה במערכות וסביבות של קוד פתוח".
לדברי מומחה שלישי, "התוקפים לא היו צריכים לפרוץ לשרתים או לעקוף הגנות טכניות; הם פשוט חטפו חשבון של מתחזק לגיטימי באמצעות קמפיין פישינג ממוקד. זה לבדו העניק להם את המפתחות לממלכת תוכנה עצומה". הוא הוסיף כי "מה שמסוכן במיוחד במקרה זה הוא כיצד התוקפים השתמשו בדומיין שנדמה באופן משכנע כדומיין לגיטימי, npmjs.help, כדי לבצע הנדסה חברתית של מנהל האתר. זה לא היה ניסיון פישינג אקראי. הוא תוכנן, תוזמן ובוצע עם הבנה עמוקה של הפסיכולוגיה של המפתחים. זוהי טקטיקה המבוססת על פחד, עקב האיום לנעול חשבונות עד מועד אחרון מסוים, והיא הוסיפה דחיפות והגדילה את הסיכוי לפריצה מוצלחת".
התוקפים איימו במייל כי החשבונות שהותקפו יינעלו מחר, ה-10 בספטמבר, כחלק מטקטיקת הפחדה שנועדה לגרום לקורבנות ללחוץ על הקישור שמפנה אותם לאתרי הפישינג.
ההאקרים כתבו במייל הפישינג: "כחלק מהמחויבות המתמשכת שלנו לאבטחת החשבון, אנחנו מבקשים מכל המשתמשים לעדכן את אישורי האימות הדו שלבי (2FA) שלהם. הרשומות שלנו מצביעות על כך שעברו יותר מ-12 חודשים מאז עדכון ה-2FA האחרון שלך".
חלק מהגרסאות הזדוניות הוסרו
חוקרי אייקדו ציינו כי "מה שהופך את הפריצה למאוד מסוכנת הוא שהיא פועלת בכמה שכבות: שינוי תוכן המוצג באתרי אינטרנט, התעסקות בקריאות API ומניפולציה של מה שהאפליקציות של המשתמשים מאמינים שהם חותמים עליו".
מאז הזיהוי של האירוע, צוות ה-NPM הסיר חלק מהגרסאות הזדוניות שפורסמו על ידי התוקפים, כולל זו של חבילת ניפוי הבאגים, שמורידים אותה 357.6 מיליון פעמים בשבוע.
השתתף בהכנת הידיעה: פלי הנמר.











תגובות
(0)