Finanças Descentralizadas comuns vulnerabilidades de segurança e medidas de prevenção
Recentemente, um especialista em segurança compartilhou uma aula sobre segurança em Finanças Descentralizadas para os membros da comunidade. Ele revisou os principais eventos de segurança que o setor Web3 enfrentou no último ano, discutiu as razões por trás desses eventos e como evitá-los, resumiu as vulnerabilidades de segurança comuns em contratos inteligentes e medidas preventivas, e deu algumas recomendações de segurança para os desenvolvedores de projetos e usuários comuns.
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 de fallback, vulnerabilidades de lógica de negócios, vazamento de chaves privadas e ataques de reentrada, entre outros. Este artigo irá se concentrar em empréstimos relâmpago, manipulação de preços e ataques de reentrada.
Empréstimo Relâmpago
Empréstimos relâmpago são uma inovação nas Finanças Descentralizadas, mas também são suscetíveis a serem explorados por hackers. Os atacantes geralmente emprestam grandes quantias de dinheiro através de empréstimos relâmpago, manipulando preços ou atacando a lógica de negócios. Os desenvolvedores precisam considerar se as funções do contrato podem resultar em anomalias devido a grandes quantias de dinheiro ou se podem ser exploradas para obter recompensas indevidas.
Muitos projetos de Finanças Descentralizadas parecem ter altos rendimentos, mas na verdade, o nível das equipes por trás dos projetos é desigual. Alguns projetos podem ter comprado o código, e mesmo que o código em si não tenha vulnerabilidades, pode haver problemas lógicos. Por exemplo, alguns projetos distribuem recompensas em momentos fixos com base na quantidade de tokens que os detentores possuem, mas isso pode ser explorado por atacantes que utilizam empréstimos relâmpago para comprar uma grande quantidade de tokens, obtendo assim a maior parte das recompensas.
Manipulação de Preços
O problema de manipulação de preços está intimamente relacionado aos 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:
Utilizar dados de terceiros para calcular preços, mas de forma incorreta ou sem verificação, levando a manipulação maliciosa dos preços.
Usar a quantidade de tokens de certos endereços como variável de cálculo, e 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. Por exemplo, em uma função de retirada, se a atualização do saldo do usuário ocorrer após a transferência de fundos, isso pode levar a retiradas duplicadas.
Para resolver o problema de reentrada, deve-se ter em atenção os seguintes pontos:
Não apenas é necessário prevenir problemas de reentrada de uma única função.
Siga o padrão Checks-Effects-Interactions ao codificar.
Use um modificador de prevenção de reentrância testado ao longo do tempo.
É importante notar que reinventar a roda muitas vezes é desnecessário. Usar soluções maduras e bem testadas é mais seguro do que desenvolver por conta própria.
Sugestões de Segurança
Sugestões de segurança do projeto
Seguir as melhores práticas de segurança para o desenvolvimento de contratos.
Implementar a funcionalidade de atualização e pausa dos contratos.
Adotar um mecanismo de bloqueio temporal.
Aumentar o investimento em segurança e estabelecer um sistema de segurança completo.
Aumentar a consciência de segurança de todos os funcionários.
Prevenir a má conduta interna, aumentando a eficiência enquanto se melhora o controle de riscos.
Introduza componentes de terceiros com cautela, assegurando a sua segurança.
Como os usuários podem avaliar a segurança dos contratos inteligentes
Verifique se o contrato é de código aberto.
Confirme se o Owner utiliza um mecanismo de multi-assinatura descentralizado.
Verifique a situação das transações já existentes no contrato.
Confirme se o contrato é um contrato de agência, se é atualizável e se possui um bloqueio temporal.
Verifique se o contrato foi auditado por várias instituições e se os direitos do Owner são excessivos.
Atenção à confiabilidade do oráculo utilizado pelo projeto.
Ao prestar atenção a esses aspectos, os usuários podem avaliar melhor a segurança dos contratos inteligentes e reduzir a probabilidade de participar em projetos de risco.
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.
10 gostos
Recompensa
10
5
Partilhar
Comentar
0/400
ThreeHornBlasts
· 10h atrás
Ouvir uma única frase sua vale mais do que dez anos de estudos.
Ver originalResponder0
fomo_fighter
· 10h atrás
fazer as pessoas de parvas uma vez e Puxar o tapete!
Ver originalResponder0
MetaverseVagrant
· 10h atrás
Empréstimos Flash novamente foram fazer as pessoas de parvas
Ver originalResponder0
BagHolderTillRetire
· 11h atrás
Continuamente atingido até ter medo do mundo crypto
Finanças Descentralizadas segurança 101:Profundidade剖析常见漏洞及防护策略
Finanças Descentralizadas comuns vulnerabilidades de segurança e medidas de prevenção
Recentemente, um especialista em segurança compartilhou uma aula sobre segurança em Finanças Descentralizadas para os membros da comunidade. Ele revisou os principais eventos de segurança que o setor Web3 enfrentou no último ano, discutiu as razões por trás desses eventos e como evitá-los, resumiu as vulnerabilidades de segurança comuns em contratos inteligentes e medidas preventivas, e deu algumas recomendações de segurança para os desenvolvedores de projetos e usuários comuns.
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 de fallback, vulnerabilidades de lógica de negócios, vazamento de chaves privadas e ataques de reentrada, entre outros. Este artigo irá se concentrar em empréstimos relâmpago, manipulação de preços e ataques de reentrada.
Empréstimo Relâmpago
Empréstimos relâmpago são uma inovação nas Finanças Descentralizadas, mas também são suscetíveis a serem explorados por hackers. Os atacantes geralmente emprestam grandes quantias de dinheiro através de empréstimos relâmpago, manipulando preços ou atacando a lógica de negócios. Os desenvolvedores precisam considerar se as funções do contrato podem resultar em anomalias devido a grandes quantias de dinheiro ou se podem ser exploradas para obter recompensas indevidas.
Muitos projetos de Finanças Descentralizadas parecem ter altos rendimentos, mas na verdade, o nível das equipes por trás dos projetos é desigual. Alguns projetos podem ter comprado o código, e mesmo que o código em si não tenha vulnerabilidades, pode haver problemas lógicos. Por exemplo, alguns projetos distribuem recompensas em momentos fixos com base na quantidade de tokens que os detentores possuem, mas isso pode ser explorado por atacantes que utilizam empréstimos relâmpago para comprar uma grande quantidade de tokens, obtendo assim a maior parte das recompensas.
Manipulação de Preços
O problema de manipulação de preços está intimamente relacionado aos 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:
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. Por exemplo, em uma função de retirada, se a atualização do saldo do usuário ocorrer após a transferência de fundos, isso pode levar a retiradas duplicadas.
Para resolver o problema de reentrada, deve-se ter em atenção os seguintes pontos:
É importante notar que reinventar a roda muitas vezes é desnecessário. Usar soluções maduras e bem testadas é mais seguro do que desenvolver por conta própria.
Sugestões de Segurança
Sugestões de segurança do projeto
Como os usuários podem avaliar a segurança dos contratos inteligentes
Ao prestar atenção a esses aspectos, os usuários podem avaliar melhor a segurança dos contratos inteligentes e reduzir a probabilidade de participar em projetos de risco.