Pontos-chave
No mundo Web3, autorizações ilimitadas criam vulnerabilidades, que podem ser exploradas por hackers através de vulnerabilidades de contratos inteligentes ou engenharia social.
Verifique regularmente e revogue autorizações desnecessárias para impedir o acesso não autorizado aos ativos.
Use ferramentas como a carteira Web3 da Binance para proteger a segurança dos fundos e fique atento aos riscos de segurança do Web3.
No campo das finanças descentralizadas, qual é o custo de ignorar uma autorização? Embora os contratos inteligentes possam simplificar as transações, interagir com eles também traz riscos de segurança específicos, especialmente quando os usuários autorizam terceiros a acessar e gerenciar seus fundos sem restrições. Em um blog anterior, discutimos os riscos de autorização de contratos inteligentes e contas externas (EOA). Neste artigo, exploraremos outros riscos de autorização e como proteger os ativos contra ameaças, focando na Ethereum Virtual Machine (EVM).
Introdução aos riscos de autorização da EVM
Muitos usuários acreditam que participar de projetos com alta visibilidade ou auditados pode garantir a segurança de seus fundos. No entanto, independentemente de quão elaborado seja o design do projeto, não há imunidade absoluta contra ataques hackers, especialmente no espaço descentralizado. Se o aplicativo ou plataforma em que você confiava for invadido, a autorização ilimitada permitirá que o contrato inteligente controle seus ativos na carteira sem restrições, aumentando o risco.
Os usuários muitas vezes autorizam contratos inteligentes para conveniência e depois esquecem, o que aumenta ainda mais os riscos potenciais. Com o tempo, essas autorizações esquecidas se tornam vulnerabilidades ocultas, prontas para serem exploradas por atacantes a qualquer momento. Uma vez que a segurança do projeto seja ameaçada, os hackers podem contornar você e explorar essas autorizações ilimitadas para esvaziar seus fundos. Não restringir ou revogar regularmente as autorizações é como esquecer de trancar a porta, expondo seus ativos a riscos enormes. Portanto, gerenciar autorizações com cautela é fundamental no ecossistema Web3.
Você pode querer entender como a segurança de um projeto pode ser ameaçada. As técnicas comuns são duas: explorar vulnerabilidades no código do contrato inteligente ou manipular os desenvolvedores através de engenharia social. Ambas podem abrir portas para os atacantes acessarem os fundos dos usuários sem autorização.
Explorando vulnerabilidades de contratos inteligentes
Os contratos inteligentes são pilares da blockchain, suportando funções como criação de tokens, empréstimos, staking e bridging. No entanto, qualquer código de software pode ter vulnerabilidades. Essas vulnerabilidades são o principal alvo dos atacantes, especialmente em projetos populares com grandes bases de usuários ou muitos fundos.
Abaixo está o processo geral desse tipo de ataque.
Encontrando o alvo certo: hackers geralmente visam projetos conhecidos, analisando seus contratos inteligentes em busca de vulnerabilidades exploráveis. Devido à transparência da blockchain, esse processo requer não apenas habilidade, mas também paciência, à medida que buscam cuidadosamente erros de codificação ou falhas lógicas.
Localizando a vulnerabilidade: uma vez que uma vulnerabilidade é descoberta, o atacante pode acessar o contrato do projeto sem autorização. A partir daí, o objetivo se torna mais claro: esvaziar os fundos. Isso significa drenar o pool de liquidez e as reservas de empréstimos, ou interagir diretamente com os usuários do contrato afetado.
Perda de fundos: se os usuários concederem autorizações ilimitadas ao contrato afetado, o risco aumentará significativamente. Com essas autorizações, o contrato pode acessar tokens na carteira dos usuários sem restrições. Os atacantes podem executar funções como transferFrom() várias vezes para retirar o saldo de tokens. Enquanto a autorização ilimitada estiver ativa, os novos depósitos na mesma carteira também estarão expostos ao risco.
A menos que a autorização seja revogada, os fundos existentes dos usuários e os ativos que serão depositados no futuro podem ser roubados. Autorizações ilimitadas podem parecer convenientes, mas rapidamente se tornam vulnerabilidades graves. Portanto, é essencial verificar regularmente e revogar autorizações de contratos inteligentes desnecessárias ou raramente usadas. Gastar um tempo para reautorizar é muito mais seguro do que arriscar perder fundos.
Engenharia social
Embora os contratos inteligentes possam ter vulnerabilidades, erros humanos muitas vezes trazem riscos ainda maiores. Os atacantes visam desenvolvedores ou proprietários de projetos, explorando sua confiança para obter acesso a sistemas sensíveis. Uma técnica comum é o golpe de malware, onde criminosos enganam indivíduos para baixar um programa malicioso. Uma vez instalado, esse tipo de programa pode roubar chaves privadas, acessar carteiras ou manipular contratos, esvaziando assim os fundos do projeto e os saldos dos usuários. Portanto, a engenharia social é uma ameaça grave que pode impactar todo o ecossistema.
Casos reais
Vulnerabilidade na atualização de contratos inteligentes: protocolo LI.FI
O contrato inteligente da plataforma LI.FI possui uma vulnerabilidade na atualização que permite que atacantes chamem qualquer contrato sem a devida verificação. Com isso, os atacantes podem explorar carteiras que concederam autorização ilimitada de tokens ao contrato LI.FI, retirando fundos sem a necessidade de nova autorização do usuário. Como vulnerabilidades podem surgir a qualquer momento, os usuários devem sempre agir com cautela e revogar autorizações regularmente para garantir a segurança dos fundos.
Ataque a múltiplos signatários: Radiant Capital
Atacantes invadiram os dispositivos de três signatários múltiplos, controlando assim a carteira de múltiplos signatários da Radiant Capital. Com esse acesso, eles transferiram a propriedade da carteira para si mesmos e forçaram a atualização do contrato do pool de empréstimos. Com essa atualização, eles puderam retirar todos os fundos do pool de empréstimos e das carteiras dos usuários que já haviam concedido autorizações ilimitadas. Portanto, os usuários que ainda não revogaram autorizações ilimitadas continuam a enfrentar riscos, especialmente em determinadas blockchains.
Esse caso demonstra que não revogar autorizações após um projeto ser comprometido é uma prática extremamente perigosa. Como mostrado na figura abaixo, este usuário da carteira Web3 já havia concedido autorização ilimitada ao contrato do pool de empréstimos da Radiant Capital, que foi invadido. Essa permissão "ilimitada" significa que o contrato pode retirar tokens da carteira do usuário sem restrições.
As long as the authorization is valid, attackers can repeatedly extract BUSC-USD from the user's wallet. Moreover, since the contract retains the authorization to withdraw funds, any newly deposited funds in the wallet are also at risk. This case warns users that when a project is compromised, they should promptly check and revoke related authorizations to protect their assets.
Engenharia social: Monoswap
O atacante se fez passar por um investidor de risco e conduziu um golpe direcionado contra os desenvolvedores do Monoswap. Ele convidou os desenvolvedores para participar de uma conferência telefônica supostamente sobre oportunidades de financiamento, enganando-o para que instalasse uma versão falsificada do aplicativo de mensagens Kakaotalk. O que ele não sabia era que o atacante aproveitou a oportunidade para instalar um botnet em seu computador de escritório, que poderia acessar as carteiras e contratos relacionados ao Monoswap.
Através desse acesso, os criminosos retiraram a maior parte das posições de liquidez em staking, causando enormes perdas ao protocolo e seus usuários. Este incidente mostra que devemos sempre adotar protocolos de segurança rigorosos e certificar a legitimidade de aplicativos ou canais de comunicação antes de conceder acesso a sistemas sensíveis.
Métodos de autoproteção
No mundo Web3, estar sempre vigilante é a chave para garantir a segurança dos ativos. Embora não haja sistema capaz de oferecer risco zero absoluto, tomar medidas proativas pode reduzir significativamente as ameaças potenciais. A seguir, apresentamos métodos de autoproteção:
Autorização cautelosa
Evite conceder autorizações ilimitadas de tokens, mesmo para projetos com boa reputação. Limitar as autorizações aumenta a segurança, garantindo que, quando um projeto é invadido, o atacante não possa usar essa autorização para roubar seus ativos.
Revogue regularmente autorizações que não estão mais em uso
Aprenda a verificar regularmente e revogar a autorização de tokens de contratos que não estão mais em uso. Um simples passo pode reduzir o risco de ataques maliciosos ou vulnerabilidades acidentais aos ativos.
Realize a devida diligência
Antes de autorizar um contrato, reserve um tempo para validá-lo por meio de ferramentas de segurança confiáveis, como honeypot.is. Embora essas ferramentas não possam garantir segurança absoluta, elas oferecem insights valiosos sobre riscos potenciais, sendo muito melhor do que não verificar nada. Desenvolver esses hábitos ajuda a construir uma forte barreira contra ameaças potenciais, permitindo que você navegue com segurança no mundo Web3.
Use a carteira Web3 da Binance
Use ferramentas confiáveis, como a carteira Web3 da Binance, para proteger sua carteira. Essa carteira prioriza a segurança do usuário e possui recursos robustos para lidar com ameaças comuns do Web3, incluindo abusos de autorização.
Quando um projeto é invadido, a carteira Web3 da Binance toma medidas rápidas para proteger os usuários. O sistema envia imediatamente alertas de segurança e notificações no aplicativo, instando os usuários a revogar autorizações de risco ou proteger a segurança de seus ativos. Antes de revogar completamente a autorização do contrato inteligente de risco, o sistema continuará a lembrar os usuários com pop-ups constantes, garantindo que os usuários ajam para proteger seus fundos.
Essas medidas proativas de proteção ajudam os usuários a se manterem informados e a reagirem rapidamente, reduzindo as perdas potenciais.
Fique sempre atualizado
No campo em constante evolução do DeFi, o conhecimento é a melhor defesa. Você pode acompanhar as últimas notícias de segurança, desenvolvimentos de projetos e novas vulnerabilidades através da Binance Academy. Para uma compreensão mais profunda das ameaças potenciais, consulte nossa série de identificação de fraudes. Esses recursos fornecem insights valiosos que ajudam você a identificar fraudes e se proteger contra novas ameaças, garantindo uma jornada segura em seu ecossistema.
Conclusão
No mundo Web3, adotar alguns hábitos simples pode aumentar significativamente a segurança dos ativos. Verifique regularmente suas autorizações, use ferramentas confiáveis como a carteira Web3 da Binance e mantenha-se informado através de recursos como a Binance Academy. Esses passos, embora pequenos, podem proteger efetivamente a segurança dos fundos, permitindo que você aproveite as infinitas possibilidades que as finanças descentralizadas oferecem.