Привет, это команда «Шард». Крипторынок продолжает проходить препятствия на устойчивость: за прошедшею неделю сразу несколько протоколов столкнулись с атаками разной сложности — от логических ошибок в контрактах до компрометации внешних сервисов. Разбираем, какие проекты оказались под ударом и какие уязвимости использовали злоумышленники.
Рассмотрим ключевые инциденты и механики атак на примерах: Votemarket, Keom.io, dTRINITY, BlindBox и Resolv.
Взлом протокола Votemarket
12 марта произошел взлом протокола Votemarket, в результате которого злоумышленник получил около $175 тыс. из наградных фондов.
При этом основной смарт-контракт и пользовательские средства не пострадали — уязвимость находилась во вспомогательном механизме оракула, который отвечает за передачу данных между сетями. Ошибка заключалась в некорректной проверке отправителя входящих сообщений. Контракт принимал данные даже от постороннего адреса, если они поступали из сети Ethereum. Этим и воспользовался атакующий: он отправил поддельные данные о голосовании через мост, искусственно увеличив свой «вес» в системе.
Поскольку награды распределяются пропорционально голосам, злоумышленник получил доступ к средствам сразу в десятках кампаний — всего пострадали 54 кампании в сетях Arbitrum и Base.
После получения токенов злоумышленник перевёл их в другие сети через мост, обменял на более ликвидные активы через децентрализованные биржи и в итоге конвертировал всё в ЕТН, чтобы скрыть следы. Общая сумма после обменов составила около 76 ЕТН. Позже инцидент был урегулирован в формате white hat: около 60,58 ЕТН вернулись в казначейство организации Stake DAO.
Адрес хакера:
- 0xb40125d2e1b83a36fde292f75922793e5f3f94ff
Взлом протокола Keom.io
17 марта произошел взлом протокола Keom.io в сети Polygon zkEVM. В результате было выведено около $94 тыс.
Причиной атаки стала ошибка в логике смарт-контракта: система некорректно проверяла допустимый объем вывода средств.
В контракте находилась функция, которая должна была ограничивать вывод денег количеством токенов пользователя. Но из-за неправильного порядка вычислений сначала рассчитывалась сумма вывода, а уже затем проверялось, достаточно ли токенов на балансе. После проверки сумма не пересчитывалась, поэтому система смогла разрешить вывести больше средств, чем пользователь реально внес.
Адрес хакера:
- 0xb343fe12f86f785a88918599b29b690c4a5da6d5
Взлом протокола dTRINITY
В тот же день был атакован протокол dTRINITY — ущерб составил около $257 тыс.
Сначала злоумышленник занял USDC через сторонний протокол, затем внес около 772 USDC в систему dTRINITY. Из-за ошибки в расчетах система восприняла этот депозит как обеспечение на сумму около $4,8 млн.
Используя эту «фантомную» ликвидность, атакующий занял 257 тыс. dUSD. Далее он 127 раз подряд вносил и выводил средства через вспомогательный контракт, постепенно извлекая оставшийся USDC из пула. В результате была полностью исчерпана часть ликвидности протокола, а средства выведены через Tornado Cash.
Адрес хакера в сети ETH:
- 0x08cfdff8ded5f1326628077f38d4f90df6417fd9
Взлом контракта BlindBox
19 марта в сети BNB произошел взлом контракта BlindBox, связанного с токеном ATM Token. Ущерб атаки составил около $99 тыс., а ее причиной стала ошибка в механизме случайности в игре с «olind box».
Пользователи отправляли токены АТМ на специальный адрес сжигания (DEAD-адрес) и делали ставку на четный или нечетный результат. Итог должен был определяться случайным образом. Однако оказалось, что это значение можно было предсказать заранее.
Злоумышленник делал большое количество ставок в одном блоке, после чего проверял результат вне сети. Убыточные ставки он просто не завершал, а прибыльные — подтверждал. Поскольку все ставки в одном блоке используют один blockhash, атакующий выигрывал сразу всей серией ставок. За одну транзакцию он размещал десятки тысяч ставок, а затем выбирал только выгодные раунды.
Примерно за 150 раундов было выведено около 13 млн АТМ-токенов, которые затем были проданы через PancakeSwap и выведены через Tornado Cash.
Адрес:
- 0x3f9Bd963641e969Fc0c9Ddf1c67e210e84915b7D
Взлом DeFi-протокола Resolv
21 марта хакер взломал DeFi-протокол Resolv. В результате атаки он создал необеспеченные стейблкоины USR и вывел активы примерно на $23 млн. Инцидент произошел не из-за ошибки в смарт-контракте, а из-за компрометации внешней инфраструктуры, которая использовалась для подтверждения операций.
В протоколе выпуск USR происходил в два этапа: пользователь вносил залог в USDC, после чего off-chain сервис подписывал разрешение на выпуск токенов. Контракт проверял только корректность подписи, но не соответствие объема эмиссии залогу. Вышло, что если у кого-то был доступ к ключу подписи, он мог разрешить выпуск любого количества токенов.
Получив доступ к ключу подписи, злоумышленник внес около $100-200 тыс. в USDC и с помощью украденного ключа подтвердил выпуск огромного количества токенов. В результате было создано около 80 млн USR — значительно больше реального обеспечения.
Далее атакующий перевел эти токены в застейканную форму и постепенно обменивал их через DEX на другие стейблкоины и ЕТН, чтобы вывести ликвидность и усложнить отслеживание. В итоге было выведено около 11 400 ЕТН, которые сосредоточились на основном адресе злоумышленника: Ox8ed8cfOclc531clb20848e78flcb32fa5b99b81c.
Фактически из-за доверия к off-chain подписи злоумышленник получил возможность «печатать» токены и обменивать их на реальные активы. Это привело к падению курса USR почти на 80%. 24 марта Resolv Labs выдвинула хакеру ультиматум: вернуть 90% средств (~$22,5 млн) в течение 72 часов.
Известные адреса злоумышленника в сети ETH:
- 0x04a288a7789dd6ade935361a4fb1ec5db513caed
- 0x9feeeaec113e6d2dcd5ac997d5358eee41836e5f
- 0xb945ec1be1f42777f3aa7d683562800b4cdd3890
- 0x8ed8cf0c1c531c1b20848e78f1cb32fa5b99b81c
Итоги
Главный вывод — универсальной точки отказа не существует. Уязвимости могут скрываться как в коде, так и за его пределами. Поэтому важно не только выбирать проверенные протоколы, но и следить за их архитектурой, обновлениями и уровнем безопасности. Осведомленность остается ключевым фактором защиты.
Узнавайте больше о мире криптовалют в нашем блоге.
Присоединяйтесь к Телеграм-каналу, чтобы не пропустить важные новости индустрии