Последствия пренебрежения аудитом смарт-контрактов, приложений и протоколов блокчейн
Из этой статьи вы узнаете о крупнейших инцидентах в DeFi, связанных с ошибками разработчиков, владельцев и пользователей смарт-контрактов и DApp. Оказывается, что темпы роста крипто-преступлений более чем в 5 раз превышают темпы роста кибер-преступлений в целом. Как избежать миллионных потерь? Есть простые и надёжные решения.
Исчезнувшие миллиарды DeFi
Согласно свежему отчету Crystal Blockchain о нарушениях безопасности и мошеннических действиях с криптовалютами за последние 11 лет, с 2011 года в результате взломов и мошенничества владельцы активов потеряли 14,7 миллиарда USD в криптовалюте. Главной ареной крипто-преступлений стала экосистема DeFi (Decentralized Finance) – финансовые инструменты, созданные на блокчейне.
В таблице ниже приведены данные по количеству крипто-преступлений и суммам нанесенного ущерба за последние годы.
Год | Количество инцидентов | Сумма ущерба, млн. USD |
2011 | 8 | 1,04 |
2012 | 14 | 5,76 |
2013 | 16 | 14,2 |
2014 | 11 | 646 |
2015 | 10 | 400 |
2016 | 5 | 147 |
2017 | 14 | 634 |
2018 | 15 | 974 |
2019 | 26 | 3500 |
2020 | 31 | 1520 |
2021 | 94 | 4632 |
2022 | 120 | 2218 |
За эти годы злоумышленники совершили 167 взломов DeFi, 123 атаки на системы безопасности и реализовали 74 мошеннических схемы. При взломе централизованных платформ преступники украли более 3,2 миллиарда USD. Более 4 миллиардов USD воры вывели из проектов DeFi, пользуясь их уязвимостями. Остальные средства мошенники похитили из различных проектов, систем и платформ, не пользуясь техническими уязвимостями, а путём злоупотребления доверием пользователей.
С 2021 года внимание хакеров заметно переключилось на DeFi. С 2022 года децентрализованные проекты взламывали уже в 20 раз чаще, чем централизованные. Ниже приведена диаграмма суммарного ущерба от различных видов краж криптовалют по годам.
По словам экспертов, причиной роста атак на проекты DeFi является развитие сектора. Проекты спешат выйти на рынок с недостаточным тестированием и аудитом безопасности.
Согласно докладу компании Leonardo, объём потерь от всех киберпреступлений (не только криптовалютных) в 2021 году составил 6 триллионов USD. Любопытно также, что эта статистика совпадает с прогнозом Cybersecurity Vetures, который был опубликован в 2020 году.
Средние темпы роста ущерба от киберпреступлений за последние 5-7 лет составляют около 15% в год. При этом, средние темпы роста ущерба от краж криптовалют за то же время составляют более 80% в год, согласно статистике Crystal Blockchain.
Таким образом, среднегодовые темпы роста краж криптовалют более чем в 5 раз превышают среднегодовые темпы роста ущерба от всех киберпреступлений.
Последствия отказа от аудита безопасности
Смарт-контракты являются центральным элементом экосистемы DeFi. Благодаря их технологиям активно разрабатываются децентрализованные приложения (DApps), которые позволяют контролировать средства пользователей без участия посредника. Однако смарт-контракты, не прошедшие аудит, почти всегда имеют множество уязвимостей и прочих недостатков, которые могут негативно повлиять на безопасность DeFi. Иными словами, если уязвим ваш смарт-контракт, уязвимо и ваше приложение DeFi.
Поскольку смарт-контракты, как и любое другое программное обеспечение, разрабатываются людьми, человеческий фактор имеет решающее значение. Независимо от профессионализма и опыта разработчика, риски допущения ошибок в коде и конфигурациях существуют всегда. Поэтому значительная часть смарт-контрактов не застрахована от взлома. В таких случаях преступники используют ошибки или недостатки в коде смарт-контрактов для выполнения злоумышленных действий.
Приведем несколько примеров недавних крупных инцидентов в криптовалютной индустрии, связанных с ошибками разработчиков, владельцев и пользователей смарт-контрактов, распределённых приложений и протоколов.
Сайдчейн Ronin Network. Ярким примером крипто-инцидента является крупнейший взлом в истории сегмента DeFi, о котором мы уже писали подробнее сразу после этого инцидента. Платформа Ronin Network, связанная с популярной игрой plaу-to-earn “Axie Infinity” в марте 2022 года лишилась 625 миллионов USD в результате хакерской атаки на служебную лазейку, которую разработчики открыли для бесплатных транзакций своих партнёров.
Протокол Yam Finance. Проект Yam Finance привлёк в 2020 году более 400 миллионов USD, а затем упал почти до нуля. Это случилось после того, как ошибка в неаудированном смарт-контракте проекта увеличила количество токенов YAM в 10 раз. Это сделало невозможным принятие каких-либо управленческих решений. Из-за отсутствия аудита кода одна строка кода привела к коллапсу целого нового перспективного проекта. Такое случалось также в некоторых других смарт-контрактах DeFi.
Платформа Wormhole. В феврале 2022 года криптовалютная платформа Wormhole исправила уязвимости безопасности, опубликовала исправления, но не успела их применить. Неизвестный злоумышленник обнаружил в коде платформы уязвимость “нулевого дня” и воспользовался ею. Путем поддельной действующей подписи хакеру удалось завершить транзакцию и заполучить эфир на сумму 325 миллионов USD.
Nomad Bridge. Совсем недавно, в начале августа 2022 года, был взломан мост Nomad Bridge. Ущерб составил 190 миллионов USD. Причиной взлома послужила небольшая неточность в коде. Смарт-контракт Nomad не смог должным образом проверить ввод транзакции.
Платформа Qubit Finance. Ситуация взлома аналогична взлому платформы Wormhole, и произошел он примерно в то же время. Хакер похитил около 80 миллионов USD в криптовалюте BNB из кошелька платформы, используя уязвимость в одном из контрактов, который компания применяла для обработки транзакций пользователей.
Блокчейн-платформа Solana. Инцидент произошёл в августе 2022 года. Хакеры взломали около 8000 кошельков на базе Solana, получив доступ к средствам владельцев кошельков. Транзакции были подписаны от лица пользователей. Убыток был оценен специалистами в 8 миллионов USD.
Metamask. Пользователь, входящий в десятку лучших в рейтинге Degen Score, в августе 2022 года потерял около 500 тыс. USD в USDC из-за эксплойта и permit-функции. Эта функция была задумана в своё время для повышения удобства пользователей Ethereum. Злоумышленник обманом получил электронную подпись жертвы и отправил транзакцию с permit-функцией с этой подписью. Такая подготовка дала вредоносному смарт-контракту возможность управлять всеми средствами в кошельке жертвы. Потом вредоносный смарт-контракт вызвал функцию transferFrom, которая и похитила все средства. Этот инцидент примечателен тем, что здесь смарт-контракт выступает уже не уязвимостью, а угрозой. Также здесь жертвой оказался не проект, а отдельный криптовалютный кошелёк. Вряд ли кто-то из вас захотел бы оказаться на месте пользователя этого кошелька и потерять свои средства.
Следует также упомянуть такие крупные взломы DeFi текущего года, как Beanstalk (украдено 182 млн. USD в ETH, ERC20), Maiar Exchange (Elrond, украдено 113 млн. USD в ETH, ERC20 в EGLD), Harmony (украдено 100 млн. USD в ERC20), Mirror Protocol (украдено 90 млн. USD в TERRA) и Rari Capital (украдено 80 млн. USD в ETH).
“Децентрализованный” – не означает “безопасный”
Компрометации DeFi, смарт-контрактов и протоколов блокчейн растут в геометрической прогрессии. Уязвимости, а проще говоря, ошибки в коде и недостатки безопасности приводят к огромным финансовым потерям. Одна из основных причин финансовых потерь – пренебрежение аудитом смарт-контрактов.
Разработчики приложений и протоколов допускают ошибки не менее часто, чем разработчики смарт-контрактов. Многие смарт-контракты, протоколы и приложения DeFi создаются путем бездумного копирования кода, который не всегда подходит для конкретных специфических случаев. Это потенциально повышает риски безопасности ваших проектов.
Множество ошибок допускают пользователи блокчейн, доверяющие ненадёжным проектам, которые потом становятся рагпуллами и прочим скамом. Впрочем, мошенничество является отдельной большой темой, которую мы обязательно осветим в одной из следующих статей.
Запуск или развертывание неаудированного смарт-контракта, игнорирование проверки безопасности кода и отказ от пентестов рано или поздно приведут к неутешительным последствиям. Специфика инцидентов безопасности в том, что они происходят совершенно неожиданно. Кражи средств, манипулирование активами, сбои функционирования и другие всевозможные уязвимости могут привести к гибели вашего блокчейн-проекта сразу после его взлёта либо позже, когда с высоты будет ещё больнее падать.
В то же время, к счастью, рисками Web3 вполне можно управлять. Во-первых, разработчики Web2- и Web3-приложений и протоколов имеют возможность повысить уровень безопасности своих проектов, поручив аудит исходного кода специализированным компаниям.
Во-вторых, приложения нужно правильно разворачивать и поддерживать. Даже полностью безопасное и должным образом проверенное приложение может быть развёрнуто неверно, в неподходящем, устаревшем или неправильно настроенном окружении. Поэтому мы рекомендуем дополнять аудит исходного кода тестированием на проникновение в тестовой и производственной средах, а также аудитами облачных окружений.
Наконец, вы можете не знать заранее, насколько большими средствами может управлять ваш смарт-контракт, или сколько средств вы привлечёте на ICO. Однако исправить ваш смарт-контракт после его публикации вы уже не сможете. Поэтому, во избежание колоссальных потерь или недополученной прибыли, мы настоятельно рекомендуем заранее и должным образом проводить аудит ваших смарт-контрактов.
Даже если вы уверены в компетенции ваших разработчиков, DevOps и специалистов по безопасности, цена вопроса слишком велика. Поэтому застрахуйте себя дополнительно и воспользуйтесь нашими сервисами безопасности, которые, кроме прочего, включают также обучение ваших специалистов, сертификацию вашей компании, мониторинг событий безопасности, расследования инцидентов безопасности и многое другое.
Вы уделили ваше время на прочтение нашей статьи, мы это ценим и постараемся компенсировать его. Воспользуйтесь нашим бонусом для вас, действующим ближайшие четыре недели, — бесплатной индивидуальной консультацией по любым вопросам защиты криптовалютных решений и других систем Web3.
Подпишитесь на наш канал Телеграм, чтобы не пропустить новые статьи нашего блога.