اشکال کیف پول بیت کوین به سرورهای سرکش اجازه می دهد تا زمانی که کاربران سعی در سرعت بخشیدن به پرداخت ها داشتند، وجوه را سرقت کنند
مهاجمان تراکنش های مشروع را با تراکنش های جعلی جایگزین کردند، سپس منتظر ماندند تا کاربران کارمزدهای بالاتری را تایید کنند. حداقل یک نفر قبل از اینکه توسعه دهندگان این نقص را برطرف کنند، بیت کوین را از دست داده است.
یک نقص امنیتی کیف پول بیت کوین به سرورهای مخرب اجازه می دهد تا کاربران را فریب دهند تا هنگام تلاش برای سرعت بخشیدن به تراکنش ها، پرداخت ها را به مهاجمان امضا کنند و توسعه دهندگان حداقل یک مورد دزدیده شدن پول را تأیید کردند.
Electrum، یکی از قدیمیترین کیف پولهای نرمافزاری بیتکوین، روز شنبه این آسیبپذیری را فاش کرد و گفت که برخی از سرورها قبلا از آن سوء استفاده میکردند. توسعهدهندگان دو گزارش در ماه اکتبر دریافت کردند، از جمله یکی از کاربرانی که پس از تأیید افزایش کارمزد تراکنشهای معمول، وجوه خود را از دست داده بود.
این حمله از نحوه پرداختهای الکترونیکی که هنوز توسط شبکه تایید نشده است، استفاده میکند.
برخلاف یک گره کامل بیت کوین، الکتروم به سرورهای خارجی برای بازیابی تاریخچه تراکنش ها و پخش پرداخت ها متکی است. قبل از رفع مشکل، کیف پول به آن سرورها اعتماد کرد تا تراکنشهای معلق را بدون بررسی معتبر بودن امضایشان گزارش کنند.
مهاجمی که یکی از آن سرورها را کنترل می کند، می تواند پرداخت را قبل از رسیدن به شبکه بیت کوین متوقف کند و آن را در تاریخچه کیف پول با یک تراکنش جعلی جایگزین کند. این جایگزین، سکههای کاربر را به آدرسی که توسط مهاجم کنترل میشود، با استفاده از امضاهای نامعتبر که Electrum قادر به شناسایی آنها نبود، خرج میکرد.
اما کیف پول پرداخت جعلی را در حال تعلیق نشان داد و زمانی که کاربران سعی کردند سرعت کار را افزایش دهند، تله به وجود آمد.
بیت کوین اجازه می دهد تا تراکنش های تایید نشده با نسخه هایی با کارمزد بالاتر جایگزین شوند، این ویژگی به نام Replace-by-Fee. اگر کاربر آن گزینه را انتخاب کند، Electrum میتواند تراکنش تقلبی را بگیرد و یک جایگزین معتبر امضا کند و سکهها را برای مهاجم ارسال کند.
در یک مورد گزارش شده، تراکنش مخرب هیچ کارمزدی نداشته و به نظر می رسد که گیر کرده است. مهاجمان همچنین آدرسهای دریافتی را ایجاد کردند که چهار کاراکتر آخر آنها با مقصد قانونی مطابقت داشت، که تشخیص جایگزینی را در یک بررسی سریع سختتر میکرد.
اولین گزارش که در 11 اکتبر ارائه شد، شامل یک کیف پول دو تا سه امضای چند امضایی با استفاده از دو دستگاه سخت افزاری Trezor بود. کاربر پرداخت قانونی را در هر دو دستگاه بررسی کرده بود اما بعدا متوجه یک تراکنش خروجی متفاوت در تاریخچه کیف پول شد (این کاربر از دست دادن وجوه خود را گزارش نکرد).
کاربر دوم در 18 اکتبر گزارش داد که کارمزد یک تراکنش جایگزین را افزایش داده و پول خود را از دست داده است. توسعه دهندگان مقدار سرقت شده را فاش نکرده اند یا سرورهای مخرب را شناسایی نکرده اند.
در پاسخ، Electrum نسخه 4.8.3 را در 24 اکتبر منتشر کرد و چک های امضا را برای تراکنش های تایید نشده که سکه ها را از کیف پول خود کاربر خرج می کنند، اضافه کرد. با این حال، نسخه های قبلی هنگام اتصال به سرورهای مخرب در برابر حمله گزارش شده آسیب پذیر باقی می مانند.
توسعه دهندگان توصیه می کنند قبل از امضای پرداخت، آدرس ها و مبالغ دریافتی را ارتقا داده و بررسی کنید. کاربرانی که فقط به سرورهایی که به آنها اعتماد دارند، از جمله سرورهای خودشان، در معرض این حمله قرار نگرفتند.
رفع مشکل شش روز پس از اولین سرقت گزارش شده انجام شد.
متن اصلی (انگلیسی)
Bitcoin wallet bug let rogue servers steal funds when users tried to speed up payments
Attackers replaced legitimate transactions with fake ones, then waited for users to approve higher fees. At least one person lost bitcoin before developers patched the flaw.