CylindricalCanine: איך צ'אט תמיכה אחד ב-DigiCert הפך לגניבת 60 תעודות חתימה
חוקרי Expel פרסמו השבוע ניתוח שמייחס את אירוע האבטחה שעברה DigiCert באפריל האחרון לקבוצת תקיפה שהם מכנים CylindricalCanine, תת-קבוצה של הקולקטיב הסיני GoldenEyeDog. שרשרת התקיפה כולה התחילה בצ'אט תמיכה: מישהו פנה לשירות הלקוחות של החברה, שלח קובץ ZIP שהתחזה לצילום מסך של תקלה, ובתוכו הסתתר קובץ הרצה.
התוצאה הייתה גניבה של קודים שמאפשרים לקבל תעודות חתימת קוד מסוג EV, סוג התעודות שאמור להיות הקשה ביותר להשגה. חלק מהן שימשו אחר כך לחתום נוזקת גניבת מידע. זו לא פריצה שנשענה על חולשה בתוכנה, אלא על נציג תמיכה שעשה בדיוק את מה שנציג תמיכה אמור לעשות: פתח את הקובץ שהלקוח שלח.
למה תעודת חתימת קוד שווה כל כך הרבה
כשמפתחת תוכנה חותמת על קובץ הרצה בתעודת חתימת קוד, מערכת ההפעלה יודעת לומר למשתמש מי הגורם שאחראי לקובץ ושהוא לא שונה מאז. Windows מציג את שם החברה במקום אזהרה כללית על "מפרסם לא ידוע", מוצרי אבטחה מעלים את ציון האמון של הקובץ, ומדיניות ארגונית רבה מתירה הרצה של בינאריים חתומים בלי בדיקה נוספת.
תעודות EV, כלומר Extended Validation, נמצאות בקצה העליון של הסולם הזה. הרשות המנפיקה אמורה לאמת לעומק את זהות החברה שמבקשת אותן, והמפתח הפרטי אמור לשבת בחומרה ייעודית. בדיוק בגלל התהליך הכבד הזה, מערכות אבטחה מתייחסות לקובץ חתום ב-EV כאל קובץ אמין במיוחד. תוקף שמצליח לחתום את הנוזקה שלו בתעודה כזו לא רק מסתיר את עצמו, הוא קונה לעצמו את המוניטין של החברה שהתעודה נרשמה על שמה.
איך נכנסו פנימה
לפי SecurityWeek, התוקפים פנו ב-2 באפריל 2026 לערוץ הצ'אט של שירות הלקוחות ושלחו שוב ושוב את אותו קובץ ZIP שהוצג כצילום מסך של בעיה. בתוכו היה קובץ בסיומת scr, פורמט של שומר מסך ב-Windows שהוא למעשה קובץ הרצה רגיל. הסיומת הזו נראית תמימה לעין לא מאומנת, ובעיקר לא נראית כמו exe.
צוות ה-Trust Operations של DigiCert זיהה את ההדבקה הראשונה כבר למחרת, ב-3 באפריל, וסגר את התהליכים הזדוניים תוך שעות. הבעיה הייתה המחשב השני. אותו וקטור בדיוק הגיע לתחנה נוספת של נציג תמיכה, ועל התחנה הזו, בגלל תקלה בפריסת מנגנוני ההגנה, לא רץ EDR. ההדבקה השנייה נשארה מתחת לרדאר כמעט שבועיים, עד 14 באפריל.
הפער הזה הוא כל הסיפור. אותה נוזקה, אותו קובץ, אותו יום כמעט: על תחנה אחת עם ניטור היא נעצרה תוך שעות, ועל תחנה בלי ניטור היא נתנה לתוקף שבועיים של גישה חופשית.
ה-initialization code, המפתח האמיתי
מה שהתוקפים חיפשו בפנים לא היה מפתחות פרטיים. נציג תמיכה מאומת בפורטל הפנימי של DigiCert יכול להיכנס לחשבון של לקוח כדי לעזור לו, וכחלק מכך לראות initialization codes של הזמנות תעודה שממתינות להנפקה. הקוד הזה הוא מה שמאשר ללקוח למשוך בפועל את התעודה שהוזמנה עבורו.
הניסוח של DigiCert עצמה מסביר למה זה קריטי: "החזקה של initialization code, בשילוב עם הזמנה מאושרת, מספיקה כדי לקבל את התעודה שנובעת ממנה". כלומר התוקף לא היה צריך לפרוץ למערכת ההנפקה ולא לגנוב חומר קריפטוגרפי. הוא היה צריך רק לראות מחרוזת אחת בחשבון של לקוח, ולהשלים איתה תהליך שנראה למערכת כמו לקוח לגיטימי שמושך את התעודה שהזמין.
הכלים של הקבוצה
GoldenEyeDog, שמוכרת גם בשמות APT-Q-27, Dragon Breath ו-Miuuti Group, פעילה לפי Expel לפחות מאז 2015 ומתמקדת בעיקר בתחומי ההימורים, הגיימינג והפיננסים באסיה ובאוקיאניה. הטקטיקה החוזרת שלה היא בדיוק זו שהופעלה כאן: קבצים שמתחזים לצילומי מסך, שמובילים דרך קישור להורדת מטענים נוספים, ומשם לשרשרת DLL side-loading שבה קובץ הרצה לגיטימי טוען ספרייה זדונית במקום הספרייה שהוא ציפה לה. במקביל נפתח למשתמש מסמך PDF מזויף עם שגיאת 503, כדי שהלחיצה תיראה כאילו פשוט לא עבדה.
בסוף השרשרת יושב Golden Gh0st RAT, גרסה משודרגת של Gh0st RAT הוותיק. לפי Expel הוא יודע לשרוד אתחולים, לגנוב מידע, לפתוח מנהרת SOCKS, לתעד הקשות מקלדת, לצלם מסך, למנות תהליכים, להריץ פקודות מעטפת, להוריד מטענים נוספים ולמחוק את יומני האירועים של Windows אחריו.
המטען הזה לא הופיע יש מאין. חוקרי Elastic Security Labs תיעדו בנובמבר 2025 את RONINGLOADER, טוען רב-שלבי שמפיץ את אותה משפחת Gh0st דרך מתקיני NSIS שמתחזים ל-Google Chrome, ל-Microsoft Teams ולתוכנות מוכרות אחרות. הטוען הזה משתמש בדרייבר חתום בשם ollama.sys כדי לחסל תהליכי אבטחה מתוך הליבה, ומנצל לרעה את מנגנון PPL של Windows דרך ClipUp.exe כדי לדרוס את הבינארי של Microsoft Defender. הוא גם מכבה מוצרי אבטחה סיניים נפוצים כמו Qihoo 360 ו-Tencent PC Manager.
שימו לב מה קורה כאן: הקבוצה שכבר בנתה לעצמה יכולת להשתיק מוצרי הגנה בעזרת דרייבר חתום, הלכה וגנבה תעודות חתימה משלה.
מה קרה לתעודות
בין 14 ל-17 באפריל ביטלה DigiCert 60 תעודות חתימת קוד מסוג EV שהונפקו בחלון החשיפה, דרך ארבעה CA שונים. 27 מהן נקשרו ישירות לפעילות התוקף. אחת עשרה תעודות אותרו בזכות חוקרים ואנשי קהילה שראו אותן חותמות קבצים זדוניים בשטח, ואת השאר מצאה DigiCert בחקירה פנימית. הנוזקה שנחתמה בהן הייתה Zhong Stealer, משפחת גניבת מידע שמכוונת בין היתר לארנקי מטבעות קריפטו.
כאן שווה לשמור על דיוק: הקישור בין הכלים לבין GoldenEyeDog מבוסס היטב, אבל השאלה אם הקבוצה עצמה תכננה והובילה את הפריצה ל-DigiCert או שקיבלה גישה מגורם אחר עדיין לא סגורה. Expel מציגה את CylindricalCanine כאשכול פעילות מובחן בתוך הקבוצה, לא כהוכחה לתכנון מרכזי אחד.
DigiCert מצדה חסמה גישה של נציגים מיופי כוח ל-initialization codes, הוסיפה אימות רב-שלבי לתהליכים מנהלתיים, הגבילה את סוגי הקבצים שאפשר להעלות בערוצי התמיכה והרחיבה את התיעוד.
הזנב הארוך של אמון שנשבר
לאירוע היה גם המשך מוזר. ב-3 במאי הפיצה Microsoft עדכון חתימות שסימן בטעות שתי תעודות שורש לגיטימיות של DigiCert, בהן DigiCert Assured ID Root CA ו-DigiCert Trusted Root G4, כזדוניות תחת השם Trojan:Win32/Cerdigent.A!dha, והסיר אותן ממערכות Windows. מיקרוסופט תיקנה את זה בגרסת חתימות 1.449.430, אבל התקלה המחישה עד כמה התשתית הזו רגישה: הסרה שגויה של תעודת שורש שוברת אמון בשרשרת שלמה של תוכנות תקינות.
המסקנה המעשית משני הצדדים של הסיפור זהה. חתימה דיגיטלית תקפה מוכיחה שמישהו עבר תהליך אימות מול CA בנקודת זמן מסוימת, והיא לא מוכיחה שהקובץ שלפניכם אינו זדוני.
מה זה אומר בפועל
ארגונים שמסתמכים על מדיניות הרצה שמתירה אוטומטית כל בינארי חתום צריכים להבין שהם נותנים אמון בתהליך התמיכה של ה-CA, לא רק בקוד עצמו. עדיף לעבור למדיניות שמתירה הרצה לפי רשימה מוגדרת של תוכנות מאושרות, ולוודא שביטולי תעודות אכן נבדקים אצלכם בפועל ולא רק בתיאוריה. ולקח שני, פשוט יותר: התחנה שנפרצה בלי ניטור נשארה פרוצה שבועיים, ולכן שווה לבדוק מדי פעם לא רק שה-EDR מותקן בארגון, אלא שהוא באמת רץ על כל endpoint שאמור להיות מכוסה.
תגובות