یک حفره در سیستم کدگذاری کیفپول سختافزاری Coldcard برای چندین سال بدون شناسایی باقی ماند و منجر به سرقت بیش از ۱۰۰ میلیون دلار در ارزهای دیجیتال شد. این مشکل در فرآیند تولید کلید مخفی یا seed phrase رخ داد که محافظت از داراییهای کاربران را بر عهده دارد.
در اوت ۲۰۲۳، یک فرد به نام جاناتان گودمن اعلام کرد که تمامی موجودیهای بیتکوین او در کیفپول Coldcardاش خالی شده است. او به طور کامل از امنیت کیفپولش اطمینان داشت و حتی seed phrase را در محلی جدا نگهداری میکرد، اما در کمال تعجب، تمام داراییاش به سرقت رفت. این سرقت بخشی از حمله بزرگتری بود که Galaxy Research آن را مطرح کرد و تخمین زد حدود ۱۵۹۶ بیتکوین، به ارزش بیش از ۱۰۰ میلیون دلار، از حدود ۷۳۰۰ آدرس مختلف سرقت شده است.
مشکل در فرآیند تولید کلید
محققان مشخص کردند که خطای نرمافزاری در تولید تصادفی seed ها در نسخههای خاصی از firmware دستگاههای Coldcard رخ داده است. این مشکل در نسخه ۴.۰.۰ از نرمافزار این کیفپولها در مارس ۲۰۲۱ وارد شد و مدتها بدون تشخیص باقی ماند. این خطا به علت تغییری در فرآیند تولید تصادفی رخ داد که منجر به کاهش شدید میزان تصادفی بودن seed ها شد، به گونهای که مهاجمان میتوانستند از این ضعف بهرهبرداری کنند.
بررسیها نشان داد که این خطا تنها در دستگاههای نسخههای خاص مانند Mk2، Mk3، Mk4، و نسخههای بعد وجود دارد. این مشکل باعث شد تا بخش زیادی از seed ها از نظر entropy (آبجکت تصادفی) تنها ۷۲ بیت باشد، در حالی که هدف ۱۲۸ بیت بود. این موضوع شانس کشف Seed های مربوطه را برای مهاجمان بسیار افزایش داد.
واکنش شرکت و مراحل اصلاحی
شرکت Coinkite، سازنده Coldcard، پس از کشف این خطا، Firmware های اصلاحشده را برای نسخههای آسیبدیده منتشر کرده است. کاربران باید Firmware جدید را نصب، seed جدید تولید و وجوه خود را به آدرسهای جدید منتقل کنند. اما این اصلاحات تنها برای future seed ها موثر است و seed های قبلی که با نرمافزار آسیبدیده ساخته شدهاند، قابل اصلاح نیستند.
این حادثه بار دیگر نشان داد که اعتماد کامل به کیفپولهای سختافزاری، بدون بررسی کامل، ممکن است خطرات جدی به همراه داشته باشد. در حالی که کیفپولهای سختافزاری نسبت به حملات آنلاین مقاومتر هستند، اما نقص در فرآیند تولید و نگهداری کلیدهای خصوصی همچنان میتواند آنها را در برابر حملههای فریبنده آسیبپذیر کند.




