Хакеру вдалося витягти понад 6 мільйонів доларів із протоколу децентралізованих фінансів (DeFi) Delta Prime, карбуючи довільно велику кількість токенів квитанцій про депозит.
Згідно з даними дослідника блоків Arbiscan, зловмисник викарбував понад 115 duovigintillion токенів Delta Prime USD (DPUSDC) під час початкової атаки, що перевищує 1,1*10^69 у науковій нотації.
DPUSDC — це квитанція про депозит для стейблкоїна USDC (USDC), що зберігається в Delta Prime. Він призначений для погашення у співвідношенні 1:1 за USDC.
Незважаючи на таку велику кількість депозитних квитанцій USDC, зловмисник спалив лише 2,4 мільйона з них, отримавши в обмін стейблкоїни USDC на суму 2,4 мільйона доларів США.
Зловмисник карбує дуже велику кількість токенів DPUSDC і викуповує деякі з них. Джерело: Arbiscan.
Потім зловмисник повторив ці кроки для інших токенів отримання депозиту, викарбувавши понад 1 двогінтильйон Delta Prime Wrapped Bitcoin (DPBTCb), 115 октодецильйонів Delta Prime Wrapped Ether (DPWETH), 115 октодецильйонів Delta Prime Arbitrum (DPARB) і багато інших токенів отримання депозиту, зрештою викупивши крихітну частку викарбуваної суми, щоб отримати понад 1 мільйон доларів США в біткойнах (BTC), ефірах (ETH), Arbitrum (ARB) та інших жетонах.
За словами фахівця з блокчейн-безпеки Чаофана Шоу, зловмисник наразі вкрав приблизно 6 мільйонів доларів.
Джерело: Chaofan Shu.
Зловмисник зміг викарбувати ці токени квитанцій про депозит, спочатку отримавши контроль над обліковим записом адміністратора, який закінчується на b1afb, чого вони, ймовірно, досягли шляхом викрадення закритого ключа розробника. Використовуючи цей обліковий запис, вони викликали функцію «оновлення» для кожного з контрактів пулу ліквідності протоколу.
Ці функції призначені для використання для оновлення програмного забезпечення. Вони дозволяють розробнику змінювати код у контракті, вказуючи проксі-сервер на іншу адресу реалізації.
Однак зловмисник використовував ці функції, щоб вказати кожному проксі на зловмисний контракт, створений зловмисником. Кожен зловмисний контракт дозволяв зловмиснику карбувати як завгодно велику кількість депозитних квитанцій, фактично дозволяючи їм вичерпати кожен пул коштів.
Контракти на оновлення зловмисників Delta Prime. Джерело: Arbiscan.
Delta Prime визнала атаку в дописі X, заявивши, що «о 6:14 ранку за центральноєвропейським часом DeltaPrime Blue (Arbitrum) зазнала атаки та злила 5,98 млн доларів США».
Він стверджував, що версія Avalanche, DeltaPrime Blue, не вразлива до атаки. У ньому також зазначено, що страхування протоколу «покриватиме будь-які потенційні збитки, де це можливо/необхідно».
Атака Delta Prime ілюструє ризик протоколів DeFi, які використовують оновлювані контракти.
Екосистема Web3 розроблена для запобігання злому приватних ключів від використання цілих протоколів.
Теоретично, зловмиснику потрібно викрасти приватні ключі кожного користувача, щоб спустошити весь протокол. Однак коли контракти можна оновлювати, це створює елемент ризику централізації, який може призвести до втрати коштів цілою базою користувачів.
Незважаючи на це, деякі протоколи вважають, що відмова від можливості оновлення може бути гіршою, ніж альтернатива, оскільки це може перешкодити розробнику виправити помилки, виявлені після розгортання. Розробники Web3 продовжують обговорювати, коли протоколи повинні і не повинні дозволяти оновлення.
Експлойти смарт-контрактів продовжують становити загрозу для користувачів Web3. 11 вересня зловмисник вивів понад 1,4 мільйона доларів із пулу ліквідності токенів CUT, використовуючи незрозумілий рядок коду, який вказував на неперевірену функцію в окремому контракті.
3 вересня з протоколу Penpie було виведено понад 27 мільйонів доларів після того, як зловмисник успішно зареєстрував власний шкідливий контракт як ринок токенів.