מתקפת שרשרת אספקה תוקפת מאות חבילות תוכנה

חוקרי אבטחה זיהו מתקפת תוכנה מתפשטת עצמאית הפוגעת במאות חבילות npm. המתקפה, שזכתה לכינוי 'Shai-Hulud', גונבת מידע רגיש ומתפשטת באופן אוטומטי לחבילות נוספות

מתקפת שרשרת אספקה תוקפת מאות חבילות תוכנה

Photo by Christopher Gower on Unsplash

חוקרי אבטחה זיהו לפחות 187 חבילות npm שנפגעו במתקפת שרשרת אספקה מתמשכת. המתקפה, שזכתה לכינוי 'שאיי-חולוד', החלה עם חדירה לחבילה @ctrl/tinycolor שזוכה ליותר משני מיליון הורדות שבועיות, והתפשטה מאז גם לחבילות שפורסמו על ידי חברת אבטחת הסייבר CrowdStrike. המתקפה מתבצעת על ידי תוכנה זדונית בעלת מנגנון התפשטות עצמית.

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

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

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

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

מתקפת 'שאיי-חולוד' מצטרפת לשורה של מתקפות שרשרת אספקה שהתרחשו בחודש האחרון, ביניהן מתקפת 's1ngularity' שתקפה 2,180 חשבונות GitHub. חוקרים מעריכים כי ייתכן שקיים קשר בין המתקפות. כמו כן, מפתחי חבילות פופולריות נוספות נפלו קורבן להתקפות דיוג שאפשרו חדירה לפרויקטים שלהם. 

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

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