Категории: Новости

Ошибка Банкора раскрывает опасную практику в Ethereum DeFi

Уязвимость, обнаруженная на Bancor 18 июня, позволила бы хакерам просто истощать средства любого, кто взаимодействовал с его умными контрактами.Эксплойт опирался на концепцию авторизации снятия средств, представленную в стандарте ERC-20.Это позволяет различным приложениям Ethereum (ETH) автоматически снимать деньги с кошельков пользователей.

Как писал Одед Лейба, инженер-исследователь в ZenGo, функция вывода средств по умному контракту Bancor была по ошибке установлена ​​так, что каждый мог ее назвать.

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

Эта проблема усугублялась тем фактом, что контракты Bancor требовали неограниченного разрешения на снятие денег при первом взаимодействии с протоколом.Даже если пользователи планируют протестировать протокол только с ограниченным количеством средств, система может вывести весь остаток этого конкретного токена.

Как оказалось, многие другие DApps на Ethereum делают то же самое.

Неограниченное одобрение в течение неограниченного времени

Как рассказал Cointelegraph Лейба, многие известные децентрализованные финансы, или DeFi, требуют бесконечного одобрения приложений.Среди протестированных командой ZenGo Compound, Uniswap, bZX, Aave, Kyber и dYdX имеют бесконечные или чрезвычайно большие разрешения.

Кейн Уорвик, основатель Synthetix, сказал Cointelegraph, что бесконечные разрешения позволяют повысить удобство использования и снизить потребление газа при компромиссе с более высоким риском.Пока что большинство платформ DeFi предпочитают удобство использования.Тем не менее, после аварии, Bancor решил изменить свои контракты, чтобы только утверждать необходимую сумму с каждой сделкой.

Cointelegraph также связался с Aave, чтобы узнать больше об их решении использовать бесконечные надбавки, но не получил ответа.

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

Даже когда платформа больше не используется, разрешения остаются в силе.Лейба отметил, что более 160 адресов остаются уязвимыми для «умного» контракта Bancor, предположительно без средств.Однако, если они вернутся к активности, хакеры смогут украсть деньги в любой момент времени.

Стандарты виноваты?

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

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

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

Уорик объяснил, что команда изначально использовала более продвинутый стандарт ERC-223.Однако проблемы с чрезмерным использованием газа и ошибки в контрактах, которые не поддерживали новый стандарт, заставили сообщество отказаться от него.Добавил он:

«Стандарты сложны, и когда все разработано для ERC20, односторонний переход на ERC223 создает много трений».

Как это исправить

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

Уорик поделился своими методами безопасности:

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

Он также предположил, что «стоит проводить техническое обслуживание», убрав допуски по неиспользованным контрактам с помощью таких инструментов, как «Отмена», «Одобренная зона» и TAC.

CryptoHamster

Недавние статьи

Токен Ethena растет благодаря интеграции USDe с Deribit

Deribit, одна из крупнейших в мире бирж криптовалютных деривативов, планирует интегрировать синтетический доллар Ethena USDe…

4 часа ago

Allianz, крупнейший страховщик Германии, покупает 24% облигаций MicroStrategy на сумму 2,6 миллиарда долларов.

Крупнейшая страховая компания Германии Allianz приобрела почти четверть конвертируемых банкнот MicroStrategy на сумму 2,6 миллиарда…

4 часа ago

По словам законодателя, техасская монета, обеспеченная золотом, призвана помочь принятию Биткоин

Законодатель из Техаса считает, что предложенная штатом цифровая валюта, обеспеченная золотом, может сыграть ключевую роль…

6 часов ago

Цена эфира составит $3,7 тыс. , несмотря на китовую распродажу на $1,3 млрд.

Несмотря на массовые распродажи со стороны ранних инвесторов стоимостью в миллионы, некоторые из самых популярных…

6 часов ago

Ethereum пытается совершить ключевой прорыв: аналитики установили цель в 3700 долларов

Цена Ethereum (ETH) наконец-то движется после недели бокового движения. За последний час вторая по величине…

6 часов ago

Биткоин печатает рекордные 40% месячных свечей, когда цена пересекает $99 тыс.

Цена биткоина образовала самую большую месячную свечу в истории криптовалюты, поскольку первая в мире криптовалюта…

7 часов ago