Análise das três principais vulnerabilidades de segurança em Finanças Descentralizadas: Empréstimos Flash, manipulação de preços e ataques de reentrada

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

Recentemente, um especialista em segurança compartilhou um curso de segurança em Finanças Descentralizadas com a comunidade. O especialista revisou os principais incidentes de segurança que a indústria Web3 enfrentou no último ano, discutiu as causas desses incidentes e como evitá-los, resumiu as vulnerabilidades comuns de segurança em contratos inteligentes e as medidas de prevenção, e fez algumas recomendações de segurança para as equipes de projeto e usuários.

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, entre outros. Este artigo foca em empréstimos relâmpago, manipulação de preços e ataques de reentrada.

Cobo Finanças Descentralizadas Segurança (2ª parte): Vulnerabilidades de segurança comuns em DeFi 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 utilizados por hackers para realizar ataques. Os atacantes usam 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 as funcionalidades do contrato serão afetadas por grandes quantias de dinheiro, resultando em anomalias, ou se poderão ser exploradas para obter recompensas indevidas.

Muitos projetos de Finanças Descentralizadas são suscetíveis a ataques de empréstimos relâmpago devido a problemas de código ou lógica. Por exemplo, alguns projetos distribuem recompensas com base nas posições em um tempo fixo, mas são explorados por atacantes que utilizam empréstimos relâmpago para comprar uma grande quantidade de tokens e obter a maior parte das recompensas. Outros projetos que calculam preços através de Token também podem ser afetados por empréstimos relâmpago. As equipes de projeto devem permanecer atentas a esses problemas.

Manipulação de Preços

O problema da manipulação de preços está intimamente relacionado com os empréstimos relâmpago, existindo principalmente duas situações:

  1. Ao calcular o preço, utiliza-se dados de terceiros, mas a forma de utilização é incorreta ou a verificação está em falta, levando a que o preço seja manipulado maliciosamente.

  2. Usar a quantidade de Token de certos endereços como variável de cálculo, e o saldo de Token desses endereços pode ser temporariamente aumentado ou diminuído.

Ataque de Reentrada

O principal risco de chamar contratos externos é que eles podem assumir o fluxo de controle e fazer alterações inesperadas nos dados. Por exemplo:

solidity mapping (address => uint) private userBalances;

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

Uma vez que o saldo do usuário só é definido como 0 no final da função, chamadas repetidas ainda terão sucesso, permitindo a retirada do saldo várias vezes.

Existem várias formas de ataque de reentrada, que podem envolver diferentes funções de um único contrato ou funções de vários contratos. Para resolver o problema de reentrada, é necessário ter em atenção:

  1. Não só previne a reentrada de uma única função
  2. Seguir o padrão Checks-Effects-Interactions na codificação
  3. Utilizar um modificador de prevenção de reentrada verificado

Recomenda-se o uso de práticas de segurança maduras, evitando reinventar a roda. Novas soluções desenvolvidas internamente carecem de validação adequada, aumentando a probabilidade de problemas.

Sugestões de Segurança

Sugestões de segurança do projeto

  1. Seguir as melhores práticas de segurança para o desenvolvimento de contratos
  2. Implementar funcionalidades de atualização e pausa em contratos.
  3. Adotar um mecanismo de bloqueio de tempo
  4. Aumentar o investimento em segurança, 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, aumentando a eficiência enquanto se reforça o controle de riscos.
  7. Introduzir dependências de terceiros com cautela, assumindo que tanto os upstream como os downstream não são seguros.

Como os usuários podem avaliar a segurança dos contratos inteligentes

  1. O contrato é de código aberto?
  2. O proprietário adotou a multi-assinatura descentralizada?
  3. Verifique a situação das transações do contrato já existente
  4. O contrato é atualizável? Existe um bloqueio de tempo?
  5. Aceita auditoria por várias instituições? A permissão do proprietário é excessiva?
  6. Preste atenção à confiabilidade do oráculo

Em suma, tanto as equipas de projeto como os utilizadores devem aumentar a consciência de segurança e tomar as medidas necessárias para reduzir os riscos de segurança nas Finanças Descentralizadas.

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
RugResistantvip
· 6h atrás
Mais um que entra com o nome de prevenção para fazer as pessoas de parvas.
Ver originalResponder0
ChainDoctorvip
· 6h atrás
Mais uma vez, o Empréstimos Flash está a ser o bode expiatório. Tsk tsk.
Ver originalResponder0
PessimisticOraclevip
· 6h atrás
Ah, por trás das vulnerabilidades estão sempre as tentações de lucros exorbitantes.
Ver originalResponder0
ParallelChainMaxivip
· 6h atrás
Há tantos buracos, tenham cuidado, pessoal.
Ver originalResponder0
TokenGuruvip
· 6h atrás
Mineração período viu antigos buracos, pessoal não sejam descuidados.
Ver originalResponder0
Anon4461vip
· 6h atrás
Não fique se exibindo, todos parecem ter falhas.
Ver originalResponder0
RektCoastervip
· 6h atrás
Peixe morto não vai perder para mei e weiruan.
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)