Вы здесь

Уязвимости смарт-контрактов – бомба замедленного действия, ставящая под угрозу миллиарды долларов США

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

Уязвимости смарт-контрактов – бомба замедленного действия, ставящая под угрозу миллиарды долларов США

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

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

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

Эти самоисполняющиеся контракты были впервые предложены в 1994 году Ником Сабо, создателем предшественника Биткоина «Бит Голд», и позволили создать множество децентрализованных приложений, которые открыли новые возможности для пользователей криптовалют, будь то выпуск построенных по заданному алгоритму стабильных монет, выдача криптовалютных кредитов и займы с крипто-обеспечением. И это лишь малая часть.

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

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

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

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

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

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

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

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

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

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

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

Другие известные платформы, включая Solana, Flow, Ziliqa и Fantom, как оказалось, также имели ошибки в своих контрактах, о чем подробно рассказал основатель Messari Райан Селкис у себя в Twitter:

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

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

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

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

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

Повышенный риск

Смарт-контракты Ethereum могут иметь уязвимости: мы это видели не один раз. Риск для сектора DeFi, однако, повышается из-за его композиционной природы. DeFi, как определяет его CryptoCompare, можно рассматривать как «лего-деньги».
Децентрализованные приложения (даппы) можно комбинировать с другими даппами для создания новых приложений, превышающих сумму их частей, потому что каждое приложение является общедоступным (открытым исходным кодом) и может быть разветвлено и построено поверх других приложений.

Когда мы учитываем композиционность, риск для смарт-контракта повышается, поскольку одно приложение может использовать несколько других. Если воспользоваться уязвимостью одного из приложений, последствия могут ощущаться во всем пространстве. Атака flash loan (дословно мгновенный займ; предполагает получение злоумышленником займа из протокола DeFi, расходование полученных монет и их возврат в рамках одной транзакции смарт-контракта) – это пример того, как композиционность может влиять на протокол.

Рабочие решения

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

К ним относятся Cover Protocol и Nexus Mutual. Интересно, что один из членов команды Nexus Mutual стал жертвой взлома (что несколько иронично).

Другим решением является полное переосмысление того, как работают смарт-контракты. Отличным примером этого является среда разработки Radix Engine, которая использует машины с конечным числом состояний, специально разработанные для получения предсказуемых результатов на блокчейне.

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

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

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

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

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

Если бы хакер попытался вывести средства из протокола, не все механизмы бы сработали и средства остались бы нетронутыми.

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

Категория: 
Безопасность
1
Ваша оценка: Нет Средняя: 1 (1 оценка)
9977 / 0
Аватар пользователя Serg Demin
Публикацию добавил: Serg Demin
Дата публикации: ср, 05/05/2021 - 11:39

Что еще почитать: