Back to Blog

Ataque de Manipulação de Preço na Prática (Novamente): Incidente RariCapital

Code Auditing
May 9, 2021
4 min read

Em 8 de maio, a Peckshield relatou um incidente de segurança sobre a RariCapital. Após uma investigação cuidadosa, descobrimos que se trata de um tipo de ataque de manipulação de preços (indireto) descrito em nosso artigo: DeFiRanger: Detecting Price Manipulation Attacks on DeFi Applications. No artigo, focamos na detecção de dois tipos de novos ataques em aplicativos DeFi, incluindo ataques de manipulação de preços diretos e indiretos. O primeiro significa que um invasor manipula diretamente o preço do token em uma DEX realizando uma negociação indesejada na mesma DEX ao atacar o aplicativo DeFi vulnerável. O segundo significa que um invasor manipula indiretamente o preço do token do aplicativo DeFi vulnerável. Este incidente de segurança é um exemplo de ataque de manipulação de preços indireto.

Causa Raiz

Analisamos a causa raiz do ataque e descobrimos que a dependência de preços insegura é o motivo. Especificamente, o preço do token LP da Rari depende do valor do token LP ibEth mantido pela Rari (em Ether). Infelizmente, o preço do token LP ibEth pode ser manipulado por invasores que invocam a função work do ibEth.

Rari_token_value_held_by_attacker = eth_reserve_in_Rari * Rari_token_number/Rari_token_total_supply

ibEth_token_value_held_by_Rari = eth_reserve_in_ibEth * ibEth_token_number/ibEth_token_total_supply

O eth_reserve_in_Rari é afetado pelo ibEth_token_value_held_by_Rari, que é manipulado pelo invasor por meio do aumento do eth_reserve_in_ibEth (invocando a função work.)

Usando nosso sistema DefiRanger, recuperamos facilmente a semântica DeFi mostrada na figura. O número de tokens LP na mineração de liquidez (depositar Ether para obter token LP) e no cancelamento de liquidez (retirar token LP para obter Ether) é diferente (com o círculo vermelho) com o mesmo número de Ether (com o fundo verde).

Processo de Ataque

O processo de ataque é mostrado nas etapas a seguir.

  1. O invasor invoca a função work do ibEth.
  2. Esta função invoca a função SushiswapGoblin.work, que por sua vez invoca o contrato controlado pelo invasor (0x2f755e8980f0c2e81681d82cccd1a4bd5b4d5d46).
  1. O contrato primeiro deposita 58903.4755276693 Ether (emprestado via flash loan) na Rari e obtém o token LP da Rari (146281892117489076580650).
  2. O invasor transfere 3818.9022134987213 Ether para o ibEth. Esta é a etapa crítica, que elevará o preço do token LP do ibEth (sem afetar seu fornecimento total). Isso afeta ainda mais o preço do token LP da Rari. Isso ocorre porque a reserva total de Ether no pool da Rari aumenta devido ao aumento do preço do token LP do ibEth que ela detém. Observe que o invasor não pode manipular o preço do token da Rari ou do ibEth adicionando liquidez, pois isso também aumentaria o fornecimento total do token.
  3. O invasor retira o Ether. Como o preço do token Rari é mais alto, o invasor pode usar menos tokens LP da Rari (146196247321127203315331 em vez de 146281892117489076580650) para obter o mesmo número de Ether e devolver o flash loan.
  1. O invasor obtém o Ether devolvido ao final da função work.

Resumo

Em conclusão, a violação de segurança enfrentada pela RariCapital é um forte lembrete das ameaças sofisticadas que pairam sobre os aplicativos DeFi. Por meio de uma estratégia de exploração inteligente, os invasores realizaram um ataque de manipulação de preços indireto. O incidente revelou vulnerabilidades críticas associadas ao uso de dependências de preços inseguras em contratos inteligentes. Este ataque destaca a necessidade urgente de os projetos DeFi adotarem sistemas de detecção robustos como o DeFiRanger para se proteger contra táticas de manipulação diretas e indiretas que ameaçam a integridade e a segurança do crescente ecossistema DeFi.

Sobre a BlockSec

A BlockSec é uma empresa pioneira em segurança blockchain, fundada em 2021 por um grupo de especialistas em segurança mundialmente renomados. A empresa está comprometida em aprimorar a segurança e a usabilidade para o emergente mundo Web3, a fim de facilitar sua adoção em massa. Para isso, a BlockSec oferece serviços de auditoria de segurança para contratos inteligentes e cadeias EVM, a plataforma Phalcon para desenvolvimento seguro e bloqueio proativo de ameaças, a plataforma MetaSleuth para rastreamento e investigação de fundos, e a extensão MetaDock para construtores Web3 que navegam com eficiência no mundo cripto.

Até o momento, a empresa atendeu mais de 300 clientes estimados, como MetaMask, Uniswap Foundation, Compound, Forta e PancakeSwap, e recebeu dezenas de milhões de dólares americanos em duas rodadas de financiamento de investidores proeminentes, incluindo Matrix Partners, Vitalbridge Capital e Fenbushi Capital.

Site oficial: https://blocksec.com/

Conta oficial no Twitter: https://twitter.com/BlockSecTeam

Best Security Auditor for Web3

Validate design, code, and business logic before launch. Aligned with the highest industry security standards.

BlockSec Audit