Фірма Fireblocks, що займається інфраструктурою криптовалют, виявила та допомогла у вирішенні того, що вона описує як першу вразливість абстракції облікового запису в екосистемі Ethereum.
Оголошення від 26 жовтня розпакувало виявлення вразливості абстракції облікового запису ERC-4337 у гаманці смарт-контрактів UniPass. Дві фірми працювали разом, щоб усунути вразливість, яку, як повідомляється, було виявлено в сотнях гаманців основної мережі під час хакерської операції «whitehat».
За даними Fireblocks, уразливість дозволить потенційному зловмиснику здійснити повне захоплення облікового запису гаманця UniPass шляхом маніпулювання процесом абстракції облікового запису Ethereum.
Згідно з документацією для розробників Ethereum щодо ERC-4337, абстракція облікового запису дозволяє змінити спосіб обробки транзакцій і смарт-контрактів блокчейном для забезпечення гнучкості та ефективності.
За темою: Абстракція облікового запису переведе мільярд користувачів з Азії на Web3: ConsenSys exec
Звичайні транзакції Ethereum включають два типи рахунків: рахунки, що належать стороннім власникам (EOA) і контрактні рахунки. EOA контролюються закритими ключами та можуть ініціювати транзакції, тоді як контрактні рахунки контролюються кодом смарт-контракту. Коли EOA надсилає транзакцію на рахунок контракту, це запускає виконання коду контракту.
Абстракція рахунків вводить ідею мета-транзакцій або більш узагальнених абстрактних рахунків. Абстраговані облікові записи не прив’язані до конкретного приватного ключа та можуть ініціювати транзакції та взаємодіяти зі смарт-контрактами так само, як EOA.
Як пояснює Fireblocks, коли обліковий запис, сумісний з ERC-4337, виконує дію, він покладається на контракт Entrypoint, щоб переконатися, що виконуються лише підписані транзакції. Ці облікові записи зазвичай довіряють перевіреному єдиному контракту EntryPoint, щоб переконатися, що він отримує дозвіл від облікового запису перед виконанням команди:
«Важливо зауважити, що шкідлива або помилкова точка входу теоретично може пропустити виклик «validateUserOp» і просто викликати функцію виконання напряму, оскільки єдине обмеження, яке вона має, полягає в тому, що вона викликається з довіреної EntryPoint».
За даними Fireblocks, уразливість дозволила зловмиснику отримати контроль над гаманцями UniPass шляхом заміни довіреної точки входу гаманця. Після завершення захоплення облікового запису зловмисник зможе отримати доступ до гаманця та вичерпати з нього кошти.
Кілька сотень користувачів, які мали активований модуль ERC-4337 у своїх гаманцях, були вразливі до атаки, яку міг здійснити будь-який гравець у блокчейні. Гаманці, про які йде мова, містили лише невеликі суми коштів, і проблему було пом’якшено на ранній стадії.
Переконавшись, що вразливість може бути використана, дослідницькій групі Fireblocks вдалося провести операцію whitehat, щоб виправити наявні вразливості. Це передбачало фактичне використання вразливості:
«Ми поділилися цією ідеєю з командою UniPass, яка взяла на себе зобов’язання реалізувати та запустити операцію whitehat».
Співзасновник Ethereum Віталік Бутерін раніше окреслив проблеми, пов’язані з прискоренням поширення функціональності абстрагування облікових записів, яка включає необхідність розробки пропозиції щодо вдосконалення Ethereum (EIP) для оновлення EOA до смарт-контрактів і забезпечення роботи протоколу на рішеннях рівня 2.