ارائه توسط
Featured

آیا هوش مصنوعی مسئول کشف نقص امنیتی کولدکارد بود؟

یک نقص نرم‌افزاری کولدکارد که قدمتش به پنج سال می‌رسد ممکن است به مهاجم اجازه داده باشد کلیدهای خصوصی را بازسازی کند و بیش از ۱,۱۰۰ بیت‌کوین را جارو کند؛ موضوعی که سازنده این کیف پول را واداشت تا کشف این ضعف را تا حدی به هوش مصنوعی (AI) نسبت دهد.

نویسنده
اشتراک
آیا هوش مصنوعی مسئول کشف نقص امنیتی کولدکارد بود؟

نکات کلیدی

  • سیدهای مرتبط با کولدکارد، ۱,۱۲۸.۴۷۱۷ BTC به ارزش حدود ۷۱.۱ میلیون دلار را در معرض خطر قرار دادند.
  • کوین‌کایت می‌گوید شاید هوش مصنوعی نقص پنج‌ساله را پیدا کرده باشد، اما انتساب آن همچنان اثبات‌نشده است.
  • کاربران کولدکارد با سیدهای آسیب‌دیده باید روی فریم‌ور اصلاح‌شده کیف پول‌های جدید بسازند.

یک جاروکردن هماهنگ، صدها کیف پول را خالی می‌کند

این رخداد پس از آن علنی شد که حدود ۵۹۴ BTC، که در آن زمان نزدیک به ۳۸ میلیون دلار ارزش داشت، در ۳۰ ژوئیه از حدود ۵۰۰ آدرس تک‌امضایی بیت‌کوین جابه‌جا شد. وقتی خبر برای نخستین بار منتشر شد، Bitcoin.com News اشاره کرد که انتقال‌ها ظرف حدود ۲۵ دقیقه انجام شده و به نظر می‌رسید کیف پول‌هایی را هدف گرفته که یک ضعف فنی مشترک داشتند.

بررسی‌های بعدی بلاکچین، مقیاس احتمالی سرقت را بزرگ‌تر نشان داد. پژوهشگران برآورد کردند که بین ۱,۰۸۲ تا ۱,۱۹۶ آدرس ممکن است در بازه‌ای حدود ۴۱ دقیقه تحت تأثیر قرار گرفته باشند. سپس داشبورد سفارشی‌ای با نام Coldcard Sweep Watch مجموع را ۱,۱۲۸.۴۷۱۷ BTC اعلام کرد؛ رقمی که وقتی بیت‌کوین نزدیک ۶۳,۰۴۴ دلار معامله می‌شد، حدود ۷۱.۱ میلیون دلار ارزش داشت.

Coldcard Sweep Watch dashboard screenshot.
منبع تصویر: داشبورد Coldcard Sweep Watch. اسکرین‌شات در ساعت ۸:۳۰ صبح به وقت شرق آمریکا در ۱ اوت ۲۰۲۶ گرفته شده است. از زمان گرفتن این اسکرین‌شات، یک ساعت بعد در ۹:۳۰ صبح، برآورد به ۱,۱۲۸.۶۶۳۳ BTC افزایش یافت.

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

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

کولدکارد یک سامانه تصادفی‌سازی شکسته را پیدا می‌کند

کوین‌کایت هشدار فوری و اضطراری منتشر کرد و اعلام کرد برخی سیدهای تولیدشده روی دستگاه‌های کولدکارد ممکن است ضعیف باشند. دستگاه‌های Mk3 که فریم‌ور نسخه ۴.۰.۱ (منتشرشده حوالی مارس ۲۰۲۱) و نسخه‌های بعدی را اجرا می‌کردند، از جمله مواردی بودند که با بیشترین ریسک روبه‌رو بودند.

تحلیل‌های بیشتر، نگرانی را به سیدهایی که روی برخی دستگاه‌های Mk4، Mk5 و Q پیش از انتشار اصلاحیه‌های اضطراری فریم‌ور توسط کوین‌کایت ساخته شده بودند نیز گسترش داد. گزارش شده که محصولات Tapsigner، Opendime و Satscard تحت تأثیر نبودند، زیرا از نرم‌افزار متفاوتی استفاده می‌کنند.

این نقص به فرایندی مربوط بود که برای تولید داده تصادفی به کار می‌رود. کیف پول‌های امن به تصادفی‌بودن باکیفیت وابسته‌اند تا سیدهای بازیابی آن‌ها قابل حدس زدن نباشد. در دستگاه‌های Mk3 که شدیدترین تأثیر را پذیرفته بودند، پژوهشگران برآورد کردند سید ممکن است به‌جای ۱۲۸ بیتِ مورد نظر، تنها حدود ۴۰ بیت تصادفی‌بودن مؤثر داشته باشد.

این تفاوت حیاتی است. سید ۱۲۸ بیتیِ تولیدشده به‌درستی، از نظر عملی برای حدس‌زدن با روش بروت‌فورس تقریباً غیرممکن تلقی می‌شود. اما سید ۴۰ بیتی گزینه‌های بسیار کمتری دارد و به مهاجمی با توان محاسباتی کافی اجازه می‌دهد سیدهای احتمالی را به‌صورت آفلاین آزمایش کند و آدرس‌های حاصل را با بلاکچین عمومی بیت‌کوین تطبیق دهد.

برخی دستگاه‌های جدیدتر ممکن است حدود ۷۲ بیت تصادفی‌بودن مؤثر فراهم کرده باشند، چون سخت‌افزار امن یک لایه دیگر از داده‌های غیرقابل پیش‌بینی اضافه کرده است. این موضوع بازسازی سیدها را سخت‌تر می‌کند، هرچند همچنان بسیار ضعیف‌تر از حد مورد نظر است.

یک خطای پیکربندی به مدت ۵ سال دوام آورد

مشکل از یک اشتباه پیکربندی در زمان ساخت (build-time) آغاز شد که به دو تابع نرم‌افزاری با کارکرد مشابه مربوط بود. یکی از توابع از مولد اعداد تصادفیِ حقیقی مبتنی بر سخت‌افزار دستگاه استفاده می‌کرد، در حالی که دیگری به یک فرایند نرم‌افزاری ضعیف‌تر متکی بود که از MicroPython به ارث رسیده بود.

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

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

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

X screenshot
منبع تصویر: X

کاربرانی که هنگام ساخت سید، دست‌کم ۵۰ بار تاس‌ریزی مستقل اضافه کرده‌اند، ممکن است تصادفی‌بودن اضافی کافی را فراهم کرده باشند تا از این ضعف در امان بمانند. یک پس‌عبارت (passphrase) قدرتمند BIP-39 نیز می‌توانست بازسازی را دشوارتر کند، و کیف پول‌هایی که برای خرج‌کردن به امضا از چند دستگاه مستقل نیاز دارند نیز ممکن است مانع شوند که یک سیدِ به‌خطر افتاده به‌تنهایی وجوه را جابه‌جا کند.

کوین‌کایت به AI اشاره می‌کند، اما مدرک همچنان غایب است

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

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

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

سامانه‌های مدرن کدنویسیِ مبتنی بر AI امروز می‌توانند مخازن نرم‌افزاری بزرگ را پردازش کنند و روابط مشکوک میان تنظیمات پیکربندی، توابع و فرضیات امنیتی را شناسایی کنند. یک مهاجم می‌تواند از چنین سامانه‌ای بخواهد مشخصاً به دنبال مولدهای اعداد تصادفی ضعیف، توابع جایگزین (fallback) یا خطاهایی بگردد که روی کلیدهای رمزنگاری اثر می‌گذارند.

X screenshot
برخی ناظران با تکیه بر مدل‌های برتر AI توانستند اکسپلویت کولدکارد را خودشان پیدا کنند. منبع تصویر: X

پژوهشگران مستقل بعداً گزارش کردند که پس از شناخته شدن مشکل بنیادیِ تصادفی‌سازی، از مدل‌های AI برای یافتن یا توضیح مسئله استفاده کرده‌اند. این نشان داد تحلیل کد با کمک AI تا چه اندازه در دسترس شده است، اما ثابت نکرد که مهاجم اصلی از AI استفاده کرده است.

Coldcard Wallet blog post discussing AI screenshot.
منبع تصویر: پست وبلاگ Coldcard Wallet درباره AI.

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

منتقدان می‌گویند شکست انسانی اول رخ داد

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

X screenshot.
برخی ناظران باور ندارند AI مقصر است و فکر می‌کنند تیم مهندسی باید خودشان اکسپلویت را بو می‌کشیدند. منبع تصویر: X.

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

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

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

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

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

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