Buraco negro engolido: a vulnerabilidade do Vyper faz a curva virar solidamente

Recentemente, o Curve, um protocolo de moeda superestável, foi atacado por um ataque de reentrância, causando sérias perdas. A seguir estão as análises de segurança e recomendações de segurança do MetaTrust Labs para este ataque.

Avaliação do Evento

De acordo com o Twitter oficial da Curve Finance, em 31 de julho de 2023, alguns pools estáveis (alETH/msETH/pETH) escritos usando o Vyper versão 0.2.15 foram sujeitos a um ataque de reentrância. A Curve Finance afirmou que o ataque foi causado por bloqueios de reentrância com defeito no Vyper versão 0.2.15 e afetou apenas pools usando ETH puro. Atualmente, a Curve está avaliando os danos e outras piscinas estão seguras.

De acordo com a análise do MetaTrust Labs, a vulnerabilidade foi introduzida entre agosto e outubro de 2021, principalmente devido ao compilador Vyper versão 0.2.15/0.2.16/0.3.0. O motivo da vulnerabilidade é que a lógica de reentrada no bytecode gerado não deve entrar em vigor devido a um bug no compilador.

De acordo com as estatísticas da cadeia, o incidente de hacking do pool de stablecoin da Curve Finance causou uma perda cumulativa de 52 milhões de dólares americanos em pools Alchemix, JPEG'd, CRV/ETH, etc. O token CRV da Curve Finance também foi duramente atingido, caindo mais de 15% no dia.

Análise de causa

A razão pela qual o Curve Finance foi atacado desta vez é que, quando o Curve usou a linguagem Vyper para escrever contratos inteligentes, ele usou o Vyper versão 0.2.15. Há uma vulnerabilidade nesta versão chamada bloqueios de reentrância com defeito (falha no bloqueio de reentrância). um ataque de reentrância para causar perdas. A vulnerabilidade do Curve Finance desta vez é uma vulnerabilidade específica de idioma.

Vulnerabilidades específicas de linguagem referem-se a vulnerabilidades causadas por defeitos ou incompatibilidades em uma determinada linguagem de programação ou no próprio compilador. Essas vulnerabilidades geralmente são difíceis de encontrar e prevenir, porque não são causadas por negligência do desenvolvedor ou erros de lógica, mas por problemas com a plataforma de tecnologia subjacente. Esses tipos de vulnerabilidade também tendem a afetar vários projetos ou contratos porque todos usam a mesma linguagem ou compilador.

Vyper é uma linguagem de programação de contrato inteligente baseada em Python projetada para maior segurança e legibilidade. Vyper afirma ser uma linguagem de "segurança em primeiro lugar" e não suporta alguns recursos que podem causar riscos de segurança, como classes, herança, modificadores, montagem em linha, etc. Porém, o Vyper não é perfeito, e ainda possui alguns bugs ou brechas que podem afetar a segurança do contrato. Por exemplo, além da falha de bloqueio reentrante encontrada pela Curve Finance desta vez, o Vyper também experimentou problemas como matriz fora dos limites, estouro de número inteiro e erros de acesso ao armazenamento.

Medidas de segurança

Para o ataque de reentrância da Curve Finance desta vez, algumas contramedidas foram tomadas ou propostas. Aqui estão algumas contramedidas de segurança que você pode tomar:

  • Retirada de liquidez: Para os pools afetados, os usuários podem optar por retirar a liquidez para evitar mais perdas. A Curve Finance forneceu um botão para retirar liquidez em seu site oficial, que é conveniente para os usuários operarem.
  • Atualize o compilador: Para contratos que usam o compilador da versão Vyper 0.2.15/0.2.16/0.3.0, é recomendável atualizar para a versão mais recente do Vyper 0.3.1, que corrigiu o problema de falha no bloqueio de reentrada. Ao mesmo tempo, também é recomendável usar outras ferramentas ou métodos para verificar a segurança do contrato, como verificação formal, auditoria de código, etc.
  • Esteja atento: Para contratos escritos em Vyper ou outros idiomas, é recomendável estar atento, prestar atenção às atualizações de idioma ou compilador e correções de bugs e tomar as medidas necessárias em tempo hábil para proteger seus ativos. Ao mesmo tempo, também é recomendável que, ao usar uma nova linguagem ou nova tecnologia, avalie cuidadosamente sua maturidade e estabilidade e evite buscar cegamente o frescor ou a eficiência.

Resumir

O incidente de reentrada da Curve Finance foi um incidente de segurança infeliz e uma lição instigante. No campo de finanças descentralizadas (DeFi), a segurança é sempre a principal prioridade. As partes do projeto devem melhorar constantemente sua conscientização e recursos de segurança. Qualquer detalhe pode se tornar um avanço para os invasores explorarem.

Siga-nos

Twitter: @MetaTrustLabs

Site: metatrust.io

Ver original
Esta página pode conter conteúdo de terceiros, que é fornecido apenas para fins informativos (não para representações/garantias) e não deve ser considerada como um endosso de suas opiniões pela Gate nem como aconselhamento financeiro ou profissional. Consulte a Isenção de responsabilidade para obter detalhes.
  • Recompensa
  • Comentário
  • Compartilhar
Comentário
0/400
Sem comentários
  • Marcar
Faça trade de criptomoedas em qualquer lugar e a qualquer hora
qrCode
Escaneie o código para baixar o app da Gate
Comunidade
Português (Brasil)
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)