Finanças Descentralizadas segurança ofensiva e defensiva: Empréstimos Flash, manipulação de preços e guia de prevenção a ataques de reentrada

robot
Geração do resumo em andamento

Finanças Descentralizadas segurança vulnerabilidades e medidas de prevenção

Recentemente, um especialista em segurança compartilhou uma aula sobre segurança em Finanças Descentralizadas com os membros da comunidade. Ele revisou os principais eventos de segurança que o setor Web3 enfrentou recentemente, discutiu as causas desses eventos e métodos de prevenção, resumiu as vulnerabilidades de segurança comuns em contratos inteligentes e medidas de prevenção, e deu algumas recomendações de segurança para as equipes de projeto e usuários.

Cobo Finanças Descentralizadas Segurança (parte 2): Vulnerabilidades de segurança comuns em DeFi e prevenção

Os tipos comuns de vulnerabilidades em Finanças Descentralizadas incluem empréstimos relâmpago, manipulação de preços, problemas de permissões de função, chamadas externas arbitrárias, problemas com funções fallback, vulnerabilidades de lógica de negócios, vazamento de chaves privadas, ataques de reentrada, entre outros. Abaixo, vamos focar em empréstimos relâmpago, manipulação de preços e ataques de reentrada.

Empréstimo Relâmpago

Os empréstimos relâmpago são uma inovação nas Finanças Descentralizadas, mas podem causar enormes perdas quando explorados por hackers:

  • O atacante empresta grandes quantias de dinheiro através de um empréstimo relâmpago, manipulando preços ou atacando a lógica de negócios.
  • Os desenvolvedores devem considerar se a funcionalidade do contrato será afetada por grandes quantias de dinheiro.
  • Alguns projetos calculam recompensas com base na quantidade de Tokens, ou utilizam a quantidade de Tokens nos pares de negociação DEX para participar do cálculo; estas variáveis são facilmente manipuladas por empréstimos relâmpago.

Nos últimos dois anos, muitos projetos de Finanças Descentralizadas de alto rendimento sofreram ataques de empréstimos relâmpago devido a problemas de código ou lógica. Por exemplo, alguns projetos distribuem recompensas em momentos fixos com base na quantidade detida, e os atacantes utilizam empréstimos relâmpago para comprar uma grande quantidade de tokens e obter a maior parte das recompensas.

Manipulação de Preços

O problema de manipulação de preços está intimamente relacionado com os empréstimos relâmpago, existindo principalmente dois tipos:

  1. Usar dados de terceiros ao calcular preços, mas de forma incorreta ou com falta de verificação.
  2. Usar o saldo de Token de certos endereços como variável de cálculo, sendo que esses saldos podem ser temporariamente aumentados ou diminuídos.

Ataque de Reentrada

O principal risco de chamar contratos externos é que eles podem assumir o controle do fluxo, realizando alterações acidentais nos dados. Por exemplo:

solidity mapeamento (endereço => uint) saldoPrivado do usuário;

função withdrawBalance() pública { uint amountToWithdraw = userBalances[msg.sender]; (bool success, ) = msg.sender.call.value(amountToWithdraw)(""); require(success); userBalances[msg.sender] = 0; }

Devido ao saldo do usuário ser anulado apenas no final da função, chamadas repetidas ainda conseguirão extrair o saldo.

Para resolver o problema de reentrada, é necessário ter atenção:

  1. Não apenas prevenir a reentrada de uma única função
  2. Seguir o padrão Checks-Effects-Interactions
  3. Usar o modificador de proteção contra reentrada verificado

Os ataques de reentrada têm várias formas e podem envolver várias funções ou contratos. Recomenda-se usar práticas de segurança consolidadas e evitar reinventar a roda.

Sugestões de Segurança

Sugestões de segurança para o projeto

  1. Seguir as melhores práticas de segurança no desenvolvimento de contratos
  2. Implementar funcionalidades de contrato que possam ser atualizadas e pausadas
  3. Adotar um mecanismo de bloqueio de tempo
  4. Aumentar os investimentos em segurança e estabelecer um sistema de segurança completo
  5. Aumentar a consciência de segurança de todos os funcionários
  6. Prevenir comportamentos maliciosos internos, enquanto se aumenta a eficiência e se reforça o controlo de riscos.
  7. Introduza terceiros com cautela, assumindo que tanto a montante como a jusante não são seguros.

O usuário avalia a segurança do contrato inteligente

  1. O contrato é open source?
  2. O proprietário utiliza múltiplas assinaturas descentralizadas?
  3. Verifique a situação das transações do contrato existente
  4. O contrato é atualizável? Existe um bloqueio de tempo?
  5. O contrato aceita auditorias de várias instituições? Os direitos do proprietário são excessivos?
  6. Atenção à fiabilidade dos oráculos

Em suma, o campo das Finanças Descentralizadas apresenta muitos riscos de segurança, tanto os desenvolvedores de projetos quanto os usuários devem manter-se alertas, adotando múltiplas medidas de proteção para manter a segurança do ecossistema.

DEFI7.35%
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
  • 4
  • Compartilhar
Comentário
0/400
TokenCreatorOPvip
· 07-28 02:54
Se eu soubesse disso mais cedo, o meu usdt tinha acabado.
Ver originalResponder0
RooftopReservervip
· 07-28 02:53
又有idiotas要上天台了
Ver originalResponder0
consensus_failurevip
· 07-28 02:53
Outra vez a encenar o guião de puxar o tapete~
Ver originalResponder0
ParallelChainMaxivip
· 07-28 02:34
Nenhum projeto é seguro.
Ver originalResponder0
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)