GitHub הוא מבנה לאירוח פרויקטים באמצעות מערכת בקרת גרסאות
לאחרונה חוקרי אקווה סקיוריטי חשפו מידע על ניתוח שהם ערכו לגביו עם היישום של מתקפת ה-RepoJacking על מאגרי GitHub.
מהות הבעיה הוא כי לאחר מחיקה או שינוי שמות של פרויקטים ב-GitHub, ה מאגרי צד שלישי עשויים להכיל קישורים לשמות שכבר אינם קיימים, למשל בתיעוד, סקריפטים והוראות התקנה README.
החוקרים מציינים זאת תוקף יכול לרשום שם משתמש ב-GitHub לשכפל שם של משתמש קיים מראש, הצבת תוכנות זדוניות במאגר cעל השם הכפול ולחכות שמישהו יוריד את זה באמצעות מדריכים לא מתוקנים או קוד ישן שמוריד תלות מקישורים ישנים.
בניגוד למחקרים קודמים, המחקר שלנו מדגיש את השלכות האבטחה והחומרה של מסד נתונים זה אם הוא מנוצל על ידי תוקפים. רבים מהם יכולים למצוא בו יעדים רבים באיכות גבוהה הרגישים ל-RepoJacking. בבלוג זה, אנו מתעמקים בתרחישי הניצול של מתקפה זו ומספקים המחשות של כל תרחיש באמצעות דוגמאות מהחיים האמיתיים.
לדוגמה: שליטה על ספריית ה-phpass של PHP הושגה באופן דומה בשנה שעברה. ל-GitHub יש הגנה מפני רישום מחדש של פרויקטים מרוחקים, אך ניתן היה לעקוף אותה על ידי יצירת מאגר בעל אותו שם בחשבון שרירותי ולאחר מכן שינוי שם החשבון הזה למטרה. אם ברצונך לרשום מאגר משתמש/נציג שבו נמחק חשבון המשתמש, GitHub יאפשר לך ליצור מחדש את המשתמש "משתמש", אבל זה לא יאפשר לך ליצור את המאגר "המייצג". אתה יכול לעקוף מגבלה זו על ידי יצירת מאגר ה"נציג" בחשבון של משתמש אחר (לדוגמה, "משתמש1"), ולאחר מכן לשנות את שם המשתמש הזה ל"משתמש".
GitHub מנסה כעת להתנגד למניפולציות כאלה, אבל לפי Aqua Security, לא כל הפתרונות חסומים וההגנה חלה רק על הפרויקטים הפופולריים ביותר.s, שהיו לה יותר מ-100 שיבוטים לפני שינוי השם.
יחד עם זאת, ההגנה לא תופסת פרויקטים שהפכו פופולריים לאחר שינוי שמם. זה גם לא לוקח בחשבון שפרויקט פופולרי יכול להשתמש בתור תלות במאגר פחות פופולרי ששמו שונה בעבר ואינו מוגן (יכול להיות מותקף על ידי החלפת תלות). לאחר שינוי השם, GitHub מפנה אוטומטית קישורים ישנים למאגר החדש, אך ההפניה הזו נמשכת רק עד שהמשתמש בעל אותו שם יכנס, כך שקוד שוכח לעיתים קרובות לתקן קישורים לשם החדש.
התוקפים לא צריכים לעשות את כל העבודה הקשה הזו. הם לא קשורים לארגון ספציפי. הם יכולים לסרוק את האינטרנט ולמצוא כל קורבן שהם רוצים ואם הם מרגישים שיש רווח מאחורי המתקפה הם ימשיכו עד שהם ממקסמים את הרווח שלהם. אתרים כמו פרויקט GHTorrent מספקים נתונים מדהימים ולא יסולא בפז.
פרויקט GHTorrent רושם כל אירוע ציבורי (commit, PR וכו') שקורה ב-Github ושומר אותו במסד נתונים. כל אחד יכול להוריד dump של מסד נתונים מתקופת זמן מסוימת. על ידי שימוש במערך נתונים זה, שחקנים זדוניים יכולים לגלות את השמות ההיסטוריים של ארגונים שונים ולהרחיב את משטח ההתקפה הפוטנציאלי שלהם.
המחקר של אקווה סקיוריטי בחנה מדגם של 1,25 מיליון מאגרים, מה שמתאים לכ-0,4% מסך המאגרים ב-GitHub. הרשימה נגזרה מניתוח יומן השינויים עבור חודש אקראי (יוני 2019). רגישות להתקפת RepoJacking נמצאה ב-36983 מאגרים (2.95%).
החוקרים ביצעו גם פיגוע ניסיוני מה שהראה את יעילות השיטה. בכמה מאגרים שהשתנו, אורגנה איסוף המידע על כתובות ה-IP שהורידו את החפצים שהוצבו במאגר. כתוצאה מכך נרשמו הורדות של נתונים מזויפים ברשתות של כמה חברות גדולות.
לבסוף, אם אתה מעוניין לדעת יותר על כך, תוכל להתייעץ את הפרטים בקישור הבא.