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údos de terceiros, que são fornecidos apenas para fins informativos (sem representações/garantias) e não devem ser considerados como uma aprovação dos seus pontos de vista pela Gate, nem como aconselhamento financeiro ou profissional. Consulte a Declaração de exoneração de responsabilidade para obter mais informações.
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:
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