باگ RNG کلدکارد و سرقت ۸۸ میلیون دلاری بیتکوین
خلاصهٔ کاملتر
به گفتهٔ گزارش تیمهای مهندسی و امنیت Block، فریمور کیف پول سختافزاری COLDCARD یه خطای یکپارچهسازی تو کد تولید عدد تصادفی داشته: تابع ngu.random بهجای RNG سختافزاری تراشهٔ STM32 میرفته سراغ فالبک نرمافزاری و قطعیِ MicroPython به اسم Yasmarang. دستگاه یه تصادفیسازِ سختافزاری جدا داره، ولی یه بررسی اشتباه تو کد باعث میشده عملاً ازش استفاده نشه.
مشکل اینجاست که اون فالبک، تصادفیبودنش رو از شناسهٔ میکروکنترلر و مقدارهای زمانبندی سیستم میگیره؛ چیزهایی که Block میگه از نظر رمزنگاری امن نیستن و ممکنه قابل مشاهده یا بازسازی باشن. نتیجهش اینه که مهاجم میتونه آفلاین سیدهای ممکن رو بسازه، آدرس بیتکوینشون رو حساب کنه و با آدرسهای روی بلاکچین مقایسه کنه؛ هر تطابق یعنی کلید خصوصی اون کیف پول لو رفته.
Galaxy Research میگه موج اول برداشتها حدود ۳۰ ساعت قبل از افشای عمومی نقص رخ داده: تو ۴۱ دقیقه نزدیک ۱۰۸۳ بیتکوین از ۱۱۹۶ آدرس خارج شده و با موج دوم و سوم مجموع به ۱۳۶۷ بیتکوین یعنی حدود ۸۸.۶ میلیون دلار از ۴۵۸۵ آدرس رسیده. به گفتهٔ گلکسی همهٔ تراکنشها کارمزد ثابت و بدون خروجی باقیمانده داشتن که نشونهٔ یه ابزار خودکاره، نه جابهجایی پول توسط صاحبش. Chainalysis هم میگه مهاجم اول سراغ کیف پولهای پرپول رفته.
کوینکایت تو اطلاعیهش گفته سیدهای ساختهشده روی Mk2 و Mk3 با فریمور ۴.۰.۱ تا ۴.۱.۹، Mk4 و Mk5 قبل از نسخهٔ ۵.۶.۰ و دستگاههای Q قبل از ۱.۵.۰Q در معرض خطرن. نسخههای اصلاحشده منتشر شده، ولی آپدیت فریمور سیدِ قبلی رو درست نمیکنه: کاربر باید بکاپ فعلی رو چک کنه، فریمور جدید رو نصب کنه، سید تازه بسازه، آدرس جدید رو روی دستگاه تأیید کنه، یه تراکنش کوچیک تست بزنه و بعد بقیهٔ پول رو منتقل کنه.
کوینکایت میگه سیدهایی که با حداقل ۵۰ پرتاب تاسِ منصفانه و خصوصی تکمیل شدن از این نقص در امانان و یه پسفریز قوی BIP-39 هم کار مهاجم رو سختتر میکنه، ولی سیدِ معیوب رو ترمیم نمیکنه. محصولات TAPSIGNER، OPENDIME و SATSCARD چون کدبیس جداگانه دارن تحت تأثیر نیستن. شرکت همچنین دستگاههای آمادهٔ ارسال با فریمور آسیبپذیر رو نابود کرده و به مشتریهایی که دستگاهشون ارسال شده بود ایمیل هشدار زده.
نکات کلیدی:
- خطای یکپارچهسازی باعث شده کلدکارد بهجای RNG سختافزاری STM32 از فالبک قطعیِ Yasmarang استفاده کنه
- سیدهای ساختهشده با اون فریمورها آفلاین قابل بازتولید بودن و کلید خصوصیشون لو میره
- برآورد Galaxy Research: حدود ۱۳۶۷ بیتکوین، نزدیک ۸۸.۶ میلیون دلار، از ۴۵۸۵ آدرس
- نسخههای امن: ۴.۲.۰ برای Mk2/Mk3، ۵.۶.۰ برای Mk4/Mk5 و ۱.۵.۰Q برای Q
- آپدیت فریمور سیدِ قدیمی رو درست نمیکنه؛ باید سید جدید ساخت و دارایی رو منتقل کرد




