تقریباً ۵۹۴ بیت کوین به ارزش حدود ۳۸ میلیون دلار، روز جمعه بین ساعت ۰۱:۳۱ تا ۰۱:۵۶ به وقت UTC (از ساعت ۰۵:۰۱ تا ۰۵:۲۶ صبح به وقت ایران) از حدود ۵۰۰ کیف پول مجزا جارو و خارج شد؛ این حمله به نقصی در نحوه تولید کلیدها توسط کیفپولهای سختافزاری «کولدکارد» (Coldcard) ردگیری شده است.
این سرقت، ۱,۳۲۴ تکه بیتکوین را در قالب ۵۰۰ تراکنش طی یک بازه زمانی ۳ بلاکی جابهجا کرد و سپس ۵۶۲ بیتکوین در یک آدرس واحد تجمیع شد که هنوز جابهجا نشده است.
تمام کیفپولهای خالیشده از نوع تکامضایی (single-signature) بودند و هر کدام بیش از ۰.۱۵ بیتکوین داشتند. بسیاری از آنها سالها راکد و بدون حرکت بودند و تاریخ کوینها بین سالهای ۲۰۲۱ تا ۲۰۲۶ را شامل میشد که تقریباً با عمرِ این نقص، تطابق دقیق دارد.
کولدکارد یک کیف پول سختافزاری ساختهشده توسط شرکت کانادایی «کوئینکایت» (Coinkite) است؛ دستگاهی کوچک و مجزا که کلیدهای بیتکوین را به صورت آفلاین و بهدور از رایانههای متصل به اینترنت نگهداری میکند. مدلهای Mk2 ،Mk3 ،Mk4 ،Q و Mk5 نسلهای پیدرپی این محصول هستند که طی چند سال عرضه شدهاند، درست همانطور که یک سازنده گوشی همراه مدلهای شمارهگذاریشده را روانه بازار میکند.
میزان آسیبپذیری به نسخه نرمافزار رابط (فیرمور/Firmware) دستگاه در لحظه ایجاد اولیه کیف پول بستگی دارد، نه به زمانی که سختافزار خریداری شده است.
عبارت بازیابی (Seed) یک کیف پول — یعنی همان عبارت محرمانهای که کنترل سرمایه را بر عهده دارد — قرار است به صورت کاملاً تصادفی از میان یک استخر انبوه و بیانتها انتخاب شود، طوری که حدس زدن آن غیرممکن باشد.
اما فیرمورِ کولدکارد این کار را انجام نمیداد. طبق گزارشی که توسط تیمهای امنیت و مهندسی بیتکوین در شرکت Block منتشر شده، یک تنظیمات در ساختار برنامه به دستگاه دستور داده بود تا مولد تصادفیسازِ سختافزاری خود را دور بزند و رد کند، و یک بررسی در یکی از کتابخانههای پشتیبان، فقط وجود داشتن آن تنظیمات را تست میکرد، نه روشن بودن آن را.
به این ترتیب، فرایند تولید کلید بهطور چراغخاموش به یک جایگزین نرمافزاری پایه تنزل یافت که مقدار اولیه خود را از شماره سریال چیپ و ثبتکنندههای ساعت (تایمر) دریافت میکرد.
هیچکدام از این موارد راز محرمانه نیستند. شماره سریال یک متادیتا و شناسه ثابت کارخانهای است و مقادیر ساعت نیز وضعیتهای زمانبندی هستند که یک مهاجم میتواند روی دستگاهِ خود آنها را محدودتر کرده یا اندازهگیری کند. شرکت Block این تغییر کد را به یک کامیت (ثبت کد) در تاریخ ۱ مارس ۲۰۲۱ ردگیری کرد که همان ماه در فیرمور نسخه 4.0.0 منتشر شده بود.
به همین ترتیب، شرکت Coinkite به کاربرانی که عبارت بازیابی خود را روی مدل Mk3 با نسخه 4.0.1 یا بالاتر ساخته بودند هشدار داد و گفت:
بر اساس تحلیلهای اولیه ما، مدلهای Mk4 ،Q و Mk5 تحت تأثیر این مشکل قرار نگرفتهاند.
شرکت Block اعلام کرد یافتههای خود را افشا و به Coinkite اطلاع داده و تیم Coinkite نیز آنها را تأیید کرده است. هر دو شرکت تحلیلهای خود را اولیه میدانند و Block اعلام کرده گزارش خود را بدون تستهای کامل برای تأیید قابلیت سوءاستفاده منتشر کرده، چرا که سوءاستفاده عملی در حال انجام بوده است.
این آسیبپذیری فراتر از عبارات بازیابی کیف پول است. همین مولد، کلیدهای خصوصیِ کیف پولهای کاغذیِ کولدکارد (که در آن خروجی مستقیماً و بدون مشتقسازی بعدی به کلید تبدیل میشود)، ماسکهای تقسیم عبارات بازیابی، کلیدهای کلونسازی دستگاه و انتقالهای Key Teleport را نیز تولید میکرده است.
بیت کوین در ساعات اولیه بازار آسیا بالای ۶۴,۰۰۰ دلار معامله شد و به نظر میرسد این تخلیه گسترده حسابها، تأثیر کمی بر کل بازار داشته است.
منبع: Coindesk
