یک سرور مخرب کیف پول بیتکوین میتوانست بیسر و صدا یک پرداخت قانونی را با تراکنش یک سارق تعویض کند و سپس منتظر بماند تا مالک کیف پول، این سرقت را تأیید کند. آخرین پچ امنیتی الکتروم پس از آنکه مهاجمان از این نقص سوءاستفاده کرده و وجوهی را به سرقت بردند، این حفره را بسته است.
الکتروم روز شنبه نسخه ۴.۸.۳ را منتشر کرد و به کاربران هشدار داد که فوراً آن را بهروزرسانی کنند. توسعهدهندگان دریافته بودند که سرورهای مخرب در حال بهرهبرداری از یک آسیبپذیری با شدت بالا هستند که تمام نسخههای قبلی را تحت تأثیر قرار میدهد. این نقص که در گزارش GitHub با شناسه GHSA-6jp4-8v48-cc5v مستند شده، از نحوه مدیریت تراکنشهای تأییدنشده توسط این کیف پول سبک بیتکوین سوءاستفاده میکند.
سرورهای مخرب چگونه افزایش کارمزد را به سرقت تبدیل کردند؟
کیف پول الکتروم برای دریافت تاریخچه تراکنشها، تخمین کارمزد و انتشار پرداختها به سرورهای خارجی متکی است. در حالی که این کیف پول تراکنشهای تأییدشده را بهطور مستقل بررسی میکند، نسخههای قدیمیتر برخی تراکنشهای تأییدنشده را بدون اعتبارسنجی امضای آنها میپذیرفتند. مهاجمان این تمایز را به یک تله تبدیل کردند.
یک سرور در معرض خطر میتوانست یک پرداخت قانونی را رهگیری کرده، از انتشار آن جلوگیری کند و یک تراکنش جعلی را جایگزین آن کند که وجوه را به آدرس بیتکوین تحت کنترل مهاجم هدایت میکرد. تراکنش جایگزین دارای امضاهای نامعتبر بود، اما الکتروم آن را به عنوان یک پرداخت معلق معمولی نمایش میداد.
این ترفند زمانی خطرناک میشد که کاربران سعی میکردند کارمزد تراکنش را از طریق قابلیت جایگزینی با کارمزد (Replace-By-Fee یا RBF) افزایش دهند. قربانیان به جای افزایش کارمزد پرداخت اصلی خود، ناخواسته تراکنش جایگزینشده را امضا میکردند و بدین ترتیب انتقال بیتکوین خود به مهاجم را تأیید میکردند.
این فریب یک مرحله فراتر هم میرفت. مهاجمان آدرسهای دریافتی تولید میکردند که چهار کاراکتر پایانی آنها با مقصد مورد نظر کاربر مطابقت داشت تا مقایسه سریع آدرس، احتمال کشف این جابجایی را کاهش دهد. در یک مورد، تراکنش جعلی حتی کارمزد صفر داشت تا قربانی را تشویق کند دقیقاً همان تنظیم کارمزدی را آغاز کند که برای تکمیل سرقت لازم بود.
توسعهدهندگان دو گزارش خصوصی در این باره دریافت کردند. در ۱۱ اکتبر، یک کاربر جایگزینی تراکنش را گزارش داد، اگرچه مکانیسم افزایش کارمزد هنوز به طور کامل درک نشده بود. در ۱۸ اکتبر، کاربر دیگری گزارش داد که پس از تأیید افزایش کارمزد، وجوه خود را از دست داده است. گزارش دوم ثابت کرد که این حمله صرفاً نظری نیست.
پچ امنیتی الکتروم ۴.۸.۳ این حمله را مسدود میکند
این پچ، الکتروم را ملزم میکند تا امضای تراکنشهای تأییدنشدهای را که کوینهای متعلق به کیف پول را خرج میکنند، تأیید کند. به این ترتیب، تراکنشهای جعلی با امضاهای نامعتبر قبل از ورود به تاریخچه محلی کیف پول رد میشوند.
کاربرانی که از نسخههای قدیمیتر از ۴.۸.۳ استفاده میکنند باید بهروزرسانی را منحصراً از وبسایت electrum.org دانلود کرده و امضاهای رمزنگاری آن را تأیید کنند. تا زمان بهروزرسانی، کاربران باید قبل از امضای هر تراکنش، از جمله هنگام تنظیم کارمزد، هر آدرس مقصد و مبلغ پرداخت را به دقت بررسی کنند.
کسانی که منحصراً به سرورهای الکتروم مورد اعتماد و میزبانیشده توسط خودشان متصل میشوند، در معرض این حمله خاص مبتنی بر سرور قرار ندارند. این حادثه یک تناقض جالب را آشکار میکند: کیف پولی که برای محافظت از کلیدهای خصوصی طراحی شده، همچنان میتواند طوری دستکاری شود که یک امضای کاملاً معتبر برای پرداختی درخواست کند که صاحب آن هرگز قصد انجامش را نداشته است.
اطلاعات ارائه شده در این مقاله صرفاً برای اهداف اطلاعاتی و آموزشی است و نباید به عنوان مشاوره مالی، سرمایهگذاری یا حقوقی تلقی شود. ما توصیه میکنیم قبل از انجام هر گونه سرمایهگذاری، تحقیقات مستقل انجام دهید و با یک مشاور مالی یا حقوقی مشورت کنید.