Permitir análise de assinatura: As assinaturas fora da cadeia também podem capturar seu token?

ForesightNews

Ao interagir com os DApps, o usuário deve ficar atento ao controle da quantidade de Tokens autorizados, verificando o conteúdo da assinatura e situações anormais de autorização.

Escrito por: Lisa

fundo

Em 11 de maio, o usuário do Twitter “pineapple.eth” twittou que sua carteira foi roubada devido a um clique errado em um site de phishing (syncswap[.]network) e perdeu mais de US$ 100.

(

Embora a quantidade de perda não seja grande, há um enorme risco de segurança oculto nela. As vítimas geralmente perdem grandes ativos devido ao risco de assinatura “imperceptível” de “não ser capaz de ver”. É por isso que escrevemos este artigo.

De acordo com a descrição da vítima, as transações roubadas são as seguintes:

(

(

Dessas duas transações, o chamador do contrato (0x00002…d0000) transfere 34,87 USDC no endereço da vítima (0xA4089…82C3) para (0x8256…D6B8) e transfere 81,36 USDC para (0x5A69… 1C17). Se você apenas olhar para a função transferFrom, não é difícil descobrir que a função dessa função é permitir que um terceiro inicie uma transação para transferir os ativos digitais relevantes da conta do proprietário para a conta do destinatário.

Em seguida, analise o endereço do chamador do contrato (0x00002…d0000) e descubra que há uma operação de permissão extra, que não está nos registros de transações da vítima. Qual é a função da licença?

(

O que é uma Permissão?

De acordo com a introdução oficial, a licença foi introduzida no protocolo ERC20 no EIP-2612, e os usuários podem interagir com o contrato de aplicativo anexando uma assinatura de autorização (permissão) sem autorização prévia. Especificamente, todos sabemos que na transação da moeda ERC20, A pode chamar a função aprovar para autorizar B, ou seja, autorizar o token especificado por A para outra conta operar, e deve ser o proprietário dessa conta para chamar aprovar função. A função da função de permissão é que A assina o objeto de autorização antecipadamente na cadeia e informa B sobre a assinatura obtida, e B pode usar essa assinatura para chamar permissão para realizar a operação de autorização de A (use transferFrom para transferir a permissão ), A pode transferir o token especificado sem enviar a transação e, seja ele o proprietário da conta ou não, pode executar a permissão para autorizar a operação. Além disso, a Uniswap lançou um novo padrão de autorização de Token Permit2.

A seguir, uma comparação entre aprovar e permitir:

função aprovar(endereço usr, uint wad) retorno externo (bool)

{

mesada[msg.sender] [usr] = maço;

}

permissão de função(

titular do endereço, gastador do endereço,

uint256 nonce, uint256 expiração, bool permitido,

uint8 v, bytes32 r, bytes32 s

) externo {

mesada [holder] [spender] = maço;

}

Depois de entender o básico e retornar ao próprio evento de phishing, você pode enviar esta função de permissão com 7 parâmetros:

  • proprietário: endereço autorizado
  • gastador: Quem está autorizado a
  • valor: o número de tokens autorizados fornecidos
  • deadline: é um carimbo de data/hora, válido somente antes do horário determinado
  • v, r, s: dados de assinatura

Entre eles, o prazo é 1714509304969, e o valor é 116239404, o que significa que a autorização é válida até às 0h42 do dia 22 de agosto, 56300 (GMT), quase por tempo indeterminado. E o número de tokens autorizados é 116.239404 USDC, que é o mesmo que o valor roubado pela vítima. Os valores de v, r e s são os dados da assinatura após o usuário (proprietário) assinar no site de phishing, e a função de permissão verificará a validade dos dados da assinatura. Depois que a verificação da assinatura for aprovada, o token do usuário será autorizado ao hacker (spender).

Todo o processo é muito claro: a vítima assinou a assinatura e enviou para o site de phishing, mas não carregou na cadeia. . A assinatura é feita off-chain sem gastar nenhum gás. Mas é preciso ficar claro que falta de gás aqui não significa que não há consumo de gás, mas sim que o signatário (vítima) não precisa pagar gás pela autorização e repasse.

Sem dúvida, assim como aprovar phishing autorizado, permitir é mais perigoso do que aprovar phishing autorizado, afinal, desde que a assinatura seja roubada, a autorização é obtida. Por exemplo, a função de pedido pendente em dex só precisa que o usuário assine uma determinada mensagem, e o usuário pode confiar o ativo ao dex para processamento sem pagar gás. No entanto, se o dex for um site de phishing e forjar mensagens maliciosas para o usuário para assinar, os ativos do usuário podem ser perdidos. Até onde sabemos, algumas carteiras decodificam e exibem as informações de assinatura de phishing de autorização de aprovação, mas a carteira quase não tem aviso para phishing de assinatura de permissão e os usuários correm um risco maior de serem atacados. Ao mesmo tempo, a assinatura de permissão é um comportamento fora da cadeia e é difícil para os usuários perceberem se suas assinaturas vazaram.

MistTrack

No momento, o endereço do hacker foi marcado como um endereço de phishing malicioso pelo MistTrack.

Endereço 1: 0x00002644e79602F056B03235106A9963826d0000

Endereço 2: 0x82563Ba592986Cb277d67B2E7c56ab3BB3FDD6B8

Endereço 3: 0x5A697967F0791d12db8A0f92344Abc6DD07a1C17

Ambos os USDC da vítima foram trocados por ETH.

Use o MistTrack para analisar as moedas ETH, WBTC, USDT, USDC, SHIB, DAI, WETH, DAI, stETH, APE. Atualmente, o endereço 1 obtém um lucro de cerca de 120.000 USD, o endereço 2 obtém um lucro de cerca de 200.000 USD e o endereço 3 obtém um lucro de cerca de $ 2.000. Além disso, de acordo com a análise do Scam Sniffer, uma plataforma antifraude Web3, até 9 de maio, um total de mais de 300 vítimas foram roubados cerca de US$ 690.000 em ativos por assinaturas maliciosas baseadas no Permit2. no Uniswap até 9 de maio Até agora, quase 670.000 endereços na rede principal Ethereum autorizaram o Permit2. Claro, esses dados são apenas a ponta do iceberg de toda a imagem dessa gangue.

Resumo

Este artigo começa principalmente com um caso roubado real e apresenta o risco da assinatura da licença. A equipe de segurança do SlowMist alerta para não abrir sites de origem desconhecida para operar à vontade. Ao interagir com DApps, fique atento ao controle da quantidade de Tokens autorizados ao contrato e verifique cuidadosamente o conteúdo da assinatura. Use ferramentas de autorização como o RevokeCash de vez ao tempo (verifique se há autorizações anormais e você pode usar a ferramenta de gerenciamento de autorização para Uniswap Permit2 (para verificar, se houver alguma autorização anormal, cancele a autorização a tempo.

Link de referência:

Ver original
Isenção de responsabilidade: As informações contidas nesta página podem ser provenientes de terceiros e não representam os pontos de vista ou opiniões da Gate. O conteúdo apresentado nesta página é apenas para referência e não constitui qualquer aconselhamento financeiro, de investimento ou jurídico. A Gate não garante a exatidão ou o carácter exaustivo das informações e não poderá ser responsabilizada por quaisquer perdas resultantes da utilização destas informações. Os investimentos em ativos virtuais implicam riscos elevados e estão sujeitos a uma volatilidade de preços significativa. Pode perder todo o seu capital investido. Compreenda plenamente os riscos relevantes e tome decisões prudentes com base na sua própria situação financeira e tolerância ao risco. Para mais informações, consulte a Isenção de responsabilidade.
Comentar
0/400
Nenhum comentário
Negocie cripto em qualquer lugar e a qualquer hora
qrCode
Digitalizar para transferir a aplicação Gate
Novidades
Português (Portugal)
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)