Исследователи ZenGo предупредили о потенциальной уязвимости в кошельках Ledger Live, BRD и Edge
Разработчики некастодиального криптовалютного кошелька ZenGo раскрыли потенциальную уязвимость к двойным тратам, выявленную в продуктах конкурентов Ledger Live, BRD (бывший Bread) и Edge. При наихудшем сценарии она способна привести к потере пользователями всех средств.
Уязвимость получила название BigSpender (транжира) и заключается в том, что злоумышленники могут отправить транзакцию с минимальной комиссией, а затем сразу же заменить ее другой транзакцией, увеличив комиссию через функцию Replace-by-Fee. Таким образом майнеры получают стимул изначально проверить более выгодную новую транзакцию и перенаправить средства на другой адрес.
«Главная проблема BigSpender заключается в том, что уязвимые кошельки не готовы к тому, что транзакция может быть отменена, и неявно предполагают, что она в конечном итоге будет подтверждена», — объяснили исследователи.
Согласно отчету ZenGo, кошельки Ledger Live и BRD до версий 2.7.0 и 4.3.1 не учитывали потенциальную отмену транзакции. Кроме того, они просто визуально вносили дополнительные средства на баланс пользователя, не дожидаясь подтверждения. В первом случае проблема решается посредством очистки кэша и принудительной повторной синхронизации сети, во втором — потребует определенной экспертизы у пользователя и возможно внешних инструментов.
У Edge Wallet баланс увеличивается только один раз для серии отложенных транзакций — и решается нажатием кнопки «Resync» в меню опций.
В ZenGo пришли к выводу, что BigSpender может сделать невозможным полностью вывести находящиеся на кошельке средства, поскольку часть из них просто не существует. В более серьезных случаях, таких как преднамеренные двойные DDoS-атаки на кошелек, его владельцы не смогут вывести даже минимальные средства.
«В некоторых уязвимых кошельках восстановиться от этой атаки трудно (или даже невозможно). Даже переустановка кошелька не приводит к тому, что он повторно синхронизируется с сетью и показывает правильный баланс. Если восстановление невозможно, атака «отказ в обслуживании» становится постоянной», — заключили в ZenGo
Технический директор Ledger Шарль Гийом заверил, что эксплойт не актуален для аппаратных кошельков компании и отказался признать его уязвимостью:
«Фактический недостаток может рассматриваться, скорее, как хитроумный трюк, нежели как уязвимость. Обман — это не эксплойт. Но мы действительно хотим, чтобы никто не стал жертвой таких схем. Поэтому в Ledger Live появится предупреждение, когда входящая транзакция еще не будет подтверждена»
Представители ZenGo уведомили разработчиков уязвимых кошельков за 90 дней до публикации отчета, но у Edge Wallet уязвимость до сих пор не устранена, ее планируют «исправить в будущем».
В BRD заявили, что факт двойной траты средств ни разу не был успешно продемонстрирован во время обмена информацией с ZenGo, однако необходимый патч уже имплементирован.
Технический директор BRD Сэмюэл Сатч считает, что атаку следует отнести к типу «отказ в обслуживании», так как «из-за скомпрометированного конечного платежного значения в кошельке пользователя доступ к активам потенциально мог быть ограничен на несколько дней».
Напомним, ранее известный биткоин-инвестор Алистер Милн провел эксперимент, в ходе которого попытался понять, какой объем данных о кошельке окажется достаточным для его взлома.
Подписывайтесь на новости ForkLog в Facebook!
Рассылки ForkLog: держите руку на пульсе биткоин-индустрии!