Белый хакер предотвратил потенциальную кражу $350 млн из DeFi-проекта SushiSwap
Партнер Paradigm, специалист в сфере кибербезопасности Сэм Сан рассказал, как выявил и помог устранить уязвимость в DeFi-проекте SushiSwap. Баг грозил потерей свыше 109 000 ETH (~$350 млн на тот момент).
Эксперт изучал платформу SushiSwap для выпуска новых токенов и привлечения финансирования MISO (Minimal Initial SushiSwap Offering). Она предлагает два типа аукционов - пакетный и голландский.
Внимание специалиста привлек баг, который использовал хакер при атаке на Opyn. Тогда злоумышленник вывел из DeFi-проекта около $371 000 пользовательских средств.
В случае с MISO ситуация оказалась более опасной. Сэм Сан обнаружил, что уязвимость позволяет в ходе аукциона получить возмещение за каждый ETH, отправленный свыше установленного предела. Это означало, что вместо отказа от транзакции контракт просто возместит все средства.
"Внезапно маленькая уязвимость стала намного больше. Я не имел дела с ошибкой, которая позволила бы перебивать ставки других участников. Я нашел баг на $350 млн", - написал исследователь.
Активы находились в контракте действующего голландского аукциона на MISO.
Сэм Сан связался с командой SushiSwap и несколькими сторонними экспертами. Группа выработала три варианта решения проблемы:
-оставить все без изменений в расчете, что баг никто не обнаружит;
-спасти средства, выведя их с помощью эксплойта;
-завершить аукцион вручную.
Группа выбрала последнее решение.
При этом проблема оказалась шире: на MISO оказался активный пакетный аукцион на $8 млн, которые также оказался под угрозой. С ним решили ничего не делать, поскольку отсутствовала возможность принудительного завершения.
"В целом, чтобы защитить $350 млн от попадания в чужие руки, потребовалось всего пять часов. Даже несмотря на то, что денежного ущерба не было, я уверен, что все участники предпочли бы вообще не проходить через этот процесс", - отметил Сэм Сан.
Он пришел к выводу, что даже безопасные компоненты DeFi-протоколов при интеграции могут приводить к уязвимостям на уровне контрактов.