فریم‌ور Coldcard باگ ۱۰۰ میلیون دلاری را با اجبار آنتروپی کاربر در بذرهای جدید رفع کرد

کوین‌کیت، شرکت سازنده Coldcard، به‌روزرسانی میان‌افزاری را منتشر کرده است که تا زمانی که مالک به‌صورت دستی تصادفی بودن را تأمین نکند، بذر کیف پول جدیدی تولید نخواهد کرد.
این بدان معناست که حداقل ۵۰ بار تاس انداختن، ۱۲۸ بار شیر یا خط انداختن سکه، یا ۶۵ بار فشردن کلید با زمان‌بندی مشخص لازم است؛ این اقدام سه هفته پس از آن صورت می‌گیرد که نقصی در مولد اعداد تصادفی این شرکت، دارایی‌های مشتریان را در معرض خطر هکرها قرار داد.
دو خط تولید دستگاه Coldcard دارای مسیرهای میان‌افزاری جداگانه‌ای هستند، بنابراین این به‌روزرسانی دارای دو شماره است: ۵.۶.۱ برای مدل‌های Mk4 و Mk5، و ۱.۵.۱Q برای مدل Q که مدل بزرگتر با صفحه‌کلید و اسکنر QR است.
کوین‌کیت اعلام کرد که ورودی کاربر علاوه بر تصادفی بودن دستگاه از STM32 TRNG و هر دو عنصر امنیتی اضافه می‌شود.
Coldcard برای تولید آنتروپی بذر تنها از مولد سخت‌افزاری خود استفاده می‌کرد، اما کوین‌کیت علت این نقص را خطای ساخت و پیوند (build and link error) دانست که باعث شد تنظیمات غیرفعال‌کننده مسیر نرم‌افزاری بی‌اثر بماند و فراخوانی تولید عدد تصادفی به مولد شبه‌تصادفی (PRNG) Yasmarang در MicroPython هدایت شود؛ این مولد در مارس ۲۰۲۱ وارد مسیر بذر شده بود.
بذرهای تحت تأثیر، به جای ۱۲۸ بیت مورد انتظار، حدود ۷۲ بیت آنتروپی دارند؛ این اتفاق پس از آن رخ داد که در تاریخ ۳۰ جولای، ۵۹۴.۵ بیت‌کوین از ۵۰۰ آدرس برداشت شد.
میان‌افزار ۵.۶.۱ اکنون در زمان راه‌اندازی بررسی می‌کند که فراخوانی تولید عدد تصادفی به مسیر سخت‌افزاری مورد نظر می‌رسد و در صورت شکست، دستگاه را متوقف می‌کند. کوین‌کیت Yasmarang را با SHA-256 Hash_DRBG که در NIST SP 800-90A مشخص شده است، جایگزین کرده و در زمان راه‌اندازی با یک دایجست کامل ۲۵۶ بیتی از هر دو عنصر امنیتی، که در میان‌افزارهای قبلی به ۳۲ بیت محدود می‌شد، آن را مقداردهی اولیه می‌کند.
فشردن تصادفی کلیدها از طراحی مولد اعداد تصادفی دکمه‌ای پیتر تاد پیروی می‌کند و زمان‌بندی فشردن کلیدها را با دقت چرخه پردازنده هش می‌کند. اولین فشار، یک مرجع تعیین می‌کند و هر یک از ۶۴ فاصله زمانی بعدی، دو بیت آنتروپی را به خود اختصاص می‌دهد.
کوین‌کیت در اطلاعیه‌ای نوشت: «نصب این به‌روزرسانی، بذرهای آسیب‌پذیر موجود را امن نمی‌کند.» این شرکت به کسانی که بذرهایشان ممکن است بین سال‌های ۲۰۲۱ تا جولای ۲۰۲۶ روی میان‌افزارهای آسیب‌دیده تولید شده باشد، توصیه کرده است که یک بذر جایگزین ایجاد کرده و بیت‌کوین (BTC) خود را منتقل کنند. مدل‌های Mk2 و Mk3 خارج از این به‌روزرسانی هستند و حداقل نسخه ثابت آن‌ها ۴.۲.۰ باقی می‌ماند.
یک میزبان USB آلوده می‌توانست تراکنش مرحله‌بندی شده را پس از تأیید مالک، بازنویسی کند، به طوری که امضا خروجی‌های متفاوتی را پوشش دهد. دستگاه اکنون قبل از امضا کردن، این بایت‌ها را مجدداً بررسی کرده و با هشدار «تراکنش اصلاح شد» متوقف می‌شود.
صفحه وضعیت امنیتی جدید کوین‌کیت شامل چهار بررسی مستقل است، از جمله آزمایشی روی دستگاه واقعی که هشت بار خواندن مولد سخت‌افزاری را برای درخواست یک بذر ۳۲ بایتی مشاهده کرد و یک بازسازی که هر بایت از میان‌افزار امضا شده را مطابقت داد.
این شرکت خاطرنشان کرد که این بررسی‌ها «ممیزی کاملی از هر باینری میان‌افزار نیستند». همانطور که CryptoPotato گزارش داد، خسارات تأیید شده از ۱۰۰ میلیون دلار فراتر رفته است؛ Galaxy Research تعداد ۱,۵۹۶ بیت‌کوین را از حدود ۷,۳۰۰ آدرس شمارش کرده و موج چهارم مشکوکی در تاریخ ۳ آگوست نزدیک به ۴۴۹ بیت‌کوین را برداشت کرده است.

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *