Хоскинсон назвал код «очистителя» Binance предметом дискуссии по EIP-7702

Tapbit Wire - Tapbit NewsTapbit Wire·Источник:Crypto.news·
Поделиться

Создатель Cardano Чарльз Хоскинсон предупредил о «крайне опасном коде», опубликовав анализ, в котором функция делегирования EIP-7702 Ethereum обвиняется в содействии атакующим при быстром опустошении горячего кошелька Binance.

Краткое содержание

  • Хоскинсон опубликовал технический разбор, утверждающий, что «очиститель» был специально создан для инфраструктуры кошельков Binance.

  • CyberSatoshi заявил, что 50 подписанных авторизаций помогли злоумышленнику нацелиться на изменяющийся nonce транзакций горячего кошелька.

  • В анализе отмечено, что для авторизации делегирования требовался контроль над приватным ключом или неограниченный доступ к подписи.

  • Спецификация Ethereum предупреждает: делегированный код получает неограниченный доступ к аккаунту и требует тщательной проверки безопасности.

В своём посте в X Хоскинсон написал: «Будьте осторожны — в сети есть крайне опасный код», приложив разбор, опубликованный CyberSatoshi.

Опубликованный им пост описывает реконструированный байт-код предполагаемого «очистителя» Binance по EIP-7702 и утверждает, что контракт адаптирован под операции биржи. Сопровождающее сообщение Хоскинсона не указывает конкретный недостаток протокола и не поясняет, какую часть анализа он поддерживает.

Аккаунт CyberSatoshi ставит два вопроса безопасности рядом: как злоумышленник получил разрешение действовать от имени кошелька и что функция делегирования Ethereum позволила ему сделать после получения этого разрешения.

Вам также может быть интересно: Фонд Cardano присоединился к швейцарской группе для поддержки токенизированных акций

Предполагаемый «очиститель» Binance обошёл защиту кошелька

Согласно разбору CyberSatoshi, реконструированный контракт оставлял в кошельке ровно 1 ETH при выводе его нативного баланса. Автор утверждает, что это предотвращало сбой очереди горячих кошельков Binance из-за нехватки газа и срабатывание тревог.

Анализ описывает цикл обработки токенов, проверяющий балансы через низкоуровневые вызовы и продолжающий работу при сбое отдельных операций. CyberSatoshi отметил, что это позволяло «очистителю» продолжать обработку активов даже при невозможности перевода заблокированного или неработающего токена.

Специальная функция выполнения якобы позволила скомпрометированному кошельку вызвать внешний депозитарий с $823 млн USDC. По объяснению автора, депозитарий распознал Binance 14 как своего контроллёра, поэтому вызовы через этот кошелёк могли обращаться к средствам вне его непосредственного баланса.

CyberSatoshi характеризует контракт как созданный специально для архитектуры Binance. Утверждения о его влиянии на внутренние оповещения и казначейские системы остаются объяснением автора механизма атаки.

Для EIP-7702 требуется подписанное разрешение на делегирование

Спецификация EIP-7702 Ethereum описывает тип транзакции, позволяющий внешнему аккаунту делегировать выполнение кода, размещённого по другому адресу.

Внешний аккаунт обычно управляет операциями с помощью подписей от своего приватного ключа. Делегирование позволяет ему выполнять логику смарт-контрактов в контексте собственного аккаунта, поддерживая такие функции, как группировка нескольких операций в одну транзакцию и оплата комиссии за транзакцию другим аккаунтом.

Каждая авторизация указывает цепочку, адрес делегата и nonce, а также криптографическую подпись. Протокол восстанавливает авторизующий аккаунт из этой подписи и проверяет его nonce перед применением делегирования.

CyberSatoshi подтвердил это требование, заявив, что для якобы имевшей место атаки требовался либо исходный приватный ключ, либо неограниченный доступ к подписи в инфраструктуре безопасности Binance 14.

Спецификация не объясняет, как были получены учётные данные для подписи Binance. Однако её требование наличия подписи означает, что делегирование нельзя просто назначить произвольному жертвенном аккаунту без действительной авторизации.

Правила nonce в Ethereum объясняют предполагаемую групповую обработку

CyberSatoshi утверждал, что злоумышленник отправил 50 заранее подписанных авторизаций с последовательными nonce, чтобы «поймать» Binance 14 в момент изменения счётчика транзакций.

Протокол обрабатывает авторизации по порядку. При неудачной проверке одной из них обработка продолжается со следующей записи. Успешная запись устанавливает делегирование и увеличивает nonce авторизующего аккаунта.

Поэтому последующие авторизации для одного и того же аккаунта могут стать действительными по мере роста nonce. Если существует несколько действительных записей, то последняя из них определяет используемый адрес кода.

Это точнее, чем простая групповая обработка, при которой только одна авторизация может вступить в силу. Правила допускают успешное выполнение нескольких последовательных записей — в зависимости от начального nonce аккаунта и предоставленных подписей.

CyberSatoshi утверждал, что делегирование объединило переводы активов в одну операцию, сократив время на вмешательство. Отдельное заявление о том, что защитные механизмы биржи иначе остановили бы хищение уже после трёх транзакций, является контрфактической оценкой автора поста.

Документ по проектированию Ethereum подробно описывает риски делегирования

Авторы EIP прямо предупреждают, что авторизованный код имеет неограниченный доступ к аккаунту и должен тщательно проверяться кошельком.

В разделе безопасности указаны меры защиты, необходимые для делегирующих контрактов, включая предотвращение повторного использования, а также подписи, охватывающие сумму транзакции, газ, получателя и данные вызова. Некорректно реализованное делегирование может предоставить злоумышленнику почти полный контроль над подписывающим аккаунтом.

Делегирование сохраняется и после транзакции, в которой оно было установлено. Спецификация также указывает, что сбой выполнения не отменяет уже обработанные индикаторы делегирования.

Чтобы отменить делегирование, протокол допускает действительную авторизацию, указывающую на нулевой адрес, которая очищает делегированный код аккаунта.

Подробнее: Polymarket запускает рынки золота и серебра с интервалом 15 минут с использованием Chainlink