Взлом Resolve на $80 млн: Разбор атаки и уязвимости
🔽 Взлом Resolve на $80 млн
Злоумышленник взял флэш-кредит на 100k USDC, закинул ликвидность в Re7 USDC vault на Morpho, откуда средства автоматически попали в маркет USR/USDC. Далее он начал скупать подешевевший USR (который уже торговался ниже $1 после депега) и использовал его как залог.
💱 И вот здесь ключевая проблема: внутри Morpho оракул продолжал считать USR = $1, несмотря на то, что на реальном рынке цена уже улетела вниз. Это означало, что под каждый USR, в любом случае, можно было занять 1 полноценный USDC.
В результате схема оказалась максимально простой и эффективной — закупаешь обесцененный актив, закладываешь его по старой цене и выводишь ликвидный USDC. Явный пример того, как зарабатывают на неэффективности не только рынка, но и протокола 🤷♂️
🔽 Взлом Resolve на $80 млн
Злоумышленник взял флэш-кредит на 100k USDC, закинул ликвидность в Re7 USDC vault на Morpho, откуда средства автоматически попали в маркет USR/USDC. Далее он начал скупать подешевевший USR (который уже торговался ниже $1 после депега) и использовал его как залог.
💱 И вот здесь ключевая проблема: внутри Morpho оракул продолжал считать USR = $1, несмотря на то, что на реальном рынке цена уже улетела вниз. Это означало, что под каждый USR, в любом случае, можно было занять 1 полноценный USDC. Именно эта ошибка в ценообразовании и стала основой для масштабной атаки. Давайте разберем подробнее, как именно работал этот механизм и почему он оказался уязвимым. Flash loan, взятый на 100 000 USDC, был использован для приобретения токенов USR на децентрализованной бирже (DEX). USR, привязанный к доллару, потерял свою привязку (депег) и торговался значительно ниже $1. Злоумышленник, воспользовавшись этим, приобретал USR по сниженной цене. Затем эти токены USR использовались в качестве залога в протоколе Morpho.
Основная уязвимость крылась в том, что Morpho, используя оракул для определения цены USR, продолжал считать его стоимость равной $1, в то время как рыночная цена была значительно ниже. Оракул – это механизм, который предоставляет информацию о ценах активов, используемую протоколами для определения стоимости залога и расчета ликвидности. В данном случае, оракул не смог оперативно отреагировать на падение цены USR, что позволило злоумышленнику использовать обесценившийся актив как эквивалент доллара. Это открывало возможность для арбитражной стратегии, при которой злоумышленник мог закладывать дешевые USR по номинальной стоимости (равной $1) и занимать USDC.
После залога USR, злоумышленник мог вывести USDC, который затем, вероятно, конвертировался в другие активы или выводился из протокола. Суть атаки заключалась в использовании разницы между реальной рыночной ценой USR и ценой, определяемой оракулом. Злоумышленник, по сути, «печатал» USDC, используя неверно оцененный актив как залог. Подобные атаки, основанные на манипулировании ценами активов, стали, к сожалению, распространенным явлением в мире DeFi. Они демонстрируют важность надежных оракулов и механизмов быстрого реагирования на изменения рыночных условий. Необходимо обеспечить, чтобы оракулы могли быстро и точно отражать изменения цен, а протоколы имели механизмы для предотвращения подобных атак. Примеры таких механизмов включают в себя лимиты на залог, автоматическую корректировку стоимости залога и более сложные алгоритмы ценообразования. Взломы, подобные этому, подчеркивают необходимость постоянного совершенствования протоколов DeFi и обеспечения их безопасности.
ФИНАНСОВЫЙ ОБОЗРЕВАТЕЛЬ Все о финансах и заработке