Большинство $Bitcoin краж требуют вашей seed-фразы. В этом случае — нет. Уязвимость в Electrum, одном из старейших кошельков bitcoin, позволила вредоносному серверу заменить ожидающий платеж поддельным, а затем дождаться, когда вы совершите что-то совершенно обычное: ускорить его. В тот момент, когда вы одобрили более высокую комиссию, вы подписали транзакцию злоумышленника вместо своей собственной. По крайней мере, один пользователь потерял средства до того, как исправление было выпущено 24 октября. Вот что произошло и почему это важно даже если вы никогда не использовали Electrum.
Как работает ловушка повышения комиссии за bitcoin?
Легкие кошельки, такие как Electrum, не скачивают весь блокчейн. Они запрашивают у внешних серверов вашу историю транзакций и отправляют платежи. Подтвержденные транзакции проверяются по цепочке, а неподтвержденные просто принимаются на веру с основного сервера, к которому был подключен кошелек.
Этот разрыв и был точкой входа. Злоумышленник, управляющий одним из этих серверов, мог перехватить исходящий платеж до того, как он достиг сети, и передать кошельку поддельную версию. Поддельный платеж тратил ваши монеты на адрес, контролируемый злоумышленником — по крайней мере в одном случае с теми же четырьмя последними символами, что и у настоящего получателя, и с комиссией настолько низкой, что он никогда не подтвердится. Кошелек отображал его как легитимный ожидающий платеж.
Затем последовала приманка. Заблокированная транзакция естественным образом побуждает пользователей использовать Replace-by-Fee — стандартную функцию Bitcoin для увеличения комиссии за медленный платеж. В Electrum увеличение комиссии означало повторную подпись транзакции, отображаемой в истории. Поскольку этой транзакцией была транзакция злоумышленника, подпись была действительной, монеты были перемещены, и кража выглядела как обычное увеличение комиссии.
Кто пострадал от уязвимости Electrum?
Electrum сообщил о проблеме 24 октября и подтвердил, что некоторые серверы активно эксплуатировали её. Первое сообщение поступило 11 октября от пользователя, использующего мультиподпись 2 из 3 с двумя аппаратными кошельками, который обнаружил внешнюю исходящую транзакцию в истории, но не потерял средства. Второй пользователь не был так везуч. Разработчики не раскрыли сумму похищенных средств и не назвали задействованные серверы.

Пользователи, подключающиеся только к своему собственному серверу или к серверу, которому они доверяют, никогда не подвергались риску. Все остальные, использующие версию ниже 4.8.3, остаются уязвимыми, пока кошелек может подключиться к вредоносному серверу.
Что изменяет исправление в Electrum 4.8.3?
Версия 4.8.3 добавляет проверку подписей для неподтвержденных транзакций, расходующих монеты из вашего собственного кошелька. Сервер больше не может подсунуть недействительную транзакцию в вашу историю и заставить кошелек представить ее как настоящую. Скачивайте обновление только с electrum.org, никогда — из всплывающего окна внутри кошелька или по ссылке в сообщении. Пользователи Electrum именно так были атакованы в 2019 году, когда злонамеренные серверы похитили более 4,6 миллиона долларов.

Как защитить ваш bitcoin-кошелек от такой атаки
Урок выходит за рамки одного кошелька. Любое программное обеспечение, которое доверяет третьей стороне для неподтвержденных данных, имеет ту же слабую сторону, поэтому несколько привычек стоит сохранить:
- Рассматривайте каждое увеличение комиссии как новую транзакцию. Проверяйте полный адрес получения и сумму на экране подписи, а не только последние символы.
- Подтвердите на устройстве. Если вы используете аппаратный кошелек, проверьте назначение на его дисплее. Пользователь мультиподписи заметил эту атаку именно потому, что аппаратное устройство показывало другое.
- Используйте собственную ноду или сервер, которым вы управляете. Атака работает только тогда, когда незнакомец передает вашему кошельку его историю.
- Поддерживайте программное обеспечение кошелька в актуальном состоянии и проверяйте загрузки с помощью цифровой подписи разработчика, когда это возможно.
Самоконтроль ставит вас во главе безопасности, включая скучные шаги. Тридцатисекундная проверка адреса — это всё ещё самая дешёвая страховка в криптовалюте. Текущую цену Bitcoin и общую ситуацию на рынке вы можете отслеживать на нашей странице цен.

