Term Labs відновив усі позиції з фіксованою ставкою, що зберігалися у сховищах, постраждалих від серпневого експлойту управління, причому остання позиція була переміщена 25 серпня, тоді як Meta Vaults та постраждалі стратегії залишаються закритими.
Підсумок
- Term Labs відновив усі постраждалі позиції з фіксованою ставкою до 25 серпня, тоді як його Meta Vaults та постраждалі стратегії залишаються закритими.
- Атакувальники використовували шкідливі пропозиції управління для видалення затримок виконання перед виведенням ліквідних ETH та USDC зі стратегій сховищ.
- Підроблений репо-токен був оцінений проти точного ліквідного балансу USDC кожної стратегії, що дозволило атакувальнику зібрати доступні кошти.
- Term Labs заявив, що його контракти V1 та V2 не були скомпрометовані, а його прямі ринки запозичень і кредитування залишалися операційними.
Term Labs повідомив у своєму останньому звіті про інцидент, що остання позиція з фіксованою ставкою була відновлена о 14:52 UTC 25 серпня, тоді як його розслідування показало, що атака була обмежена ліквідними балансами, що зберігалися у сховищах Term.
Протокол заявив, що його контракти V1 та V2 не були скомпрометовані, а його прямі ринки запозичень і кредитування продовжували працювати протягом усього інциденту.
Term Labs каже, що кредитні контракти уникли експлойту сховища
Новий технічний звіт дає більш детальну картину атаки 23 серпня, яку, за попередніми оцінками фірм з безпеки, було виведено приблизно 8,5 мільйона доларів зі сховищ Term Finance.
Term Labs спочатку розкрив експлойт управління, що вплинув на сховища, не надавши повної послідовності атаки. Фірми з безпеки CertiK та PeckShield оцінили збитки приблизно в 8,5 мільйона доларів, включаючи приблизно 2843 ETH та 1,68 мільйона USDC. PeckShield повідомив, що USDC згодом було обмінено на приблизно 1,68 мільйона DAI.
Пізніше протокол закрив свої Meta Vaults та скасував їхні ролі управління DAO. Нові депозити були назавжди вимкнені, тоді як виведення залишалися доступними. Yearn заявив на той час, що постраждалі контракти використовували інфраструктуру Yearn V3, але атака включала обгортку управління, розроблену для Term, а не стандартні сховища Yearn V3.
Term Labs тепер каже, що його базова система кредитування з фіксованою ставкою залишилася поза досяжністю атакувальника. Функції постачання, погашення та ліквідації продовжували працювати без перерв на його прямих ринках кредитування.
Натомість атака розвивалася через два гаманці операторів, профінансовані через Tornado Cash, та серію пропозицій управління, які змінили контроль над стратегіями сховищ Term.
Перший оператор отримав кошти через Tornado Cash 17 серпня. Приблизно через 24 хвилини гаманець подав пропозицію ETH під назвою «Проголосуйте ТАК, щоб ВЕТУВАТИ запропоновані куратором зміни параметрів сховища».
Серед змін, включених у пропозицію, було зменшення затримки управління постраждалого стеку до нуля. Term Labs заявив, що ця зміна усунула додатковий період у сім днів та одну годину, протягом якого постачальники ліквідності могли зупинити пропозицію до виконання.
Атакувальники підготували окремі кампанії з ETH та USDC
Другий гаманець оператора отримав фінансування через Tornado Cash 18 серпня, перш ніж розгорнути singleton-контракт пізніше того ж дня.
За словами Term Labs, контракт поєднував три функції в одному розгортанні: контролер, адаптер цін та підроблений репо-токен. Потім допоміжний контракт був ініціалізований за допомогою singleton.
Через три дні, 21 серпня, допоміжний контракт подав сім пропозицій управління та проголосував за них єдиними голосами.
Дві пропозиції були спрямовані на DAO стратегій ETH, але так і не були виконані. Інші п'ять стали частиною атаки на USDC.
Кожна з п'яти пропозицій зменшувала відповідну затримку управління до нуля, усуваючи додатковий період у три дні та одну годину, протягом якого LP могли б втрутитися до виконання.
Раніше проведений аналіз інциденту показав, що зловмисник отримав вплив на управління з дуже низькими витратами. Огляд захоплення управління показав, що приблизно 951 долар було витрачено на придбання достатньої кількості токенів управління, щоб контролювати голоси, пов'язані зі сховищами, що містять мільйони доларів депозитів.
Транзакції не вимагали від зловмисника компрометації основних контрактів Term з фіксованою ставкою. Натомість контракти управління виконували інструкції, які пройшли через процес пропозицій та голосування.
Подібний шлях атаки був використаний проти StrongBlock на початку серпня, коли зловмисник захопив його систему управління та вивів близько 72 000 доларів у токенах STRONG та STRNGR. Зловмисник отримав достатню силу голосу, щоб прийняти пропозицію, яка в кінцевому підсумку надала адміністративний контроль над контрактом Governor проекту.
ETH було спрямовано через стратегію з фіксованим одержувачем
Перша успішна пропозиція Term була виконана о 06:25 UTC 23 серпня.
Чотири активні стратегії ETH, Shorewoods, August Digital, Parity Prime та Parity Core, були відкликані в Meta Vault за допомогою update_debt() та спрямовані в нову стратегію під назвою frWETH-EXIT.
Term Labs повідомили, що стратегія була названа "Fixed Recipient WETH Exit Strategy".
Після надходження WETH у нову стратегію, frWETH-EXIT переказав всю суму першому оператору під час того ж виклику.
Транзакція залишила Meta Vault з 2 841,74 акціями в стратегії, що не містила жодного з WETH, які були переказані в неї.
Ця цифра тісно відповідає приблизно 2 843 ETH, які PeckShield відстежив від Term Finance під час свого початкового аналізу інциденту.
Через двадцять дві хвилини після транзакції ETH, друга кампанія була виконана проти п'яти DAO стратегій USDC.
Parity Prime, Parity Core, Parity HY, Parity HY v2 та RockawayX Tori були цілями о 06:47 UTC.
Term Labs повідомили, що кожна пропозиція змусила її DAO продати одну одиницю підробленого репо-токена у відповідну стратегію за вартістю, що дорівнює всьому ліквідному балансу USDC стратегії.
Зловмисник зміг здійснити продаж після того, як пропозиції встановили контракт під назвою fmTERT.
Term Labs повідомили, що fmTERT імітував як контролер, який використовувався для визначення, чи є токен легітимним інструментом Term, так і адаптер цін, відповідальний за визначення вартості інструменту.
Пропозиції встановили резервний коефіцієнт кожної стратегії на нуль та збільшили її ліміт концентрації до максимально дозволеного значення, запобігаючи обмеженню цих контролів підробленої токен-транзакції.
Підроблений токен потім оцінювався за допомогою динамічної функції redemptionValue().
Під час виконання функція повертала точну суму ліквідного USDC, доступного в стратегії, що дозволяло продати одну одиницю підробленого репо-токена практично за весь доступний баланс стратегії.
Після продажу пропозиції схвалили надходження USDC та переказали їх з кожного DAO до гаманця другого оператора.
Позиції з фіксованою ставкою були переміщені до того, як вони могли бути погашені
Term Labs повідомили, що позики з фіксованою ставкою, що належать постраждалим сховищам, не могли бути досягнуті через саму атаку.
Окрема проблема виникла б, коли ці позиції дозріли, оскільки їх надходження були заплановані для погашення в ті ж сховища, які були захоплені під час атаки на управління.
Протокол відреагував, оновивши постраждалі контракти та перемістивши позиції з фіксованою ставкою до настання строку погашення.
Усі постраждалі позиції з фіксованою ставкою з тих пір були відновлені, причому остання позиція була переміщена о 14:52 UTC 25 серпня.
Інцидент ілюструє роль, яку затримки виконання можуть відігравати в безпеці управління. За кілька днів до атаки на Term Finance, Binance повідомила, що зупинила зловмисну пропозицію DAO, яка загрожувала приблизно 1,2 мільйона доларів, що належали неназваному проекту. До виконання цієї пропозиції залишалося менше 48 годин, коли біржа зв'язалася з проектом, який в кінцевому підсумку відхилив її без зареєстрованих втрат.
У випадку Term, зловмисні пропозиції самі видаляли додаткові періоди затримки перед вилученням активів. Пропозиція ETH усунула семиденне та одногодинне вікно, тоді як п'ять пропозицій USDC видалили триденні та одногодинні періоди з відповідних стеків управління.
Term Labs повідомила, що її Meta Vaults та постраждалі стратегії залишаються закритими, тоді як робота з закриття, що стосується решти низькоактивних сховищ, все ще триває.
Протокол співпрацює з правоохоронними органами та кібербезпековими фірмами для ідентифікації відповідальних за атаку та повідомив, що надав відповідну інформацію для сприяння розслідуванням.






