Исследователи Beosin отчитались о взломе протокола MIM_Spell на $6 млн
Эксперты компании по безопасности блокчейнов Beosin рассказали подробности атаки на DeFi-протокол MIM_Spell. Исследователи подтвердили, что хакерам удалось похитить более $6 млн в криптовалютах. По данным инструмента мониторинга Beosin KYT, злоумышленники воспользовались популярным методом флэш-кредитования.
По мнению аналитиков, основная причина взлома заключается в том, что «в контракте по проекту использовался алгоритм округления и устанавливался параметр 1, что приводило к несбалансированности результата». Исследователи рассказали, что в контракте есть 2 функции: заимствовать и погашать. Одна позволяет занять цифровые средства, а другая — вернуть их.
«Хакеры сначала контролируют сумму кредита и стоимость долга по контракту от 0 до 97. Затем они постоянно вызываются функции заимствования и погашения, значения которых равны 1. Наконец, сумма заимствования и стоимость долга контролируются до 0 и 120080183810681886665215049728, что приводит к серьезному дисбалансу в соотношении», — пояснили специалисты.
Затем злоумышленники вновь вызывают функцию погашения и передают, которая вызывает подфункцию. Алгоритм округляет значение в большую сторону, в результате чего некоторые показатели изменяются. Злоумышленник использует описанный выше метод много раз. В итоге более 66 млн по контракту были выданы в виде займа.
По словам аналитиков злоумышленники сначала взяли в долг 300 тыс. MIM. Впоследствии они запросили сумму кредита и долга в функции обратного вызова. Далее хакеры вызвали функцию repayForAll, вернули токены MIM и свели функцию elastic к минимуму. Следующим шагом злоумышленники вернули долги других пользователей через функцию погашения.
Наконец, хакеры создали новый контракт и контролировали сумму заимствования и стоимость долга до 0 и 120080183810681886665215049728 с помощью упомянутого выше метода заимствования и погашения. В конечном итоге 5 миллионов MIM были выданы в виде займа, а срочный кредит при этом полностью возвращен. На данный момент все украденные криптовалюты конвертированы в ETH. Средства рассредоточены по нескольким адресам хакеров.