Revelando o esquema de phishing de assinatura do Uniswap Permit2
Os hackers são uma presença temida no ecossistema Web3. Para as equipes de projeto, o código aberto as deixa nervosas, com medo de que uma única linha de código errada crie uma vulnerabilidade. Para os usuários individuais, cada interação ou assinatura na blockchain pode resultar no roubo de ativos. Portanto, a questão da segurança sempre foi um dos pontos críticos no mundo das criptomoedas. Devido às características da blockchain, os ativos roubados são praticamente impossíveis de recuperar, por isso é especialmente importante ter conhecimento em segurança.
Recentemente, um investigador descobriu um novo tipo de técnica de phishing que, com apenas uma assinatura, pode levar ao roubo de ativos. Esta técnica é extremamente discreta e difícil de prevenir, e todos os endereços que já interagiram com uma determinada plataforma de negociação podem estar em risco. Este artigo irá explicar esta técnica de phishing por assinatura, a fim de evitar mais perdas de ativos.
descrição do evento
Recentemente, um amigo (, o pequeno A ), teve os ativos da sua carteira roubados. Diferente dos métodos comuns de roubo, o pequeno A não revelou a chave privada nem interagiu com contratos de sites de phishing.
O explorador de blockchain mostra que o USDT na carteira do Pequeno A foi transferido através da função Transfer From. Isso significa que foi outra operação de endereço que retirou o Token, e não uma violação da chave privada da carteira.
Os detalhes da transação revelam pistas chave:
Um endereço transfere os ativos do A para outro endereço
Esta operação interage com o contrato Permit2 de uma plataforma de negociação.
A questão é: como é que este endereço obteve permissões de ativos? Por que é que está relacionado com uma certa plataforma de negociação?
Para chamar a função Transfer From, é necessário que o chamador tenha a autorização de limite do Token (approve). Antes de transferir os ativos do pequeno A desse endereço, foi realizada uma operação de Permissão, ambas as operações interagem com o contrato Permit2 de uma determinada plataforma de negociação.
Permit2 é um novo contrato lançado no final de 2022 por uma plataforma de negociação, que permite a autorização de tokens para compartilhar gestão entre diferentes aplicações, visando criar uma experiência de utilizador mais unificada, custo-efetiva e segura. Com a integração de mais projetos, o Permit2 espera normalizar a aprovação de Tokens em todas as aplicações, reduzindo os custos de transação e aumentando a segurança dos contratos inteligentes.
O lançamento do Permit2 pode mudar as regras do ecossistema Dapp. De forma tradicional, os usuários precisam autorizar a cada interação com o Dapp, enquanto o Permit2 pode eliminar esta etapa, reduzindo efetivamente o custo de interação dos usuários. O Permit2 atua como intermediário entre o usuário e o Dapp, permitindo que os usuários apenas autorizem o contrato Permit2, e todos os Dapps integrados a esse contrato podem compartilhar o limite de autorização.
No entanto, isso também é uma faca de dois gumes. O Permit2 transforma as operações do usuário em assinaturas fora da cadeia, todas as operações na cadeia são realizadas por um intermediário. Isso significa que mesmo que a carteira do usuário não tenha ETH, ele pode usar outros Tokens para pagar as taxas de Gas ou ser reembolsado pelo intermediário. Mas a assinatura fora da cadeia é também a etapa que os usuários mais tendem a ignorar, a maioria das pessoas não verifica cuidadosamente o conteúdo da assinatura.
Para usar essa técnica de phishing, a condição chave é que a carteira de phishing deve ter autorizado o Token ao contrato Permit2. Atualmente, sempre que você faz um Swap em um Dapp ou plataforma de negociação que integra o Permit2, é necessário autorizar ao contrato Permit2.
O que é ainda mais assustador é que, independentemente do valor do Swap, o contrato Permit2 irá automaticamente permitir que o usuário autorize o saldo total desse Token. Embora a carteira possa sugerir a entrada de um valor personalizado, a maioria das pessoas pode optar diretamente pelo máximo ou pelo valor padrão, sendo que o valor padrão do Permit2 é um limite ilimitado.
Isto significa que, desde que tenha havido interação com uma plataforma de negociação após 2023 e tenha sido autorizada ao contrato Permit2, pode haver risco de lavagem os olhos.
O foco está na função Permit, que pode transferir o limite de Token autorizado pelo usuário para o contrato Permit2 para outros endereços. Os hackers, ao obter a assinatura do usuário, podem obter permissões de Token na carteira do usuário e transferir ativos.
análise detalhada do evento
A função Permit permite que o usuário assine antecipadamente o "contrato", permitindo que outros (spender) utilizem uma certa quantidade de tokens no futuro. O usuário deve fornecer uma assinatura que comprove a autenticidade do "contrato".
Fluxo de trabalho da função:
Verifique se o horário atual ultrapassa o prazo de validade da assinatura
Verificar a autenticidade da assinatura
Se a verificação for bem-sucedida, atualizar o registro para permitir que outros usem o token
O foco está nas funções verify e _updateApproval.
A função verify obtém os três dados v, r, s das informações da assinatura, usados para recuperar o endereço da assinatura da transação. O contrato compara o endereço recuperado com o endereço do proprietário do token fornecido; se forem iguais, a verificação é aprovada.
A função _updateApproval atualiza o valor da autorização após a verificação da assinatura, o que significa que a permissão foi transferida. Neste momento, a parte autorizada pode chamar a função transferfrom para transferir tokens para o endereço especificado.
Transações reais na cadeia mostram:
owner é o endereço da carteira do pequeno A
Os Detalhes incluem informações como o endereço do contrato Token autorizado e o montante.
Spender é o endereço do hacker
sigDeadline é o tempo de validade da assinatura, signature é a informação de assinatura do pequeno A
Ao rever os registos de interação de A, descobri que ao utilizar uma determinada plataforma de negociação, cliquei no limite de autorização padrão, ou seja, um limite quase ilimitado.
Revisão simples: O pequeno A autorizou anteriormente um limite ilimitado de USDT ao Permit2, mas acabou inadvertidamente caindo em uma armadilha de phishing projetada por hackers. Após obter a assinatura, os hackers realizaram operações de Permissão e Transferência a partir do contrato Permit2, transferindo os ativos do pequeno A. Atualmente, o contrato Permit2 parece ter se tornado um paraíso para phishing, e esse método de phishing começou a se tornar ativo há cerca de dois meses.
Como prevenir?
Considerando que o contrato Permit2 pode tornar-se mais comum no futuro, mais projetos ou integrações podem realizar compartilhamento de autorizações, as medidas eficazes de prevenção incluem:
Compreender e identificar o conteúdo da assinatura:
O formato de assinatura Permit geralmente inclui informações-chave como Owner, Spender, value, nonce e deadline. Para aproveitar as conveniências do Permit2, é necessário aprender a reconhecer esse tipo de formato de assinatura. Usar plugins de segurança é uma boa escolha.
Separação entre carteira de ativos e carteira de interação:
É aconselhável armazenar uma grande quantidade de ativos em carteiras frias, mantendo apenas uma pequena quantia em carteiras de interação na blockchain, o que pode reduzir significativamente as perdas em caso de phishing.
Limitar o valor da autorização ou cancelar a autorização:
Ao fazer Swap em uma determinada plataforma de negociação, autorize apenas o montante necessário para a interação. Embora a necessidade de reautorizar a cada interação aumente os custos, isso pode evitar o risco de phishing com assinatura Permit2. Usuários autorizados podem revogar a autorização através de um plugin seguro.
Identificar a natureza do token, prestar atenção se suporta a funcionalidade permit:
No futuro, pode haver mais tokens ERC20 a implementarem a funcionalidade de permissão. É necessário prestar atenção se os tokens detidos suportam essa funcionalidade; se suportarem, as operações de negociação devem ser realizadas com especial cautela, verificando rigorosamente cada assinatura desconhecida.
Se você foi enganado e tem tokens armazenados em outras plataformas, é necessário elaborar um plano de resgate completo:
Se descobrir que foi enganado, mas ainda tiver tokens em outras plataformas através de staking ou outros meios, deve proceder com cautela ao retirar ou transferir. Os hackers podem monitorar o saldo do endereço a qualquer momento, e assim que tokens aparecerem, podem ser transferidos. Deve-se elaborar um processo de resgate completo, a retirada e a transferência devem ser executadas simultaneamente, podendo utilizar transferências MEV ou buscar a assistência de uma equipe de segurança profissional.
No futuro, a pesca baseada no Permit2 pode aumentar, sendo este método extremamente discreto e difícil de prevenir. À medida que a aplicação do Permit2 se expande, também aumentará o número de endereços expostos ao risco. Esperamos que os leitores, após lerem este artigo, possam compartilhar com mais pessoas, evitando que mais pessoas sofram perdas.
This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
9 gostos
Recompensa
9
7
Partilhar
Comentar
0/400
InfraVibes
· 11h atrás
Dê uma olhada antes de assinar, percebe?
Ver originalResponder0
MetaverseMigrant
· 11h atrás
Outra novidade, este hacker é realmente talentoso.
Ver originalResponder0
RektButAlive
· 11h atrás
Dia a dia estou a seguir as últimas vulnerabilidades~
Ver originalResponder0
StablecoinEnjoyer
· 11h atrás
Novas armadilhas estão aí, novato, cuidado ao assinar.
Ver originalResponder0
NftBankruptcyClub
· 11h atrás
Quantas vezes caímos na armadilha novamente
Ver originalResponder0
P2ENotWorking
· 11h atrás
又有新idiotas等fazer as pessoas de parvas了
Ver originalResponder0
ValidatorViking
· 11h atrás
caramba, os novatos nunca aprendem a verificar assinaturas... de volta ao básico, pelo amor de Deus
Método de phishing com assinatura Permit2 Novato Risco de segurança do ativo deve ser alertado
Revelando o esquema de phishing de assinatura do Uniswap Permit2
Os hackers são uma presença temida no ecossistema Web3. Para as equipes de projeto, o código aberto as deixa nervosas, com medo de que uma única linha de código errada crie uma vulnerabilidade. Para os usuários individuais, cada interação ou assinatura na blockchain pode resultar no roubo de ativos. Portanto, a questão da segurança sempre foi um dos pontos críticos no mundo das criptomoedas. Devido às características da blockchain, os ativos roubados são praticamente impossíveis de recuperar, por isso é especialmente importante ter conhecimento em segurança.
Recentemente, um investigador descobriu um novo tipo de técnica de phishing que, com apenas uma assinatura, pode levar ao roubo de ativos. Esta técnica é extremamente discreta e difícil de prevenir, e todos os endereços que já interagiram com uma determinada plataforma de negociação podem estar em risco. Este artigo irá explicar esta técnica de phishing por assinatura, a fim de evitar mais perdas de ativos.
descrição do evento
Recentemente, um amigo (, o pequeno A ), teve os ativos da sua carteira roubados. Diferente dos métodos comuns de roubo, o pequeno A não revelou a chave privada nem interagiu com contratos de sites de phishing.
O explorador de blockchain mostra que o USDT na carteira do Pequeno A foi transferido através da função Transfer From. Isso significa que foi outra operação de endereço que retirou o Token, e não uma violação da chave privada da carteira.
Os detalhes da transação revelam pistas chave:
A questão é: como é que este endereço obteve permissões de ativos? Por que é que está relacionado com uma certa plataforma de negociação?
Para chamar a função Transfer From, é necessário que o chamador tenha a autorização de limite do Token (approve). Antes de transferir os ativos do pequeno A desse endereço, foi realizada uma operação de Permissão, ambas as operações interagem com o contrato Permit2 de uma determinada plataforma de negociação.
Permit2 é um novo contrato lançado no final de 2022 por uma plataforma de negociação, que permite a autorização de tokens para compartilhar gestão entre diferentes aplicações, visando criar uma experiência de utilizador mais unificada, custo-efetiva e segura. Com a integração de mais projetos, o Permit2 espera normalizar a aprovação de Tokens em todas as aplicações, reduzindo os custos de transação e aumentando a segurança dos contratos inteligentes.
O lançamento do Permit2 pode mudar as regras do ecossistema Dapp. De forma tradicional, os usuários precisam autorizar a cada interação com o Dapp, enquanto o Permit2 pode eliminar esta etapa, reduzindo efetivamente o custo de interação dos usuários. O Permit2 atua como intermediário entre o usuário e o Dapp, permitindo que os usuários apenas autorizem o contrato Permit2, e todos os Dapps integrados a esse contrato podem compartilhar o limite de autorização.
No entanto, isso também é uma faca de dois gumes. O Permit2 transforma as operações do usuário em assinaturas fora da cadeia, todas as operações na cadeia são realizadas por um intermediário. Isso significa que mesmo que a carteira do usuário não tenha ETH, ele pode usar outros Tokens para pagar as taxas de Gas ou ser reembolsado pelo intermediário. Mas a assinatura fora da cadeia é também a etapa que os usuários mais tendem a ignorar, a maioria das pessoas não verifica cuidadosamente o conteúdo da assinatura.
Para usar essa técnica de phishing, a condição chave é que a carteira de phishing deve ter autorizado o Token ao contrato Permit2. Atualmente, sempre que você faz um Swap em um Dapp ou plataforma de negociação que integra o Permit2, é necessário autorizar ao contrato Permit2.
O que é ainda mais assustador é que, independentemente do valor do Swap, o contrato Permit2 irá automaticamente permitir que o usuário autorize o saldo total desse Token. Embora a carteira possa sugerir a entrada de um valor personalizado, a maioria das pessoas pode optar diretamente pelo máximo ou pelo valor padrão, sendo que o valor padrão do Permit2 é um limite ilimitado.
Isto significa que, desde que tenha havido interação com uma plataforma de negociação após 2023 e tenha sido autorizada ao contrato Permit2, pode haver risco de lavagem os olhos.
O foco está na função Permit, que pode transferir o limite de Token autorizado pelo usuário para o contrato Permit2 para outros endereços. Os hackers, ao obter a assinatura do usuário, podem obter permissões de Token na carteira do usuário e transferir ativos.
análise detalhada do evento
A função Permit permite que o usuário assine antecipadamente o "contrato", permitindo que outros (spender) utilizem uma certa quantidade de tokens no futuro. O usuário deve fornecer uma assinatura que comprove a autenticidade do "contrato".
Fluxo de trabalho da função:
O foco está nas funções verify e _updateApproval.
A função verify obtém os três dados v, r, s das informações da assinatura, usados para recuperar o endereço da assinatura da transação. O contrato compara o endereço recuperado com o endereço do proprietário do token fornecido; se forem iguais, a verificação é aprovada.
A função _updateApproval atualiza o valor da autorização após a verificação da assinatura, o que significa que a permissão foi transferida. Neste momento, a parte autorizada pode chamar a função transferfrom para transferir tokens para o endereço especificado.
Transações reais na cadeia mostram:
Ao rever os registos de interação de A, descobri que ao utilizar uma determinada plataforma de negociação, cliquei no limite de autorização padrão, ou seja, um limite quase ilimitado.
Revisão simples: O pequeno A autorizou anteriormente um limite ilimitado de USDT ao Permit2, mas acabou inadvertidamente caindo em uma armadilha de phishing projetada por hackers. Após obter a assinatura, os hackers realizaram operações de Permissão e Transferência a partir do contrato Permit2, transferindo os ativos do pequeno A. Atualmente, o contrato Permit2 parece ter se tornado um paraíso para phishing, e esse método de phishing começou a se tornar ativo há cerca de dois meses.
Como prevenir?
Considerando que o contrato Permit2 pode tornar-se mais comum no futuro, mais projetos ou integrações podem realizar compartilhamento de autorizações, as medidas eficazes de prevenção incluem:
Separação entre carteira de ativos e carteira de interação: É aconselhável armazenar uma grande quantidade de ativos em carteiras frias, mantendo apenas uma pequena quantia em carteiras de interação na blockchain, o que pode reduzir significativamente as perdas em caso de phishing.
Limitar o valor da autorização ou cancelar a autorização: Ao fazer Swap em uma determinada plataforma de negociação, autorize apenas o montante necessário para a interação. Embora a necessidade de reautorizar a cada interação aumente os custos, isso pode evitar o risco de phishing com assinatura Permit2. Usuários autorizados podem revogar a autorização através de um plugin seguro.
Identificar a natureza do token, prestar atenção se suporta a funcionalidade permit: No futuro, pode haver mais tokens ERC20 a implementarem a funcionalidade de permissão. É necessário prestar atenção se os tokens detidos suportam essa funcionalidade; se suportarem, as operações de negociação devem ser realizadas com especial cautela, verificando rigorosamente cada assinatura desconhecida.
Se você foi enganado e tem tokens armazenados em outras plataformas, é necessário elaborar um plano de resgate completo: Se descobrir que foi enganado, mas ainda tiver tokens em outras plataformas através de staking ou outros meios, deve proceder com cautela ao retirar ou transferir. Os hackers podem monitorar o saldo do endereço a qualquer momento, e assim que tokens aparecerem, podem ser transferidos. Deve-se elaborar um processo de resgate completo, a retirada e a transferência devem ser executadas simultaneamente, podendo utilizar transferências MEV ou buscar a assistência de uma equipe de segurança profissional.
No futuro, a pesca baseada no Permit2 pode aumentar, sendo este método extremamente discreto e difícil de prevenir. À medida que a aplicação do Permit2 se expande, também aumentará o número de endereços expostos ao risco. Esperamos que os leitores, após lerem este artigo, possam compartilhar com mais pessoas, evitando que mais pessoas sofram perdas.