Um hacker concretizou um roubo de US$ 31 milhões (R$ 175 mi) em criptomoedas da startup de blockchain MonoX Finance explorando um bug no software que a plataforma utiliza para registrar contratos inteligentes.
De acordo com uma publicação da empresa, um erro contábil no software permitiu que o agressor inflacionasse o preço do token Mono e, desta forma, obtivesse uma valorização artificial para comprar outros ativos. Assim, o hacker conseguiu adquirir US$ 18 milhões em Ethereum e cerca de US$ 10 milhões em tokens Polygon (MATIC). No roubo, também foram deduzidos valores de criptomoedas WBTC, MIM, LINK e DUCK, entre outras.
A MonoX usa um protocolo de finanças descentralizadas (DeFi) para que os usuários negociem tokens de moeda digital fora dos trâmites tradicionais. Isto é, os proprietários podem depositar suas criptomoedas sem um livro de ordens de compra e venda — no que eles chamam de “contratos inteligentes” — e concentrar o uso de fundos para ter a liquidez necessária para futuros negociações. Embora os retornos sejam altos, há sempre o risco de sofrer um ataque hacker, justamente pela plataforma ser muito aberta.
Como se deu o roubo
A MonoX julgou o erro no software como “estúpido”. O que aconteceu foi que o hacker usou o mesmo token para as vias de entrada/saída (“TokenIn” e “TokenOut”) na plataforma. A MonoX atualiza os preços após cada troca, isto é, diminui o preço do “TokenIn” (para as criptos enviadas pelo usuário) e aumenta o do “TokenOut” (para as criptos recebidas).
No entanto, como o hacker tinha um token igual para todas as transações, o preço do Mono inflacionou, o que suscitou o roubo de criptomoedas. Não há razões práticas para trocar um token por um mesmo token e, por conta disso, o software nunca deveria ter permitido uma transação dessas.
“Estes tipos de ataques são comuns em contratos inteligentes porque muitos desenvolvedores não se esforçam para definir as propriedades de segurança de seu código”, explicou Dan Guido, especialista em proteção de contratos digitais, ao site Ars Technica. “Os contratos inteligentes precisam de evidências testáveis de que eles fazem o que você quer e apenas o que você quer. Isso significa propriedades de segurança definidas e técnicas empregadas para avaliá-las.”
Em comunicado divulgado na última quarta-feira (1º), a MonoX vai entrar com um pedido de investigação na polícia sobre o evento. Também afirma que um seguro cobrirá US$ 1 milhão em perdas e vai trabalhar agora nas “distribuições”.
Via Ars Technica