SwapSpace – кроссчейн обмены криптовалют

Уязвимости смарт-контрактов: DAO, DeFi и атака повторного входа

John Martin

,

Обновлено: ,6 мин

Сфера децентрализованных финансов за последний год показала экспоненциальный рост: с общего объема в $540 миллионов, зафиксированного в марте прошлого года, до более чем $47,6 миллиарда на момент публикации этой статьи.

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

Большинство протоколов DeFi построены на блокчейне Ethereum. Ethereum — вторая по капитализации криптовалюта, уступающая только Bitcoin. Благодаря Ethereum, в частности использованию Turing-complete смарт-контрактов, блокчейн-проекты стали более программируемыми.

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

Эти самоисполняющиеся контракты впервые были предложены в 1994 году Nick Szabo, создателем предшественника Bitcoin — Bit Gold, и позволили создать множество децентрализованных приложений, открывших новые возможности для пользователей криптовалюты: будь то выпуск стейблкоинов, созданных по определенному алгоритму, выдача криптовалютных займов или займов под криптозалог. И это лишь малая часть.

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

Протоколы вроде Aave, Compound, Uniswap и 1 Inch.exchange позволяют пользователям получать доход на своих инвестициях, торговать криптоактивами и даже сложными инструментами, такими как децентрализованные деривативы.

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

Эта новая территория возможностей, как уже упоминалось, управляется кодом, написанным разработчиками смарт-контрактов. Большинство проектов DeFi имеют открытый исходный код и даже проходят peer review и аудит, в то время как другие, наоборот, — нет. Часто даже в протестированном коде можно обнаружить уязвимости, позволяющие использовать неизвестные векторы атак, что приводит к огромным потерям для компаний и обычных пользователей.

Как уязвимости смарт-контрактов влияют на пользователей?

Чтобы гарантировать безопасность смарт-контрактов, можно лишь проанализировать все варианты его выполнения. При выполнении смарт-контрактов на Turing-complete языках нужно быть уверенным, что компьютерная программа не содержит ошибок, что практически невозможно. Поэтому при работе со смарт-контрактами или их создании их придется аудитить.

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

Эти уязвимости обусловлены сложностью нативного языка смарт-контрактов Ethereum и его системой учета, которая, в отличие от UTXO-системы Bitcoin, гораздо более гибкая и потому более подвержена дополнительным уязвимостям и векторам атак.

Поскольку Solidity и другие языки смарт-контрактов являются новыми и крайне сложными, было бы некорректно возлагать вину за эти уязвимости на разработчиков.

На Ethereum построено более 80 платформ DeFi, и каждую неделю запускаются новые проекты. Используемые ими смарт-контракты неизбежно будут содержать уязвимости, особенно если они написаны и протестированы ненадлежащим образом.

Расследование, проведенное CyberNews, показало, что почти 3 800 смарт-контрактов Ethereum имели уязвимости, которые позволили бы атакующим украсть криптоактивы стоимостью как минимум $1 миллион. Исследование также показало, что существует в общей сложности 13 различных типов уязвимостей, и четыре из них с высокой вероятностью будут использованы хакерами.

В популярной платформе Avalanche ранее в этом году была обнаружена уязвимость. Так, во время запуска новой децентрализованной биржи Pangolin и перегрузки сети произошла ошибка, которая привела к сбою выпуска, что вызвало широкую панику. Как выяснилось, в других известных платформах, включая Solana, Flow, Zilliqa и Fantom, тоже были ошибки в контрактах.

DAO и Re-Entry Attack

Re-entry — это распространенная уязвимость смарт-контрактов. Хотя она может существовать в смарт-контрактах на различных блокчейн-платформах, чаще всего она ассоциируется с блокчейном Ethereum.

Атаки re-entry наиболее известны благодаря знаменитому взлому DAO в 2016 году на блокчейне Ethereum.

Первая и самая катастрофическая ошибка в смарт-контракте произошла в 2016 году. Децентрализованная автономная организация (DAO) работала на смарт-контрактах и на тот момент собрала более $150 миллионов.

Неизвестный атакующий сумел вывести эфириум (ETH), собранный через краудфандинг. Сумма ущерба составила более $150 миллионов.

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

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

Всего из кошельков DAO было выведено 3,6 миллиона ETH. Сейчас эти токены стоят более $6,4 миллиарда. Взлом привел к жесткому форку, разделившему сеть на две части: Ethereum и Ethereum Classic.

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

Оригинальный блокчейн Ethereum, ныне известный как Ethereum Classic, оставил украденные у DAO токены в руках хакера, выбрав неизменяемость, тогда как Ethereum позволил сообществу проголосовать и вернул средства их первоначальным владельцам, поставив консенсус блокчейна на первое место.

Другие примеры Re-entry атак, помимо DAO

Однако эти уязвимости были обнаружены и во множестве взломов смарт-контрактов, включая несколько протоколов DeFi.

Некоторые примеры недавних взломов DeFi с использованием уязвимостей re-entry включают:

  • Fei Protocol: в апреле 2022 года протокол Fei стал жертвой взлома на ~$80 миллионов, который стал возможен благодаря использованию стороннего кода, содержащего уязвимости re-entry.
  • Paraluni: взлом смарт-контракта Paraluni в марте 2022 года использовал уязвимость re-entry и слабую проверку ненадежных пользовательских данных, чтобы украсть токены на сумму около ~$1,7 миллиона.
  • Grim Finance: в декабре 2021 года уязвимость повторного входа в функцию safeTransferFrom в Grim Finance была использована для получения токенов на сумму около ~ $30 миллионов.
  • The SIREN Protocol: уязвимость повторного входа в смарт-контракты AMM-пула протокола SIREN была использована в сентябре 2021 года для похищения токенов на сумму около ~ $3,5 миллиона.
  • CREAM Finance: в августе 2021 года атакующий использовал эксплойт повторного входа, чтобы проникнуть в систему интеграции токена AMP CREAM Finance и украсть токены на сумму около $18,8 миллиона.

Это далеко не единственные примеры взломов DeFi, эксплуатировавших уязвимости при повторном входе. Хотя это старая и широко известная угроза, уязвимости re-entry по-прежнему встречаются и в новых смарт-контрактах сегодня.

Подведем итоги

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

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

Поделиться:

Похожие статьи

Хотите узнать больше?

Будьте в центре событий — подпишитесь на нашу рассылку