CryptoTimes

Protocolo Origin é atacado; perda estimada é de US$ 7 milhões

17 nov 2020, 8:31 - atualizado em 17 nov 2020, 8:37
Invasor utilizou uma stablecoin falsa para realizar um ataque de reentrância, alterando o fornecimento total da stablecoin OUSD (Imagem: OUSD)

Origin, protocolo de finanças descentralizadas (ou DeFi, na sigla em inglês), foi invadido nessa segunda-feira (16) e perdeu quase US$ 7 milhões em fundos.

A quantia inclui fundos de usuários, bem como US$ 1 milhão em depósitos dos fundadores e funcionários do Origin. O invasor atacou o cofre Origin Dollar (OUSD) do protocolo Origin e zerou grande parte de suas stablecoins.

OUSD é a stablecoin nativa do Origin, lastreada por três outras stablecoins: tether (USDT), USDC da Circle e Coinbase e DAI da MakerDAO.

O invasor obteve cerca de 7.137 ETH (equivalentes a cerca de US$ 3,3 milhões) e 2,25 milhões de DAI (equivalentes a US$ 2,25 milhões). Como os fundos foram movimentados do cofre OUSD às carteiras do invasor?

Matthew Liu, cofundador do Origin, afirmou que foi um bug de reentrância nos contratos autônomos do Origin. Tais bugs permitem que invasores possam sacar fundos de um contrato se forem qualificados para tal por meio de reentrância.

“O invasor aproveitou uma verificação de validação na emissão múltipla (na emissão de OUSD com múltiplas stablecoins) para enviar uma ‘stablecoin’ falsa sob seu controle”, disse Liu. 

OUSD é uma stablecoin (moeda de valor estável) lastreada por DAI, USDC e USDT (Imagem: OUSD)

Essa “stablecoin” foi utilizada na função “transferFrom()” [“transferir de”] pelo cofre, permitindo que o hacker invadisse o contrato com um ataque de reentrância no meio da emissão.

O invasor pôde criar um evento de ajuste de base durante a segunda emissão após os fundos terem sido convertidos em OUSD após a primeira grande emissão, mas antes que o fornecimento da OUSD aumentasse. Isso criou um grande ajuste de base para todos no contrato, incluindo o invasor.

Em seguida, o invasor recebeu sua primeira grande emissão de OUSD, saindo com uma quantia maior de OUSD do que a quantia de ativos no contrato.

Em seguida, o hacker vendeu os OUSD extras na Uniswap e SushiSwap em troca de USDT, afirmou Liu.

Também usaram Tornado Cash, um serviço de mixing (que mistura transações falsas e verdadeiras para ofuscar a quantia e os envolvidos na transação), e wrapped bitcoin renBTC “para lavar e movimentar os fundos”, explicou Liu.

Empréstimo-relâmpago

O pesquisador de cripto que usa o nome de “Frank Topbottom” analisou o ataque em detalhes e afirmou que um empréstimo-relâmpago foi utilizado no processo.

O invasor obteve um empréstimo-relâmpago de 70 mil ETH da corretora descentralizada dYdX e os converteu em USDT e DAI na Uniswap. Em seguida, ajustaram a base do contrato do Origin e emitiram mais OUSD com USDT.

Mais especificamente, o contrato adulterado que o invasor usou tinha uma função “transferFrom()”, disse Topbottom ao The Block. Essa função deu ao invasor a capacidade de usar o contrato como um token.

“Durante a solicitação da função transferFrom(), houve uma outra solicitação da função ‘mint()’ [emitir]. Esta última aconteceu dentro da execução de outra função de emissão chamada ‘mintMultiple()’. Foi assim que a reentrância aconteceu, permitindo que o invasor realizasse outro ajuste de base e inflacionasse o fornecimento de OUSD”, explicou Topbottom.

As OUSDs extras foram convertidas em ETH e DAI na Uniswap e na SushiSwap. Segundo Topbottom, o invasor roubou US$ 7,7 milhões na forma de 11.804 ETH e 2.249.821 DAI.

Ao se aproveitar da função de ajuste de base do Origin e emitir as OUSDs extras de graça, o invasor conseguiu sacar stablecoins verdadeiras.

Agora, Origin está investigando o ataque de forma detalhada e fornecerá atualizações em breve.

Enquanto isso, Liu pediu que usuários não comprem OUSD na Uniswap ou SushiSwap, pois os preços atuais não refletem os ativos lastreados da stablecoin. Atualmente, OUSD está sendo negociada a quase US$ 0 e não possui liquidez, segundo a Uniswap.

OUSD foi lançada pela Origin em setembro deste ano para funcionar como uma conta-poupança. Origin possui investimentos da Pantera Capital, que liderou sua rodada de financiamento de US$ 3 milhões em 2017.