כתבנו על PHP מערכת אקולוגית פקגיסטית לפני.
כמו PyPI עבור Pythonistas, Gems עבור מעריצי Ruby, NPM עבור מתכנתי JavaScript או LuaRocks עבור Luaphiles, Packagist הוא מאגר שבו תורמים לקהילה יכולים לפרסם פרטים של חבילות PHP שהם יצרו.
זה מקל על קודני PHP אחרים להשיג קוד ספרייה שהם רוצים להשתמש בפרויקטים שלהם, ולשמור על קוד זה מעודכן באופן אוטומטי אם הם רוצים.
בניגוד ל-PyPI, שמספקת שרתים משלה שבהם מאוחסן קוד הספרייה בפועל (או LuaRocks, שלעתים מאחסן את קוד המקור של הפרויקט בעצמו ולפעמים מקשר למאגרים אחרים), Packagist מקשר, אך אינו שומר בעצמו עותקים של הקוד שאתה צריך להוריד.
יש יתרון לעשות זאת בדרך זו, במיוחד שפרויקטים המנוהלים באמצעות שירותי קוד מקור ידועים כגון GitHub אינם צריכים לשמור שני עותקים של המהדורות הרשמיות שלהם, מה שעוזר למנוע את הבעיה של "סחף גרסאות" בין מערכת בקרת קוד מקור ומערכת האריזה.
ויש חיסרון, במיוחד שישנן בהכרח שתי דרכים שונות שבהן חבילות יכולות להיות מלכודות.
מנהל החבילות עצמו עלול להיפרץ, כאשר שינוי כתובת URL בודדת יכול להספיק כדי להפנות לא נכון משתמשים בחבילה.
או שמאגר קוד המקור שאליו מקושר עלול להיפרץ, כך שמשתמשים שעוקבים אחר מה שנראה כמו כתובת ה-URL הנכונה יגיעו לתוכן סורר בכל מקרה.
חשבונות ישנים נחשבים מזיקים
זֶה לתקוף (אנחנו נקרא לזה כך, למרות שלא פורסם קוד ממולכד על ידי ההאקר הנוגע בדבר) השתמש במה שאפשר לכנות גישה היברידית.
התוקף מצא ארבעה חשבונות Packagist ישנים ולא פעילים שעבורם הם רכשו איכשהו את סיסמאות הכניסה.
לאחר מכן הם זיהו 14 פרויקטים של GitHub שקושרו אליהם על ידי חשבונות לא פעילים אלה והעתיקו להם חשבון GitHub חדש שנוצר.
לבסוף, הם שיפרו את החבילות במערכת Packagist כדי להצביע על מאגרי GitHub החדשים.
שיבוט פרויקטים של GitHub הוא נפוץ להפליא. לפעמים, מפתחים רוצים ליצור מזלג אמיתי (גרסה חלופית) של הפרויקט בניהול חדש, או להציע תכונות שונות; במקרים אחרים, נראה כי פרויקטים מפוצלים מועתקים בגלל מה שעלול להיקרא באופן לא מחמיא "סיבות נפח", מה שגורם לחשבונות GitHub להיראות גדולים יותר, טובים יותר, עסוקים יותר ומחויבים יותר לקהילה (אם תסלחו על משחק המילים) ממה שהם באמת.
למרות שההאקר יכול היה להכניס קוד נוכל למקור ה-PHP של GitHub המשובט, כגון הוספת עוקבים, keyloggers, דלתות אחוריות או תוכנות זדוניות אחרות, נראה שכל מה שהם שינו היה פריט בודד בכל פרויקט: קובץ בשם composer.json
.
קובץ זה כולל ערך בשם description
, שבדרך כלל מכיל בדיוק את מה שהיית מצפה לראות: מחרוזת טקסט המתארת למה מיועד קוד המקור.
וזה כל מה שההאקר שלנו שינה, ושינה את הטקסט ממשהו אינפורמטיבי, כמו Project PPP implements the QQQ protocol so you can RRR
, כך שהפרויקטים שלהם במקום דיווחו:
נכתב על ידי XXX@XXXX.com. Ищу работу на позиции אבטחת יישומים, בודק חדירה, מומחה אבטחת סייבר.
המשפט השני, שנכתב חצי ברוסית, חצי באנגלית, פירושו:
אני מחפש עבודה באבטחת אפליקציות... וכו'.
אנחנו לא יכולים לדבר בשם כולם, אבל עם קורות החיים, לא מצאנו את זה ממש משכנע.
כמו כן, צוות Packagist אומר שכל השינויים הלא מורשים הוחזרו כעת, וש-14 פרויקטי GitHub המשובטים לא שונו בדרך אחרת מלבד לכלול את שידול העסקה של ה-pwner.
בשביל מה שזה שווה, חשבון GitHub של מומחה אבטחת יישומים לעתיד עדיין פעיל, ועדיין יש בו את הפרויקטים ה"מזלגים" האלה.
אנחנו לא יודעים אם GitHub עדיין לא הספיק למחוק את החשבון או הפרויקטים, או שהאתר החליט לא להסיר אותם.
אחרי הכל, פרויקטים של התפצלות זה דבר נפוץ ומותר (כאשר תנאי הרישוי מאפשרים, לפחות), ולמרות שמתאר פרויקט קוד לא זדוני עם הטקסט Pwned by XXXX@XXXX.com
זה לא מועיל, זה כמעט לא חוקי.
מה לעשות?
- אל תעשה את זה. אתה בהחלט לא הולך למשוך את העניין של שום מעסיק לגיטימי, וגם (אם נהיה כנים) אתה אפילו לא הולך להרשים אף נוכל סייבר בחוץ.
- אל תשאיר חשבונות שאינם בשימוש פעילים אם אתה יכול לעזור בכך. כפי שאמרנו אתמול יום הסיסמה העולמי, שקלו לסגור חשבונות שאינכם זקוקים להם יותר, בטענה שככל שיש לכם פחות סיסמאות בשימוש, כך יש פחות להיגנב.
- אל תשתמש שוב בסיסמאות ביותר מחשבון אחד. ההנחה של Packagist היא שהסיסמאות שניצלו לרעה במקרה זה היו מוטלות ברשומות של פרצות מידע מחשבונות אחרים שבהם הקורבנות השתמשו באותה סיסמה כמו בחשבון Packagist שלהם.
- אל תשכח את 2FA שלך. Packagists קורא לכל המשתמשים שלה להפעיל את 2FA, כך שסיסמה לבדה אינה מספיקה לתוקף להיכנס לחשבון שלך, וממליצה לעשות את אותו הדבר גם בחשבון GitHub שלך.
- אל תקבל באופן עיוור עדכונים בשרשרת האספקה מבלי לבדוק אותם על נכונותם. אם יש לך רשת מסובכת של תלות בחבילות, זה מפתה לזרוק את האחריות שלך הצידה ולתת למערכת להביא את כל העדכונים שלך באופן אוטומטי, אבל זה רק מעמיד אותך ואת המשתמשים במורד הזרם שלך בסיכון נוסף.
הנה העצה הזו מיום הסיסמה העולמי
- הפצת תוכן ויחסי ציבור מופעל על ידי SEO. קבל הגברה היום.
- PlatoAiStream. Web3 Data Intelligence. הידע מוגבר. גישה כאן.
- הטבעת העתיד עם אדריאן אשלי. גישה כאן.
- קנה ומכירה של מניות בחברות PRE-IPO עם PREIPO®. גישה כאן.
- מקור: https://nakedsecurity.sophos.com/2023/05/05/php-packagist-supply-chain-poisoned-by-hacker-looking-for-a-job/
- :יש ל
- :הוא
- :לֹא
- :איפה
- $ למעלה
- 1
- 14
- 15%
- 2FA
- a
- אודות
- מוּחלָט
- לְקַבֵּל
- חֶשְׁבּוֹן
- חשבונות
- נרכש
- פעיל
- מוסיף
- נוסף
- עצה
- תעשיות
- להתיר
- לבד
- חלופה
- למרות
- an
- ו
- כל
- בקשה
- אבטחת יישומים
- גישה
- ARE
- סביב
- AS
- הנחה
- At
- מחבר
- המכונית
- באופן אוטומטי
- לְהִמָנַע
- דלתות אחוריות
- רקע תמונה
- BE
- היה
- לפני
- מוטב
- בֵּין
- גדול
- מטלפן
- בעיוורון
- גבול
- תַחתִית
- הפרה
- אבל
- by
- שיחה
- נקרא
- CAN
- מקרה
- מרכז
- שרשרת
- השתנה
- שינויים
- משתנה
- סגירה
- קוד
- צֶבַע
- COM
- מְחוּיָב
- Common
- קהילה
- מסובך
- מודאג
- לשקול
- נחשב
- מכיל
- תוכן
- תורמים
- לִשְׁלוֹט
- עותקים
- יכול
- לכסות
- לִיצוֹר
- נוצר
- CVS
- סייבר
- אבטחת סייבר
- נתונים
- נתוני פרה
- תַאֲרִיך
- החליט
- בהחלט
- פרטים
- מפתחים
- אחר
- לְהַצִיג
- do
- לא
- עושה
- לא
- מטה
- להורדה
- downside
- כל אחד
- קל
- או
- מעסיקים
- תעסוקה
- סוף
- אנגלית
- מספיק
- כניסה
- וכו '
- אֲפִילוּ
- כולם
- בדיוק
- לצפות
- מעריצים
- תכונות
- בחור
- פחות
- שלח
- בעקבות
- בעד
- מזלג
- מזלג
- מצא
- ארבע
- החל מ-
- אמיתי
- לקבל
- GitHub
- Go
- הולך
- פרוצים
- האקר
- היה
- חצי
- יש
- גובה
- לעזור
- עוזר
- להחזיק
- לרחף
- HTTPS
- היברידי
- i
- מזוהה
- if
- לא חוקי
- מיישמים
- in
- פעיל
- לכלול
- כולל
- בצורה מדהימה
- באופן בלתי נמנע
- אִינפוֹרמָטִיבִי
- במקום
- אינטרס
- אל תוך
- IT
- שֶׁלָה
- עצמו
- JavaScript
- עבודה
- רק
- שמור
- לדעת
- הכי פחות
- יציאה
- עזבו
- לגיטימי
- סִפְרִיָה
- רישוי
- כמו
- צמוד
- קישורים
- לחיות
- היכנס
- התחבר
- נראה
- נראה
- הסתכלות
- לתחזק
- עושה
- עשייה
- תוכנות זדוניות
- הצליח
- ניהול
- מנהל
- שולים
- max-width
- אומר
- יכול
- שונים
- יותר
- צורך
- חדש
- לא
- נוֹרמָלִי
- בייחוד
- עַכשָׁיו
- of
- הצעה
- רשמי
- זקן
- on
- ONE
- or
- אחר
- שלנו
- הַחוּצָה
- שֶׁלוֹ
- חבילה
- חבילות
- אריזה
- סיסמה
- סיסמאות
- פול
- חֲדִירָה
- PHP
- אפלטון
- מודיעין אפלטון
- אפלטון נתונים
- נקודה
- עמדה
- הודעות
- PPP
- בעיה
- מתכנתים
- פּרוֹיֶקט
- פרויקטים
- פרוטוקול
- מספק
- לפרסם
- לאור
- מכניס
- בֶּאֱמֶת
- ממליצה
- רשום
- עיתונות
- להסיר
- דווח
- מאגר
- אחריות
- ביקורת
- הסיכון
- עגול
- רוסי
- אמר
- אותו
- שְׁנִיָה
- אבטחה
- לִרְאוֹת
- נראה
- נראה
- משפט
- שירותים
- יחיד
- אתר
- So
- שידול
- מוצק
- משהו
- מָקוֹר
- קוד מקור
- לדבר
- מומחה
- עוד
- גָנוּב
- מאוחסן
- חנויות
- מחרוזת
- כזה
- לספק
- שרשרת אספקה
- SVG
- מערכת
- נבחרת
- מונחים
- מֵאֲשֶׁר
- זֶה
- אל האני
- המיזמים
- המקור
- שֶׁלָהֶם
- אותם
- אז
- שם.
- אלה
- הֵם
- זֶה
- אלה
- אם כי?
- פִּי
- ל
- גַם
- חלק עליון
- לזרוק
- עוקב
- מַעֲבָר
- שָׁקוּף
- תור
- שתיים
- תחת
- לא בשימוש
- עדכונים
- Upside
- דחפים
- כתובת האתר
- להשתמש
- מְשׁוּמָשׁ
- משתמשים
- בְּדֶרֶך כְּלַל
- גרסה
- באמצעות
- קורבנות
- רוצה
- היה
- דֶרֶך..
- דרכים
- we
- אינטרנט
- מוכר
- היו
- מה
- אם
- אשר
- מי
- יצטרך
- עם
- לְלֹא
- עוֹלָם
- ראוי
- היה
- כתוב
- עוד
- אתה
- זפירנט