תאריך הדיווח: 2023-12-20
תאריך האירוע: 2023-12-14
סוג האירוע שזוהה: גישה לא מורשית וקוד זדוני
תקציר מנהלים
Ledger זיהה ניצול באמצעות Ledger Connect Kit ביום חמישי ה-14 בדצמבר 2023. ניצול זה החדיר קוד זדוני ל-DApps שהשתמשו ב- Ledger Connect Kit, והטעה משתמשי EVM DApp לחתום על עסקאות שמרוקנות את הארנקים שלהם. הניצול זוהה במהירות והחלטה יושמה זמן קצר לאחר מכן. בינתיים, כמות קטנה של משתמשים נפלו למתקפה וחתמו על עסקאות שרוקנו את הארנק.
ציר זמן
שעות ציר הזמן מפורטות לפי אזור הזמן שעון מרכז אירופה (CET):
2023-12-14: בוקר: עובד לדג'ר לשעבר נפל קורבן למתקפת פישינג מתוחכמת שקיבלה גישה לחשבון ה-NPMJS שלהם, תוך עקיפת 2FA, באמצעות אסימון ההפעלה של האדם.
2023-12-14 - 09:49 / 10:44 / 11:37: התוקף פרסם ב-NPMJS (מנהל חבילות לקוד Javascript משותף בין אפליקציות), גרסה זדונית של Ledger Connect Kit (המשפיעה על גרסאות 1.1.5, 1.1.6 ו-1.1.7). הקוד הזדוני השתמש בפרויקט WalletConnect נוכל כדי לנתב מחדש נכסים לארנקים של האקרים.
2023-12-14: 1.45:XNUMX: לדג'ר הודע למתקפה המתמשכת הודות לתגובה המהירה של שחקנים שונים במערכת האקולוגית, כולל בלוקייד שהגיע לצוות לדג'ר ושיתף עדכונים ב-X.
2023-12-14: 2.18:XNUMX: צוותי הטכנולוגיה והאבטחה של Ledger הוזעקו על המתקפה וגרסה מקורית של Ledger Connect Kit נפרסה על ידי צוותי Ledger תוך 40 דקות מהיוודעה של Ledger. בשל האופי של CDN (Content Delivery Network) ומנגנוני אחסון במטמון באינטרנט, הקובץ הזדוני נשאר נגיש עוד קצת. מההסדרה של NPMJS ועד להחלטה המלאה, עברו כ-5 שעות. הזמינות המורחבת הזו של הקוד הזדוני הייתה תוצאה של הזמן שלקח ל-CDN להפיץ ולעדכן את המטמונים שלו ברחבי העולם עם הגרסה העדכנית והאמיתית של הקובץ. למרות נוכחות הקובץ בחמש שעות, אנו מעריכים מהחקירה שלנו כי החלון שבמהלכו נוקזו באופן אקטיבי נכסי משתמשים הוגבל לפחות משעתיים בסך הכל.
Ledger תיאם במהירות עם השותף שלנו WalletConnect, שהשבית את מופע WalletConnect הנוכל המשמש לניקוז נכסים מהמשתמשים.
2023-12-14: 2.55:XNUMX עם התיאום שלנו, Tether הקפיא את ה-USDT של התוקפים (השווה. TX).
ניתוח סיבות שורש, ממצאים ואמצעי מניעה
הקשר
פנקס Connect-Kit היא ספריית קוד פתוח של Java Script המאפשרת למפתחים לחבר את ה-DApps שלהם לחומרת Ledger. ניתן לשלב אותו באמצעות Connect-Kit-loader רכיב המאפשר ל-DApp לטעון את ה-Connect-Kit בזמן ריצה מ-CDN. זה מאפשר למפתחי DApp לקבל תמיד את הגרסה העדכנית ביותר של Connect-Kit ללא צורך לעדכן ידנית גרסאות חבילה ולשחרר גרסאות חדשות. ה-CDN המשמש את Ledger עבור ההפצה הוא NPMJS. רוב ה-DApps שילבו את Connect-Kit באמצעות Connect-Kit-loader המוזכר.
בניצול Ledger Connect Kit, לתוקף לא הייתה גישה בכל עת לתשתית Ledger, למאגר קוד Ledger או ל-DApps עצמם. התוקף הצליח לדחוף חבילת קוד זדונית בתוך ה-CDN במקום ה-Connect-Kit עצמו. קוד Connect-Kit זדוני זה נטען אז באופן דינמי על ידי DApps שכבר משלבים את Connect-Kit-loader.
הניצול של Ledger Connect Kit מדגיש את הסיכונים ש- Ledger והתעשייה מתמודדים יחד עם כדי להגן על משתמשים, וזה גם תזכורת שביחד אנחנו צריכים להמשיך להעלות את רף האבטחה סביב DApps שבהם המשתמשים יעסקו בחתימה מבוססת דפדפן. זה היה השירות של לדג'ר שניצל הפעם, אבל בעתיד זה יכול לקרות לשירות או ספרייה אחרת.
סיבה שורשית
על מנת להיות מסוגל לדחוף את חבילת הקוד הזדוני ב-NPMJS, התוקף דייג עובד לשעבר כדי למנף את הגישה של האדם ב-NPMJS. הגישה של העובד לשעבר למערכות של Ledger (כולל Github, שירותים מבוססי SSO, כל הכלים הפנימיים של Ledger וכלים חיצוניים) בוטלה כהלכה, אך למרבה הצער הגישה של העובדים לשעבר ל-NPMJS לא בוטלה כראוי.
אנחנו יכולים לאשר שזה היה אירוע בודד מצער. גישה לתשתית Ledger על ידי עובדי Ledger בוטלה אוטומטית במהלך יציאת עובדים, עם זאת, בשל האופן שבו השירותים והכלים הטכנולוגיים הנוכחיים פועלים כיום בעולם, איננו יכולים לבטל אוטומטית גישה לכלים חיצוניים מסוימים (כולל NPMJS), ויש לטפל בהם באופן ידני עם רשימת בדיקת יציאה לעובדים עבור כל אדם. ל-Ledger יש נוהל יציאה קיים ומתעדכן באופן קבוע שבו אנו מסירים עובדים עוזבים מכל הכלים החיצוניים. במקרה אינדיבידואלי זה, הגישה לא בוטלה באופן ידני ב-NPMJS, שאנו מצטערים עליו, ואנחנו בוחנים עם שותף חיצוני של צד שלישי.
מדובר בפיגוע מתוחכם שערך התוקף. למרות שאכפת אימות דו-גורמי (2FA) בחשבון הממוקד NPMJS, שבדרך כלל ירתיע ניסיונות רבים, התוקף עקף את אמצעי האבטחה על ידי ניצול מפתח API המשויך לחשבון של העובד לשעבר.
ההתקפה הספציפית הזו אפשרה לתוקף להעלות גרסה זדונית חדשה של ערכת Ledger Connect שהכילה את מה שמכונה התוכנה הזדונית Angel Drainer. Angel Drainer הוא תוכנה זדונית כשירות שתוכננה במיוחד ליצירת עסקאות זדוניות שמרוקנות את הארנקים כשהן נחתמות. זוהי תשתית שלמה המתמחה ברשתות EVM שפורסת חוזים חכמים לפי דרישה ומבצעת עסקאות מותאמות על מנת למקסם את הנזק.
לצערי, NPMJS.com אינו מאפשר ריבוי הרשאות או אימות חתימה עבור אוטומטי הוֹצָאָה לְאוֹר. אנו עובדים על הוספת מנגנוני אד-הוק לאכיפת בקרות נוספות בשלב הפריסה.
ממצאים
זו הייתה מתקפה מוכנה היטב שבוצעה על ידי תוקפים מנוסים. טכניקת ההתחזות שהושמה לא התמקדה באישורים, וזה מה שאנו רואים ברוב התקפות ה-Front-End המשפיעות על המערכת האקולוגית, אלא במקום זאת התוקף עבד ישירות על אסימון ההפעלה.
התוכנה הזדונית שבה נעשה שימוש הייתה אנג'ל דריינר, וצוות האבטחה של לדג'ר ראה בשלושת החודשים האחרונים עלייה בפעילויות פליליות באמצעות תוכנה זדונית זו (נא לעיין בפרסום זה דוח חסימה). אנו יכולים גם לראות בשרשרת שהכספים שנגנבו מתחלקים: 85% לנצלן ו-15% ל-Angel Drainer, מה שעלול להיראות כתוכנה זדונית כשירות.
Angel Drainer זה מרמה משתמשים לחתום על סוגים שונים של עסקאות בהתאם לסוג הנכס שאליו הוא מכוון כעת. עבור אסימוני ERC20 ו-NFT, הוא מבקש מהמשתמשים לחתום הסכמה ו יתר הודעות. עבור אסימונים מקומיים, המנקז מבקש מהמשתמש לחתום על עסקת "תביעה" מזויפת שבה לטעון השיטה פשוט גורפת את הכספים, או העברות אסימונים פשוטות שניתן לטאטא מאוחר יותר על ידי פריסת חוזה חכם בכתובת המתאימה.
זו הסיבה שאנו ממשיכים לעודד חתימה ברורה כתעשייה, כך שמשתמשים יוכלו לאמת את מה שהם רואים בתצוגה מהימנה במכשיר החומרה של Ledger שלהם.
פעולות מתקנות
צוותי האבטחה והטכנולוגיה של Ledger, כולל צוות ההנהלה של Ledger, בודקים ובוחנים כעת את כל בקרות הגישה שלנו בכלים ומערכות פנימיים וחיצוניים של Ledger שבהם אנו משתמשים.
Ledger תחזק את המדיניות שלה בכל הנוגע לבדיקת קוד, פריסה, הפצה ובקרות גישה, כולל הוספת כל הכלים החיצוניים לבדיקות התחזוקה והיציאה שלנו. נמשיך להכליל את חתימת הקוד כשזה רלוונטי. בנוסף, אנו עורכים ביקורות פנימיות חוזרות על מנת לוודא שהדבר מיושם כראוי.
Ledger כבר מארגן מפגשי אבטחה, כולל הדרכת דיוג. תוכנית ההכשרה לאבטחת פנים תתגבר גם בתחילת 2024 עבור כל העובדים במחלקות שלהם. Ledger כבר מארגן הערכות אבטחה קבועות של צד שלישי ותמשיך לתעדף הערכות אלו.
בתחילת 2024, תיערך ביקורת צד שלישי ספציפית שתתמקד בבקרת גישה, קידום קוד והפצה.
בנוסף, נחזק את מערכות הניטור וההתראה של התשתית שלנו כדי להיות מסוגלים לזהות ולהגיב אפילו מהר יותר לתקריות עתידיות.
לבסוף, נכפיל את מניעת החתימה עיוורת, נסיר אותה כאופציה עבור משתמשי Ledger כדי להבטיח שיטות אבטחה מירביות, ונלמד את המשתמשים על ההשפעה הפוטנציאלית של חתימת עסקאות ללא תצוגה מאובטחת או הבנה על מה הם חותמים על ידי אי-שימוש חתימה ברורה.
אנו מודים שוב לשותפים שלנו במערכת האקולוגית על העבודה המהירה עם צוותי Ledger על זיהוי ופתרון הניצול.
- הפצת תוכן ויחסי ציבור מופעל על ידי SEO. קבל הגברה היום.
- PlatoData.Network Vertical Generative Ai. העצים את עצמך. גישה כאן.
- PlatoAiStream. Web3 Intelligence. הידע מוגבר. גישה כאן.
- PlatoESG. פחמן, קלינטק, אנרגיה, סביבה, שמש, ניהול פסולת. גישה כאן.
- PlatoHealth. מודיעין ביוטכנולוגיה וניסויים קליניים. גישה כאן.
- מקור: https://www.ledger.com/blog/security-incident-report
- :יש ל
- :הוא
- :לֹא
- :איפה
- 09
- 1
- 10
- 11
- 14th
- 15%
- 2023
- 2024
- 26%
- 2FA
- 40
- 51
- 7
- a
- יכול
- גישה
- נגיש
- חֶשְׁבּוֹן
- באופן פעיל
- פעילויות
- שחקנים
- Ad
- מוסיף
- תוספת
- בנוסף
- כתובת
- משפיע
- לאחר
- שוב
- תעשיות
- להתיר
- מאפשר
- מאפשר
- כְּבָר
- גם
- תמיד
- an
- אנליזה
- ו
- מַלְאָך
- אחר
- כל
- API
- בערך
- אפליקציות
- ARE
- סביב
- AS
- הערכות
- נכס
- נכסים
- המשויך
- At
- לתקוף
- המתקפות
- ניסיונות
- בדיקה
- ביקורת
- ביקורת
- אימות
- באופן אוטומטי
- זמינות
- מודע
- בָּר
- מבוסס
- BE
- התהוות
- להיות
- בֵּין
- בקצרה
- בונה
- אבל
- by
- CAN
- לא יכול
- מקרה
- לגרום
- מֶרכָּזִי
- מסוים
- שרשראות
- בדיקות
- ברור
- קוד
- ביקורת קוד
- יַחַד
- מגיע
- להשלים
- רְכִיב
- מנוהל
- מוליך
- לאשר
- לְחַבֵּר
- הכלול
- תוכן
- להמשיך
- חוזה
- חוזים
- לִשְׁלוֹט
- בקרות
- מתואם
- תאום
- תוֹאֵם
- יכול
- לעצב
- אישורים
- פלילי
- נוֹכְחִי
- כיום
- נזק
- דפ
- מפתחי DApp
- DAPs
- דֵצֶמבֶּר
- מסירה
- דרישה
- מחלקות
- תלוי
- פרס
- פריסה
- פריסה
- פורס
- מעוצב
- למרות
- מְפוֹרָט
- לאתר
- זוהה
- מפתחים
- מכשיר
- DID
- אחר
- ישירות
- נכה
- לְהַצִיג
- הפצה
- עושה
- לְהַכפִּיל
- מטה
- לנקז
- סחוט
- ראוי
- בְּמַהֲלָך
- באופן דינמי
- כל אחד
- מוקדם
- המערכת האקולוגית
- לחנך
- או
- עובד
- עובדים
- מופעל
- לעודד
- אכיפה
- לעסוק
- לְהַבטִיחַ
- ERC20
- לְהַעֲרִיך
- אֵירוֹפִּי
- אֲפִילוּ
- EVM
- יצא לפועל
- מנהלים
- קיימים
- מנוסה
- לנצל
- ומנוצל
- מנצל
- מוּרחָב
- חיצוני
- פָּנִים
- מְזוּיָף
- מהר יותר
- שלח
- ממצאים
- חמש
- לסדר
- להתמקד
- מרוכז
- בעד
- לשעבר
- החל מ-
- כספים
- כספים נגנבו
- נוסף
- עתיד
- צבר
- אמיתי
- GitHub
- ברחבי עולם
- לקרות
- חומרה
- מכשיר חומרה
- יש
- יש
- פסים
- שעה
- שעות
- איך
- אולם
- http
- HTTPS
- זיהוי
- פְּגִיעָה
- יושם
- in
- תקרית
- כלול
- כולל
- להגדיל
- בנפרד
- תעשייה
- תשתית
- בתוך
- למשל
- במקום
- לשלב
- משולב
- פנימי
- אינטרנט
- אל תוך
- חקירה
- מְבוּדָד
- IT
- שֶׁלָה
- עצמו
- Java
- JavaScript
- מפתח
- מאוחר יותר
- האחרון
- פנקס
- פחות
- תנופה
- סִפְרִיָה
- קְצָת
- לִטעוֹן
- עוד
- נמוך
- עשוי
- תחזוקה
- לעשות
- תוכנות זדוניות
- מנהל
- באופן ידני
- רב
- max-width
- לְהַגדִיל
- בינתיים
- למדוד
- מנגנוני
- מוּזְכָּר
- הודעות
- דקות
- ניטור
- חודשים
- בוקר
- רוב
- צריך
- יליד
- טבע
- צורך
- רשת
- חדש
- NFT
- אסימונים nft
- בדרך כלל
- of
- on
- על השרשרת
- מתמשך
- לפתוח
- קוד פתוח
- להפעיל
- אפשרות
- or
- להזמין
- מארגן
- שלנו
- הַחוּצָה
- חבילה
- שותף
- שותפים
- צד
- עבר
- עבר
- דיוג
- התקפת דיוג
- מקום
- אפלטון
- מודיעין אפלטון
- אפלטון נתונים
- אנא
- pm
- מדיניות
- פוטנציאל
- פרקטיקות
- מוּכָן
- נוכחות
- מניעה
- תיעדוף
- הליך
- תָכְנִית
- פּרוֹיֶקט
- קידום
- כמו שצריך
- להגן
- לאור
- דחוף
- מהירות
- להעלות
- הגיע
- להגיב
- תגובה
- לאחרונה
- להתייחס
- מכונה
- להתחרט
- רגיל
- באופן קבוע
- לתגבר
- לשחרר
- רלוונטי
- נשאר
- תזכורת
- להסיר
- הסרת
- לדווח
- מאגר
- בקשות
- החלטה
- פתרון
- אלה
- תוצאה
- סקירה
- ביקורת
- סיכונים
- זמן ריצה
- s
- תסריט
- לבטח
- אבטחה
- לִרְאוֹת
- לראות
- שרות
- שירותים
- מושב
- הפעלות
- משותף
- סִימָן
- חֲתִימָה
- חָתוּם
- חתימה
- פָּשׁוּט
- בפשטות
- חכם
- חוזה חכם
- חוזים חכמים
- So
- מתוחכם
- מָקוֹר
- מיוחד
- ספציפי
- במיוחד
- לפצל
- התמחות
- התחלה
- גָנוּב
- בטוח
- במהירות
- מערכות
- מותאם
- משימות
- ממוקד
- מיקוד
- נבחרת
- צוותי
- טכניקה
- טכנולוגיה
- לִקְשׁוֹר
- מֵאֲשֶׁר
- להודות
- תודה
- זֶה
- השמיים
- העתיד
- שֶׁלָהֶם
- עצמם
- אז
- אלה
- הֵם
- שְׁלִישִׁי
- זֶה
- שְׁלוֹשָׁה
- יום חמישי
- זמן
- ל
- אסימון
- מטבעות
- כלים
- סה"כ
- הדרכה
- עסקה
- עסקות
- העברות
- מהימן
- שתיים
- סוג
- סוגים
- הבנה
- חסר מזל
- לצערי
- עדכון
- עדכונים
- USDT
- להשתמש
- מְשׁוּמָשׁ
- משתמש
- משתמשים
- באמצעות
- מכל
- אימות
- לאמת
- גרסה
- גירסאות
- קרבן
- כֶּרֶך
- ארנק
- ארנקים
- היה
- we
- טוֹב
- היו
- מה
- מה
- מתי
- אשר
- מי
- למה
- יצטרך
- חלון
- עם
- בתוך
- לְלֹא
- עבד
- עובד
- היה
- X
- זפירנט