Валидаторы Ethereum обычно вкладывают 32 $ETH, но Metamask заявляет, что её операция стейкинга является некастодиальной и она не контролирует ключи вывода средств клиентов. Именно эти ключи позволяют вывести заложенные средства. Таким образом, злоумышленник, способный взломать настройки валидатора, не получит автоматически доступ к ключам от хранилища. Реконструкция событий в цепочке, проведенная Каденом, указывает на «банку для чаевых».
Он сообщил, что 19 валидаторов Metamask получили вознаграждения за блоки и платежи, но 18 из них поступили на неправильный адрес получателя комиссии. Этот адрес был пополнен через сервис смешивания эфира Tornado Cash, а сумма перенаправленных платежей составила около 0,36 $ETH. Ещё одна реконструкция событий позволила отследить эту активность в течение примерно четырёх с половиной часов 30 сентября. Это незначительная сумма, за которой следует очень серьёзный сигнал тревоги.
Почему Metamask пошла ва-банк при выходе валидаторов
Изменение адреса получателя комиссии позволяет перенаправить вознаграждения валидатора за блоки, не затрагивая его стейк в 32 $ETH. Проблемы начинаются, если злоумышленник получает в своё распоряжение что-то более мощное, например, ключи подписи валидатора.
Эти ключи не позволяют просто вывести стейк, но потенциально могут заставить валидаторов с механизмом «доказательства доли владения» (PoS) совершать нарушения, наказываемые системой слэшинга Ethereum. Слэшинг уничтожает часть стейка валидатора и отстраняет его от работы. Каден сообщил, что три валидатора, подвергшиеся атаке, еще не вышли из системы на момент публикации его анализа, и оценил, что около 821 потенциально затронутого валидатора оставались активными.
В другом анализе компания Bitquery, занимающаяся инфраструктурой данных блокчейна, отдельно насчитала 16 965 валидаторов, владеющих 565 056 $ETH, которые к 1 октября вышли из очереди или вошли в неё. Её цифры несколько отличаются от данных Кадена, поскольку исследователи анализировали разные наборы данных в разное время. Ни одна из этих цифр не была публично подтверждена Metamask.
Bitquery также подсчитала, что гипотетическое одновременное лишение вознаграждения примерно 17 000 валидаторов могло бы привести к сжиганию около 22 000 $ETH. В ходе реконструкции событий ни один валидатор не подвергся штрафным санкциям. Эта возможность помогает объяснить, почему платформа криптокошельков Metamask развернула гораздо более масштабную защитную операцию, чем того, по-видимому, требовала сама кража.
Выход, который должен был занять неделю, может превратиться в 45-дневное ожидание
Поставщик инфраструктуры ликвидного стейкинга Lido ожидает, что затронутые инцидентом валидаторы, с которыми он работает, завершат процесс выхода к концу 7 октября. А вот как снова начать зарабатывать эфир — это уже другой вопрос. Валидаторы должны пройти процедуру выхода из сети Ethereum, вывести средства и в конечном итоге вновь присоединиться через очередь входа. По оценкам Lido, весь процесс может занять до примерно 45 дней. В течение этого периода выведенная доля не приносит вознаграждения валидатора.
Очередь и без того была переполнена. Данные об очереди валидаторов, предоставленные beaconcha.in, показывают, что около 393 795 $ETH ожидают выхода из набора валидаторов Ethereum, при этом, по оценкам, потребуется четыре дня и шесть часов, чтобы пройти очередь на выход, после чего последует очередная задержка вывода средств. Lido заявляет, что держателям stETH не нужно предпринимать никаких действий, а Metamask сообщает пользователям кошельков то же самое и предупреждает их не передавать фразы восстановления никому, кто утверждает, что может обеспечить защиту.
На данный момент реестр демонстрирует странную картину: примерно 0,36 $ETH, по всей видимости, украдено, сотни тысяч $ETH перемещены к выходам, а также потенциально недели потерянного времени заработка. Возможно, злоумышленник добрался до «банки для чаевых», но Metamask до сих пор не сообщил, насколько близко он подобрался к сейфу.