نقص امنیتی در الکتروم؛ افزایش کارمزد تراکنش به سرقت بیت کوین منجر شد

الکتروم نسخه ۴.۸.۳ را برای رفع نقصی منتشر کرده که هنگام افزایش کارمزد، امکان سرقت بیت کوین را فراهم می‌کرد. جزئیات حمله و اقدام لازم برای کاربران را بخوانید.

۴ آبان ۱۴۰۵ به‌روزرسانی ۴ آبان ۱۴۰۵ زمان مطالعه ۵ دقیقه
تصویر مفهومی کیف‌پول بیت کوین و سپر امنیتی
فهرست مطالب

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

اطلاعیه این آسیب‌پذیری روز ۲۴ اکتبر، برابر با ۲ آبان ۱۴۰۵، منتشر شده است.

افزایش کارمزد چطور به سرقت بیت کوین منجر شد؟

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

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

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

چرا افزایش کارمزد به تأیید دوباره نیاز دارد؟

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

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

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

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

نقش سرورها در کیف پول الکتروم چیست؟

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

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

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

روی نمایشگر کیف پول سخت‌افزاری چه چیزهایی را بررسی کنیم؟

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

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

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

هنگام افزایش کارمزد هم همین بررسی را انجام دهید؛ تأیید پرداخت قبلی، جای بررسی تراکنش جدید را نمی‌گیرد.

نسخه جدید را از کجا دریافت کنیم؟

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

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

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

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