Безопасность смарт-контрактов и крупнейшие взломы DeFi в 2021 году
ПОГОВОРИТЕ С НАМИ: TELEGRAM |TWITTER | DISCORD
Там, где текут деньги, следуют хакеры и мошенники: сейчас это децентрализованные протоколы на Ethereum и Binance Smart Chain. В этой статье мы рассмотрим различные типы эксплойтов DeFi и обсудим проблемы безопасности, с которыми сталкиваются платформы смарт-контрактов следующего поколения, такие как Diem, Polkadot и Polygon.
Хакеры теперь воруют у DeFi больше, чем у бирж
Централизованные криптобиржи не так часто взламывают, как раньше. Еще в 2019 году биржи потеряли в результате атак рекордные 865 миллионов долларов ; самым крупным взломом криптовалюты был взлом японской биржи Coincheck в 2018 году, когда было украдено 500 миллионов долларов . Но в первом квартале 2021 года хакеры украли всего 2,92 миллиона долларов с бирж и 86 миллионов долларов из децентрализованных приложений Ethereum. Эксплойт EasyFi только в апреле стоил экосистеме более 80 миллионов долларов.
В 2020 году, по данным Atlas VPN, биржи потеряли 300 миллионов долларов в результате атак, что составляет менее 10% от общей суммы в 3,78 миллиарда долларов, украденных преступниками из блокчейна в прошлом году. Для сравнения: из децентрализованных приложений Ethereum и Tron было украдено 446 миллионов долларов, в основном в результате взлома DeFi.
Почему хакеры переключают свое внимание с бирж на протоколы DeFi? Скорее всего причина в том, что так проще. Биржи постоянно совершенствуют свои системы безопасности и хранят большую часть клиентских средств на холодных кошельках , где они большую часть времени недоступны для хакеров (за исключением тех моментов, когда крипто переводится с холодного на горячий кошелек).
Напротив, проекты DeFi часто запускаются поспешно и без надлежащего аудита; немногие могут позволить себе содержать службу безопасности; и большая часть стоимости хранится в сети, в контрактах пула ликвидности. Это делает их легкой добычей для преступников, потому что пул-контракт всегда доступен и с ним можно взаимодействовать: это как дверь, всегда готовая открыться, если вы можете угадать комбинацию.
Другая возможная причина, хотя и связанная с этим, заключается в том, что централизованное биржевое пространство становится более регулируемым. Чтобы получить желанный регулируемый статус, торговые платформы часто должны придерживаться строгих процедур безопасности и аудита.
Как крадут деньги из протоколов блокчейна: 4 способа
Есть несколько распространенных причин, по которым dApps взламывают:
- Ошибки смарт-контрактов. Даже крупные протоколы, прошедшие аудит, могут содержать уязвимости, и хакеры становятся все более изобретательными в их поиске.
- Скопируйте и вставьте ошибки. Многие проекты DeFi клонированы из популярных протоколов, и иногда простые опечатки при копировании кода могут привести к ошибкам — и очень неловким взломам.
- Неверная логика dApp . Иногда злоумышленнику просто нужно «поиграть с системой»: сделать что-то, что технически позволяет приложение, злоупотребляя его финансовой логикой.
- Создан для слива. Нечестные основатели часто оставляют себе лазейку, чтобы вывести ликвидность из децентрализованного приложения, а затем выбивают коврик из-под ног пользователей и исчезают вместе с деньгами.
Мы рассмотрим несколько недавних примеров, чтобы понять, как используются протоколы блокчейна и что могут сделать пользователи, чтобы избежать потери денег.
Ошибки смарт-контрактов: взлом ChainSwap
Ethereum больше не единственная игра в городе: новые блокчейн-экосистемы развиваются на альтернативных блокчейнах, таких как BSC , HECO и Polkadot . Соответственно, растет потребность в мостах между цепями — инструментах, которые позволяют пользователям перемещать активы между цепями. Эти мосты сами по себе могут стать объектами эксплойта, как это произошло с ChainSwap , который потерял токены на 8 миллионов долларов .
ChainSwap ($ASAP) позволяет пользователям перемещать активы между сетями Ethereum, Binance Smart Chain и Huobi ECO. Отправка активов включает в себя блокировку токенов на смарт-контракте в одной цепочке и чеканку новых «обернутых» токенов в другой.
Во время атаки 10 июля хакер использовал уязвимость в смарт-контракте ChainSwap, чтобы чеканить новые токены по набору собственных адресов в Binance Smart Chain (вместо адреса смарт-контракта), накапливать все вновь отчеканенные токены в своем кошельке, а затем продать их все на PancakeSwap.
Пострадало около 20 токенов, включая стартап NFT Wilder World ($WILD, потеря около 320 тысяч долларов), OptionRoom ($ROOM), AntiMatter ($MATTER) и Umbrella Network ($UMB), а также сам ChainSwap ($ASAP): их токены упали на 70–99% .
ChainSwap принял экстренные меры, отключив мост BSC-Ethereum и приостановив предоставление ликвидности, но не было возможности вернуть украденную криптовалюту на сумму 8 миллионов долларов. После взлома проект пообещал выплатить компенсацию пострадавшим держателям $ASAP через аирдроп, хотя до сих пор не ясно, получат ли компенсацию держатели $WILD и других токенов.
Инцидент демонстрирует тревожную особенность взломов DeFi в целом: один проект подвергается атаке, но затрагиваются многие. Токен может потерять 90% своей стоимости просто потому, что пулы ликвидности другого протокола истощены. Чем больше становится взаимосвязанных протоколов, тем более явной может стать эта проблема. Наиболее практичными решениями являются вознаграждение за обнаружение ошибок и аудит, проводимый фирмами, занимающимися безопасностью блокчейнов, такими как QuantStamp , OpenZeppelin или ConsenSys Diligence .
Еще одна интересная вещь, которую стоит отметить, это то, что ChainSwap недавно привлекла 3 миллиона долларов от Alameda Research , Spark Digital Capital, Rarestone Capital и других. Похоже, даже поддержка крупных фондов не является доказательством качества проекта: розничным инвесторам есть над чем задуматься.
Плохая копипаста: Uranium Finance и BurgerSwap
У DeFi полно клонов — проектов, которые копируют и вставляют код смарт-контракта Uniswap , Compound и других успешных протоколов. Хуже того, они часто копируют его с ошибками, что еще больше упрощает работу хакеров.
Ярким недавним примером является Uranium Finance , базирующаяся в BSC . Этот форк Uniswap V2, где пользователи получают ежедневные дивиденды, был использован 28 апреля 2021 года, что привело к потере 57 миллионов долларов . Как указал разработчик Fulcrum Кайл Кистнер, разработчики Uranium скопировали код SushiSwap ( который сам является клоном Uniswap ), заменив число 1000 на 10000 везде, кроме одного случая:
В результате злоумышленник смог обменять крошечное количество входных токенов на 57 миллионов долларов в выходной криптовалюте: WBNB, BUSD, DOT, ADA и т. д. Это, должно быть, была одна из самых дорогих опечаток в истории блокчейна.
Другим примером катастрофы с копированием и вставкой является BurgerSwap, взломанный 28 мая. Он также скопировал код Uniswap, но отсутствовала часть: проверка x*y=k, необходимая для расчета цены токена для каждого обмена. Без этого уравнения в контракте злоумышленник смог обменять очень небольшое количество специально созданного фиктивного токена на тысячи обернутых BNB и BURGER . Общий убыток BurgerSwap : 7,2 миллиона долларов.
Взломы для флэш-кредитов: PancakeBunny
Флэш-кредиты — это тип кредита DeFi, который не требует залога, но должен быть возвращен в том же блоке блокчейна и в одной транзакции. Aave был первым, кто ввел мгновенные кредиты, основным предполагаемым вариантом использования которых является арбитраж или получение прибыли от разницы в ценах на разных биржах.
Проблема в том, что быстрые кредиты очень эксплуатируемы. Всего за несколько секунд злоумышленникам удается внедрить схемы, включающие сразу несколько протоколов, украсть криптовалюту на миллионы долларов и вернуть кредит.
Атака на 200 миллионов долларов на PancakeBunny — децентрализованную биржу на базе BSC — была крупнейшей на сегодняшний день. 19 мая преступник занял большую сумму BNB на PancakeSwap , а затем ввел эту ликвидность в пулы USDT/BNB и BUNNY/BNB на PancakeBunny, чтобы манипулировать ценами.
Хакер получил около 700 000 BUNNY, подняв цену со 140 до 240 долларов, продал все и погасил кредит — и все это за считанные секунды. Подробный вскрытие можно найти на сайте Rekt . Возможно, единственная забавная часть ситуации заключается в том, что хакеру настолько понравилась статья о вскрытии, что они фактически пожертвовали Rekt 100 тысяч долларов в DAI !
Хранилища PancakeBunny не пострадали, но даже при этом ущерб достиг 200 миллионов долларов, из которых лично хакеру досталось около 45 миллионов долларов. Цена BUNNY упала на 95%. Вскоре после этого произошла еще одна атака на мгновенные кредиты: 29 мая БелтФинанс потерял 50 миллионов долларов .
Интересно, что PancakeSwap по-прежнему предлагает быстрые кредиты. Обоснование команды состоит в том, что если PancakeSwap перестанет поддерживать их, другие по-прежнему будут: быстрые займы будут происходить, нравится вам это или нет. Разработчики дали несколько советов о том, как снизить риски — например, чтобы другие контракты не взаимодействовали с контрактом dApp, когда это не является строго необходимым. Однако эти меры не устраняют угрозу полностью, поэтому в будущем мы, вероятно, увидим еще много атак с использованием мгновенных кредитов.
Кража закрытого ключа: взлом EasyFi (апрель 2021 г.)
EasyFi — это мультицепочный протокол кредитования, построенный на блокчейне Polygon. 19 апреля злоумышленник получил удаленный доступ к компьютеру основателя протокола Анкитт Гаур. Хакер смог получить закрытые ключи от кошелька MetaMask и украсть токены на сумму 6 миллионов долларов из пулов ликвидности EasyFi.
Кроме того, злоумышленник вывел 3 миллиона токенов EASY на сумму 75 миллионов долларов. Это делает его одним из крупнейших эксплойтов DeFi на сегодняшний день. EASY быстро потерял 50% своей стоимости.
В ответ команда EasyFi создала новый токен $EZ, который будет разослан всем, у кого был $EASY до атаки.
Самое тревожное в этом инциденте то, что у основателя были все ключи администратора, необходимые для слива ликвидности из протокола, и он даже не использовал мультиподпись для защиты кошелька. Это противоречит идее о том, что протоколы DeFi децентрализованы и, следовательно, более безопасны, чем платформы CeFi, такие как обычные криптобиржи.
Мошенничество с коврами: WhaleFarm
Мошенничество с использованием коврика или мошенничество с выходом — это эксплойт, организованный создателями протокола. Эта схема работает, потому что немногие инвесторы могут проверить код на наличие уязвимостей. Это происходит следующим образом:
- оставить лазейку в коде смарт-контракта, позволяющую администраторам выводить всю ликвидность из пулов;
- активно продвигать (продвигать) проект большими бонусами и т. д.;
- подождите, пока наивные поставщики ликвидности не принесут криптовалюту и не подкачают цену токенов;
- осушить пулы, продать токены (что приведет к дампу) и исчезнуть.
WhaleFarm — недавний пример обмана: протокол DeFi, предлагающий более 7 000 000% (да, семь миллионов процентов) вознаграждений за урожайность. Были люди, которые поверили возмутительному обещанию: в пулах было 2,3 миллиона долларов, когда они были слиты 30 июня, а WHALEFARM торговалась по 215 долларов . Аккаунты проекта в Twitter и Telegram были удалены, а цена $WHALEFARM упала на 99,99%.
Безопасность смарт-контрактов на новых блокчейнах: Diem, Polkadot, Polygon и других.
На данный момент подавляющее большинство атак касаются децентрализованных приложений Ethereum и Binance Smart Chain, потому что эти сети имеют самые большие экосистемы и через них циркулирует наибольшее количество активов. Но что произойдет, когда блокчейны следующего поколения, такие как Polkadot , Diem и Avalanche , создадут собственные большие экосистемы dApp? Будут ли они защищены от атак — или хакеры переключатся на более популярную цепочку в любой момент?
Diem
Блокчейн Diem , поддерживаемый Facebook, использует новый язык программирования под названием Move, разработанный для написания безопасных смарт-контрактов. Как отметил эксперт Move и сотрудник Pontem Ли Тинг Тинг , «байт-код проверяется в цепочке на предмет безопасности ресурсов, типа и памяти с помощью верификатора байт-кода, а затем выполняется непосредственно интерпретатором байт-кода», так что Move «не должны беспокоиться о возможных сбоях или атаках в компиляторах».
Другими словами, все автоматически проверяется перед развертыванием, и, согласно странице обзора Diem Security , планируется построить сложную систему проверки смарт-контрактов. Можно предположить, что создавать децентрализованные приложения без ошибок на Diem будет проще, чем на Ethereum или BSC.
Кроме того, поскольку Diem будет соответствовать строгим требованиям KYC, властям будет проще отследить украденные средства и вернуть их пользователям в случае атаки (хотя Ethereum и Bitcoin также вполне отслеживаемы ).
Не менее важно и то, что Дием, вероятно, будет жестко контролировать, какие децентрализованные приложения входят в экосистему. Процесс проверки приложения может оказаться очень долгим, с высоким процентом отказов: что-то вроде App Store, в котором работает более 500 экспертов и который отклоняет около 40+ всех заявок . Аудит кода, вероятно, будет играть большую роль: например, Pontem Network планирует связать стартапы на базе Diem с аудиторами кода, отвечающими требованиям, с помощью таких сервисов, как реестры и сводные обзоры.
С одной стороны, это предотвратит распространение глючных клонов вроде BurgerSwap и Uranium Finance. С другой стороны, высокие входные барьеры могут помешать многим добросовестным проектам попасть на борт.
Отчасти по этой причине мы строим нашу экспериментальную сеть для Diem — Pontem Network — на Polkadot: чтобы разработчики могли тестировать свои dApps и набирать обороты в бесплатной децентрализованной среде, прежде чем отправлять проекты в Diem. С точки зрения безопасности это возможность запускать смарт-контракты в реальной среде для проверки на наличие уязвимостей. Атака на такое живое тестовое dApp может нанести лишь ограниченный финансовый ущерб и позволит создателям исправить проблемы, пока не стало слишком поздно.
Polkadot
Говоря о Polkadot , будет очень интересно посмотреть, как обстоят дела с безопасностью, когда количество активных парачейнов начнет расти. В то время как Relay Chain обеспечивает общую безопасность всей экосистемы, разработчики каждого парачейна определяют условия: консенсус, сборы, время блока и т. д. Тот факт, что так много разрозненных цепочек будет тесно взаимосвязано, может привести к появлению новых и сложных векторов атак.
Увидим ли мы взрыв DeFi на Polkadot через пару лет? Вероятно. Будет ли буйство эксплойтов и мошенничества? Весьма вероятно: по мере роста TVL (общая заблокированная стоимость) проектов на базе Polkadot хакеры и мошенники последуют за инвестиционными потоками. Взлом ChainSwap — намек на то, что мосты могут стать популярными целями вместе с самими парачейнами.
На данный момент нельзя сказать, что экосистема Polkadot по своей природе более безопасна или рискованна для DeFi, чем Ethereum или BSC. К счастью, у Polkadot есть канареечная сеть Kusama с несколькими активными парачейнами, и в скором времени появятся многие другие. То, что происходит на Кусаме, даст разработчикам представление о том, чего ожидать от Polkadot и как избежать проблем с безопасностью: не зря слоган Кусамы гласит: «Ожидайте, что что-то сломается».
Полигон
Экосистема цепочек, совместимых с Ethereum, Polygon быстро растет, а ее токен $MATIC является одним из самых эффективных в 2021 году. И по мере того, как Polygon постепенно становится мейнстримом, хакеры начинают проявлять интерес. Мы уже упоминали эксплойт EasyFi; другие недавние атаки включают:
- ApeRocket — атака с использованием флэш-кредита ;
- SafeDollar — стейблкоин, сбросивший до 0 ;
- Polywhale — вероятный ковер; основатели даже назвали психическое здоровье одной из причин.
- Iron Finance — проект , поддерживаемый миллиардером-инвестором Марком Кубаном .
Ключевые выводы
- Хакеры переключили свое внимание с централизованных бирж на DeFi dApps на Ethereum и Binance Smart Chains;
- Взломы смарт-контрактов часто нацелены на ошибки, возникающие при копировании и вставке кода других протоколов; однако даже тщательно проверенные смарт-контракты могут содержать ошибки;
- Другие атаки используют бизнес-логику приложения (например, экспресс-кредиты);
- Часто сами нечестные создатели создают лазейки для слива ликвидности (мошенничество с ковриком);
- С развитием новых децентрализованных экосистем (Polkadot, Polygon и др.) мы можем увидеть новые схемы атак;
- Diem, поддерживаемый Facebook, должен быть лучше защищен от взлома из-за высокого барьера для входа. Это делает его более безопасным выбором для пользователей, но это также означает, что разработчикам потребуется полигон для тестирования живых приложений dApp (и, возможно, их взлома) перед отправкой их в Diem. Pontem Network предоставляет именно такую среду тестирования.
Инвесторы должны быть особенно осторожны при присоединении к новым протоколам DeFi в любом блокчейне. Как говорят в трейдинге, не попадайте в ловушку: не позволяйте страху упустить крупную прибыль завести вас в ловушку.
Вот несколько признаков, которые должны настораживать:
- Нет отчета об аудите смарт-контракта;
- Нереально высокие доходы и реклама, явно ориентированная на неопытных пользователей, ищущих быструю прибыль;
- Все, что разветвлено от Uniswap, Yearn.Finance или Compound;
- Большие бонусы (в 10 раз и более) для поставщиков ранней ликвидности и доходных фермеров;
- Анонимная команда;
- Быстрорастущий в цене токен (накачка);
- Внезапная волна шиллинга (реклама) в Crypto Twitter.
Безопасность смарт-контрактов остается ключевой проблемой для децентрализованных платформ смарт-контрактов — возможно, в большей степени, чем масштабируемость, сборы или регулятивное давление. В спешке развернуть децентрализованное приложение и начать зарабатывать деньги, разработчики отказываются от аудита или бета-тестирования — и пользователи платят цену, когда происходит взлом. Возможно, главный урок, который можно извлечь из всех подвигов, таков: чем более децентрализованы финансы, тем важнее провести собственное исследование, прежде чем инвестировать.