Finanças Descentralizadas segurança grande análise: tipos comuns de vulnerabilidades e guia de prevenção

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 compartilhou suas percepções sobre a segurança das Finanças Descentralizadas, revisitando os principais eventos de segurança que o setor Web3 enfrentou no último ano, explorando as razões por trás desses eventos e como evitá-los, resumindo as vulnerabilidades de segurança comuns em contratos inteligentes e as medidas preventivas, e oferecendo algumas recomendações de segurança para os projetos 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 de funções fallback, vulnerabilidades de lógica de negócios, vazamento de chaves privadas, reentrância, entre outros. Abaixo, destacamos três tipos: empréstimos relâmpago, manipulação de preços e ataques de reentrância.

Empréstimo Relâmpago

Os 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 emprestam grandes quantias de dinheiro através de empréstimos relâmpago para manipular preços ou atacar a lógica de negócios. Os desenvolvedores precisam considerar se as funções do contrato podem se comportar de forma anômala devido a grandes quantias de dinheiro ou serem exploradas para obter recompensas indevidas.

Muitos projetos de Finanças Descentralizadas parecem ter altos rendimentos, mas na realidade, o nível das equipes por trás dos projetos varia. Alguns projetos podem ter códigos que foram comprados; mesmo que o código em si não tenha falhas, ainda podem existir problemas lógicos. Por exemplo, alguns projetos distribuem recompensas em horários fixos com base nas posições, 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.

Manipulação de Preço

O problema da manipulação de preços está intimamente relacionado com os empréstimos relâmpago, principalmente devido ao fato de que os 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 como são usados está incorreta ou a verificação está ausente, resultando na manipulação maliciosa do preço.

  2. Utilizar a quantidade de tokens de 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

Um dos principais riscos de chamar contratos externos é que eles podem assumir o controle do fluxo, fazendo mudanças inesperadas nos dados. Por exemplo:

solidity mapping (address => uint) private userBalances;

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

Devido ao fato de que o saldo do usuário só é zerado no final da função, chamadas repetidas ainda serão bem-sucedidas, permitindo a extração repetida do saldo.

Para resolver o problema de reentrada, deve-se ter em atenção:

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

Os ataques de reentrada têm várias formas e podem envolver várias funções ou contratos, tornando a solução mais complexa. É melhor usar práticas recomendadas que já foram amplamente testadas, 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 funções de atualização e pausa de contratos
  3. Adotar um mecanismo de bloqueio temporal
  4. Aumentar o investimento em segurança, estabelecer um sistema de segurança completo
  5. Aumentar a consciência de segurança de todos os funcionários
  6. Prevenir a má conduta interna, aumentando a eficiência enquanto se fortalece o controle de riscos.
  7. Introduzir componentes de terceiros com cautela, realizando a verificação de segurança.

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

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

Em suma, no campo das Finanças Descentralizadas, as questões de segurança são especialmente importantes. Os projetos devem dar importância ao investimento em segurança, e os usuários também devem estar alerta e participar com cautela. Apenas com um esforço conjunto podemos construir um ecossistema DeFi mais seguro e confiável.

Cobo Finanças Descentralizadas 安全课(下):Finanças Descentralizadas 常⻅安全漏洞及预防

Ver original
This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
  • Recompensa
  • 5
  • Partilhar
Comentar
0/400
BoredRiceBallvip
· 2h atrás
Não ouça as bobagens dele, puxaram o tapete de novo.
Ver originalResponder0
SchrodingerProfitvip
· 07-12 06:52
Cortar agora ainda há idiotas que não foram feitos de parvas?
Ver originalResponder0
ContractSurrendervip
· 07-12 06:50
Mais uma grande guia para fazer as pessoas de parvas!
Ver originalResponder0
SnapshotDayLaborervip
· 07-12 06:50
É preciso ter cuidado. Ainda bem que eu corro rápido.
Ver originalResponder0
CoconutWaterBoyvip
· 07-12 06:37
Dito de forma simples, é um imposto sobre a inteligência!
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)