Protokół DeFi Origin zostaje zaatakowany

Protokół DeFi Origin zostaje zaatakowany, traci 7 milionów dolarów.

Protokół DeFi Origin został wykorzystany pod koniec poniedziałkowej nocy i stracił około 7 milionów dolarów.
Błąd reentralizacji w inteligentnych umowach Origin doprowadził do ataku.

Kwota ta obejmuje fundusze użytkowników, jak również depozyty o wartości 1 miliona dolarów dokonane przez założycieli i pracowników Origin. Napastnik wykorzystał Bitcoin Up skarbiec Origin Protocol’s Origin Dollar (OUSD) i osuszył większość swoich stabilnych monet. OUSD jest native stablecoin Origin, wspierany przez trzy inne stablecoins: Tether (USDT), Circle i Coinbase’s USDC, i MakerDAO’s DAI.

Eksploatacja spowodowała, że napastnik zyskał co najmniej 7,137 ETH (warte około 3,3 miliona dolarów) i 2,25 miliona DAI (warte około 2,25 miliona dolarów). W jaki sposób środki zostały przeniesione ze skarbca OUSD do portfeli napastnika?

Matthew Liu, współzałożyciel Origin, powiedział, że błąd reentralizacji w inteligentnych kontraktach Origin’a umożliwił atak. Takie błędy mogą pozwolić napastnikom na wycofanie większej ilości środków z kontraktu, niż kwalifikuje się do tego reentralizacja.

„Napastnik wykorzystał brakującą kontrolę poprawności w miętówkach wielokrotnego użytku (przy biciu OUSD z wieloma stabilnymi monetami), aby przejść w fałszywym „stabilnym trumnie“ pod ich kontrolą“, powiedział Liu. „Ten ’stablecoin‘ został następnie nazwany ‚transferFrom‘ przez sklepienie, pozwalając hakerowi na wykorzystanie kontraktu z atakiem reentrancy w środku mennicy“.

„Napastnik był w stanie stworzyć wydarzenie rebase wewnątrz drugiej mennicy, po tym jak fundusze przeniosły się do OUSD z pierwszej dużej mennicy, ale przed zwiększeniem podaży OUSD. Stworzyło to potężną bazę rebazową dla wszystkich w kontrakcie, w tym dla napastnika. Napastnik otrzymał wtedy również swoją pierwszą dużą mennicę OUSD, dając im w sumie więcej OUSD niż miał w kontrakcie“.

Napastnik sprzedał wtedy dodatkowe OUSD na Uniswap i SushiSwap za USDT, powiedział Liu. Korzystali również z usługi krypto-mieszania Tornado Cash i owinięte bitcoin renBTC „do prania i przenoszenia funduszy“, zauważył Liu.

Pożyczka flash

Kryptoanalityk, który nazywa się „Frank Topbottom“ szczegółowo przeanalizował atak i powiedział, że użyto w tym procesie pożyczki flash. Napastnik wziął pożyczkę flash 70.000 ETH ze zdecentralizowanej wymiany dYdX i zamienił te ETH na USDT i DAI na Uniswap. Następnie przejął kontrakt Origin i wybił dodatkowy OUSD z USDT.

Konkretnie, złośliwy kontrakt, którego użył atakujący, miał funkcję „transferFrom()“, Topbottom powiedział The Block. Funkcja ta dawała napastnikowi możliwość użycia kontraktu jako token. „Podczas wywołania funkcji transferFrom(), nastąpiło drugie wywołanie funkcji mint(). Wywołanie funkcji mint() nastąpiło wewnątrz wykonania innej funkcji mint() [mintMultiple()]. W ten sposób doszło do reentralizacji, która pozwoliła napastnikowi spowodować dodatkowy rebasing i nadmuchać zasilanie OUSD“, powiedział The Block.

Dodatkowe monety OUSD zostały następnie zamienione na ETH i DAI w Uniswap i SushiSwap. Według Topbottom, napastnik był w stanie wbić do kieszeni około 7,7 miliona dolarów w postaci 11.804 ETH i 2.249.821 DAI.

Mówiąc prościej, dzięki wykorzystaniu funkcji rebase’u Origin i wybijaniu dodatkowego OUSD bez żadnych kosztów, napastnik mógł wycofać prawdziwe stabilne monety.

Origin analizuje obecnie szczegółowo atak i oczekuje się, że wkrótce pojawi się więcej aktualizacji. W międzyczasie, Liu namawia użytkowników do nie kupowania OUSD w Uniswap lub SushiSwap, ponieważ obecne ceny nie odzwierciedlają aktywów bazowych stablecoinów. OUSD jest obecnie warty blisko $0 i nie ma płynności, według Uniswap.

OUSD został wprowadzony przez Origin we wrześniu tego roku, aby działać jak konto oszczędnościowe. Origin jest wspierany przez firmę Pantera Capital, która w 2017 roku przeprowadziła rundę 3 milionów dolarów.

Kategorien: