Os golpistas estão visando usuários de criptomoedas com o novo truque de 'transferência de valor zero'

Dados da Etherscan mostram que alguns golpistas de criptomoedas estão mirando nos usuários com um novo truque que permite que eles confirmem uma transação da carteira da vítima, mas sem ter a chave privada da vítima. O ataque só pode ser executado para transações de valor 0. No entanto, isso pode fazer com que alguns usuários enviem tokens acidentalmente ao invasor como resultado do corte e colagem de um histórico de transações sequestradas.

Empresa de segurança Blockchain SlowMist descoberto a nova técnica em dezembro e a revelou em um post no blog. Desde então, tanto o SafePal quanto o Etherscan adotaram técnicas de mitigação para limitar seu efeito sobre os usuários, mas alguns usuários ainda podem não saber de sua existência.

De acordo com a postagem do SlowMist, o golpe funciona enviando uma transação de zero tokens da carteira da vítima para um endereço semelhante ao que a vítima havia enviado tokens anteriormente.

Por exemplo, se a vítima enviou 100 moedas para um endereço de depósito de câmbio, o invasor pode enviar zero moedas da carteira da vítima para um endereço semelhante, mas que está, de fato, sob o controle do invasor. A vítima pode ver esta transação em seu histórico de transações e concluir que o endereço mostrado é o endereço de depósito correto. Como resultado, eles podem enviar suas moedas diretamente para o invasor.

Enviando uma transação sem permissão do proprietário 

Em circunstâncias normais, um invasor precisa da chave privada da vítima para enviar uma transação da carteira da vítima. Mas o recurso “guia de contrato” do Etherscan revela que há uma brecha em alguns contratos de token que podem permitir que um invasor envie uma transação de qualquer carteira.

Por exemplo, o código para USD Coin (USDC) no Etherscan mostra que a função “TransferFrom” permite que qualquer pessoa mova moedas da carteira de outra pessoa, desde que a quantidade de moedas enviadas seja menor ou igual à quantia permitida pelo proprietário do endereço.

Isso geralmente significa que um invasor não pode fazer uma transação do endereço de outra pessoa, a menos que o proprietário aprove uma permissão para eles.

No entanto, há uma brecha nessa restrição. A quantidade permitida é definida como um número (chamado de “tipo uint256”), o que significa que é interpretado como zero, a menos que seja especificamente definido para algum outro número. Isso pode ser visto na função “subsídio”.

Como resultado, desde que o valor da transação do invasor seja menor ou igual a zero, ele pode enviar uma transação de absolutamente qualquer carteira que desejar, sem precisar da chave privada ou da aprovação prévia do proprietário.

O USDC não é o único token que permite que isso seja feito. Código semelhante pode ser encontrado na maioria dos contratos de token. pode até ser encontrado nos contratos de exemplo vinculados ao site oficial da Ethereum Foundation.

Exemplos do esquema de transferência de valor zero

O Etherscan mostra que alguns endereços de carteira estão enviando milhares de transações de valor zero por dia das carteiras de várias vítimas sem o consentimento delas.

Por exemplo, uma conta denominada Fake_Phishing7974 usou um contrato inteligente não verificado para realizar mais de 80 pacotes de transações em 12 de janeiro, com cada pacote contendo 50 transações de valor zero para um total de 4,000 transações não autorizadas em um dia.

Endereços enganosos

Observar cada transação mais de perto revela um motivo para esse spam: o invasor está enviando transações de valor zero para endereços muito semelhantes àqueles para os quais as vítimas enviaram fundos anteriormente.

Por exemplo, o Etherscan mostra que um dos endereços de usuário visados ​​pelo invasor é o seguinte:

0x20d7f90d9c40901488a935870e1e80127de11d74.

Em 29 de janeiro, esta conta autorizou o envio de 5,000 Tether (USDT) para este endereço de recebimento:

0xa541efe60f274f813a834afd31e896348810bb09.

Imediatamente depois, Fake_Phishing7974 enviou uma transação de valor zero da carteira da vítima para este endereço:

0xA545c8659B0CD5B426A027509E55220FDa10bB09.

Os primeiros cinco caracteres e os últimos seis caracteres desses dois endereços de recebimento são exatamente os mesmos, mas os caracteres do meio são completamente diferentes. O invasor pode ter pretendido que o usuário enviasse USDT para este segundo endereço (falso) em vez do endereço real, entregando suas moedas ao invasor.

Nesse caso específico, parece que o golpe não funcionou, pois o Etherscan não mostra nenhuma transação desse endereço para um dos endereços falsos criados pelo golpista. Mas, dado o volume de transações de valor zero feitas por essa conta, o plano pode ter funcionado em outros casos.

Carteiras e exploradores de blocos podem variar significativamente quanto a como ou se mostram transações enganosas.

Carteiras

Algumas carteiras podem não mostrar as transações de spam. Por exemplo, o MetaMask não mostra histórico de transações se for reinstalado, mesmo que a própria conta tenha centenas de transações no blockchain. Isso implica que ele armazena seu próprio histórico de transações em vez de extrair os dados do blockchain. Isso deve impedir que as transações de spam apareçam no histórico de transações da carteira.

Por outro lado, se a carteira extrair dados diretamente do blockchain, as transações de spam podem aparecer no visor da carteira. Em um anúncio de 13 de dezembro no Twitter, a CEO da SafePal, Veronica Wong advertido Usuários SafePal que sua carteira pode exibir as transações. Para mitigar esse risco, ela disse que o SafePal estava alterando a forma como os endereços são exibidos nas versões mais recentes de sua carteira para facilitar a inspeção dos endereços pelos usuários.

Em dezembro, um usuário também relatou que sua carteira Trezor foi exibindo transações enganosas.

O Cointelegraph entrou em contato por e-mail com o desenvolvedor da Trezor, SatoshiLabs, para comentar. Em resposta, um representante afirmou que a carteira extrai seu histórico de transações diretamente do blockchain “toda vez que os usuários conectam sua carteira Trezor”.

No entanto, a equipe está tomando medidas para proteger os usuários do golpe. Em uma próxima atualização do Trezor Suite, o software “sinalizará as transações suspeitas de valor zero para que os usuários sejam alertados de que tais transações são potencialmente fraudulentas”. A empresa também afirmou que a carteira sempre exibe o endereço completo de cada transação e que “recomenda fortemente que os usuários sempre verifiquem o endereço completo, não apenas o primeiro e o último caracteres”.

Exploradores de blocos

Além das carteiras, os exploradores de blocos são outro tipo de software que pode ser usado para visualizar o histórico de transações. Alguns exploradores podem exibir essas transações de forma a inadvertidamente enganar os usuários, assim como algumas carteiras fazem.

Para mitigar essa ameaça, o Etherscan começou a desativar as transações de token de valor zero que não são iniciadas pelo usuário. Ele também sinaliza essas transações com um alerta que diz: “Esta é uma transferência de token de valor zero iniciada por outro endereço”, conforme evidenciado pela imagem abaixo.

Outros exploradores de blocos podem ter seguido as mesmas etapas do Etherscan para avisar os usuários sobre essas transações, mas alguns podem não ter implementado essas etapas ainda.

Dicas para evitar o truque 'transferfrom de valor zero'

O Cointelegraph procurou o SlowMist para obter conselhos sobre como evitar ser vítima do truque “transferfrom de valor zero”.

Um representante da empresa deu ao Cointelegraph uma lista de dicas para evitar ser vítima do ataque:

  1. “Tenha cuidado e verifique o endereço antes de executar qualquer transação.”
  2. “Utilize o recurso de lista branca em sua carteira para evitar o envio de fundos para endereços errados.”
  3. “Mantenha-se vigilante e informado. Se você encontrar alguma transferência suspeita, reserve um tempo para investigar o assunto com calma para evitar ser vítima de golpistas.”
  4. “Mantenha um nível saudável de ceticismo, mantenha-se sempre cauteloso e vigilante.”

A julgar por este conselho, a coisa mais importante para os usuários de criptografia lembrarem é sempre verificar o endereço antes de enviar a criptografia para ele. Mesmo que o registro da transação pareça implicar que você enviou criptografia para o endereço anterior, essa aparência pode ser enganosa.