DeFi-проект Cheese Bank потерял $3,3 млн в результате взлома
Специалисты из PeckShield представили подробности взлома DeFi-проекта Cheese Bank 6 ноября, в результате которого злоумышленники вывели $3,3 млн в стейблкоинах USDC, USDT и DAI.
Cheese Bank Incident: Root Cause Analysis https://t.co/pe2ccTqTgJ
— PeckShield Inc. (@peckshield) November 16, 2020
Уязвимость содержалась в механизмах оценки стоимости обеспечения при помощи оракула автоматизированного маркетмейкера.
«В ходе серии атак мы наблюдали, как злоумышленники использовали мгновенные займы для получения, обмена, депозита и повторного получения крупных сумм с целью манипулирования ценой отдельного токена на одной бирже», — пишут PeckShield.
В ноябре этого года с подобными атаками столкнулись DeFi-проекты Akropolis и Value DeFi.
Последовательность действий хакеров следующая:
- Злоумышленники получили мгновенный займ на 21 000 ETH при помощи платформы dYdX;
- Обменяли 50 ETH на 107 000 токенов CHEESE на UniswapV2;
- Добавили 107 000 CHEESE и необходимые 78 ETH в пул ликвидности на UniswapV2, взамен получив токены UNI_V2 LP;
- Выпустили токены sUSD_V2 на все полученные на предыдущем этапе токены UNI_V2 LP. Этот шаг позволил использовать UNI_V2 LP токены в качестве обеспечения для заимствования средств с Cheese Bank;
- Повысили цену нативного токена Cheese Bank на UniswapV2, обменяв 20 000 ETH на 288 000 CHEESE. Это привело к повышению стоимости обеспечения в виде токенов UNI_V2 LP. В PeckShield подчеркивают, что это ключевой момент, поскольку протокол использует количество WETH в пуле ликвидности для оценки цены соответствующего токена LP;
- Обновили ценовой поток оракула Cheese Bank;
- Вывели все активы Cheese Bank в USDC, USDT и DAI посредством функции заимствований. Перед этим хакеры «предусмотрительно» определили баланс протокола.
- Обменяли 288 000 CHEESE на 19 980 ETH на UniswapV2. Хакерам нужно было вернуть 21 000 ETH мгновенного займа обратно dYdX, что они сделали посредством 288 тысяч CHEESE;
- Обменяли 58 000 USDC на 132 ETH на UniswapV2 для пополнения запасов ETH, потраченных ранее на комиссии в UniswapV2.
- Перевели $3,3 млн в USDC, USDT и DAI на отдельный адрес (на момент написания его баланс составлял $453,75).
- Вернули мгновенный займ на 21 000 ETH на платформу dYdX.
«Поскольку оракулы автоматизированных маркетмейкеров часто выступали целями в недавних атаках, мы предлагаем проявлять особую осторожность при обращении к ним как к ценам оракулов, так как ими можно легко манипулировать», — заключают специалисты.
Напомним, в конце октября хакер вывел $19,8 млн с платформы Harvest Finance через манипуляцию курсами стейблкоинов в DeFi-протоколе Curve.
Подписывайтесь на новости ForkLog в Facebook!
Рассылки ForkLog: держите руку на пульсе биткоин-индустрии!