Автор: Doris@SlowMist Security Team
тло
10 червня 2024 року, згідно з моніторингом системи моніторингу безпеки SlowMist MistEye, UwU Lend, платформа, яка надає послуги кредитування цифрових активів у мережі EVM, була атакована, що призвело до збитків приблизно в 19,3 мільйона доларів США. Команда безпеки SlowMist проаналізувала інцидент і поділилася такими результатами:
https://x.com/SlowMist_Team/status/1800181916857155761 Пов’язана інформація
Адреса зловмисника:
0x841ddf093f5188989fa1524e7b893de64b421f47
Уразлива адреса контракту:
0x9bc6333081266e55d88942e277fc809b485698b9 транзакція атаки: 0xca1bbf3b320662c89232006f1ec6624b56242850f07e0f1dadbe4f69ba0d6ac3
0xb3f067618ce54bc26a960b660cfc28f9ea0315e2e9a1a855ede1508eb4017376
0x242a0fb4fde9de0dc2fd42e8db743cbc197ffa2bf6a036ba0bba303df296408b
Атакуйте ядро
Суть цієї атаки полягає в тому, що зловмисник може безпосередньо маніпулювати ціновим оракулом, проводячи великі обміни в пулі CurveFinance, впливаючи на ціну токена sUSDE та використовуючи маніпульовану ціну для евакуації інших активів у пулі.
Процес нападу
1. Флеш-позики позичають активи та знижують ціну USDE: зловмисник спочатку запозичує велику кількість активів за допомогою флеш-позик і обмінює частину запозичених токенів USDE на інші токени в пулі Curve, що може вплинути на ціну sUSDE.
2. Створіть велику кількість кредитних позицій: у поточній ситуації, коли ціна sUSDE різко впала, надайте велику кількість токенів sUSDE, внісши інші базові токени.
3. Знову маніпулюйте оракулом, щоб підвищити ціну sUSDE: виконуючи операцію зворотного обміну в попередньому пулі Curve, ціна sUSDE була швидко піднята.
4. Масштабна ліквідація пасивних позицій: оскільки ціна sUSDE швидко піднялася, зловмисники могли ліквідувати раніше запозичені позиції у великих кількостях, щоб отримати uWETH.
5. Внесіть решту sUSDE та надайте в борг інші базові токени в контракті: зловмисник знову вносить на депозит дорогий на даний момент sUSDE, щоб позичити більше базових токенів для отримання прибутку.
Неважко помітити, що зловмисник в основному отримує прибуток, постійно маніпулюючи ціною sUSDE, позичаючи велику суму, коли ціна низька, і ліквідуючи та перезаставляючи, коли ціна висока. Ми слідкуємо за контрактом оракула sUSDePriceProviderBUniCatch, який розраховує ціну sUSDE:
Можна побачити, що ціна sUSDE визначається шляхом спочатку отримання різних цін на 11 токенів USDE з пулу USDE та пулу UNI V3 на CurveFinance, а потім сортування та обчислення медіани на основі цих цін.
У логіці розрахунку ціни 5 USDE мають напряму використовувати функцію get_p для отримання спотової ціни пулу Curve у реальному часі. Це дозволяє зловмиснику безпосередньо впливати на середню ціну, обмінюючи великі суми в межах однієї транзакції результати розрахунку.
Аналіз MistTrack
Згідно з аналізом інструменту відстеження в мережі MistTrack, зловмисник 0x841ddf093f5188989fa1524e7b893de64b421f47 отримав від цієї атаки приблизно 19,3 мільйона доларів США, включаючи валюти ETH, crvUSD, bLUSD і USDC. Згодом токени ERC-20 були обміняні на ETH.
Відстежуючи комісію за обробку адреси зловмисника, було виявлено, що початкові кошти на адресу надійшли з 0,98 ETH, перерахованих з Tornado Cash, а згодом на адресу також надійшло 5 коштів з Tornado Cash.
Розгорнувши графік транзакцій, виявилося, що зловмисник перевів 1292,98 ETH на адресу 0x48d7c1dd4214b41eda3301bca434348f8d1c5eb6.Поточний баланс адреси становить 1282,98 ETH, решта 4000 ETH зловмисник перевів на адресу 0x050c7e9c6. 2bf99184182 7f37745ddadb563feb70, поточний баланс цієї адреси становить 4010 ETH.
MistTrack заблокував відповідну адресу та продовжить стежити за переказом вкрадених коштів.
Підведіть підсумки
Суть цієї атаки полягає в тому, що зловмисник використовує недолік сумісності цінового оракула, щоб безпосередньо отримати спотову миттєву ціну та середню розраховану ціну, щоб маніпулювати ціною sUSDE, таким чином виконуючи кредитування та ліквідацію під впливом серйозних цінових відмінностей для отримання несподівані прибутки. Команда безпеки SlowMist рекомендує команді проекту розширити можливості оракула цін проти маніпуляцій і розробити більш безпечний механізм подачі цін оракула, щоб уникнути повторення подібних інцидентів.