ارائه توسط
Featured

سوءاستفادهٔ کلدکارد توضیح داده شد: چه کسی بیت‌کوین خود را از دست داد و چه کسانی در معرض خطر هستند

یک مهاجم با سوءاستفاده از سیدهای ضعیفی که توسط برخی کیف‌پول‌های سخت‌افزاری کولدکارد تولید شده بودند، در ۳۰ ژوئیه بیت‌کوینی به ارزش تقریبی ده‌ها میلیون دلار را از صدها آدرس سرقت کرد.

نویسنده
اشتراک
سوءاستفادهٔ کلدکارد توضیح داده شد: چه کسی بیت‌کوین خود را از دست داد و چه کسانی در معرض خطر هستند

نکات کلیدی

  • سرقت‌های مرتبط با کولدکارد در ۳۰ ژوئیه بیت‌کوین را از صدها کیف‌پول تخلیه کرد.
  • کوین‌کایت می‌گوید سیدهای Mk3 به‌جای ۱۲۸، حدود ۴۰ بیت آنتروپی داشته‌اند.
  • کاربران کولدکارد باید فریمور اصلاح‌شده را نصب کنند و پیش از جابه‌جایی دارایی‌ها، سیدهای جدید بسازند.

طبق یک تحلیل عمیق از Galaxy Research، سرقت اصلی در یک موج کاملاً هماهنگ و فشرده طی حدود ۲۵ دقیقه رخ داد، در حالی که تحلیل گسترده‌تر بعداً حدود ۱,۱۹۶ آدرس و تا ۱,۰۸۳ بیت‌کوین، به ارزش نزدیک به ۷۰ میلیون دلار، را به فعالیتی در بازه‌ای حدود ۴۱ دقیقه مرتبط دانست. ارقام نهایی ممکن است با ادامه ردیابی تراکنش‌ها در بلاک‌چین عمومی بیت‌کوین توسط محققان تغییر کند.

یک باگ ۵ ساله به کیف‌پول‌های بیت‌کوین در سراسر جهان رسید

کیف‌پول‌های آسیب‌دیده عمدتاً متعلق به هولدرهای بلندمدتی بودند که سیدهای بازیابی خود را با استفاده از دستگاه‌های Coldcard با فریمور آسیب‌پذیر که از مارس ۲۰۲۱ به بعد منتشر شده بود تولید کرده بودند. کولدکارد یک کیف‌پول سخت‌افزاری ایرگپ (air-gapped) ساخت شرکت کانادایی Coinkite است که برای ایزوله نگه‌داشتن کلیدهای بیت‌کوین (BTC) از دستگاه‌های متصل به اینترنت طراحی شده است.

بسیاری از آدرس‌های خالی‌شده سال‌ها بدون فعالیت مانده بودند. مهاجم با سرعت عمل کرد، کارمزدهای ثابتِ بالاتری پرداخت و هیچ خروجیِ «چنج» (change) باقی نگذاشت؛ یعنی هر آدرس به‌طور کامل تخلیه شد. این الگو نشان می‌داد عملیات به‌صورت خودکار و با استفاده از فهرستی آماده از کلیدهای خصوصی انجام شده، نه اینکه کاربران به‌طور مستقل دارایی‌های خود را جابه‌جا کرده باشند.

این سرقت ناشی از فیشینگ، بدافزار روی رایانه کاربر، سرقت فیزیکی دستگاه یا یک نفوذ از راه دورِ مرسوم نبود. در عوض، یک خطای فریمور، تصادفی‌بودنی را که هنگام ساخت سیدهای کیف‌پول در برخی دستگاه‌های کولدکارد استفاده می‌شد تضعیف کرد. آن سیدها ظاهری عادی داشتند، اما از دامنه‌ای بسیار کوچک‌تر از ترکیب‌های ممکن نسبت به چیزی که به کاربران وعده داده شده بود می‌آمدند.

مولد اعداد تصادفی کولدکارد بی‌سروصدا از کار افتاد

سید کیف‌پول بیت‌کوین یک راز است که معمولاً به شکل ۱۲ یا ۲۴ کلمه نمایش داده می‌شود و کیف‌پول از آن آدرس‌ها و کلیدهای خصوصی خود را تولید می‌کند. یک سید ۱۲ کلمه‌ای که به‌درستی تولید شده باشد ۱۲۸ بیت آنتروپی دارد؛ معیاری فنی که تعداد بسیار عظیمی از ترکیب‌های ممکن را توصیف می‌کند و حدس‌زدن سید را عملاً ناممکن می‌سازد.

قرار بود دستگاه‌های کولدکارد این تصادفی‌بودن را از یک مولد سخت‌افزاری اعداد تصادفی داخل میکروکنترلر دستگاه به‌دست آورند. این مؤلفه از نویز الکتریکی فیزیکی استفاده می‌کند که یک ناظر بیرونی نباید بتواند آن را پیش‌بینی کند.

با این حال، در جریان مهاجرت یک کتابخانه نرم‌افزاری در سال ۲۰۲۱، Coinkite افشا کرد که دو تابع تولید عدد تصادفی با رابط‌های همسان دچار اشتباه شدند. یکی به مولد سخت‌افزاری درستِ دستگاه دسترسی داشت. دیگری یک جایگزین نرم‌افزاری ضعیف بود که برای بردهایی بدون سخت‌افزار مناسب در نظر گرفته شده بود.

یک تنظیم پیکربندی، مسیر سخت‌افزاری پیش‌فرض MicroPython را غیرفعال کرده بود چون Coinkite یک wrapper سخت‌افزاری اختصاصی خود را ارائه می‌کرد. نرم‌افزار فقط بررسی می‌کرد که آیا آن تنظیم وجود دارد یا نه، نه اینکه آیا فعال است. چون تنظیم موجود بود اما مقدار صفر به آن اختصاص داده شده بود، فرآیند ساخت با موفقیت کامل شد، در حالی که تولید سید بی‌سروصدا به مولد نرم‌افزاری ضعیف‌تر منتقل شد.

داده‌های کارخانه و زمان‌بندی جایگزین تصادفی واقعی شدند

آن جایگزین تا حد زیادی به اطلاعات قابل پیش‌بینی دستگاه متکی بود، از جمله شناسه تراشه شبیه شماره سریال و مقادیر ساعت داخلی مرتبط با زمان‌بندی راه‌اندازی. مهاجمی که بتواند آن ورودی‌ها را محدود کند، با جست‌وجویی بسیار کوچک‌تر از دامنه ۱۲۸ بیتی مورد انتظار از یک سید امن روبه‌رو می‌شود.

Coinkite برآورد کرد فضای جست‌وجوی مؤثر برای سیدهای آسیب‌پذیر Mk3 تحت فرضیات فعلی حدود ۴۰ بیت است. این هنوز هم تعداد بزرگی از احتمالات است، اما می‌توان آن را با تجهیزات محاسباتی تخصصی جست‌وجو کرد؛ به‌ویژه وقتی مهاجم بتواند سیدهای کاندید را در برابر آدرس‌های بیت‌کوین قابل مشاهده روی بلاک‌چین مقایسه کند.

Screenshot of the Coldcard Mk3 model.
نمایی از مدل Coldcard Mk3.

مدل‌های جدیدتر کولدکارد، از جمله Mk4، Q و Mk5، مقداری تصادفی‌بودن را از یک «المنت امن» (secure element) اضافه کردند. با این حال، فقط بخش محدودی از آن به مولد تحت تأثیر می‌رسید و در نتیجه، برای سیدهایی که پیش از نصب فریمور اصلاح‌شده ساخته شده بودند، حدود ۷۲ بیت آنتروپی مؤثر برآورد شد. این از مسیر Mk3 قوی‌تر بود، اما همچنان پایین‌تر از استاندارد هدف‌گذاری‌شده ۱۲۸ بیت قرار داشت.

این تفاوت شبیه این است که یک ترکیب قفل واقعاً تصادفی را با ترکیبی جایگزین کنید که از شماره سریال قفل و زمانی که برای نخستین بار روشن شده مشتق شده است. ترکیب حاصل ممکن است تصادفی به نظر برسد، اما کسی که فرمول را بداند و بتواند اطلاعات اولیه را تخمین بزند، می‌تواند آن را بازتولید کند. بسیاری از کاربران در حال مهاجرت هستند؛ نه فقط از دستگاه‌های Mk3، بلکه از Mk4، Q و Mk5 نیز.

Coinkite به کاربران می‌گوید سیدهای کاملاً جدید بسازند

Coinkite هشدارهای امنیتی منتشر کرد و پس از آگاه‌شدن از تهدید فعال، فریمور اصلاح‌شده ارائه داد. این شرکت گفت کاربرانی که روی فریمورهای آسیب‌دیده سید ساخته‌اند باید با استفاده از نسخه اصلاح‌شده یک سید کاملاً جدید ایجاد کنند و بیت‌کوین خود را به آدرس‌هایی که توسط آن سید کنترل می‌شود منتقل کنند.

صرفِ نصب به‌روزرسانی کافی نیست. سید ساخته‌شده تحت سیستم معیوب برای همیشه ضعیف باقی می‌ماند، زیرا به‌روزرسانی فریمور نمی‌تواند به کلماتی که از قبل وجود دارند تصادفی‌بودن اضافه کند.

Coinkite به کاربران توصیه کرد دستگاه خود را به‌روزرسانی کنند، یک سید جدید بسازند، بکاپ و اثرانگشت (fingerprint) کیف‌پول را تأیید کنند، آدرس دریافت را کنترل کنند، یک تراکنش آزمایشی کوچک ارسال کنند و سپس باقی‌مانده موجودی را منتقل کنند. کاربران باید بکاپ قدیمی را تا زمان تأیید انتقال نگه دارند، اما دیگر نباید سید قدیمی را امن تلقی کنند.

این شرکت نسخه‌های اصلاح‌شده را چنین اعلام کرد: Mk3 نسخه 4.2.0 یا بالاتر، Mk4 و Mk5 نسخه 5.6.0 یا بالاتر، و Q نسخه 1.5.0Q یا بالاتر، به‌همراه نسخه‌های متناظر Edge. گفته شده محصولات Tapsigner، Opendime و Satscard از کد متفاوتی استفاده می‌کنند و تحت تأثیر قرار نگرفته‌اند.

امنیت افزوده از برخی دارندگان کولدکارد محافظت کرد

کاربرانی که هنگام تولید سید، به‌اندازه کافی پرتاب تاس مستقل اضافه کرده بودند تا حد زیادی محافظت شدند، زیرا تصادفی‌بودن خودشان ورودی معیوب نرم‌افزار را خنثی می‌کرد. Coinkite گفت دست‌کم ۵۰ پرتاب خصوصیِ یک تاس منصفانه محافظت کافی در برابر این مشکل فراهم می‌کند، هرچند پرتاب‌های بیشتر می‌تواند حاشیه امنیت گسترده‌تری ایجاد کند.

یک عبارت عبور (passphrase) قویِ BIP-39 نیز یک کیف‌پول جداگانه ایجاد می‌کند که فقط از روی کلمات سید قابل بازسازی نیست. کیف‌پول‌های چندامضایی که پیش از جابه‌جایی بیت‌کوین به کلیدهای چند دستگاه یا چند مکان نیاز دارند، وقتی سید آسیب‌پذیر کولدکارد فقط یکی از اجزای طرح امضا بوده، عمدتاً یا کاملاً محافظت شده‌اند.

اما این محافظت‌ها اختیاری بودند. به نظر می‌رسد بسیاری از قربانیان توصیه‌های امنیتی استانداردِ آن زمان را دنبال کرده بودند: خرید یک کیف‌پول سخت‌افزاری معتبر، تولید سید به‌صورت آفلاین، محافظت از بکاپ، و هرگز وارد نکردن آن در دستگاهی متصل به اینترنت.

Coinkite مسئولیت را می‌پذیرد و بحث به سمت هوش مصنوعی می‌رود

رودولفو نواک، مدیرعامل Coinkite که به‌طور گسترده با نام NVK شناخته می‌شود، در ۳۱ ژوئیه به‌صورت عمومی عذرخواهی کرد و گفت شرکت مسئولیت کامل شکست فریمور را می‌پذیرد. نواک نوشت: «متأسفم و ویران شده‌ام. تیم ما از خبر دیروز دل‌شکسته است.» او اذعان کرد که هات‌فیکس، سیدهای تازه‌ساخته‌شده را امن می‌کند، اما نمی‌تواند سیدهایی را که تحت نرم‌افزار آسیب‌پذیر تولید شده‌اند ترمیم کند.

Coinkite CEO Rodolfo Novak's article screenshot.
مقاله عذرخواهی رودولفو نواک، مدیرعامل Coinkite. منبع تصویر: X.

نواک توضیح داد که Coinkite پس از راستی‌آزمایی جزئیات، گزارش فنی کامل را منتشر خواهد کرد و به کاربران آسیب‌دیده که به‌دنبال گزارش پلیس، ادعای بیمه یا تحقیقات مستقل هستند کمک می‌کند. او همچنین به توسعه‌دهندگان هشدار داد که ابزارهای هوش مصنوعی (AI) اکنون می‌توانند کد عمومی قدیمی را برای یافتن ضعف‌های پنهان سریع‌تر از آنچه فرآیندهای بازبینی سنتی تشخیص می‌دهند اسکن کنند.

Coinkite تأکید کرد ناچار است فرض کند مهاجم با استفاده از هوش مصنوعی فریمور متن‌باز آن را بررسی کرده، هرچند هیچ مدرکی نشان نداده که نقص چگونه کشف شده است. شرکت همچنین اذعان کرد که یک بازبینی اخیر که با یک مدل پیشرو هوش مصنوعی انجام شده بود نتوانست این مشکل را شناسایی کند. چندین سازنده رقیب کیف‌پول سخت‌افزاری نیز در شبکه‌های اجتماعی اعلام کرده‌اند که محصولاتشان تحت تأثیر نیست.

«Ledger تحت تأثیر هشدار اخیر منتشرشده درباره Coldcard Mk3 قرار نگرفته است»، این شرکت پس از حادثه کولدکارد به کاربران X گفت. «دستگاه‌های Ledger از یک مولد اعداد تصادفی واقعیِ دارای گواهی (TRNG) استفاده می‌کنند که مستقیماً داخل تراشه Secure Element ما تعبیه شده و برای هر عبارت بازیابی مخفی ۲۴ کلمه‌ای، تمام ۲۵۶ بیت آنتروپی را تولید می‌کند.»

«کاربران Trezor: دارایی‌های شما امن است»، سازنده کیف‌پول سخت‌افزاری Trezor روز جمعه توضیح داد. «مشکل اخیر Coldcard محدود به فریمور سفارشی خودشان و نحوه تولید تصادفی‌بودن در برخی دستگاه‌هایشان است. Trezor آن کد را به اشتراک نمی‌گذارد.»

حساب X تریزور افزود:

«ما همیشه چندین منبع مستقل تصادفی‌بودن را با هم ترکیب کرده‌ایم (سخت‌افزار دستگاه + میزبان + المنت‌های امن در مدل‌های جدیدتر). واقعاً برای همه کسانی که بیت‌کوین از دست داده‌اند متأسفیم.»

کاربران کولدکارد باید از این پس چه چیزهایی را زیر نظر داشته باشند

هویت مهاجم همچنان نامعلوم است و بیت‌کوین‌های سرقت‌شده می‌توانند هر لحظه از آدرس‌های تجمیع‌کننده خود جابه‌جا شوند. محققان هنوز در تلاش‌اند مشخص کنند چند سید آسیب‌پذیر واقعاً تولید شده، چه مقدار بیت‌کوین همچنان در معرض خطر است، و آیا مهاجم پیشاپیش کیف‌پول‌های باارزش دیگری را شناسایی کرده است یا نه. با این حال، ممکن است Coinkite اطلاعات زیادی از مالکان بسیار قدیمی در اختیار نداشته باشد.

«شمشیر دولبه جالب: Coinkite برای محافظت در برابر نشت داده‌ها، تمام سوابق مشتریان را پس از ۱۲۰ روز پاک می‌کند»، جیمسون لاپ، هم‌بنیان‌گذار Casa، در X گزارش داد. «که یعنی آن‌ها نمی‌توانند با مشتریانی که طی ۵ سال گذشته کولدکاردهای آسیب‌پذیر خریده‌اند تماس بگیرند تا درباره این آسیب‌پذیری هشدار بدهند.»

X screenshot of the pseudonymous open-source bitcoin developer calle.
توسعه‌دهنده متن‌بازِ ناشناس بیت‌کوین با نام calle دیدگاه‌هایی درباره موضوع به اشتراک گذاشت. «واقعاً برای همه افراد آسیب‌دیده ناراحتم، به‌خصوص آن‌هایی که شاید تازه پس‌انداز عمرشان را از دست داده باشند. بدترین بخش این است که آن‌ها همه کارها را درست انجام داده بودند»، calle در X گفت.

این رخداد همچنین آزمونی خواهد بود برای اینکه آیا Coinkite می‌تواند اعتماد به کولدکارد را بازگرداند یا خیر، و اینکه آیا سازندگان کیف‌پول سخت‌افزاری بازبینی‌های مستقل و قوی‌تری برای تولید سید اتخاذ می‌کنند یا نه. برای کاربران، اولویت فوری ساده‌تر است: هر کسی که روی فریمورهای آسیب‌دیده و بدون آنتروپی مستقلِ قوی از تاس، بدون passphrase، یا بدون محافظت چندامضایی یک سید ساخته است، باید آن را در معرض خطر بداند و با دقت دارایی‌ها را به یک کیف‌پول تازه‌تولیدشده منتقل کند.

فراتر از این سرقت ویرانگر، بیت‌کوینرها در سراسر جامعه زنگ خطر را به صدا درآورده‌اند و دیگران را ترغیب می‌کنند پیش از آنکه کیف‌پول‌های آسیب‌پذیر بیشتری تخلیه شوند، این خبر را منتشر کنند.

این مقاله با استفاده از هوش مصنوعی از انگلیسی ترجمه شده است. نسخه اصلی انگلیسی منبع معتبر است؛ ترجمه‌های خودکار ممکن است حاوی نادرستی‌هایی باشند، به‌ویژه در اصطلاحات حقوقی و قانونی.

برچسب‌ها در این داستان