GitHub היא אחת מפלטפורמות אחסון קוד הגדולות ביותר וגם חוקרי אבטחת מידע משתמשים בה כדי לפרסם PoC (הוכחת קונספט) של נוזקות, על מנת לעזור לקהילת האבטחה לאמת תיקונים עבור חולשות אבטחת מידע או לקבוע את ההשפעה וההיקף של פגיעויות כאלו. עם זאת, חוקרים במכון ליידן למדעי מחשב מתקדמים בהולנד מצאו אלפי מאגרים ב- GitHub המציעים PoC מזויפים עבור פגיעויות שונות כאשר חלקם כוללים נוזקות של ממש. על פי המאמר הטכני של החוקרים במכון ליידן הסיכוי להיפגע מנוזקה במקום לקבל את הוכחת הקונספט המבוקשת, יכול להגיע עד 10.3%.
חוקרי מכון ליידן ניתחו כ- 47,300 מאגרי קוד ב- GitHub ובקבוצה של 6,160 קבצי הפעלה נחשפו 2,164 נוזקות המתארחות ב- 1,398 מאגרי קוד. בסך הכל, 4,893 מאגרים מתוך מאגרי הקוד שנבדקו ב- GitHub נחשבו זדוניים, כאשר רובם נוגעים לנקודות תורפה שהתגלו בשנת 2020. החוקרים שיתפו עם אתר BleepingComputer לפחות 60 דוגמאות נוספות שעדיין פועלות ונמצאות בתהליך הסרה על ידי GitHub.
בהתבוננות מקרוב בכמה מהמקרים הללו גילו החוקרים שפע של נוזקות שונות וסקריפטים זדוניים, החל מסוסים טרויאניים בגישה מרחוק ועד ל- Cobalt Strike. מקרה מעניין אחד הוא זה של PoC עבור CVE-2019-0708, הידוע בכינויו "BlueKeep", המכיל סקריפט Python מעורפל של base64 אשר מייבא VBScript מ- Pastebin (סקריפט טרויאני ישן מבוסס JavaScript התומך בביצוע פקודות מרחוק באמצעות Windows CMD). במקרה אחר החוקרים הבחינו ב- PoC מזויף שנועד לגנוב מידע מערכות מחשוב, כתובת IP ופרטי משתמשים.
אחד החוקרים שהוא גם חוקר אבטחה ב-Darktrace, סיפק ל-BleepingComputer דוגמאות נוספות שאינן נכללות בדוח הטכני: PowerShell PoC המכיל קובץ בינארי מקודד ב- base64 מסומן כזדוני ב-Virus Total וכן Python PoC המכיל one-liner המפענח מטען מקודד base64 והוא מסומן כזדוני ב- Virus Total. דוגמאות נוספות כוללות ניצול מזויף של BlueKeep המכיל קובץ הפעלה המסומן על ידי רוב מנועי האנטי-וירוס כזדוני ומזוהה כ- Cobalt Strike וכן סקריפט המסתתר בתוך PoC מזויף עם רכיבים זדוניים לא פעילים שעלולים לגרום נזק אם המחבר שלו ירצה בכך.
מתן אמון עיוור במאגר קוד ב- GitHub ממקור לא מאומת עלול להיות מסוכן מכיוון שהתוכן אינו מנוהל ולכן מוטלת על המשתמשים האחריות לבדוק אותו לפני השימוש בו. לבודקי תוכנה מומלץ לבחון היטב את ה- PoCs שהם מורידים ולהריץ כמה שיותר בדיקות לפני ביצוען. מומלץ לבצע את שלושת השלבים הבאים:
- לקרוא בעיון את הקוד לפני הפעלה בסביבת פיתוח או ברשת של הלקוח.
- אם הקוד מעורפל מדי וצריך יותר מדי זמן לנתח אותו באופן ידני, מומלץ לאחסן אותו במכונה וירטואלית מבודדת ולבדוק את הרשת לאיתור תעבורה חשודה.
- להשתמש בכלי מודיעין בקוד פתוח כמו VirusTotal כדי לנתח קבצים בינאריים.
החוקרים דיווחו ל- GitHubעל כל המאגרים הזדוניים שגילו, אך ייקח זמן עד שכולם ייבדקו ויוסרו כך שרבים עדיין נשארים זמינים לציבור. מחקר זה לא נועד לשמש רק כפעולת ניקוי חד פעמית ב- GitHub אלא לשמש כטריגר לפיתוח פתרון אוטומטי שיכול לשמש לסימון הוראות זדוניות ונוזקות בקוד המאוחסן במאגר. יש לציין כי זוהי הגרסה הראשונה של המחקר והצוות עובד על שיפור הגלאי, היות ונכון לעכשיו, כלי הזיהוי מחמיץ קוד בעל ערפול חזק יותר.
קראו על שירותי הסייבר שלנו, ויחד ניצור מעטפת הגנת סייבר מקצה לקצה לארגון שלכם! צרו איתנו קשר עוד היום להבטחת בטחון המידע לעסק שלכם!