Firma Inverse Finance poinformowała w sobotę o kradzieży kryptowalut o wartości ponad 15 milionów dolarów ze swojej platformy. Był to skutek wykorzystania exploita w protokole na rynku Anchor i użycie jako waluty pośredniej tokena INV.
Na Twiterze możemy przeczytać, że hackerowi udało się manipulować rynkiem pieniężnym Anchor, dzięki czemu sztucznie podniósł cenę tokena INV (Inverse Finance) poprzez narzędzie open-source – Sushiswap.

INV to token na sieci Ethereum, który zasila Inverse Finance, zdecentralizowaną platformę używaną do pożyczania od innych, pożyczania komuś oraz zarządzania swoimi wirtualnymi aktywami.

Na wstępie warto wyjaśnić termin DeFi (ang. Decentralized Finance). Jest to pojęcie odnoszące się do systemów lub aplikacji zbudowanych w oparciu o technologię blockchain, służących użytkownikom do korzystania z usług i produktów finansowych nie regulowanych w przepisach prawa i nie objętych nadzorem właściwych organów. Korzystanie z takich usług i produktów może wiązać się z wysokim ryzykiem, zarówno finansowym, jak i technologicznym.
W założeniu twórców, celem DeFi jest dostarczanie usług finansowych osobom fizycznym wykluczonym, które z różnych powodów nie mogą korzystać z usług tradycyjnego rynku finansowego. Drugim ważnym aspektem funkcjonowania i korzystania z DeFi jest potencjalne ryzyko obejścia przepisów wprowadzających ograniczenia dla funkcjonowania rynku finansowego, m.in. blokady czy zajęcia środków na rachunku, ale też finansowanie przestępczości.
Rynek DeFi jest chętnie wykorzystywany do różnego rodzaju oszustw i manipulacji finansowych, dlatego korzystając z takich platform musimy być 10 razy bardziej ostrożni niż w przypadku tradycyjnych systemów.


Exploit

Złośliwa manipulacja spowodowała gwałtowny wzrost ceny INV, pozwalając cyberprzestępcy pożyczyć 15,6 miliona dolarów w kryptowalutach DOLA, ETH, WBTC i YFI.
Inverse Finance oznajmił, że manipulacja nie była atakiem typu „flash loan” i nie była związana z inteligentnym kontraktem Inverse ani kodem front-endu.
Plan, który ma zostać zaproponowany zarządowi spółki, polega na zapewnieniu, że wszystkie portfele dotknięte manipulacją zostaną spłacone w 100%. Firma twierdzi, że mają wiele możliwości na zrealizowanie tego celu i będą dostarczać aktualizacje na bieżąco.
Ciekawym podejściem jest też bezpośredni kontakt z hackerem. Podobno Inverse Finance rozmawia przez Discord’a z atakującym w celu nakłonienia go do zwrócenia środków w zamian za hojną i legalną nagrodę za znalezienie podatności.

Atak został po raz pierwszy zauważony przez firmę PeckShield zajmującą się analizą blockchain. PeckShield powiedział, że włamanie było możliwe dzięki manipulacji wyrocznią cen, która pozwoliła atakującemu wykorzystać zmanipulowaną cenę kryptowaluty INV jako zabezpieczenie w celu odprowadzenia aktywów z Inverse Finance.

Działania hackera doprowadziły do tymczasowego wzrostu ceny INV do 20 926 USD z około 380 USD, co widać na wykresie poniżej:

Źródło: coinmarketcap

Jak przebiegał atak?

W poniedziałkowym poście na blogu Inverse Finance potwierdziło analizę PeckShield, która wykazała, że atakujący wycofał 901 ETH i dokonał serii transakcji, głównie w puli INV/DOLA na SushiSwap w sobotę rano. Widzimy, że transakcje te zostały już oznaczone na publicznym blockchain jako złośliwe w celu możliwości śledzenia w sieci skradzionych środków.

Podatność istnieje w bieżącej funkcji kontraktu INV. Jest w niej zaszyta wyrocznia ceny o nazwie „TWAP Keeper Network”, która, jak się okazało jest podatna na prostą manipulację. Wszystko dlatego, że wykorzystuje najnowszą obserwację do obliczenia średniej ceny, bez sprawdzania, czy obserwacja została wykonana wystarczająco długo wstecz. Dokładnie funkcja rejestruje obserwacje z aktualnej ceny, a następnie w kolejnym bloku natychmiast pyta o cenę, co oznacza, że cena uśredniana jest tylko w ciągu około 12 sekund między dwoma blokami.

Mogłoby się wydawać, że problem jest zaimplementowanie po prostu podatnej metody przez kontrakt Inverse Finance, ale podobno Keeper ma sposób na bezpieczną implementacje. Funkcja zwraca w wyniku parametr „lastUpdatedAgo”, który powinien być sprawdzany pod kątem właśnie ostatnich manipulacji i gwałtownych zmian niewynikających z praw rynku. W kontrakcie INV ten parametr jest po prostu omijany i nie ma zaimplementowanej żadnej jego obsługi czy weryfikacji.


Podsumowanie

Warto dopowiedzieć, że to włamanie ma miejsce po kilku innych atakach na platformy DeFi, które zostały wykryte w ciągu ostatnich dwóch tygodni. Platforma „Ola Finance” została zhackowana w zeszły czwartek, informując, że skradziono około 4,67 miliona dolarów w kryptowalucie. Kilka dni wcześniej „Ronin Network” ogłosił, że cyberprzestępcy ukradli Ethereum o wartości ponad 600 milionów dolarów oraz 25,5 miliona dolarów w USDC, co uważa się za największą kradzież w historii DeFi.

Podziel się z innymi tym artykułem!