Фирма Fireblocks, занимающаяся инфраструктурой криптовалюты, выявила и помогла устранить то, что она называет первой уязвимостью абстракции учетной записи в экосистеме Ethereum.
В объявлении от 26 октября было раскрыто обнаружение уязвимости абстракции учетной записи ERC-4337 в кошельке смарт-контрактов UniPass. Обе фирмы работали вместе над устранением уязвимости, которая, как сообщается, была обнаружена в сотнях кошельков основной сети во время хакерской операции «белого цвета».
По мнению Fireblocks, уязвимость позволит потенциальному злоумышленнику полностью захватить учетную запись кошелька UniPass, манипулируя процессом абстракции учетной записи Ethereum.
Согласно документации разработчиков Ethereum по ERC-4337, абстракция учетной записи позволяет изменить способ обработки транзакций и смарт-контрактов блокчейном, чтобы обеспечить гибкость и эффективность.
Связанный: Абстракция учетной записи приведет миллиард пользователей из Азии в Web3: руководитель ConsenSys
Обычные транзакции Ethereum включают два типа учетных записей: внешние учетные записи (EOA) и контрактные учетные записи. EOA управляются закрытыми ключами и могут инициировать транзакции, тогда как учетные записи контрактов контролируются кодом смарт-контракта. Когда EOA отправляет транзакцию на счет контракта, он запускает выполнение кода контракта.
Абстракция учетной записи представляет идею метатранзакций или более обобщенных абстрактных учетных записей. Абстрагированные учетные записи не привязаны к конкретному закрытому ключу и могут инициировать транзакции и взаимодействовать со смарт-контрактами, как EOA.
Как объясняет Fireblocks, когда учетная запись, совместимая с ERC-4337, выполняет действие, она полагается на контракт Entrypoint, чтобы гарантировать выполнение только подписанных транзакций. Эти учетные записи обычно доверяют проверенному единственному контракту EntryPoint, чтобы гарантировать получение разрешения от учетной записи перед выполнением команды:
«Важно отметить, что вредоносная или ошибочная точка входа теоретически может пропустить вызов «validateUserOp» и просто вызвать функцию выполнения напрямую, поскольку единственное ограничение, которое у нее есть, — это вызов из доверенной точки входа».
По данным Fireblocks, уязвимость позволила злоумышленнику получить контроль над кошельками UniPass, подменив доверенную точку входа кошелька. Как только захват учетной записи будет завершен, злоумышленник сможет получить доступ к кошельку и вывести его средства.
Несколько сотен пользователей, у которых в кошельках был активирован модуль ERC-4337, были уязвимы для атаки, которую мог осуществить любой участник блокчейна. В рассматриваемых кошельках хранились лишь небольшие суммы средств, и проблема была решена на ранней стадии.
Убедившись, что уязвимость может быть использована, исследовательская группа Fireblocks сумела провести белую операцию по исправлению существующих уязвимостей. Это включало в себя фактическое использование уязвимости:
«Мы поделились этой идеей с командой UniPass, которая взяла на себя задачу реализовать и провести белую операцию».
Соучредитель Ethereum Виталик Бутерин ранее обрисовал проблемы в ускорении распространения функциональности абстракции учетных записей, включая необходимость предложения по улучшению Ethereum (EIP) для обновления EOA до смарт-контрактов и обеспечения работы протокола на решениях уровня 2.