Децентрализованная торговая платформа Ostium потеряла $23,75 млн после взлома системы, которая передавала рыночные цены в смарт-контракты. Атакующий отправил поддельные ценовые сообщения, открыл крупные позиции и быстро закрыл их с искусственно созданной прибылью. Выплаты прошли по правилам протокола и опустошили часть хранилища поставщиков ликвидности.
Сама блокчейн-сеть Arbitrum продолжала работать штатно. Подтверждений ошибки в коде смарт-контрактов Ostium пока нет. Точка проникновения находилась вне блокчейна — в серверной инфраструктуре, которая собирала, подписывала и передавала цены в протокол.
Торги остановили в течение часа после первой вредоносной операции. Ostium разделяет деньги поставщиков ликвидности и обеспечение пользователей. Маржа трейдеров хранится в отдельных смарт-контрактах, а OLP используется как расчётное хранилище для выплаты результатов сделок.
Компания заявила, что атакующий не получил доступ к обеспечению обычных пользователей. Существующие длинные и короткие позиции не были принудительно закрыты или ликвидированы. Их состояние зафиксировано в блокчейне, однако торговые операции временно остановлены. На торговой странице Ostium 21 июля всё ещё отображалось предупреждение о расследовании инцидента.
Платформа обещала предупредить пользователей минимум за сутки до возобновления работы. При повторном запуске открытые позиции планировалось пересчитать по цене рынка в момент открытия торгов. Такой порядок способен заметно изменить финансовый результат позиции, если стоимость актива сильно сдвинется за время паузы.
Ostium позволяет торговать бессрочными контрактами на криптовалюты, акции, биржевые фонды, валюты, сырьё и фондовые индексы. Сделки проходят в сети Arbitrum, а расчётной единицей служит стейблкоин USDC. Пользователь вносит обеспечение, выбирает направление сделки и может применять кредитное плечо до 200 раз на отдельных рынках. Блокчейн самостоятельно не знает текущую стоимость золота, нефти, доллара, индекса Nasdaq или акции Nvidia. Эти данные поступают через оракул — внешний сервис доставки рыночных цен.
Документация Ostium описывает собственную систему согласования цен. Несколько независимых издателей получают сведения от поставщиков рыночных данных, вычисляют котировку и подписывают результат криптографическим ключом. Подписанные сообщения объединяются в согласованную цену, после чего она публикуется в блокчейне и используется при открытии, закрытии и принудительном завершении позиций.
Ostium заявляет о более чем $50 млрд совокупного торгового оборота, свыше 800 тыс. сделок и 26 тыс. трейдеров. Платформа поддерживала около 75 рынков — от Bitcoin и Ethereum до золота, нефти, валютных пар и американских акций.
Широкий набор активов усложняет ценовую инфраструктуру. Криптовалюты торгуются круглосуточно на десятках площадок. Акции зависят от времени работы бирж, приостановок и корпоративных событий. Фьючерсы на сырьё имеют разные сроки обращения, а валютные и фондовые рынки используют собственные правила формирования котировок.
Единому оракулу приходится нормализовать эти данные и доставлять их с минимальной задержкой. Ошибка в доверенной части системы отражается сразу на расчётах всего протокола.
Атакующий получил возможность передавать фальшивые ценовые сообщения так, чтобы протокол принимал их за легитимные. Затем он открывал и закрывал крупные сделки по искусственным котировкам. На уровне блокчейна операции выглядели допустимыми: контракты получили правильно оформленный ценовой отчёт и рассчитали прибыль по заложенной логике.
Подробный технический отчёт Ostium пока не опубликован. Неизвестно, украл ли злоумышленник ключ одного из издателей, получил доступ к серверу оракула, обошёл механизм согласования или воспользовался ошибкой проверки отчётов.
Хранилище OLP выполняло роль расчётного запаса Ostium. Поставщики ликвидности вносили туда USDC и получали токены, отражающие их долю. Средства использовались для немедленной выплаты прибыли трейдерам, закрывающим выигрышные позиции.
В обычной ситуации результат сделок компенсировался внешним страхованием рисков через институциональных партнёров. Раз в сутки средства перемещались между блокчейн-хранилищем и внешней книгой страхующих сделок, восстанавливая необходимый запас ликвидности.
Во время атаки система увидела крупную прибыль на позициях злоумышленника и выплатила её из OLP. Прибыль существовала лишь из-за поддельных котировок, однако полученные USDC были настоящими и сразу перешли под контроль атакующего.
Упрощённо схема выглядела так:
|
Этап |
Действие |
|
1 |
Атакующий получает контроль над частью ценовой инфраструктуры |
|
2 |
В протокол отправляется поддельная котировка |
|
3 |
Контракт принимает отчёт как действительный |
|
4 |
Хакер открывает или закрывает позицию по выгодной искусственной цене |
|
5 |
Хранилище OLP выплачивает фиктивную прибыль в USDC |
|
6 |
Полученные средства обмениваются на Ethereum и выводятся через миксер |
Точная последовательность операций и перечень затронутых рынков станут известны после публикации отчёта Ostium.
После кражи злоумышленник обменял похищенные USDC примерно на 12 080 ETH. Затем 10 540 ETH отправили в Tornado Cash — сервис, который смешивает средства разных пользователей и усложняет установление дальнейшего маршрута монет. Это около 87% полученного Ethereum.
Перевод через миксер не делает средства полностью невидимыми. Но связать конкретный вывод с первоначальным депозитом становится значительно сложнее.
Ostium уведомила правоохранительные органы и начала отслеживать перемещение похищенных активов. Информация о замороженных средствах, переговорах с атакующим или возврате части денег пока не публиковалась. Команда занимается защитой затронутой инфраструктуры и готовит технический разбор. Дата возобновления торгов не объявлена.
Вопросы и ответы
Сколько денег украли у Ostium?
Атакующий вывел около $23,75 млн из хранилища OLP. Цифра $237 млн, которую можно ошибочно прочитать в адресе публикации, неверна.
Были ли украдены деньги обычных трейдеров?
Ostium заявила, что обеспечение трейдеров хранилось отдельно и не было перемещено. Ущерб пришёлся на хранилище поставщиков ликвидности.
Что такое OLP?
OLP — хранилище ликвидности Ostium. Пользователи вносили туда USDC, получали долю хранилища и доход от комиссий. Эти средства использовались для расчётов по прибыльным сделкам.
Взломали ли смарт-контракт Ostium?
Подтверждений уязвимости смарт-контрактов нет. Платформа описывает инцидент как компрометацию внешней инфраструктуры передачи цен.
Что означает атака вне блокчейна?
Злоумышленник воздействовал на серверы или службы, работающие за пределами блокчейна. Они передавали цены смарт-контрактам. Сами выплаты затем прошли через блокчейн штатным образом.
Как хакер заработал на поддельных ценах?
Он передал ложную котировку, которую система приняла за настоящую, затем открыл и закрыл крупные позиции. Контракты рассчитали искусственную прибыль и выплатили её из OLP.
Что произошло с открытыми позициями?
Позиции не были ликвидированы, но остались замороженными из-за остановки торгов. Ostium обещала предупредить минимум за 24 часа до возобновления работы.
Куда ушли похищенные средства?
USDC обменяли примерно на 12 080 ETH. Около 10 540 ETH позднее внесли в Tornado Cash.
Можно ли сейчас торговать на Ostium?
На 21 июля торговля оставалась остановленной. Дата повторного запуска не объявлена.
Вернут ли деньги поставщикам ликвидности?
Публичного плана компенсации пока нет. Платформа изучает дальнейшие действия и готовит технический отчёт.
Есть новость? Станьте автором.
Мы сотрудничаем с независимыми исследователями и специалистами по кибербезопасности. Отправьте нам новость или предложите статью на рассмотрение редакции.