Principais conclusões

  • Assinar mensagens é um aspecto essencial das transações no blockchain, mas se não for feito com cautela, pode expor os usuários a riscos de segurança consideráveis.

  • A função ‘eth_sign’, que permite que os usuários assinem mensagens arbitrárias, é especialmente vulnerável a abusos, permitindo potencialmente que invasores obtenham controle total sobre os ativos da vítima.

  • Para se proteger, use sempre plataformas confiáveis, evite assinar mensagens desconhecidas e mantenha-se informado sobre golpes comuns.

Para aqueles que exploram o espaço Web3, a assinatura de mensagens é essencial para autorizar transações, verificar identidades e interagir com aplicativos descentralizados (DApps). Por exemplo, uma plataforma de airdrop pode exigir que um usuário assine uma mensagem para provar a propriedade de um endereço de carteira específico elegível para um airdrop. Embora esse processo habilite muitas funções críticas de blockchain, ele também introduz riscos de segurança significativos.

Neste artigo, exploramos os perigos potenciais associados à assinatura de mensagens dentro e fora do blockchain e destacamos cenários comuns em que os usuários podem sofrer perdas financeiras como resultado da assinatura de mensagens maliciosas.

Assinatura de mensagem e transação: entendendo a diferença

No espaço descentralizado, as assinaturas são essenciais tanto para autorizar transações quanto para interagir com DApps. Elas vêm em dois tipos principais: assinaturas on-chain (transação) e off-chain (mensagem).

Assinaturas On-Chain (Assinando uma Transação)

Assinaturas on-chain são usadas para autorizar ações que alteram o estado do blockchain, como transferência de fundos ou execução de contratos inteligentes. Veja como funciona:

Fluxo de trabalho do processo de assinatura e verificação na cadeia

  • Geração de mensagens: quando alguém inicia uma transação no blockchain, a rede gera uma mensagem exclusiva relacionada a essa transação, que contém informações sobre ela, como os endereços do remetente e do destinatário, o valor a ser transferido e outros detalhes relevantes.

  • Assinando a Mensagem: O usuário que inicia uma transação "assina" esta mensagem com sua chave privada. Este processo envolve aplicar um algoritmo criptográfico à mensagem e à chave privada do usuário, resultando em uma assinatura digital.

  • Enviando a mensagem assinada: A mensagem assinada, junto com a mensagem original, é enviada para a rede.

  • Verificação: A rede verifica a assinatura usando a chave pública do usuário que faz a transação, que é derivada de sua chave privada, mas pode ser compartilhada com segurança. Se a assinatura corresponder à mensagem e à chave pública, ela confirma que o titular da conta autorizou a transação.

  • Processamento de Transação: Se a assinatura for válida, a rede processa a transação. Caso contrário, a transação é rejeitada.

Quando você usa uma carteira de criptomoedas, o processo de assinatura da transação normalmente ocorre automaticamente em segundo plano. A maioria das carteiras de criptomoedas modernas fornece uma interface amigável que abstrai os detalhes técnicos, para que você não veja ou interaja diretamente com o processo.

Assinaturas Off-Chain (Assinando uma Mensagem)

Assinaturas off-chain, por outro lado, são usadas para ações que não afetam o estado do blockchain, como verificar a identidade do usuário, fazer login em um DApp ou pré-autorizar transferências de fundos. Veja como funciona:

  • Geração de Desafio: O aplicativo gera uma mensagem única que serve como um “desafio” – uma solicitação para que o usuário se autentique provando que é dono do endereço em questão. Esta mensagem pode incluir detalhes específicos relacionados à tentativa de login, como o timestamp ou um número aleatório.

  • Criação de Assinatura: O usuário assina a mensagem com sua chave privada, criando uma assinatura digital. Essa assinatura atua como prova de que ele possui a chave privada associada à carteira.

  • Verificação de Assinatura: O destinatário verifica a assinatura usando sua chave pública. Se a assinatura for válida, ela confirma a identidade do usuário e concede acesso a ele.

São assinaturas off-chain com as quais os usuários do Web3 frequentemente interagem para vários propósitos – e é esse tipo de assinatura que tem o potencial de ser abusada por criminosos.

O Risco: Autorização Não Intencional

Existem vários métodos para assinar mensagens, incluindo eth_sign, personal_sign e eth_signTypedData. Essas funções têm vários níveis de segurança e, dependendo da carteira que você usa, alguns métodos podem ou não ser suportados.

  • A função eth_sign permite que os usuários assinem mensagens arbitrárias com suas chaves privadas, o que pode potencialmente representar riscos de segurança. Este método usa um formato de mensagem bruto e não legível, sem nenhum prefixo ou contexto.

Por isso, os usuários geralmente não entendem as implicações do que estão assinando. O risco mais grave é que assinar uma mensagem maliciosa pode conceder ao invasor controle total sobre seus ativos.

  • O método personal_sign foi projetado para ser mais seguro e amigável ao usuário. Ele prefixa a mensagem com uma string padrão antes do hash e da assinatura, deixando claro que a mensagem é destinada à assinatura. Esse prefixo ajuda a proteger contra certos tipos de ataques, como ataques de repetição, em que uma mensagem assinada pode ser reutilizada em um contexto diferente.

  • O método eth_signTypedData é usado para assinar dados estruturados, fornecendo mais contexto e clareza sobre o que está sendo assinado. Ele permite que os desenvolvedores definam a estrutura dos dados que estão sendo assinados, tornando-os mais transparentes e fáceis de entender.

O que é phishing eth_sign?

Em sua essência, eth_sign é um mecanismo criptográfico que permite que os usuários assinem mensagens arbitrárias. Essa assinatura serve como prova digital de que o proprietário da conta autorizou o conteúdo da mensagem. No entanto, o problema surge quando essas mensagens assinadas podem ser interpretadas e executadas por contratos inteligentes de maneiras que não são imediatamente aparentes para o usuário. Uma mensagem que parece ser uma sequência inofensiva de caracteres pode, na realidade, autorizar invasores a assumir o controle total da sua conta. Vamos analisar a mecânica de um ataque de phishing eth_sign típico:

1. A configuração: Os invasores geralmente criam sites ou aplicativos falsos que imitam plataformas legítimas. Podem ser exchanges descentralizadas, mercados NFT ou outros serviços baseados em blockchain.

2. A Isca: Os usuários são atraídos para se conectar a essas plataformas falsas por vários meios – e-mails de phishing, anúncios enganosos ou até mesmo links falsos em grupos de mídia social. Os invasores geralmente criam um senso de urgência, alegando que o usuário precisa assinar rapidamente para aproveitar uma oferta por tempo limitado ou para evitar algumas consequências negativas.

3. O Gancho: O site dos atacantes solicita que o usuário assine uma mensagem usando eth_sign. No entanto, a mensagem que o usuário assina é muito diferente do que ele pensa. Poderia conceder permissão para executar qualquer ação maliciosa que o golpista queira.

Os estágios de um ataque de phishing eth_sign

Táticas populares para explorar assinaturas de mensagens incluem airdrops falsos; DApps maliciosos criados para parecer legítimos, mas cujo único propósito é roubar fundos; serviços falsos de cunhagem de NFT; e-mails de phishing; personificação do suporte ao cliente; e criação de interfaces de ponte entre cadeias falsas. Todas essas ferramentas nefastas servem ao propósito de fazer os usuários acreditarem que estão assinando uma mensagem legítima, enquanto, na verdade, dão aos criminosos acesso aos seus fundos digitais.

O que torna esses ataques particularmente perigosos é que eles exploram o comportamento condicionado dos usuários do Web3 para assinar mensagens para verificar sua identidade ou aprovar ações. Muitos usuários tendem a assinar essas mensagens sem entender completamente as implicações.

Exemplos da vida real

O Airdrop Falso de NFT

Golpistas frequentemente manipulam suas vítimas com a promessa de recompensas inesperadas. Um usuário neste exemplo da vida real recebeu um airdrop de NFT não solicitado em sua carteira, com os remetentes alegando que o usuário havia ganhado uma recompensa significativa e só precisava converter seu voucher NFT em dinheiro.

Para reivindicar o prêmio, o usuário é transferido para um site vinculado para assinar uma mensagem, que é apresentada em um formato hexadecimal não legível. Assumindo que esta seja uma parte padrão do processo de verificação, o usuário assina. No entanto, esta mensagem é uma autorização habilmente disfarçada que concede ao golpista controle sobre os ativos do usuário, resultando em transferências não autorizadas de sua carteira.

Pouco depois, o usuário percebe que uma quantidade significativa de tokens está sendo transferida de sua carteira sem seu consentimento, percebendo tarde demais que havia sido enganado.

Conclusão principal: Cuidado com quaisquer ofertas ou airdrops não solicitados, especialmente aqueles que prometem recompensas significativas. Sempre verifique a legitimidade da fonte antes de tomar qualquer outra ação.

Representação de um projeto bem conhecido

Golpistas frequentemente se passam por projetos ou contas de renome para criar uma sensação de credibilidade. Neste exemplo, os criminosos criaram uma conta falsa no X imitando a conta oficial da Baby Doge Coin. O imitador obteve um selo de verificação dourado para adicionar uma camada de credibilidade.

 

A conta falsa anunciou um novo airdrop para detentores de Baby Doge Coin e incluiu um link para um site onde os usuários poderiam reivindicar o novo token. A postagem rapidamente ganhou força, o que adicionou ainda mais à sua aparência de legitimidade. Os usuários visitaram o link fornecido, conectaram suas carteiras e assinaram uma mensagem para confirmar sua identidade e reivindicar o airdrop.

O que as vítimas não sabiam é que a mensagem assinada autorizava a transferência de tokens de suas carteiras para o endereço do invasor. A maioria dos usuários só percebeu que era um golpe quando notaram que seus tokens Baby Doge Coin tinham desaparecido de suas carteiras.

Conclusão principal: sempre verifique a autenticidade das contas de mídia social com as quais você interage e tenha cuidado com quaisquer mensagens que solicitem sua assinatura. Pequenas discrepâncias, como um nome de usuário ligeiramente diferente ou incorreto, são essenciais para diferenciar o real do falso. Neste exemplo, o identificador X da conta do golpista foi sutilmente alterado para ser lido quase como o real, com uma vogal duplicada no final.

Um Airdrop de Novo Token Falso

Criar um senso de urgência é outra tática que os golpistas usam para forçar os usuários a tomar decisões precipitadas. Neste exemplo, um usuário rolando seu feed de mídia social notou uma publicação do que parece ser um projeto legítimo de criptomoeda, anunciando um novo airdrop para um token chamado “Sunwaves”. A publicação afirma que há uma janela limitada de 24 horas para reivindicar o airdrop.

Intrigados com o anúncio, os usuários visitam o site mencionado na postagem, que os solicita a conectar suas carteiras e concluir várias etapas de verificação, incluindo assinar uma mensagem para confirmar sua identidade e reivindicar o airdrop.

No entanto, essa mensagem assinada concede ao golpista permissão para transferir tokens da carteira do usuário. O usuário rapidamente percebe que tokens, incluindo ativos valiosos, foram transferidos sem seu consentimento.

Conclusão principal: Seja cético em relação a quaisquer ofertas que criem um senso de urgência. Os golpistas geralmente pressionam os usuários a agir rapidamente para evitar que eles reservem um tempo para avaliar e verificar a legitimidade da oferta.

Como a carteira Binance Web3 mantém você seguro

Para eliminar a possibilidade de usuários caírem em um golpe Eth_sign, esta função é proibida na Binance Web3 Wallet. O que isto significa na prática é que uma vez que o eth_sign é acionado para uma transação, os usuários serão imediatamente avisados ​​de que esta transação é altamente arriscada devido a uma solicitação de assinatura potencialmente maliciosa. Concluir tal transação não será possível.

Protegendo-se de golpes

Para evitar golpes de assinatura de mensagens no espaço Web3, é essencial tomar medidas de precaução:

1. Use plataformas confiáveis: assine mensagens somente em plataformas nas quais você confia. Se uma plataforma parecer suspeita por qualquer motivo, é melhor evitá-la.

2. Não confie em airdrops inesperados: tenha cuidado com ofertas não solicitadas que parecem boas demais para ser verdade, especialmente aquelas que prometem recompensas substanciais.

3. Verifique URLs de DApp: sempre verifique se a URL é legítima antes de interagir com um aplicativo descentralizado. Os golpistas geralmente criam URLs que parecem semelhantes às reais.

4. Use carteiras seguras: Use carteiras confiáveis ​​que forneçam medidas de segurança contra mensagens maliciosas. Por exemplo, a Binance Web3 Wallet baniu a função eth_sign para evitar tais ataques.

5. Mantenha-se informado: fique por dentro das últimas táticas de golpes e práticas recomendadas de segurança no espaço blockchain.

Considerações Finais

Explorar o espaço descentralizado de serviços e aplicativos Web3 pode ser uma aventura magnífica. No entanto, esse ambiente tem seus próprios riscos, exigindo que os usuários sejam vigilantes e informados. Golpistas podem explorar ferramentas como assinatura de mensagens e representação para realizar transações não autorizadas, resultando em perdas financeiras significativas. Ao estar ciente desses riscos e adotar algumas práticas e hábitos de segurança simples, você pode se proteger. Sempre tenha cautela e permaneça vigilante para garantir a segurança de seus ativos no ecossistema Web3.

Leitura Adicional

Aviso de Risco: Criptomoedas estão sujeitas a alto risco de mercado e volatilidade de preço. Você deve investir apenas em produtos com os quais esteja familiarizado e onde entenda os riscos associados. Você deve considerar cuidadosamente sua experiência em investimentos, situação financeira, objetivos de investimento e tolerância a riscos e consultar um consultor financeiro independente antes de fazer qualquer investimento. Este material não deve ser interpretado como aconselhamento financeiro. O desempenho passado não é um indicador confiável de desempenho futuro. O valor do seu investimento pode cair ou subir, e você pode não receber de volta o valor investido. Você é o único responsável por suas decisões de investimento. A Binance não é responsável por quaisquer perdas que você possa incorrer. Para obter mais informações, consulte nossos Termos de Uso e Aviso de Risco. Este é um anúncio geral. Os produtos e serviços mencionados aqui podem não estar disponíveis em sua região.