Segurança em DeFi: Guia de Prevenção contra Empréstimos Flash, Manipulação de Preços e Ataques de Reentrada

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 um curso de segurança em Finanças Descentralizadas para os membros da comunidade. O especialista revisitou os principais eventos de segurança que afetaram a indústria Web3 no último ano e meio, 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 de prevenção, além de fornecer algumas recomendações de segurança para os desenvolvedores de projetos e usuários comuns.

Os tipos comuns de vulnerabilidades DeFi geralmente 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 e ataques de reentrada. Este artigo se concentrará em empréstimos relâmpago, manipulação de preços e ataques de reentrada.

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

Empréstimo Relâmpago

Os empréstimos relâmpago são uma inovação nas Finanças Descentralizadas, mas também são frequentemente utilizados por hackers. Os atacantes geralmente tomam emprestado grandes quantias de dinheiro através de um empréstimo relâmpago para manipular preços ou atacar a lógica de negócios. Os desenvolvedores precisam considerar se a funcionalidade do contrato pode causar anomalias devido a grandes quantias de dinheiro, ou se pode ser explorada em uma única transação interagindo com várias funções para obter recompensas indevidas.

Muitos projetos de Finanças Descentralizadas parecem ter um alto rendimento, mas na realidade, o nível das equipes por trás dos projetos varia bastante. Alguns projetos podem ter seu código comprado, e mesmo que o código em si não tenha vulnerabilidades, pode haver problemas lógicos. Por exemplo, certos projetos distribuem recompensas em horários fixos com base na quantidade de tokens detidos pelos holders, mas podem ser explorados por atacantes que utilizam empréstimos relâmpago para adquirir uma grande quantidade de tokens, resultando na maior parte das recompensas indo para os atacantes.

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 de preços. Existem dois tipos comuns de problemas:

  1. Utilizar dados de terceiros para calcular preços, mas o uso é incorreto ou a verificação está ausente, levando a manipulação maliciosa dos preços.
  2. Usar 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 e fazer alterações inesperadas nos dados. Um exemplo típico de ataque de reentrada é que, na função de retirada, o saldo do usuário só é definido como 0 no final da função, permitindo que chamadas múltiplas ainda consigam realizar retiradas com sucesso.

Para diferentes contratos, as formas de ataque de reentrada são diversas e podem envolver várias funções diferentes ou vários contratos. Ao resolver o problema de reentrada, é necessário prestar atenção aos seguintes pontos:

  1. Não só é necessário prevenir problemas de reentrada de uma única função
  2. Seguir o padrão Checks-Effects-Interactions ao codificar
  3. Usar um modificador de proteção contra reentrância testado pelo tempo

É importante notar que reinventar a roda pode ser perigoso. No espaço Web3, já existem muitas melhores práticas de segurança, e adotar diretamente essas soluções maduras é mais seguro do que desenvolver por conta própria.

Sugestões de Segurança

Sugestõ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 do contrato
  3. Adotar um mecanismo de bloqueio temporal
  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 o controle de risco enquanto se melhora a eficiência.
  7. Introduzir componentes de terceiros com cautela, seguindo o princípio de que "nenhum dos dois lados é seguro por padrão".

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

  1. Confirme se o contrato é de código aberto
  2. Verifique se o Owner utiliza um mecanismo de multiassinatura descentralizado.
  3. Verificar a situação das transações existentes do contrato
  4. Entender se o contrato é um contrato de agência, se é atualizável e se possui um bloqueio de tempo
  5. Confirme 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 ao tipo e à fiabilidade do oráculo utilizado no projeto

No ambiente Web3, a consciência de segurança é crucial. Os usuários devem refletir mais e manter-se alerta para evitar potenciais riscos de segurança. Especialmente em momentos de mercado desfavorável, é ainda mais importante estar atento a possíveis fraudes.

DEFI9.81%
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
  • 6
  • Compartilhar
Comentário
0/400
SelfRuggervip
· 07-31 13:56
又来 fazer as pessoas de parvas é? hodl就完了
Ver originalResponder0
FlashLoanKingvip
· 07-31 11:16
Outra vez Empréstimos Flash yyds
Ver originalResponder0
GovernancePretendervip
· 07-31 11:14
Fazer proteção de segurança não cura a vida dos idiotas.
Ver originalResponder0
LiquidatorFlashvip
· 07-31 11:13
A flutuação de 0,3% no preço já exige controle de risco. Não espere pelo aviso de liquidação de 99,99%.
Ver originalResponder0
MEVHunterBearishvip
· 07-31 11:10
Guia diário para ser enganado
Ver originalResponder0
rug_connoisseurvip
· 07-31 11:04
Escrevi tanto e ainda é a mesma coisa. Isto não é ferro que foi lixado?
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)