Análise abrangente das vulnerabilidades de segurança em Finanças Descentralizadas: Empréstimos Flash, manipulação de preços e riscos de ataque de reentrada.

robot
Geração de resumo em curso

Finanças Descentralizadas Comuns Vulnerabilidades de Segurança e Medidas de Prevenção

Recentemente, um especialista em segurança deu uma aula sobre segurança em Finanças Descentralizadas para os membros da comunidade. O especialista revisou os principais eventos de segurança que o setor Web3 enfrentou ao longo do último ano, discutiu 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 preventivas, e ofereceu algumas recomendações de segurança para os projetos e usuários comuns.

Os principais tipos de vulnerabilidades comuns 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 se concentrará nas três categorias de empréstimos relâmpago, manipulação de preços e ataques de reentrada.

Cobo Finanças Descentralizadas Segurança (Parte 2): Vulnerabilidades Comuns de Segurança em Finanças Descentralizadas e Prevenção

Empréstimo Relâmpago

Empréstimos relâmpago são uma inovação nas Finanças Descentralizadas, mas também são frequentemente explorados por atacantes. Os atacantes utilizam empréstimos relâmpago para emprestar grandes quantias de dinheiro, manipulando preços ou atacando a lógica de negócios. Os desenvolvedores precisam considerar se a funcionalidade do contrato poderá levar a anomalias devido a grandes quantias de dinheiro ou ser explorada para obter ganhos indevidos.

Muitos projetos de Finanças Descentralizadas parecem ter altos retornos, mas, na realidade, o nível das equipes por trás dos projetos é desigual. Alguns projetos podem ter o código adquirido; mesmo que o código em si não tenha vulnerabilidades, pode haver problemas lógicos. Por exemplo, alguns projetos distribuem recompensas em horários fixos com base na quantidade de tokens possuídos, mas são explorados por atacantes que utilizam empréstimos relâmpago para comprar uma grande quantidade de tokens, obtendo a maior parte dos lucros quando as recompensas são distribuídas.

Manipulação de Preços

Os problemas de manipulação de preços estão intimamente relacionados aos empréstimos relâmpago, principalmente porque certos parâmetros utilizados no cálculo de preços podem ser controlados pelos usuários. Existem dois tipos comuns de problemas:

  1. Ao calcular o preço, são utilizados dados de terceiros, mas a forma de uso não é correta ou falta verificação, levando a que o preço seja manipulado maliciosamente.
  2. Usar a quantidade de tokens de certos endereços como variáveis de cálculo, cujos saldos de tokens podem ser temporariamente aumentados ou diminuídos.

Ataque de Reentrada

O ataque de reentrada é um dos principais perigos que podem ser enfrentados ao chamar contratos externos. O atacante pode assumir o fluxo de controle e fazer alterações inesperadas nos dados. Por exemplo:

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

function withdrawBalance() public { uint amountToWithdraw = userBalances[msg.sender]; (bool success, ) = msg.sender.call.value(amountToWithdraw)(""); require(success); userBalances[msg.sender] = 0; }

Neste exemplo, uma vez que o saldo do usuário só é definido como 0 no final da função, um atacante pode chamar essa função novamente após a primeira chamada ser bem-sucedida, permitindo que retire o saldo várias vezes.

Para resolver o problema da reentrada, é necessário ter em atenção os seguintes pontos:

  1. Não apenas evitar o problema de reentrada de uma única função;
  2. Seguir o padrão Checks-Effects-Interactions na codificação;
  3. Usar um modificador de proteção contra reentrada que tenha sido testado ao longo do tempo.

Um caso típico de ataque de reentrada é o incidente do Omni Protocol. Neste ataque, as transações submetidas pelo atacante que descobriu a vulnerabilidade foram capturadas e executadas antecipadamente por outros hackers, resultando em o atacante original obtendo apenas uma parte dos lucros. Isso destaca a característica da "floresta sombria" no ecossistema Web3, onde os atacantes podem também ser presas uns dos outros.

Sugestões de Segurança

recomendações de segurança da equipe do projeto

  1. Seguir as melhores práticas de segurança para o desenvolvimento de contratos.
  2. Implementar a funcionalidade de atualização e pausa dos contratos.
  3. Adotar um mecanismo de bloqueio de tempo.
  4. Aumentar o investimento em segurança e estabelecer um sistema de segurança completo.
  5. Aumentar a conscientização de segurança de todos os funcionários.
  6. Prevenir ações maliciosas internas, enquanto se melhora a eficiência e se reforça o controle de riscos.
  7. Introduza serviços de terceiros com cautela, seguindo o princípio de que "por defeito, tanto a montante como a jusante não são seguros".

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

  1. Verifique se o contrato é de código aberto.
  2. Verificar se o Owner adotou um mecanismo de multi-assinatura descentralizado.
  3. Verificar a situação das transações já existentes no contrato.
  4. Confirme se o contrato é um contrato de agente, se é atualizável e se tem um bloqueio de tempo.
  5. Verifique se o contrato foi auditado por várias instituições e avalie se os privilégios do Owner são excessivos.
  6. Preste atenção na escolha e uso dos oráculos.

Em suma, no campo das Finanças Descentralizadas, a segurança é sempre uma das considerações mais importantes. Tanto os desenvolvedores de projetos quanto os usuários comuns precisam manter um alto nível de vigilância e adotar medidas de segurança adequadas para reduzir riscos e garantir a segurança dos ativos.

DEFI-5.36%
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.
  • Recompensa
  • 7
  • Partilhar
Comentar
0/400
TokenomicsTrappervip
· 10h atrás
apenas mais um dia a ver degens serem arruinados pelos mesmos velhos exploits... chamei este padrão há meses, para ser sincero
Ver originalResponder0
DegenWhisperervip
· 10h atrás
Preto e branco, tudo esclarecido.
Ver originalResponder0
degenonymousvip
· 10h atrás
Mais uma vez, os contratos inteligentes caíram na armadilha.
Ver originalResponder0
BlockchainFriesvip
· 10h atrás
Procurar por falhas o dia todo não é melhor do que fazer entregas.
Ver originalResponder0
Ser_This_Is_A_Casinovip
· 10h atrás
defi é realmente um casino, se tiver que perder, que perca.
Ver originalResponder0
OPsychologyvip
· 10h atrás
Empréstimos Flash, o que temer? Eu só tenho moeda do Goethe.
Ver originalResponder0
GateUser-00be86fcvip
· 10h atrás
O meu projeto sempre deu importância à segurança.
Ver originalResponder0
  • Pino
Negocie cripto em qualquer lugar e a qualquer hora
qrCode
Digitalizar para transferir a aplicação Gate
Novidades
Português (Portugal)
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)