
Криптовалютний протокол Resolv Labs 6 квітня через оновлення смартконтракту примусово знищив 36,73 млн USR-стейблкоїнів, які перебували на адресі атакувальника, що належать до стабільних монет; це є найновішим етапом реагування після інциденту з вразливістю карбування 22 березня. Атакувальник використав витертий приватний ключ до керованої сервісної служби AWS для інфраструктури керування ключами в контурі AWS (off-chain AWS key management service), щоб карбувати 80 млн незабезпечених USR за початкового забезпечення менш ніж 200 тисяч доларів США.
Згідно з аналізом Chainalysis, ключовим вхідним каналом цієї атаки була витекла приватна частина ключа AWS KMS (Key Management Service — служба керування ключами) в офлайн (поза блокчейном) інфраструктурі авторизації Resolv. Атакувальник використав цей ключ, щоб обійти механізм авторизації під час карбування, і в мережі здійснив дві основні транзакції карбування: 50 млн USR і 30 млн USR; початкове забезпечення становило лише 100–200 тисяч доларів США USDC.
Карбування: карбування 80 млн незабезпечених USR під забезпечення менш ніж 200 тисяч доларів США
Конверсія: пакування USR у wstUSR (пакований варіант із забезпеченням), поступово обмінюючи на інші стейблкоїни
Виведення коштів: зрештою конверсія приблизно в 11,409 ETH, вартістю близько 24,48 млн доларів США
Ціновий шок: великий обсяг незабезпечених токенів потрапив у DeFi-пул ліквідності, і USR на мить впав до 0.14 долара США
Chainalysis зазначає, що фундаментальна вразливість цієї атаки полягає в тому, що система карбування Resolv не має ончейн-лімітів карбування та механізму ончейн-перевірки, повністю покладаючись на офлайн-підписи для авторизації; щойно приватний ключ було витікнуто, це створює системну відкритість.
(Джерело: Etherscan)
Блокчейн-аналітик Попел (Yu Jin) відстежив, що Resolv Labs 6 квітня через оновлення смартконтракту примусово знищив 36,73 млн USR з адреси атакувальника. У поєднанні з попередніми діями з реагування команда Resolv через кілька оновлень контракту загалом вилучила приблизно 46 млн USR з адреси атакувальника.
Однак частину безпечених атакувальником сум у формі ETH повернути неможливо, тож протокол у підсумку підтвердив фактичні економічні збитки приблизно на 34 млн доларів США. Resolv Labs підкреслив, що хоча вразливість призвела до надмірного карбування 80 млн USR, пул забезпечення протоколу «і надалі був бездоганним».
Ця подія також висвітлила двозначність механізму контролю привілейованими контрактами — той самий набір повноважень на оновлення може бути використаний як атакувальником для спричинення кризи, так і стороною протоколу для екстреного стоп-лосу. Для DeFi-протоколів, які заявляють про дещо «децентралізацію» як про принцип, ця особливість створює довгостроковий ризик для управління.
Незважаючи на те, що Resolv пройшов 18 раундів аудитів безпеки, недоліки в захисті офлайн-інфраструктури AWS спричинили масштабні збитки, що підкреслює структурну «сліпу зону» в межах нинішніх аудитів безпеки DeFi.
Дослідники з безпеки зазначають, що якби були розгорнуті інструменти миттєвого ончейн-моніторингу на кшталт Hexagate, ненормальну частку карбування можна було б автоматично позначити на ранній стадії та призупинити виконання контракту, істотно зменшивши масштаб втрат. Ключовий висновок цієї події полягає в тому, що безпекова рамка DeFi-протоколу має включати механізм ротації задніх ключів (backend key rotation), контроль доступу до хмарної інфраструктури (cloud infrastructure access control) та механізм автоматичного аварійного відсічення (circuit breaker) для аномальних транзакцій як засоби захисту на рівні пріоритету з аудитами смартконтрактів.
Resolv Labs через механізм оновлення смартконтрактів виконав операцію примусового знищення токенів щодо адреси атакувальника. Ця дія спирається на права привілейованих адміністраторів протоколу й не потребує згоди атакувальника, щоб бути виконаною ончейн, забезпечуючи централізований екстрений спосіб реагування.
Атакувальник уже обміняв приблизно 34 млн USR на 11,409 ETH (близько 24,48 млн доларів США) та переказав кошти; цю частину неможливо повернути. Фактичні підтверджені чисті збитки становлять приблизно 34 млн доларів США; 36,73 млн USR, які знищив Resolv Labs, — це залишкові позиції атакувальника, які ще не були конвертовані в готівку.
Після атаки USR ненадовго впав до 0.14 долара США; після коливань у діапазоні 0.23–0.27 долара США він поступово повернувся вгору. Resolv Labs заявив, що пул забезпечення був у порядку, але ця подія вже завдала структурного удару по ринковій довірі до прив’язки USR, а також спонукала протокол призупинити роботу та запустити план відновлення.