Encaminhar o Título Original '大白话讲解Web3签名钓鱼底层逻辑“授权钓鱼、Permit与Permit2的区别’
“Por que perdi meu dinheiro apenas assinando meu nome??” O “phishing de assinatura” está se tornando o método de phishing favorito dos hackers na Web3. Recentemente, tenho visto muitos especialistas como Cosine e várias carteiras e empresas de segurança promovendo e educando continuamente sobre o conhecimento de assinaturas de phishing. No entanto, muitas pessoas ainda estão sendo vítimas de phishing todos os dias.
Uma razão pela qual o Spinach acredita é que a maioria das pessoas não entende a lógica subjacente das trocas de carteiras e, para aqueles que não são tecnicamente experientes, a curva de aprendizado é muito alta. Assim, o Spinach decidiu criar uma versão ilustrada para educar as pessoas sobre a lógica subjacente da pesca de assinatura e tentar torná-la compreensível mesmo para indivíduos não tecnicamente experientes.
Primeiro, precisamos entender que existem apenas dois tipos de operações ao usar uma carteira: “assinatura” e “troca”. A compreensão mais simples e direta é: a assinatura ocorre fora da blockchain (off-chain) e não requer o pagamento de taxas de gás; a troca ocorre na blockchain (on-chain) e requer o pagamento de taxas de gás.
O cenário comum para assinatura é verificar que você é você, como fazer login em uma carteira. Por exemplo, se você deseja trocar tokens na Uniswap, você precisa conectar sua carteira primeiro. Neste ponto, você precisa assinar uma mensagem para dizer ao site "Eu sou o proprietário desta carteira", e então você pode usar a Uniswap. Este passo não causa nenhuma alteração de dados ou estado na blockchain, portanto, não requer gastos de dinheiro.
Quanto à troca, quando você realmente deseja trocar tokens na Uniswap, você precisa gastar algum dinheiro para dizer ao contrato inteligente da Uniswap: "Quero trocar 100 USDT por moeda de Espinafre e autorizo você a mover meus 100 USDT." Este passo é chamado de aprovação. Em seguida, você precisa gastar outra quantia de dinheiro para dizer ao contrato inteligente da Uniswap: "Agora estou pronto para trocar 100 USDT por moeda de Espinafre, você pode prosseguir com a operação agora." Depois disso, você concluiu a operação de trocar 100 USDT por moeda de Espinafre.
Após uma compreensão simples da diferença entre assinaturas e swaps, vamos introduzir o princípio de phishing. O phishing geralmente envolve três métodos diferentes: Phishing de Autorização, Phishing de Assinatura de Permissão e Phishing de Assinatura Permit2. Estes três são métodos de phishing muito comuns.
Vamos começar com o Authorization Phishing, que é uma das técnicas clássicas de phishing na Web3. Como o nome sugere, ele explora o mecanismo de autorização (aprovação). Como visto no exemplo do Uniswap, a autorização permite que um contrato inteligente "aprove você para mover xxx quantidade de meus Tokens". Um hacker pode criar um site de phishing falso, disfarçado como um projeto NFT com um frontend atraente. No meio do site, há um belo botão grande dizendo "Claim Your Airdrop". Quando clicada, a carteira aparece com uma tela pedindo que você autorize seus Tokens para o endereço do hacker. Se você confirmar isso, parabéns, o hacker concluiu com sucesso um KPI.
Mas a Pesca de Autorização tem um problema: como requer taxas de gás, muitas pessoas ficam cautelosas ao gastar dinheiro. Após clicar em um site suspeito, as pessoas frequentemente percebem rapidamente que algo está errado, tornando relativamente fácil prevenir.
Agora vamos passar para o foco de hoje: Phishing de Assinatura de Permissão e Permit2, que são pontos críticos no campo da segurança de ativos Web3. Por que são tão difíceis de defender? É porque toda vez que você quer usar um Dapp, você deve fazer login na sua carteira. Muitas pessoas desenvolveram uma inércia em seu pensamento: "Esta operação é segura." Além disso, não requer gasto de dinheiro, e a maioria das pessoas não entende as implicações por trás de cada assinatura.
Vamos primeiro olhar para o mecanismo de Permissão. A Permissão é uma funcionalidade de extensão para autorização sob o padrão ERC-20. Por exemplo, o USDT, que comumente usamos, é um token ERC-20. Em termos simples, a Permissão permite que você assine e aprove outras pessoas para moverem seus Tokens. Sabemos que a autorização (Aprovar) é quando você gasta dinheiro dizendo ao contrato inteligente: “Você pode mover xxx quantidade dos meus Tokens.” Então, a Permissão é como assinar uma “nota” para alguém, dizendo: “Eu permito que alguém mova xxx quantidade dos meus Tokens.” Então, essa pessoa apresenta essa “nota” ao contrato inteligente e paga uma taxa de gás, dizendo ao contrato inteligente: “Ele me permite mover xxx quantidade dos seus Tokens.” Então seus Tokens podem ser transferidos por outra pessoa. Neste processo, você simplesmente assina um nome, mas por trás disso, significa que você permite que outros chamem a autorização (Aprovar) e transfiram seus Tokens. Um hacker pode criar um site de phishing, substituindo o botão de login da carteira por um botão de phishing de Permissão, facilitando a pesca de seus ativos.
Então o que é Permit2? Permit2 na verdade não é uma função do ERC-20, mas uma função lançada pela Uniswap para a conveniência dos usuários. O exemplo anterior disse que se você quiser trocar USDT por moedas de espinafre na Uniswap, você precisa autorizar (Aprovar) uma vez e depois trocar. , o que requer duas taxas de gás, então a Uniswap encontrou uma maneira: "Você me autoriza toda a cota de uma vez, e você assina seu nome toda vez que resgata e eu cuidarei disso para você." Essa função ajuda os usuários da Uniswap. Você só precisa pagar a taxa de Gas uma vez ao usá-la, e esta etapa é a assinatura, então a taxa de Gas na verdade não é paga por você, mas sim paga pelo contrato Permit2, mas será deduzida do Token que você finalmente resgatar.
No entanto, a condição para o phishing do Permit2 é que você deve ter usado anteriormente o Uniswap e autorizado uma permissão ilimitada para o contrato inteligente do Permit2. Como a operação padrão do Uniswap atualmente é conceder permissão ilimitada, o número de usuários que atendem a essa condição é bastante grande. Da mesma forma, desde que um hacker o engane a assinar o Permit2, eles podem transferir seus Tokens (limitados aos que você autorizou anteriormente).
Em resumo, a essência do phishing de autorização é que você gasta dinheiro para dizer ao contrato inteligente: "Eu te autorizo a mover meus Tokens para o hacker." A essência do phishing de assinatura é que você assina uma "nota" permitindo que outros movam seus ativos para o hacker, e o hacker gasta dinheiro para dizer ao contrato inteligente: "Eu quero mover os Tokens dele para mim." Permit e Permit2 são atualmente pontos quentes para phishing de assinaturas. Permit é um recurso de extensão de autorização do ERC-20, enquanto o Permit2 é um novo recurso introduzido pela Uniswap.
Então, como você pode prevenir esses ataques de phishing uma vez que você entende os princípios?
Desenvolver Consciência de Segurança:É crucial verificar sempre qual operação você está realizando toda vez que interage com sua carteira.
Separe Fundos e Carteiras Grandes para Atividades On-Chain:** Ao separar fundos grandes das carteiras usadas para atividades on-chain, você pode minimizar as perdas se for vítima de phishing.
Aprenda a Identificar os Formatos de Assinatura do Permit e Permit2:** Esteja atento sempre que encontrar os seguintes formatos de assinatura:
Interativo: URL da troca
Proprietário: Endereço do autorizador
Gastador: Endereço da parte autorizada
Valor: Quantidade autorizada
Nonce: Número aleatório
Prazo de validade: Hora de expiração
Compartilhar
Conteúdo
Encaminhar o Título Original '大白话讲解Web3签名钓鱼底层逻辑“授权钓鱼、Permit与Permit2的区别’
“Por que perdi meu dinheiro apenas assinando meu nome??” O “phishing de assinatura” está se tornando o método de phishing favorito dos hackers na Web3. Recentemente, tenho visto muitos especialistas como Cosine e várias carteiras e empresas de segurança promovendo e educando continuamente sobre o conhecimento de assinaturas de phishing. No entanto, muitas pessoas ainda estão sendo vítimas de phishing todos os dias.
Uma razão pela qual o Spinach acredita é que a maioria das pessoas não entende a lógica subjacente das trocas de carteiras e, para aqueles que não são tecnicamente experientes, a curva de aprendizado é muito alta. Assim, o Spinach decidiu criar uma versão ilustrada para educar as pessoas sobre a lógica subjacente da pesca de assinatura e tentar torná-la compreensível mesmo para indivíduos não tecnicamente experientes.
Primeiro, precisamos entender que existem apenas dois tipos de operações ao usar uma carteira: “assinatura” e “troca”. A compreensão mais simples e direta é: a assinatura ocorre fora da blockchain (off-chain) e não requer o pagamento de taxas de gás; a troca ocorre na blockchain (on-chain) e requer o pagamento de taxas de gás.
O cenário comum para assinatura é verificar que você é você, como fazer login em uma carteira. Por exemplo, se você deseja trocar tokens na Uniswap, você precisa conectar sua carteira primeiro. Neste ponto, você precisa assinar uma mensagem para dizer ao site "Eu sou o proprietário desta carteira", e então você pode usar a Uniswap. Este passo não causa nenhuma alteração de dados ou estado na blockchain, portanto, não requer gastos de dinheiro.
Quanto à troca, quando você realmente deseja trocar tokens na Uniswap, você precisa gastar algum dinheiro para dizer ao contrato inteligente da Uniswap: "Quero trocar 100 USDT por moeda de Espinafre e autorizo você a mover meus 100 USDT." Este passo é chamado de aprovação. Em seguida, você precisa gastar outra quantia de dinheiro para dizer ao contrato inteligente da Uniswap: "Agora estou pronto para trocar 100 USDT por moeda de Espinafre, você pode prosseguir com a operação agora." Depois disso, você concluiu a operação de trocar 100 USDT por moeda de Espinafre.
Após uma compreensão simples da diferença entre assinaturas e swaps, vamos introduzir o princípio de phishing. O phishing geralmente envolve três métodos diferentes: Phishing de Autorização, Phishing de Assinatura de Permissão e Phishing de Assinatura Permit2. Estes três são métodos de phishing muito comuns.
Vamos começar com o Authorization Phishing, que é uma das técnicas clássicas de phishing na Web3. Como o nome sugere, ele explora o mecanismo de autorização (aprovação). Como visto no exemplo do Uniswap, a autorização permite que um contrato inteligente "aprove você para mover xxx quantidade de meus Tokens". Um hacker pode criar um site de phishing falso, disfarçado como um projeto NFT com um frontend atraente. No meio do site, há um belo botão grande dizendo "Claim Your Airdrop". Quando clicada, a carteira aparece com uma tela pedindo que você autorize seus Tokens para o endereço do hacker. Se você confirmar isso, parabéns, o hacker concluiu com sucesso um KPI.
Mas a Pesca de Autorização tem um problema: como requer taxas de gás, muitas pessoas ficam cautelosas ao gastar dinheiro. Após clicar em um site suspeito, as pessoas frequentemente percebem rapidamente que algo está errado, tornando relativamente fácil prevenir.
Agora vamos passar para o foco de hoje: Phishing de Assinatura de Permissão e Permit2, que são pontos críticos no campo da segurança de ativos Web3. Por que são tão difíceis de defender? É porque toda vez que você quer usar um Dapp, você deve fazer login na sua carteira. Muitas pessoas desenvolveram uma inércia em seu pensamento: "Esta operação é segura." Além disso, não requer gasto de dinheiro, e a maioria das pessoas não entende as implicações por trás de cada assinatura.
Vamos primeiro olhar para o mecanismo de Permissão. A Permissão é uma funcionalidade de extensão para autorização sob o padrão ERC-20. Por exemplo, o USDT, que comumente usamos, é um token ERC-20. Em termos simples, a Permissão permite que você assine e aprove outras pessoas para moverem seus Tokens. Sabemos que a autorização (Aprovar) é quando você gasta dinheiro dizendo ao contrato inteligente: “Você pode mover xxx quantidade dos meus Tokens.” Então, a Permissão é como assinar uma “nota” para alguém, dizendo: “Eu permito que alguém mova xxx quantidade dos meus Tokens.” Então, essa pessoa apresenta essa “nota” ao contrato inteligente e paga uma taxa de gás, dizendo ao contrato inteligente: “Ele me permite mover xxx quantidade dos seus Tokens.” Então seus Tokens podem ser transferidos por outra pessoa. Neste processo, você simplesmente assina um nome, mas por trás disso, significa que você permite que outros chamem a autorização (Aprovar) e transfiram seus Tokens. Um hacker pode criar um site de phishing, substituindo o botão de login da carteira por um botão de phishing de Permissão, facilitando a pesca de seus ativos.
Então o que é Permit2? Permit2 na verdade não é uma função do ERC-20, mas uma função lançada pela Uniswap para a conveniência dos usuários. O exemplo anterior disse que se você quiser trocar USDT por moedas de espinafre na Uniswap, você precisa autorizar (Aprovar) uma vez e depois trocar. , o que requer duas taxas de gás, então a Uniswap encontrou uma maneira: "Você me autoriza toda a cota de uma vez, e você assina seu nome toda vez que resgata e eu cuidarei disso para você." Essa função ajuda os usuários da Uniswap. Você só precisa pagar a taxa de Gas uma vez ao usá-la, e esta etapa é a assinatura, então a taxa de Gas na verdade não é paga por você, mas sim paga pelo contrato Permit2, mas será deduzida do Token que você finalmente resgatar.
No entanto, a condição para o phishing do Permit2 é que você deve ter usado anteriormente o Uniswap e autorizado uma permissão ilimitada para o contrato inteligente do Permit2. Como a operação padrão do Uniswap atualmente é conceder permissão ilimitada, o número de usuários que atendem a essa condição é bastante grande. Da mesma forma, desde que um hacker o engane a assinar o Permit2, eles podem transferir seus Tokens (limitados aos que você autorizou anteriormente).
Em resumo, a essência do phishing de autorização é que você gasta dinheiro para dizer ao contrato inteligente: "Eu te autorizo a mover meus Tokens para o hacker." A essência do phishing de assinatura é que você assina uma "nota" permitindo que outros movam seus ativos para o hacker, e o hacker gasta dinheiro para dizer ao contrato inteligente: "Eu quero mover os Tokens dele para mim." Permit e Permit2 são atualmente pontos quentes para phishing de assinaturas. Permit é um recurso de extensão de autorização do ERC-20, enquanto o Permit2 é um novo recurso introduzido pela Uniswap.
Então, como você pode prevenir esses ataques de phishing uma vez que você entende os princípios?
Desenvolver Consciência de Segurança:É crucial verificar sempre qual operação você está realizando toda vez que interage com sua carteira.
Separe Fundos e Carteiras Grandes para Atividades On-Chain:** Ao separar fundos grandes das carteiras usadas para atividades on-chain, você pode minimizar as perdas se for vítima de phishing.
Aprenda a Identificar os Formatos de Assinatura do Permit e Permit2:** Esteja atento sempre que encontrar os seguintes formatos de assinatura:
Interativo: URL da troca
Proprietário: Endereço do autorizador
Gastador: Endereço da parte autorizada
Valor: Quantidade autorizada
Nonce: Número aleatório
Prazo de validade: Hora de expiração