Finanças Descentralizadas segurança vulnerabilidades e medidas de prevenção
Recentemente, um especialista em segurança compartilhou uma aula sobre segurança em Finanças Descentralizadas com os membros da comunidade. Ele revisou os principais eventos de segurança que o setor Web3 enfrentou recentemente, discutiu as causas desses eventos e métodos de prevenção, resumiu as vulnerabilidades de segurança comuns em contratos inteligentes e medidas de prevenção, e deu 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ção, chamadas externas arbitrárias, problemas com funções fallback, vulnerabilidades de lógica de negócios, vazamento de chaves privadas, ataques de reentrada, entre outros. Abaixo, vamos focar em empréstimos relâmpago, manipulação de preços e ataques de reentrada.
Empréstimo Relâmpago
Os empréstimos relâmpago são uma inovação nas Finanças Descentralizadas, mas podem causar enormes perdas quando explorados por hackers:
O atacante empresta grandes quantias de dinheiro através de um empréstimo relâmpago, manipulando preços ou atacando a lógica de negócios.
Os desenvolvedores devem considerar se a funcionalidade do contrato será afetada por grandes quantias de dinheiro.
Alguns projetos calculam recompensas com base na quantidade de Tokens, ou utilizam a quantidade de Tokens nos pares de negociação DEX para participar do cálculo; estas variáveis são facilmente manipuladas por empréstimos relâmpago.
Nos últimos dois anos, muitos projetos de Finanças Descentralizadas de alto rendimento sofreram ataques de empréstimos relâmpago devido a problemas de código ou lógica. Por exemplo, alguns projetos distribuem recompensas em momentos fixos com base na quantidade detida, e os atacantes utilizam empréstimos relâmpago para comprar uma grande quantidade de tokens e obter a maior parte das recompensas.
Manipulação de Preços
O problema de manipulação de preços está intimamente relacionado com os empréstimos relâmpago, existindo principalmente dois tipos:
Usar dados de terceiros ao calcular preços, mas de forma incorreta ou com falta de verificação.
Usar o saldo de Token de certos endereços como variável de cálculo, sendo que esses saldos podem ser temporariamente aumentados ou diminuídos.
Ataque de Reentrada
O principal risco de chamar contratos externos é que eles podem assumir o controle do fluxo, realizando alterações acidentais nos dados. Por exemplo:
solidity
mapeamento (endereço => uint) saldoPrivado do usuário;
Devido ao saldo do usuário ser anulado apenas no final da função, chamadas repetidas ainda conseguirão extrair o saldo.
Para resolver o problema de reentrada, é necessário ter atenção:
Não apenas prevenir a reentrada de uma única função
Seguir o padrão Checks-Effects-Interactions
Usar o modificador de proteção contra reentrada verificado
Os ataques de reentrada têm várias formas e podem envolver várias funções ou contratos. Recomenda-se usar práticas de segurança consolidadas e evitar reinventar a roda.
Sugestões de Segurança
Sugestões de segurança para o projeto
Seguir as melhores práticas de segurança no desenvolvimento de contratos
Implementar funcionalidades de contrato que possam ser atualizadas e pausadas
Adotar um mecanismo de bloqueio de tempo
Aumentar os investimentos em segurança e estabelecer um sistema de segurança completo
Aumentar a consciência de segurança de todos os funcionários
Prevenir comportamentos maliciosos internos, enquanto se aumenta a eficiência e se reforça o controlo de riscos.
Introduza terceiros com cautela, assumindo que tanto a montante como a jusante não são seguros.
O usuário avalia a segurança do contrato inteligente
O contrato é open source?
O proprietário utiliza múltiplas assinaturas descentralizadas?
Verifique a situação das transações do contrato existente
O contrato é atualizável? Existe um bloqueio de tempo?
O contrato aceita auditorias de várias instituições? Os direitos do proprietário são excessivos?
Atenção à fiabilidade dos oráculos
Em suma, o campo das Finanças Descentralizadas apresenta muitos riscos de segurança, tanto os desenvolvedores de projetos quanto os usuários devem manter-se alertas, adotando múltiplas medidas de proteção para manter a segurança do ecossistema.
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.
19 gostos
Recompensa
19
4
Partilhar
Comentar
0/400
TokenCreatorOP
· 07-28 02:54
Se eu soubesse disso mais cedo, o meu usdt tinha acabado.
Finanças Descentralizadas segurança ofensiva e defensiva: Empréstimos Flash, manipulação de preços e guia de prevenção a ataques de reentrada
Finanças Descentralizadas segurança vulnerabilidades e medidas de prevenção
Recentemente, um especialista em segurança compartilhou uma aula sobre segurança em Finanças Descentralizadas com os membros da comunidade. Ele revisou os principais eventos de segurança que o setor Web3 enfrentou recentemente, discutiu as causas desses eventos e métodos de prevenção, resumiu as vulnerabilidades de segurança comuns em contratos inteligentes e medidas de prevenção, e deu 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ção, chamadas externas arbitrárias, problemas com funções fallback, vulnerabilidades de lógica de negócios, vazamento de chaves privadas, ataques de reentrada, entre outros. Abaixo, vamos focar em empréstimos relâmpago, manipulação de preços e ataques de reentrada.
Empréstimo Relâmpago
Os empréstimos relâmpago são uma inovação nas Finanças Descentralizadas, mas podem causar enormes perdas quando explorados por hackers:
Nos últimos dois anos, muitos projetos de Finanças Descentralizadas de alto rendimento sofreram ataques de empréstimos relâmpago devido a problemas de código ou lógica. Por exemplo, alguns projetos distribuem recompensas em momentos fixos com base na quantidade detida, e os atacantes utilizam empréstimos relâmpago para comprar uma grande quantidade de tokens e obter a maior parte das recompensas.
Manipulação de Preços
O problema de manipulação de preços está intimamente relacionado com os empréstimos relâmpago, existindo principalmente dois tipos:
Ataque de Reentrada
O principal risco de chamar contratos externos é que eles podem assumir o controle do fluxo, realizando alterações acidentais nos dados. Por exemplo:
solidity mapeamento (endereço => uint) saldoPrivado do usuário;
função withdrawBalance() pública { uint amountToWithdraw = userBalances[msg.sender]; (bool success, ) = msg.sender.call.value(amountToWithdraw)(""); require(success); userBalances[msg.sender] = 0; }
Devido ao saldo do usuário ser anulado apenas no final da função, chamadas repetidas ainda conseguirão extrair o saldo.
Para resolver o problema de reentrada, é necessário ter atenção:
Os ataques de reentrada têm várias formas e podem envolver várias funções ou contratos. Recomenda-se usar práticas de segurança consolidadas e evitar reinventar a roda.
Sugestões de Segurança
Sugestões de segurança para o projeto
O usuário avalia a segurança do contrato inteligente
Em suma, o campo das Finanças Descentralizadas apresenta muitos riscos de segurança, tanto os desenvolvedores de projetos quanto os usuários devem manter-se alertas, adotando múltiplas medidas de proteção para manter a segurança do ecossistema.