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
Ataque de Manipulação de Preço na Prática (Novamente): Incidente RariCapital