הפער ב-VPN שחשף את הסחטן שהיה עובד פנים
ליוביקיטי הייתה פריצה. מישהו היה בתוך הרשת, נע בין ריפוזיטוריז ב-GitHub לסביבות AWS, והעתיק בשקט חומר סודי. אחר כך התחילו המיילים. לא למתחרה, לא לקונה זר, אלא לחברה עצמה: תשלמו, אחרת המידע יוצא לאור. קצת אחרי זה, “עובד מודאג” אנונימי, שהזדהה בכינוי “Adam”, התחיל לפנות לעיתונאי אבטחת המידע בריאן קרבס (KrebsOnSecurity) ולהזהיר שהחברה מסתירה משהו “הרבה יותר גרוע ממה שדווח”. הגניבה, מכתב הסחיטה ומסע הלחישות נראו בהתחלה כמו שלוש בעיות נפרדות. התברר שזה אותו אדם, שהחזיק שלוש משרות בו-זמנית. (ניהול קריירה למופת: מעטים מצליחים להחזיק שלוש משרות מקבילות בלי שאף אחת מהן תדע על קיום השתיים האחרות.)
מה קרה בפועל
ניקולס שארפ היה מפתח תוכנה בכיר בחברת יוביקיטי (Ubiquiti Inc.), עם גישה לגיטימית ומורשית לתשתית הענן ולריפוזיטוריז של קוד המקור של החברה, כחלק מתפקידו. לפי התביעה, בסביבות דצמבר 2020, הוא ניצל את אותה גישה כדי להעתיק ג’יגה-בייטים של מידע סודי, נתוני קונפיגורציה של AWS, קוד מקור וחומר קנייני נוסף, כשהוא מנותב דרך שירות ה-VPN Surfshark, שנועד לגרום לפעילות להיראות כאילו הגיעה מתוקף חיצוני. (מבחינה טכנית זה סוג של גיבוי לענן, רק שהיעד הסופי היה חשבון הביטקוין שלו, לא שרת שחזור.)
כעבור ימים ספורים קיבלה יוביקיטי הודעה אנונימית שדרשה 25 ביטקוין תמורת אי-פרסום המידע הגנוב, ועוד 25 ביטקוין (בסך הכול כ-50 ביטקוין, כ-1.9 מיליון דולר באותה עת) תמורת חשיפת “דלת אחורית” נטענת למערכות החברה. יוביקיטי פתחה בחקירה פנימית, ולפי כתב האישום, שארפ עצמו שובץ לצוות שהופקד על אבחון האירוע ותיקונו, בלי שהחברה ידעה שהוא גם הסוחט האנונימי מאחוריו; לפי התביעה הוא ניצל את התפקיד הזה כדי להגדיר חלק מלוגי ה-AWS הרלוונטיים למחיקה אוטומטית כעבור יממה. (החוקר והחשוד באותו אדם: לא ז’אנר קולנועי חדש, סתם יום עבודה רגיל אצלו.)
ה-FBI ערך חיפוש בביתו של שארפ ב-24 במרץ 2021, ותפס את המחשב הנייד ומכשירים נוספים שבהם השתמש, אותו מחשב שלפי התביעה הוא כבר טרח למחוק בניסיון לטשטש עקבות.
ואז הגיעה המערכה השנייה. ימים ספורים אחרי החיפוש, מישהו שהזדהה בזהות אנונימית סיפר לעיתונאי בריאן קרבס שהפריצה הרבה יותר גדולה ממה שיוביקיטי מודה בו, ושהחברה ממעיטה בחומרתה כדי להגן על מחיר המניה. קרבס פרסם את הטענות ב-KrebsOnSecurity ב-30 במרץ 2021 (הוא חזר בו מהכתבה כשנה וחצי מאוחר יותר, אחרי שזהות המקור נחשפה). מניית יוביקיטי צנחה בכ-20% בתוך יומיים, ומחקה למעלה מ-4 מיליארד דולר משווי השוק של החברה. התביעה טענה בהמשך שאותו “עובד פנים” אנונימי שהדליף לעיתונות היה שארפ עצמו, שכבר היה אז יעד לצו חיפוש, ובכל זאת הכפיל את ההימור. (עיתונאי שמקבל סקופ בלעדי מהפורץ עצמו, בתחפושת של מצפון מודאג: זה כבר לא ניהול משבר, זה תסריט שדוחים אותו כלא ריאליסטי.)
יוביקיטי פיטרה אותו בחודש שלאחר מכן. הוא נעצר והואשם ב-1 בדצמבר 2021, הודה באשמה בפברואר 2023, ונגזרו עליו שש שנות מאסר במאי 2023, בתוספת שלוש שנות שחרור על תנאי ופיצוי של למעלה מ-1.5 מיליון דולר.
הארטיפקט: לא המידע הגנוב, הלוג שהציב אותו בשני צדי הסיפור
קוד המקור הגנוב ומכתב הסחיטה הם הכותרת. מה שבאמת בנה את התיק היה שקט יותר: רישומי חיבור. באופן ספציפי, רישומי חיבורי ה-VPN של שארפ, לצד רישומי החיבור הרגילים של אינטרנט הבית שלו.
לפי התביעה, כשהאינטרנט הביתי של שארפ נפל לזמן קצר, נפל איתו גם ה-VPN, בלי “מתג חירום” (kill switch) שמנתק את התעבורה כשהחיבור המוצפן קורס, וברגע הזה בדיוק התנועה שהגיעה למערכות יוביקיטי הצביעה חזרה על רשת הבית של שארפ, אותה רשת ממש שבה השתמש באותו יום לעבודה האמיתית והמורשית שלו. כלי הסוואה טוב רק כמו זמן הפעילות שלו. כמה דקות של תקלה מספיקות כדי לצמיד שם לחיבור אנונימי. (גם ל-VPN מגיע יום גרוע מדי פעם: הבעיה היא שהיום הגרוע שלו יצא בדיוק ביום שבו הכי היה צריך אותו.)
ראיה מהסוג הזה חזקה, אבל היא לא מפרשת את עצמה. כתובת IP אחת שמופיעה פעם אחת היא נתון, לא פסק דין. צריך לבדוק אותה: האם החיבור ה”דלוף” באמת המשיך ברצף את החיבור המוסווה, או שאפשר היה לקרוא שני חיבורים נפרדים כאחד? האם הפעילות בחשבון ב-AWS וב-GitHub שמרה על דפוס עקבי (אותן שעות עבודה, אותן הרגלים טכניים) גם בחלון ה”מורשה” וגם בחלון ה”לא מורשה”? חוקרים דיווחו שהם גם קישרו את חשבון ה-VPN שממנו בוצעה הפריצה לחשבון PayPal שבו שארפ רכש את אותו שירות VPN, ומצאו שמדיניות שמירת הלוגים במערכת שונתה סביב אותם ימים, ממצא שהתביעה הציגה כניסיון טשטוש עקבות, לא כ”התאמת חתימה טכנית” סתמית. צירוף מקרים אחד לא מוכיח כלום. סדרה של צירופי מקרים, שנבדקו ונשללו אחד-אחד, כן.
מה חוות דעת מומחה מחשבים בודקת בתיק מהסוג הזה
וכאן חוות דעת מומחה מחשבים עושה את החלק שסיכום של עורך דין לא יכול: היא לא עוצרת ב”ה-IP התאים”. היא בודקת אם היה צריך להתאים.
זה אומר לשלוף את רישומי החיבור עצמם משירות ה-VPN ולהבין את מדיניות השמירה שמאחוריהם, ולא רק לקבל סיכום שצד אחד מציג. זה אומר לבדוק את רישומי ה-ISP או הראוטר בבית בדיוק לחלון הזמן הרלוונטי, ולוודא אם השעונים בכל המערכות המעורבות, לקוח ה-VPN, ה-ISP, מסלול הביקורת (audit trail) של פלטפורמת הענן עצמה, היו מסונכרנים מספיק כדי לתמוך בקורלציה הנטענת, או רופפים מספיק כדי להשאיר ספק אמיתי. זה אומר להשוות את דפוס הגישה בזמן הגניבה הנטענת מול הפעילות השגרתית והמורשית של החשבון, כי הלוג של מנהל מערכת עובד מלא ברשומות שנראות תמימות וצריך להבחין ביניהן לבין הרשומות המפלילות. וזה אומר לעקוב אחרי מייל הסחיטה וההודעה האנונימית לעיתונאי דרך המטא-דאטה שלהם, כותרות, תשתית שליחה, סגנון כתיבה, כדי לבדוק אם הם מצביעים באופן עצמאי על אותו גורם שהקורלציה בלוגים מצביעה עליו.
שום דבר מזה לא אקזוטי. זו עבודה סבלנית ומובנית: להגדיר את השאלה הטכנית, לרשום את המערכות והלוגים המעורבים, להפעיל שיטה שמומחה אחר יכול לשחזר, ולומר בפירוש מה הראיה כן מבססת ומה לא. המשמעת הזאת היא מה שגורם לממצא לשרוד חקירה נגדית במקום להתקפל מול השאלה הקשה הראשונה על סחיפת שעונים או מדיניות שמירת לוגים.
למה זה חשוב מעבר לחברה אחת
שארפ לא היה צריך לפרוץ מבחוץ. כבר היה לו תג כניסה, טוקן VPN וסיבה לגיטימית להיות בכל מערכת שנגע בה. (איום מבפנים לא צריך לתכנן פריצה: יש לו כבר מפתח, ולפעמים גם חניה שמורה.) זה בדיוק מה שהופך איום מבפנים לקשה יותר לתפיסה מאיום חיצוני, וקשה עוד יותר להוכחה בבית משפט: הגישה עצמה לא חשודה, רק מה שעושים איתה. כל חברה שנותנת למפתחים או למנהלי מערכות הרשאות רחבות בענן ובריפוזיטוריז נמצאת חודש רע אחד מהשאלה שבית המשפט שאל כאן בסוף: לא אם למישהו הייתה גישה, אלא אם הראיה, כשבודקים אותה כמו שצריך, מראה מה בדיוק הוא עשה איתה.
לחברות הייטק ישראליות שמריצות אותו סוג של הרשאות AWS ו-GitHub פרושות, ולעורכי הדין שמייצגים אותן בסוף, הלקח לא באמת נוגע ל-VPN. הוא נוגע לבניית נוהל שמירת לוגים וסקירת הרשאות, עוד לפני שיש מחלוקת, מפורט מספיק כך שאם עובד פנים ינסה את זה יום אחד, הרשומה לא תיתן מקום לשתי קריאות.
המידע לעיל הוא כללי בלבד ואינו מהווה ייעוץ משפטי. עובדות התיק נלקחו מכתב האישום, הודעות התביעה וסיקור עיתונאי מהתקופה (KrebsOnSecurity, The Register, CSO Online, BleepingComputer, The Record).