פגם תוכנה בן חמש שנים ב-Coldcard עשוי היה לאפשר לתוקף לשחזר מפתחות פרטיים ולרוקן יותר מ-1,100 ביטקוין, מה שגרם ליצרנית הארנק לייחס את הגילוי בחלקו לבינה מלאכותית (AI).
האם בינה מלאכותית הייתה אחראית למציאת פרצת האבטחה ב-Coldcard?

תובנות מרכזיות
- זרעי שחזור המקושרים ל-Coldcard חשפו 1,128.4717 BTC בשווי של כ-71.1 מיליון דולר.
- Coinkite אומרת ש-AI ייתכן שמצאה את הפגם בן חמש השנים, אך הייחוס נותר לא מוכח.
- משתמשי Coldcard עם זרעים מושפעים חייבים ליצור ארנקים חדשים על קושחה מתוקנת.
סוויפ מתואם מרוקן מאות ארנקים
האירוע הפך לציבורי לאחר שכ-594 BTC, בשווי של כ-38 מיליון דולר באותה עת, הועברו מככ-500 כתובות ביטקוין חד-חתימה ב-30 ביולי. כאשר החדשות התפרסמו לראשונה, Bitcoin.com News ציינו שההעברות התרחשו בתוך כ-25 דקות ונראו כמכוונות לארנקים עם חולשה טכנית משותפת.
סקירות בלוקצ’יין מאוחרות יותר הרחיבו את היקף הגניבה האפשרי. חוקרים העריכו שבין 1,082 ל-1,196 כתובות ייתכן שהושפעו במהלך פרק זמן של כ-41 דקות. לוח מחוונים מותאם בשם Coldcard Sweep Watch הציב לאחר מכן את הסך הכולל על 1,128.4717 BTC, בשווי של כ-71.1 מיליון דולר כאשר הביטקוין נסחר סביב 63,044 דולר.

רוב הכספים אוחדו לכתובת שמחזיקה מאות ביטקוין, שבה חלק גדול נותר ברובו ללא תנועה. הכתובות שנפגעו נקשרו באמצעות פרט חשוב אחד: זרעי השחזור שלהן נוצרו על ארנקי חומרה של Coldcard שיוצרו על ידי החברה הקנדית Coinkite.
זרע שחזור הוא רשימת מילים השולטת בגישה לארנק קריפטו. כל מי שמסוגל לשחזר או להשיג את הזרע הזה יכול בדרך כלל להעביר את כספי הארנק בלי להחזיק במכשיר הפיזי.
Coldcard מוצאת מערכת אקראיות פגומה
Coinkite פרסמה אזהרה דחופה שלפיה זרעים מסוימים שנוצרו על גבי מכשירי Coldcard עלולים להיות חלשים. מכשירי Mk3 המריצים קושחה בגרסה 4.0.1, שיצאה סביב מרץ 2021, וגרסאות מאוחרות יותר היו בין אלה שעמדו בפני הסיכון הגדול ביותר.
ניתוח נוסף הרחיב את הדאגה לזרעים שנוצרו על חלק ממכשירי Mk4, Mk5 ו-Q לפני ש-Coinkite פרסמה תיקוני קושחה חירומיים. לפי הדיווחים, מוצרי Tapsigner, Opendime ו-Satscard לא הושפעו משום שהם משתמשים בתוכנה שונה.
הפגם היה קשור לתהליך שבו משתמשים ליצירת נתונים אקראיים. ארנקים מאובטחים תלויים באקראיות באיכות גבוהה כדי שלא ניתן יהיה לנחש את זרעי השחזור שלהם. במכשירי Mk3 שנפגעו בצורה החמורה ביותר, החוקרים העריכו כי הזרע עשוי היה להכיל רק כ-40 ביט של אקראיות אפקטיבית במקום 128 הביטים המתוכננים.
ההבדל הזה קריטי. זרע 128-ביט שנוצר כראוי נחשב למעשה בלתי אפשרי לניחוש באמצעות כוח גס. זרע 40-ביט מציע באופן דרמטי פחות אפשרויות, ומאפשר לתוקף עם מספיק כוח חישוב לבדוק זרעים פוטנציאליים אופליין ולהשוות את הכתובות המתקבלות עם בלוקצ’יין הביטקוין הציבורי.
מכשירים חדשים יותר ייתכן שסיפקו כ-72 ביט של אקראיות אפקטיבית משום שחומרה מאובטחת הוסיפה שכבה נוספת של נתונים בלתי צפויים. הדבר היה מקשה יותר על שחזור הזרעים, אם כי עדיין חלש בהרבה מהמתוכנן.
טעות תצורה אחת שרדה במשך 5 שנים
הבעיה התחילה בטעות תצורה בזמן בנייה (build-time) שכללה שתי פונקציות תוכנה שביצעו עבודות דומות. פונקציה אחת השתמשה במחולל מספרים אקראיים אמיתי מבוסס-חומרה של המכשיר, בעוד השנייה הסתמכה על תהליך תוכנה חלש יותר שהועבר מ-MicroPython.
Coinkite התכוונה להשבית את האפשרות של MicroPython. עם זאת, בדיקת תוכנה הסתכלה רק על כך שתווית תצורה הוגדרה, ולא על האם הערך שלה הוגדר לאפס. כתוצאה מכך, הקושחה הסופית יכלה לבחור בשקט את הפונקציה החלשה יותר.
מכיוון שלשתי הפונקציות היו פורמטים תואמים, התוכנה המשיכה להתקמפל ולרוץ בלי להפיק שגיאה ברורה. הטעות נכנסה לקוד סביב מעבר תוכנה ב-2021 ונשארה בקושחה הזמינה לציבור במשך יותר מחמש שנים.
עדכון מכשיר כעת לא יחזק זרע שנוצר תחת התוכנה הפגומה. משתמשים מושפעים חייבים ליצור זרע חדש לחלוטין באמצעות קושחה מתוקנת או מכשיר מאובטח אחר, ואז להעביר את כספיהם לכתובות הנשלטות על ידי הזרע החדש.

משתמשים שהוסיפו לפחות 50 הטלות קובייה עצמאיות בעת יצירת הזרע שלהם ייתכן שסיפקו מספיק אקראיות נוספת כדי להימנע מהחולשה. סיסמת מעבר (passphrase) חזקה לפי BIP-39 יכולה גם הייתה להקשות על השחזור, בעוד שארנקים הדורשים חתימות מכמה מכשירים עצמאיים ייתכן שמנעו מזרע אחד שנפרץ להעביר כספים לבדו.
Coinkite מצביעה על AI, אך הוכחה עדיין חסרה
מנכ”ל Coinkite, רודולפו נובאק, התנצל בפומבי ואמר שהחברה לוקחת אחריות מלאה על כשל הקושחה. הוא אמר שהצוות עובד על תוכנה מתוקנת, דוחות טכניים ותמיכה למשתמשים שנפגעו.
Coinkite ונובאק גם העלו תיאוריה בולטת לגבי האופן שבו הפגם התגלה. מכיוון שהקושחה שלה הייתה זמינה לציבור במשך שנים, החברה אמרה שהיא מאמינה שמישהו ייתכן שהשתמש ב-AI כדי לבחון גרסאות ישנות של הקוד ולאתר את מסלול האקראיות החלש.
“אל כל מפתח אחר: אנחנו מאמינים שזו מציאות מפוכחת של פרדיגמת ה-AI החדשה. סקירת קוד בסיוע AI יכולה כעת למצוא באגים סמויים במהירות שמקדימה אפילו את המומחים המנוסים ביותר בתעשייה,” כתב נובאק בפוסט ההתנצלות שלו שפורסם ב-X. “אם הקושחה שלכם בקוד פתוח או הייתה אי פעם ציבורית, הניחו שהיא כבר נקראת על ידי תוקפים ומגינים כאחד.”
מערכות קידוד מודרניות של AI כיום יכולות לעבד מאגרי תוכנה גדולים ולזהות קשרים חשודים בין הגדרות תצורה, פונקציות והנחות אבטחה. תוקף יכול לבקש ממערכת כזו לחפש באופן ספציפי מחוללי מספרים אקראיים חלשים, פונקציות גיבוי (fallback) או שגיאות המשפיעות על מפתחות קריפטוגרפיים.

חוקרים עצמאיים דיווחו מאוחר יותר שהם השתמשו במודלי AI כדי לאתר או להסביר את הבעיה לאחר שבעיית האקראיות הבסיסית הייתה ידועה. הדבר הדגים עד כמה ניתוח קוד בסיוע AI הפך לנגיש, אך הוא לא ביסס שהתוקף המקורי השתמש ב-AI.

Coinkite הודתה שהבדיקה שלה עצמה באמצעות מודל AI מוביל לא הצליחה לחשוף את הפגם לפני הגניבה. התוצאה הזו מראה שמערכות AI אינן מוצאות אוטומטית כל פגם חמור. הביצועים שלהן יכולים להיות תלויים בהנחיות שהן מקבלות, בכמות הקוד שמסופקת ובשאלה האם סוקר אנושי מבין את סימני האזהרה.
מבקרים אומרים שהכשל האנושי הגיע קודם
חלק ממומחי האבטחה טוענים שהתמקדות מוגזמת ב-סיכוני בינה מלאכותית (AI) מסיטה את תשומת הלב מכשל הנדסי בסיסי. רבים מאמינים שטעות התצורה הייתה סוג מוכר של שגיאת תוכנה, וביקורות קוד קונבנציונליות, נהלי בדיקות או ביקורות אבטחה (audits) המתמקדים ביצירת זרעים יכלו לזהות אותה שנים קודם לכן.

הדעות המנוגדות אינן בהכרח בלתי תואמות. טעות אנוש יצרה את הפגיעות ואפשרה לה להתמיד, בעוד ש-AI ייתכן שהפחיתה את העלות של מציאה, הבנה או ניצול שלה. מגינים חייבים לזהות כל חולשה מסוכנת, בעוד שתוקף צריך לאתר רק אחת.
האירוע גם מאתגר הנחות לגבי אבטחת קוד פתוח. קוד ציבורי מאפשר למומחים עצמאיים לבחון תוכנה, אך עצם הזמינות לבדה אינה מבטיחה שמישהו יסקור את החלק הנכון, יזהה פגם עדין וידווח עליו לפני שתוקף יפעל.
עבור משתמשי Coldcard, העדיפות המיידית היא לקבוע מתי וכיצד הזרע שלהם נוצר. כל מי שיש לו זרע מושפע חייב לאמת הנחיות דרך ערוצי Coinkite הרשמיים, להתקין קושחה מתוקנת, ליצור זרע חדש ולהעביר כספים בזהירות תוך שמירה על ערנות לניסיונות פישינג ולהודעות תמיכה מזויפות.
השאלות ארוכות הטווח יתמקדו בכמה ביטקוין נלקח, האם חוקרים יכולים לזהות את התוקף, והאם ל-AI היה תפקיד מכריע כלשהו במציאת הפגם. חברות ארנקי חומרה גם יעמדו תחת לחץ לחזק בדיקות אנטרופיה, לבצע ביקורת על תצורות בנייה, ולבחון באופן מתמשך קוד ישן הן עם מומחים אנושיים והן עם כלי AI יריביים.
מאמר זה תורגם מאנגלית באמצעות בינה מלאכותית. הגרסה המקורית באנגלית היא המקור הקובע; תרגומים אוטומטיים עשויים להכיל אי-דיוקים, במיוחד במונחים משפטיים ורגולטוריים.
















