Revelando o esquema de phishing de assinatura Permit2 do Uniswap
Os hackers são uma presença temida no ecossistema Web3. Para as equipes de projeto, o código aberto gera preocupações de que cada linha de código possa ter vulnerabilidades. Para os usuários individuais, se não entenderem o significado das operações, cada interação ou assinatura na cadeia pode resultar em roubo de ativos. Portanto, a questão da segurança sempre foi um dos pontos problemáticos no mundo das criptomoedas. Devido às características da blockchain, uma vez que os ativos são roubados, é quase impossível recuperá-los, tornando o domínio do conhecimento de segurança especialmente importante.
Recentemente, foi descoberta uma nova técnica de phishing que, ao assinar, pode resultar em roubo; a técnica é discreta e difícil de prevenir. Os endereços que já interagiram com algum DEX podem estar em risco. Este artigo irá explicar essa técnica de phishing por assinatura, a fim de evitar mais perdas de ativos.
relato do evento
Recentemente, um amigo ( Xiao A ) teve os ativos da sua carteira roubados. Ao contrário das formas comuns de roubo, Xiao A não revelou a chave privada, nem interagiu com contratos de sites de phishing.
O explorador de blockchain mostra que o USDT roubado de Xiao A foi transferido através da função Transfer From. Isso significa que outro endereço operou a transferência do Token, e não uma violação da chave privada da carteira.
Detalhes da transação:
O endereço com o sufixo fd51 transferiu os ativos de Xiao A para o endereço com o sufixo a0c8
Esta operação interage com o contrato Permit2 de um determinado DEX.
A questão chave é: como o endereço com o sufixo fd51 obtém permissões de ativos? Por que está relacionado a algum DEX?
Verifique mais a fundo o registro de interações do endereço com o final fd51. Antes de transferir os ativos de A, esse endereço realizou uma operação de Permissão, e ambas as operações interagiram com o contrato Permit2 de um certo DEX.
O contrato Permit2 é um novo contrato lançado por um DEX no final de 2022. Ele permite a autorização de tokens para compartilhamento e gerenciamento entre diferentes aplicações, visando criar uma experiência de usuário mais unificada, com custos mais baixos e mais segura. No futuro, com mais projetos integrados, o Permit2 poderá realizar a aprovação de tokens padronizada entre aplicações.
Nos métodos tradicionais de interação, os usuários precisam autorizar individualmente cada interação com um Dapp. O Permit2, atuando como intermediário, permite que os usuários autorizem apenas o contrato Permit2, e todos os Dapps integrados ao Permit2 podem compartilhar o limite de autorização. Isso reduz o custo de interação dos usuários e melhora a experiência.
Mas o Permit2 também é uma faca de dois gumes. Ele transforma as operações do usuário em assinaturas off-chain, enquanto as operações on-chain 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 o Gas ou ser reembolsado pelo intermediário. No entanto, a assinatura off-chain é a etapa que o usuário mais facilmente ignora.
Para ativar essa técnica de phishing, a condição chave é que a carteira deve autorizar o contrato Permit2. Atualmente, sempre que se realiza um Swap em um Dapp que integra o Permit2, é necessário autorizar o contrato Permit2. O que é ainda mais preocupante é que, independentemente do valor do Swap, o contrato Permit2 irá, por padrão, permitir que o usuário autorize todo o saldo desse Token.
Isto significa que, desde que se interaja com algum DEX e se autorize o contrato Permit2 após 2023, pode-se ficar exposto a este risco de phishing. Os hackers utilizam a função Permit para transferir a quantidade de Token autorizada ao Permit2 para outros endereços através da assinatura do utilizador.
Análise detalhada do evento
A função Permit permite assinar antecipadamente um "contrato", autorizando outrem a usar uma certa quantidade de tokens no futuro. É necessário fornecer uma assinatura para verificar a autenticidade da autorização.
Fluxo de trabalho da função:
Verifique se a hora atual ultrapassou o período de validade da assinatura
Verificar a autenticidade da assinatura
Atualizar o registro de autorização após passagem
O foco está nas funções verify e _updateApproval.
A função verify obtém os dados v, r, s das informações da assinatura, recupera o endereço da assinatura e compara com o endereço fornecido. A função _updateApproval atualiza o valor de autorização após a verificação ser bem-sucedida.
Detalhes reais da transação mostram:
owner é o endereço da carteira do pequeno A
O Token autorizado é USDT
Spender é o endereço do hacker com o final fd51
sigDeadline é o prazo de validade da assinatura
signature é a informação de assinatura do pequeno A
O pequeno A anteriormente clicou no limite de autorização infinito padrão ao usar um determinado DEX.
Descreva o processo do evento: A pequena A autorizou anteriormente um limite infinito de USDT para o Permit2, e depois caiu inadvertidamente na armadilha de assinatura projetada pelo hacker. O hacker utilizou a assinatura para realizar operações de Permissão e Transferência a partir do contrato Permit2 para transferir ativos. Atualmente, o contrato Permit2 deste DEX tornou-se uma zona de desastre de phishing.
Como prevenir?
Compreender e identificar o conteúdo da assinatura: aprender a reconhecer o formato da assinatura Permit, incluindo informações chave como Owner, Spender, value, nonce e deadline.
Separação de ativos e carteira de interação: armazenar grandes ativos em uma carteira fria, a carteira de interação deve manter apenas uma pequena quantia de fundos.
Limitar o montante de autorização Permit2 ou cancelar a autorização: autorizar apenas o montante necessário para a transação, ou usar um plugin de segurança para cancelar a autorização.
Entender se o token suporta a funcionalidade permit: preste atenção se o token que possui suporta essa funcionalidade e seja especialmente cauteloso em transações relacionadas.
Estabelecer um plano de resgate de ativos completo: se após o roubo ainda houver ativos em outras plataformas, deve-se retirar e transferir com cautela, considerando a utilização de transferências MEV ou buscar a assistência de uma equipe de segurança profissional.
No futuro, a pesca baseada no Permit2 pode aumentar. Este método de pesca por assinatura é discreto e difícil de prevenir, e à 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 compartilhem este artigo para evitar que mais pessoas sofram perdas.
Esta página pode conter conteúdos de terceiros, que são fornecidos apenas para fins informativos (sem representações/garantias) e não devem ser considerados como uma aprovação dos seus pontos de vista pela Gate, nem como aconselhamento financeiro ou profissional. Consulte a Declaração de exoneração de responsabilidade para obter mais informações.
14 gostos
Recompensa
14
10
Republicar
Partilhar
Comentar
0/400
MoonMathMagic
· 2h atrás
Essa assinatura é muito assustadora, os jogadores de DEX estão em apuros.
Ver originalResponder0
TestnetNomad
· 20h atrás
Brincar com DEX sem prestar atenção fez-me perder algumas centenas.
Ver originalResponder0
NullWhisperer
· 08-15 00:09
tecnicamente falando, o permit2 é apenas mais um vetor de ataque à espera de acontecer...
Ver originalResponder0
ShibaMillionairen't
· 08-14 15:17
A assinatura foi roubada, certo? Pratique mais.
Ver originalResponder0
ImpermanentPhilosopher
· 08-14 04:10
segundos idiotas também têm direito a estudar pesca?
Ver originalResponder0
DataOnlooker
· 08-14 04:08
A assinatura foi roubada? Que perigo!
Ver originalResponder0
LiquidationSurvivor
· 08-14 04:06
Outra nova lavagem dos olhos... Parece que precisamos prestar mais atenção ao risco do endereço.
Ver originalResponder0
TokenStorm
· 08-14 04:04
Ainda a assinar de forma tola? A partir dos dados na cadeia, esta armadilha permit2 pode eliminar 80% dos idiotas.
Ver originalResponder0
GameFiCritic
· 08-14 03:55
Todos os elementos da assinatura foram dados a um phishing, ainda diz que sabe operar, morri de rir.
Ver originalResponder0
UnluckyValidator
· 08-14 03:48
Parece que temos que ter cuidado com a DEX novamente. Pense duas vezes antes de interagir.
Aviso de phishing de assinatura de contrato Uniswap Permit2. Recomendações para prevenir perdas de ativos.
Revelando o esquema de phishing de assinatura Permit2 do Uniswap
Os hackers são uma presença temida no ecossistema Web3. Para as equipes de projeto, o código aberto gera preocupações de que cada linha de código possa ter vulnerabilidades. Para os usuários individuais, se não entenderem o significado das operações, cada interação ou assinatura na cadeia pode resultar em roubo de ativos. Portanto, a questão da segurança sempre foi um dos pontos problemáticos no mundo das criptomoedas. Devido às características da blockchain, uma vez que os ativos são roubados, é quase impossível recuperá-los, tornando o domínio do conhecimento de segurança especialmente importante.
Recentemente, foi descoberta uma nova técnica de phishing que, ao assinar, pode resultar em roubo; a técnica é discreta e difícil de prevenir. Os endereços que já interagiram com algum DEX podem estar em risco. Este artigo irá explicar essa técnica de phishing por assinatura, a fim de evitar mais perdas de ativos.
relato do evento
Recentemente, um amigo ( Xiao A ) teve os ativos da sua carteira roubados. Ao contrário das formas comuns de roubo, Xiao A não revelou a chave privada, nem interagiu com contratos de sites de phishing.
O explorador de blockchain mostra que o USDT roubado de Xiao A foi transferido através da função Transfer From. Isso significa que outro endereço operou a transferência do Token, e não uma violação da chave privada da carteira.
Detalhes da transação:
A questão chave é: como o endereço com o sufixo fd51 obtém permissões de ativos? Por que está relacionado a algum DEX?
Verifique mais a fundo o registro de interações do endereço com o final fd51. Antes de transferir os ativos de A, esse endereço realizou uma operação de Permissão, e ambas as operações interagiram com o contrato Permit2 de um certo DEX.
O contrato Permit2 é um novo contrato lançado por um DEX no final de 2022. Ele permite a autorização de tokens para compartilhamento e gerenciamento entre diferentes aplicações, visando criar uma experiência de usuário mais unificada, com custos mais baixos e mais segura. No futuro, com mais projetos integrados, o Permit2 poderá realizar a aprovação de tokens padronizada entre aplicações.
Nos métodos tradicionais de interação, os usuários precisam autorizar individualmente cada interação com um Dapp. O Permit2, atuando como intermediário, permite que os usuários autorizem apenas o contrato Permit2, e todos os Dapps integrados ao Permit2 podem compartilhar o limite de autorização. Isso reduz o custo de interação dos usuários e melhora a experiência.
Mas o Permit2 também é uma faca de dois gumes. Ele transforma as operações do usuário em assinaturas off-chain, enquanto as operações on-chain 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 o Gas ou ser reembolsado pelo intermediário. No entanto, a assinatura off-chain é a etapa que o usuário mais facilmente ignora.
Para ativar essa técnica de phishing, a condição chave é que a carteira deve autorizar o contrato Permit2. Atualmente, sempre que se realiza um Swap em um Dapp que integra o Permit2, é necessário autorizar o contrato Permit2. O que é ainda mais preocupante é que, independentemente do valor do Swap, o contrato Permit2 irá, por padrão, permitir que o usuário autorize todo o saldo desse Token.
Isto significa que, desde que se interaja com algum DEX e se autorize o contrato Permit2 após 2023, pode-se ficar exposto a este risco de phishing. Os hackers utilizam a função Permit para transferir a quantidade de Token autorizada ao Permit2 para outros endereços através da assinatura do utilizador.
Análise detalhada do evento
A função Permit permite assinar antecipadamente um "contrato", autorizando outrem a usar uma certa quantidade de tokens no futuro. É necessário fornecer uma assinatura para verificar a autenticidade da autorização.
Fluxo de trabalho da função:
O foco está nas funções verify e _updateApproval.
A função verify obtém os dados v, r, s das informações da assinatura, recupera o endereço da assinatura e compara com o endereço fornecido. A função _updateApproval atualiza o valor de autorização após a verificação ser bem-sucedida.
Detalhes reais da transação mostram:
O pequeno A anteriormente clicou no limite de autorização infinito padrão ao usar um determinado DEX.
Descreva o processo do evento: A pequena A autorizou anteriormente um limite infinito de USDT para o Permit2, e depois caiu inadvertidamente na armadilha de assinatura projetada pelo hacker. O hacker utilizou a assinatura para realizar operações de Permissão e Transferência a partir do contrato Permit2 para transferir ativos. Atualmente, o contrato Permit2 deste DEX tornou-se uma zona de desastre de phishing.
Como prevenir?
Separação de ativos e carteira de interação: armazenar grandes ativos em uma carteira fria, a carteira de interação deve manter apenas uma pequena quantia de fundos.
Limitar o montante de autorização Permit2 ou cancelar a autorização: autorizar apenas o montante necessário para a transação, ou usar um plugin de segurança para cancelar a autorização.
Entender se o token suporta a funcionalidade permit: preste atenção se o token que possui suporta essa funcionalidade e seja especialmente cauteloso em transações relacionadas.
Estabelecer um plano de resgate de ativos completo: se após o roubo ainda houver ativos em outras plataformas, deve-se retirar e transferir com cautela, considerando a utilização de transferências MEV ou buscar a assistência de uma equipe de segurança profissional.
No futuro, a pesca baseada no Permit2 pode aumentar. Este método de pesca por assinatura é discreto e difícil de prevenir, e à 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 compartilhem este artigo para evitar que mais pessoas sofram perdas.