Переводы
August 24

Взломы смарт-контрактов: что это такое и как они происходят

🦧 Подпишись на канал: https://t.me/cryptomokakke
📚 Больше статей: https://t.me/smart_sorting
✍️ Перевод: https://info.arkm.com/research/smart-contract-hacks-what-are-they-and-how-they-happen

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

Краткая сводка

  • Суть атак: Взломы смарт-контрактов используют уязвимости в коде — от багов повторного входа (reentrancy) и манипуляций с флэш-займами (flash loans) до ошибок разграничения доступа, скомпрометированных оракулов и валидаторов мостов — с целью кражи средств пользователей.
  • Кто стоит за взломами: Спектр хакеров крайне широк — от «белых» исследователей (white hats), соблюдающих правила ответственного разглашения (responsible disclosure), до хакерских группировок, государственного киберпреступности и ИИ-агентов, которые всё лучше находят и эксплуатируют уязвимости в автономном режиме.
  • Крупнейшие инциденты: Среди самых масштабных взломов — эксплойт Poly Network в 2021 году, взлом Ronin Bridge в 2022 году и эксплойт биржи Bybit в 2025 году.
  • Защита и профилактика: Эффективная безопасность строится на эшелонированной защите: независимых аудитах кода, бессрочных программах Bug Bounty, мультиподписях (multisig), задержках на вывод средств (timelocks) и других механиках.

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

Отсутствие человеческого фактора (human in the loop) делает смарт-контракты максимально эффективными, но одновременно с этим превращает их в крайне привлекательную цель для хакеров. После деплоя код контракта обычно становится неизменяемым и открытым (публичным), позволяющим любому специалисту строчка за строчкой изучить его на предмет скрытых лазеек, логических ошибок и уязвимостей.

Объем совокупной заблокированной стоимости в DeFi (Total Value Locked, TVL) продолжает удерживаться на отметке выше $70 млрд, несмотря на просадку с пиковых значений.

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

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

Как взламывают смарт-контракты?

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

Повторный вход (Reentrancy)

Reentrancy — один из старейших векторов атак в смарт-контрактах. Представьте банковского кассира, который выдает вам деньги со счета до того, как обновит запись в реестре с вашим остатком. Если вы попробуете запросить вывод еще раз до того, как кассир обновит баланс, он снова выдаст вам наличные — и во второй, и в третий раз, ведь по документам деньги всё еще на месте.

Именно так концептуально работает атака повторного входа: вредоносный контракт получает возможность циклически вызывать функцию вывода средств (withdrawal function) снова и снова — до того, как первоначальная транзакция успеет завершиться и обновить состояние баланса. Печально известный взлом Dark DAO в 2016 году, приведший к хардфорку Ethereum и появлению Ethereum Classic, был как раз ярким примером Reentrancy-атаки.

Как работает атака повторного входа — Alchemy

Атаки с использованием флэш-займов (Flash loan attacks)

Атаки с использованием флэш-займов (мгновенных кредитов) задействуют иной подход. Флэш-займы позволяют заемщику получить очень крупный необеспеченный кредит и погасить его в рамках одной и той же транзакции — это легитимный инструмент для арбитража и рефинансирования. Злоумышленники приспособили эту функцию для того, чтобы временно накачать рынок заемным капиталом, отклонить ончейн-цену токена от его реальной стоимости, совершить сделку по искаженной цене на уязвимом протоколе и вернуть кредит сразу после нанесения ущерба — и всё это в рамках одного блока.

Ошибки разграничения доступа (Access control failures)

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

Манипулирование оракулами (Oracle manipulation)

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

Атака путем манипулирования оракулом с использованием флэш-займа — Cyfrin

Компрометация мостов и валидаторов (Bridge and validator compromises)

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

Кто взламывает смарт-контракты?

Люди, стоящие за взломами смарт-контрактов, делятся на несколько основных категорий.

Независимые исследователи безопасности, которых иногда называют «белыми шляпами» (white hats), ищут баги и сообщают о них с соблюдением правил ответственного разглашения (responsible disclosure). Иногда они сами эксплуатируют найденную уязвимость, чтобы спасти средства пользователей до того, как их обнаружат злоумышленники. Одиночки-охотники за наживой или небольшие команды сканируют свежеразвернутые контракты на предмет очевидных ошибок, часто используя автоматизированные скрипты, которые круглосуточно отслеживают блокчейн в поисках протоколов, поспешно выпущенных на рынок.

Samczsun, известный «белый» хакер и основатель Security Alliance (SEAL) — SEAL

С другой стороны, «черные» хакеры (black hats) и преступные синдикаты выискивают эти же баги и уязвимости с единственной целью — совершить кражу. На более высоком уровне стоят прогосударственные хакерские группировки, на счету которых внушительное число взломов. Несколько крупнейших атак за всю историю приписываются печально известной северокорейской группировке Lazarus Group, включая эксплойт моста Ronin в 2022 году и взлом биржи Bybit в 2025 году, суммарный ущерб от которых превысил $2 млрд.

С бурным развитием ИИ и ИИ-агентов они также выходят на эту арену: ИИ-агенты уже способны анализировать код, находить уязвимости нулевого дня (zero-day — неизвестные ошибки в ПО или аппаратном обеспечении, на исправление которых у разработчиков было ноль дней, что оставляет системы открытыми для внезапной атаки) и писать эксплойт-скрипты без какого-либо участия человека.

Почему взламывают смарт-контракты?

Мотив подавляющего большинства эксплойтов смарт-контрактов предельно прост — это банальная кража. Успешная атака может за считанные минуты передать в руки взломщика контроль над резервами лендингового пула, заблокированным обеспечением моста или горячими и холодными кошельками биржи. При этом псевдонимная природа блокчейн-адресов дает хакерам фору еще до того, как кто-либо вообще заметит пропажу средств. В случае с Ronin взлом, начавшийся 23 марта 2022 года, был обнаружен только 29 марта. Это дало злоумышленникам почти неделю полной свободы действий для вывода средств через биржи и миксеры — до того, как сеть успела хотя бы поставить выводы на паузу.

Что касается того, почему целью становится один конкретный контракт, а не другой, то ответ обычно кроется в сочетании доступности и размера куша. Недавно запущенные протоколы, пропустившие полноценный аудит ради скорейшего вывода продукта на рынок, привлекательны тем, что их код не проходил стресс-тестирование внешними экспертами. Контракты, хранящие огромные объемы заблокированных средств (TVL), привлекательны просто потому, что итоговый куш оправдывает любые усилия по поиску уязвимости. Мосты стали особенно популярными мишенями, поскольку они концентрируют колоссальную ценность за относительно небольшим количеством ключей подписи. Это превращает то, что должно быть распределенной моделью доверия, в банальную единую точку отказа (single point of failure).

Резонансные взломы смарт-контрактов

Взлом моста Ronin Network остается одной из нагляднейших демонстраций того, как компрометация валидаторов позволяет полностью обойти защиту на уровне кода. Атакующие использовали украденные приватные ключи для фальсификации одобрений на вывод средств, выведя 173 600 ETH и 25.5 млн USDC. По данным Arkham, на момент кражи этот куш оценивался примерно в $625 млн. На тот момент для одобрения любого вывода средств из моста требовались подписи всего пяти из девяти валидаторов. Получив доступ к необходимому количеству валидаторов, финальным шагом стал обычный вывод всех средств, хранящихся на контракте моста, всего за две транзакции.

Украденные средства распределяются по известным адресам Lazarus Group перед их отмыванием через Tornado Cash — Arkham

Взлом биржи Bybit в феврале 2025 года стал крупнейшим из известных на тот момент и первым инцидентом в сфере криптовалют, преодолевшим отметку в миллиард долларов. Злоумышленники скомпрометировали интерфейс Safe — широко используемой платформы для мультиподписи-кошельков, — изменив то, что ридеры и подписыватели Bybit видели на экране во время планового перевода. В результате они бессознательно авторизовали транзакцию, перенаправившую более 401 000 ETH и связанных токенов на адреса под контролем атакующих. Компания Arkham объявила баунти в размере 50 000 ARKM за идентификацию взломщика, которое забрал независимый ончейн-детектив ZachXBT, возложив вину на северокорейскую группировку Lazarus Group.

Полная статья о Lazarus Group.

Эксплойт Poly Network в августе 2021 года продемонстрировал иной исход. Злоумышленник вывел около $611 млн в нескольких блокчейнах, использовав брешь в том, как протокол верифицировал кроссчейн-сообщения — в данном случае имела место чистая уязвимость смарт-контракта. К счастью, в этой ситуации подавляющая часть украденных средств в итоге была возвращена: некоторые аналитики предположили, что взломщикам показалось слишком сложным отмыть столь огромную сумму.

Как организации предотвращают взломы?

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

Формальная верификация идет еще дальше, математически доказывая, что код контракта ведет себя строго в соответствии с спецификацией при любых возможных входных данных, а не просто тестирует случайную выборку сценариев в надежде, что ничего не было упущено. Требования мультиподписи (multisig) и временные задержки на вывод средств (timelocks) также намеренно создают дополнительные барьеры: один скомпрометированный ключ или измененный интерфейс не смогут единолично опустошить казну. Окно задержки дает защитникам шанс вовремя заметить и заморозить подозрительную активность до того, как транзакция окончательно зафиксируется в блокчейне.

Схемы с использованием мультиподписи должны балансировать между удобством использования, риском утраты доступа и безопасностью — Unchained

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

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

Заключение

Смарт-контракты устраняют необходимость в доверенном посреднике, но такое архитектурное решение означает, что сам код должен вести себя так, как вел бы себя этот посредник — отлавливая любой нестандартный сценарий (edge case), который человек заметил бы на инстинктах. Рассмотренные здесь взломы — от кражи ключей валидаторов и спуфинга интерфейсов до подделки кроссчейн-сообщений — показывают, что слабым звеном крайне редко выступает сам блокчейн. Им почти всегда оказываются человеческие решения, спешка при разработке или избыточная концентрация доверия в системах, надстроенных поверх него.

По мере того как ончейн перетекает все больше капитала, стимул найти ту самую одну упущенную строчку кода будет только расти. Именно поэтому аудиты, программы Bug Bounty и прозрачные ончейн-расследования мгновенно превратились в неотъемлемую часть индустрии.

🦧 Подпишись на канал: https://t.me/cryptomokakke
📚 Больше статей: https://t.me/smart_sorting
✍️ Перевод: https://info.arkm.com/research/smart-contract-hacks-what-are-they-and-how-they-happen