Análise das vulnerabilidades de segurança comuns em Finanças Descentralizadas: prevenção de riscos de Empréstimos Flash, manipulação de preços e ataques de reentrada.
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 DeFi com os membros da comunidade. O curso revisou os principais eventos de segurança que o setor Web3 enfrentou nos últimos mais de um ano, explorou as causas desses eventos e as maneiras de evitá-los, resumiu as vulnerabilidades de segurança comuns em contratos inteligentes e as medidas preventivas, e deu algumas recomendações de segurança para projetos e usuários comuns.
Os tipos comuns de vulnerabilidades DeFi 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 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.
Empréstimo Relâmpago
Os empréstimos relâmpago são uma inovação nas Finanças Descentralizadas, mas também podem ser explorados por hackers. Os atacantes geralmente pegam emprestado grandes quantidades de fundos através de empréstimos relâmpago para manipular preços ou atacar a lógica de negócios. Os desenvolvedores precisam considerar se a funcionalidade do contrato pode levar a anomalias devido a grandes quantias de fundos, ou se é possível obter recompensas indevidas ao interagir com várias funções em uma única transação com grandes quantias de fundos.
Muitos projetos de Finanças Descentralizadas parecem ter altos rendimentos, mas o nível das equipes por trás dos projetos varia bastante. Alguns projetos podem usar códigos adquiridos; mesmo que o código em si não tenha falhas, ainda pode haver problemas lógicos. Por exemplo, alguns projetos distribuem recompensas em momentos fixos com base na quantidade de tokens que os detentores possuem, o que pode ser explorado por atacantes que utilizam empréstimos relâmpago para comprar grandes quantidades de tokens e obter a maior parte das recompensas no momento da distribuição.
Manipulação de Preços
A questão do controle de preços está intimamente relacionada aos empréstimos relâmpago, principalmente porque certos parâmetros podem ser controlados pelo usuário durante o cálculo do preço. Existem dois tipos comuns de problemas:
Utiliza dados de terceiros para calcular preços, mas a forma de utilização é incorrecta ou falta 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, onde 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, na função de retirada, se o saldo do usuário for definido como 0 apenas no final da função, então uma segunda (e posteriores) chamadas ainda terão sucesso, resultando em retiradas duplicadas.
Para resolver o problema de reentrada, é necessário ter em atenção os seguintes pontos:
Não apenas evitar problemas de reentrada de uma única função.
Seguir o padrão Checks-Effects-Interactions na codificação.
Use um modificador anti-reentrada testado ao longo do tempo.
Vale a pena notar que reinventar a roda pode trazer mais riscos. Usar as melhores práticas de segurança bem verificadas geralmente é mais seguro do que desenvolver novos métodos por conta própria.
Sugestões de segurança para o projeto
Seguir as melhores práticas de segurança no desenvolvimento de contratos.
Implementar a funcionalidade de atualização e pausa de 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 comportamentos nocivos internos, ao mesmo tempo que se aumenta a eficiência e se reforça a gestão de riscos.
Introduza terceiros com cautela, assumindo que tanto os upstream como os downstream não são seguros.
Como os usuários/LP podem determinar se um contrato inteligente é seguro
Confirme se o contrato é de código aberto.
Verifique se o Owner utiliza múltiplas assinaturas e se as múltiplas assinaturas são descentralizadas.
Verificar a situação das transações existentes do contrato.
Confirme se o contrato é um contrato de代理, se é atualizável e se possui um bloqueio de tempo.
Verifique se o contrato foi auditado por várias instituições e se os direitos de Owner são excessivos.
Preste atenção ao uso dos oráculos.
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 de projetos de alto risco.
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.
9 Curtidas
Recompensa
9
6
Compartilhar
Comentário
0/400
GateUser-a180694b
· 5h atrás
Empréstimos Flash 啧啧啧 Ser enganado por idiotas de velhos companheiros, não é?
Ver originalResponder0
ContractCollector
· 5h atrás
Agora os Empréstimos Flash são realmente os mais explorados.
Ver originalResponder0
AirdropChaser
· 5h atrás
Eu vou fazer as pessoas de parvas para ver, desta vez foram alguns idiotas.
Ver originalResponder0
BridgeTrustFund
· 5h atrás
Outra vez a Empréstimos Flash deu problemas.
Ver originalResponder0
DeFiVeteran
· 5h atrás
Outra vez vítimas de Empréstimos Flash.
Ver originalResponder0
MidnightSnapHunter
· 5h atrás
Os ataques de reentrada já são um tema recorrente, não é? Agora, quem não sabe disso?
Análise das vulnerabilidades de segurança comuns em Finanças Descentralizadas: prevenção de riscos de Empréstimos Flash, manipulação de preços e ataques de reentrada.
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 DeFi com os membros da comunidade. O curso revisou os principais eventos de segurança que o setor Web3 enfrentou nos últimos mais de um ano, explorou as causas desses eventos e as maneiras de evitá-los, resumiu as vulnerabilidades de segurança comuns em contratos inteligentes e as medidas preventivas, e deu algumas recomendações de segurança para projetos e usuários comuns.
Os tipos comuns de vulnerabilidades DeFi 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 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.
Empréstimo Relâmpago
Os empréstimos relâmpago são uma inovação nas Finanças Descentralizadas, mas também podem ser explorados por hackers. Os atacantes geralmente pegam emprestado grandes quantidades de fundos através de empréstimos relâmpago para manipular preços ou atacar a lógica de negócios. Os desenvolvedores precisam considerar se a funcionalidade do contrato pode levar a anomalias devido a grandes quantias de fundos, ou se é possível obter recompensas indevidas ao interagir com várias funções em uma única transação com grandes quantias de fundos.
Muitos projetos de Finanças Descentralizadas parecem ter altos rendimentos, mas o nível das equipes por trás dos projetos varia bastante. Alguns projetos podem usar códigos adquiridos; mesmo que o código em si não tenha falhas, ainda pode haver problemas lógicos. Por exemplo, alguns projetos distribuem recompensas em momentos fixos com base na quantidade de tokens que os detentores possuem, o que pode ser explorado por atacantes que utilizam empréstimos relâmpago para comprar grandes quantidades de tokens e obter a maior parte das recompensas no momento da distribuição.
Manipulação de Preços
A questão do controle de preços está intimamente relacionada aos empréstimos relâmpago, principalmente porque certos parâmetros podem ser controlados pelo usuário durante o cálculo do preço. 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, na função de retirada, se o saldo do usuário for definido como 0 apenas no final da função, então uma segunda (e posteriores) chamadas ainda terão sucesso, resultando em retiradas duplicadas.
Para resolver o problema de reentrada, é necessário ter em atenção os seguintes pontos:
Vale a pena notar que reinventar a roda pode trazer mais riscos. Usar as melhores práticas de segurança bem verificadas geralmente é mais seguro do que desenvolver novos métodos por conta própria.
Sugestões de segurança para o projeto
Como os usuários/LP podem determinar se um contrato inteligente é seguro
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 de projetos de alto risco.