Guia de Segurança em Finanças Descentralizadas: Análise dos Tipos Comuns de Vulnerabilidades e Estratégias de Prevenção

robot
Geração do resumo em andamento

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

Recentemente, um especialista em segurança compartilhou uma aula sobre segurança em Finanças Descentralizadas para os membros da comunidade. O especialista revisitou os principais eventos de segurança enfrentados pela indústria Web3 no último ano, explorou as razões pelas quais esses eventos ocorreram e como evitá-los, resumiu as vulnerabilidades de segurança comuns em contratos inteligentes e as medidas de prevenção, e ainda deu algumas recomendações de segurança para os projetos e usuários comuns.

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ções, chamadas externas arbitrárias, problemas com funções de fallback, vulnerabilidades de lógica de negócios, vazamento de chaves privadas e ataques de reentrada. Este artigo irá se concentrar em empréstimos relâmpago, manipulação de preços e ataques de reentrada.

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

Empréstimo Instantâneo

O empréstimo relâmpago é uma inovação no DeFi, mas também é frequentemente explorado por hackers. Os atacantes tomam emprestados grandes quantidades de fundos através de empréstimos relâmpago, manipulando preços ou atacando a lógica de negócios. Os desenvolvedores precisam considerar se as funcionalidades do contrato podem causar anomalias devido a grandes quantidades de fundos, ou se podem ser exploradas em uma única transação para interagir com várias funções e obter ganhos indevidos.

Muitos projetos de Finanças Descentralizadas parecem ter altos rendimentos, mas na realidade, o nível das equipes por trás dos projetos varia bastante. Alguns projetos podem ter códigos que foram comprados, e mesmo que o código em si não tenha vulnerabilidades, pode haver problemas lógicos. Por exemplo, alguns projetos distribuem recompensas em momentos fixos com base na quantidade de tokens que os detentores possuem, mas isso pode ser explorado por atacantes que utilizam empréstimos relâmpago para comprar uma grande quantidade de tokens, obtendo assim a maior parte dos rendimentos no momento da distribuição das recompensas.

Manipulação de Preços

O problema de manipulação de preços está intimamente relacionado com os empréstimos relâmpago, principalmente devido a certos parâmetros que podem ser controlados pelos usuários durante o cálculo dos preços. Existem dois tipos comuns de problemas:

  1. Utilizar dados de terceiros para calcular preços, mas de forma incorreta ou sem verificação, levando à manipulação maliciosa dos preços.
  2. Usar a quantidade de tokens em certos endereços como variável de cálculo, sendo que o saldo de tokens desses endereços pode ser temporariamente aumentado ou diminuído.

Ataque de Reentrada

Os ataques de reentrada são um dos principais perigos que podem ser enfrentados ao chamar contratos externos. Um atacante pode assumir o controle do fluxo e fazer alterações inesperadas nos dados ao chamar funções. Por exemplo, na função de retirada, se o saldo do usuário for definido como 0 apenas no final da função, o atacante pode chamar essa função repetidamente no meio, retirando o saldo várias vezes.

Para ataques de reentrada, é importante ter em mente os seguintes pontos:

  1. Não apenas prevenir o problema de reentrância de uma única função.
  2. Seguir o padrão Checks-Effects-Interactions ao codificar
  3. Utilizar um modificador de proteção contra reentradas que tenha sido testado ao longo do tempo

Ao resolver problemas de segurança, deve-se sempre utilizar as melhores práticas de segurança que já tenham sido suficientemente validadas, em vez de reinventar a roda.

Sugestões de segurança para o projeto

  1. Seguir as melhores práticas de segurança para o desenvolvimento de contratos
  2. Implementar funcionalidade de atualização e pausa de contratos
  3. Adotar mecanismo de bloqueio de tempo
  4. Aumentar o investimento 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, aumentando a eficiência enquanto se reforça o controle de riscos.
  7. Introduzir componentes de terceiros com cautela, garantindo a segurança.

Como os usuários podem determinar se um contrato inteligente é seguro

  1. Confirmar se o contrato é de código aberto
  2. Verifique se o Owner utiliza um mecanismo de multiassinatura descentralizado.
  3. Verifique a situação das transações existentes do contrato
  4. Verifique se o contrato é um contrato de delegação, se é atualizável e se tem um bloqueio de tempo.
  5. Confirmar se o contrato foi auditado por várias instituições e se os privilégios do Owner são excessivos.
  6. Atenção ao uso de oráculos

Através das medidas acima, tanto os desenvolvedores do projeto quanto os usuários podem aumentar, até certo ponto, a segurança dos projetos de Finanças Descentralizadas e reduzir o risco de ataques.

DEFI0.75%
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
  • 8
  • Compartilhar
Comentário
0/400
SadMoneyMeowvip
· 07-18 23:00
Ouvir tantas coisas inúteis ao longo dos anos, ainda assim, as pessoas devem ser feitas de parvas.
Ver originalResponder0
DefiPlaybookvip
· 07-17 00:45
Estatísticas mostram que os empréstimos flash representam 43,7% das perdas em Finanças Descentralizadas.
Ver originalResponder0
LiquiditySurfervip
· 07-16 23:58
Proteja a sua carteira, todos
Ver originalResponder0
FundingMartyrvip
· 07-15 23:30
Só se aprende depois de sofrer uma perda.
Ver originalResponder0
alpha_leakervip
· 07-15 23:17
Vendo como algo normal um velho hacker.
Ver originalResponder0
GateUser-00be86fcvip
· 07-15 23:10
Com tantos bugs, como é que se joga?
Ver originalResponder0
LongTermDreamervip
· 07-15 23:03
Mais um dia de alimentar as ovelhas, como nos últimos três anos.
Ver originalResponder0
ImpermanentLossFanvip
· 07-15 23:02
Novato usuário deve evitar.
Ver originalResponder0
  • 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)