Da Solução ao Risco: Como o Permissão Se Tornou uma Nova Vulnerabilidade?

intermediário10/22/2024, 6:32:20 AM
Este artigo explora os mecanismos de aprovação de Aprovar e Permitir no Ethereum, explorando suas diferenças práticas e impacto. Analisa como o mecanismo de Permitir ajuda a reduzir os custos do usuário em ambientes de taxas de gás altas, ao mesmo tempo em que discute os riscos potenciais de segurança e oferece dicas práticas de segurança.

1. Uma Visão Geral de Permit

Vamos começar com uma história simples sobre emprestar dinheiro:
Estou planejando pegar emprestado um milhão de meu bom amigo Jack Ma. Sem hesitar, Jack Ma pega o telefone, liga para o banco e, após verificar sua identidade, diz ao banco: 'Estou autorizando fulano a sacar um milhão'. O banco confirma e registra essa autorização.

O próximo passo é eu ir ao banco e dizer ao caixa que estou aqui para sacar o um milhão autorizado por Jack Ma. O banco verifica o registro de autorização e, após confirmar que sou a pessoa certa, entrega o um milhão.

Essa história é uma boa analogia de como a autorização de Aprovação funciona no Ethereum. Nesse processo, apenas Jack Ma (o proprietário do ativo) pode ligar para o banco para dar a autorização (na cadeia), e o banco (contrato de token) gerencia essas autorizações. Somente depois disso posso (a parte autorizada) sacar um valor que não exceda a autorização. Se o banco não encontrar nenhum registro de autorização, meu pedido de saque será, sem dúvida, rejeitado.

Agora, o que aconteceria se usássemos um método de autorização diferente - Permitir? Como funcionaria pedir dinheiro emprestado de Jack Ma então?

Desta vez, eu peço emprestado outro milhão. Generoso como sempre, Jack Ma nem se dá ao trabalho de ligar para o banco. Em vez disso, ele pega um talão de cheques, preenche o valor, assina e me entrega. Então eu levo este cheque para o banco. Mesmo que o banco não tenha nenhum registro de autorização, ele pode verificar a assinatura de Jack Ma no cheque e, com base nisso, me entrega o valor especificado.

Agora, você provavelmente pode ver a diferença nos processos. Aprovar, como uma função central do ERC-20, tem sido amplamente utilizado desde logo após o lançamento do Ethereum. Então, por que o método Permit foi introduzido no ERC-2612 para alcançar um resultado semelhante?

2. Por que é necessário um permit?

A proposta ERC-2612 foi introduzida em março de 2019 e concluiu sua revisão final em outubro de 2022. Sua implantação está intimamente ligada aos picos acentuados nos preços do gás que a Ethereum mainnet experimentou durante esse período.


Imagem: Preços de gás na rede principal do ETH permaneceram altos de 2020 a 2022

A combinação de um mercado de alta efeito touro e a criação de riqueza de novos projetos on-chain alimentou o entusiasmo dos usuários para transações on-chain. Eles estavam dispostos a pagar taxas mais altas para que suas transações fossem processadas mais rapidamente, porque às vezes ser confirmado apenas um bloco mais cedo poderia resultar em retornos significativamente mais altos.

No entanto, isso levou a um aspecto negativo: quando os usuários queriam negociar tokens on-chain, muitas vezes tinham que suportar taxas de gás exorbitantes. Com o método Approve, a conclusão de uma única troca de token exigia duas transações (TX). Para usuários com fundos menores, as taxas de transação poderiam ser um pesadelo.

A introdução do Permit do ERC-2612 mudou esse processo substituindo a aprovação on-chain por assinaturas offline, que não precisam ser enviadas imediatamente. Os usuários só precisam fornecer autorização ao transferir tokens, semelhante à história do empréstimo, em que eu só precisava mostrar o cheque de Jack Ma ao retirar o dinheiro do banco.

Jack Ma ocupado se salva de uma ligação telefônica, e parece que os usuários também economizam uma TX. Quando o preço do gás está alto, as economias em taxas podem ser substanciais, parecendo uma situação vantajosa para ambos. No entanto, poucos perceberam que a caixa de Pandora estava silenciosamente sendo aberta...

3. Crescimento explosivo como uma erupção vulcânica

Antes do surgimento do Permit, uma das táticas comuns que os hackers usavam para enganar os usuários de criptografia era enganá-los para que assinassem uma transação Aprovar. Como essas transações exigiam que os usuários gastassem gás, muitas vezes levantavam suspeitas, dificultando o sucesso dos hackers. Mesmo que os usuários clicassem acidentalmente na transação, o fato de que ela levou algum tempo para ser confirmada on-chain deu a eles a chance de enviar outra transação com o mesmo nonce para cancelá-la – tornando relativamente difícil para os hackers realizarem seus esquemas.

No entanto, a chegada do Permit foi como um sonho tornado realidade para os hackers. Ao contrário do Approve, o Permit não consome gás e só requer uma assinatura, o que diminui significativamente a guarda do usuário. Além disso, devido à natureza das assinaturas offline, o controle está nas mãos do hacker. Não só os usuários não têm chance de desfazer seus erros, mas os hackers também podem manter a autorização e atacar no momento mais vantajoso, maximizando seus ganhos.

Isso levou a um aumento notável no número de vítimas de phishing e na quantidade de fundos roubados. De acordo com estatísticas da @ScamSniffer"">@ScamSniffer:

  • Em 2023, as vítimas de phishing perderam um total de $295 milhões.
  • Na primeira metade de 2024, essa cifra já havia ultrapassado os $314 milhões.
  • Até o final do terceiro trimestre de 2024, ocorreu um incidente importante: o endereço da carteira de uma figura proeminente, suspeita de ser Shenyu, foi vítima de um ataque de phishing de Permissão, resultando na perda de 12.000 spWETH, no valor de cerca de 200 milhões de RMB.


Imagem: Relatório de Ataque de Phishing do ScamSniffer para o Primeiro Semestre de 2024

Uma situação como essa provavelmente estava além do que os desenvolvedores originais previam. O objetivo de introduzir o Permit era reduzir os custos de gás, melhorar a experiência do usuário e aumentar a eficiência. O que se pensava ser uma espada de dois gumes, com ganhos e perdas, acabou sendo uma lâmina de um lado só, afiada como uma navalha, abrindo um buraco enorme no escudo que deveria proteger os ativos dos usuários.

Permit não é o único método de autorização baseado em assinaturas. Por exemplo, a Uniswap posteriormente introduziu a Permit2, permitindo que todos os tokens ERC-20 suportem assinaturas offline. Como a No. 1 DEX, a ação da Uniswap aumentou ainda mais a dependência dos usuários em assinaturas offline, o que, por sua vez, aumentou o risco de ataques de phishing.

4. Como evitar os riscos?

Como usuários comuns, que medidas podemos tomar para evitar perdas e nos proteger dessa espada de Dâmocles - uma lâmina afiada - que paira sobre nós?

1⃣ Aumentar a conscientização

  • Mantenha a calma quando tentado por airdrops.
    Airdrops de projetos de criptomoedas podem parecer atraentes, mas na maioria das vezes, são ataques de phishing disfarçados de airdrops. Ao se deparar com tais informações, não se apresse em reivindicá-las. Em vez disso, verifique a legitimidade do airdrop e de seu site oficial em várias fontes para evitar cair em armadilhas de phishing.

  • Evite Assinatura Cega
    Se você acidentalmente cair em um site de phishing e não perceber, reserve um momento para analisar cuidadosamente a transação quando sua carteira solicitar que você assine. Se termos como Permit, Permit2, Approve ou IncreaseAllowance aparecerem, significa que a transação está solicitando autorização de token. Neste ponto, você deve ser cauteloso, porque airdrops legítimos não exigem esse processo. As carteiras de hardware Keystone implementaram recursos de análise e exibição de transações, permitindo que os usuários entendam melhor os detalhes da transação e evitem assinaturas cegas, o que poderia levar a consequências graves de decisões precipitadas.


Imagem: Keystone Hardware Wallet, Rabby Wallet Analisando e Exibindo Transações de Assinatura Permit2

2⃣ Faça bom uso das ferramentas

  • ScamSniffer
    Para o usuário médio, identificar com precisão os sites de phishing pode ser altamente desafiador e é fácil que alguns passem despercebidos. Ao usar o plugin do navegador ScamSniffer, você receberá alertas ao tentar acessar sites potenciais de phishing, dando a você a chance de parar de interagir antes que seja tarde demais.

  • Revogar
    Revoke.cashpermite que você visualize as autorizações de token em sua carteira. Recomendamos revogar quaisquer autorizações suspeitas ou ilimitadas. É uma boa prática limpar regularmente suas autorizações e limitá-las apenas às quantidades necessárias.

3⃣ Segregação de ativos e Multi-Sig
Como diz o ditado, não coloque todos os seus ovos em uma cesta - esse princípio também se aplica aos ativos criptográficos. Por exemplo, você pode armazenar grandes quantidades de ativos em uma carteira fria como a Keystone, enquanto usa uma carteira quente para transações diárias. Mesmo se você for vítima de um ataque, seu saldo inteiro não será comprometido.

Para aqueles com demandas de segurança mais elevadas, o uso de carteiras multi-assinatura (multi-sig) pode aprimorar ainda mais a proteção. Ativos sob multi-sig só podem ser movidos quando um determinado limite de aprovações de carteira é alcançado. Se uma carteira for comprometida mas o limite não for atingido, os hackers não terão acesso aos seus ativos.

5. Conclusão

Embora não possamos negar o valor que o Gate trouxe, o crescente número de roubos também mostra que os riscos que ele apresenta podem superar seus benefícios. Assim como o antigo método de ethsign, que era preferido pelos hackers devido à sua baixa legibilidade e falhas significativas de segurança, o Gate agora foi desativado pela maioria dos softwares de carteira, com suas funcionalidades substituídas por alternativas mais seguras.

Ao nos concentrarmos no Permit, não estamos também em uma encruzilhada semelhante à enfrentada pelo ethsign? Se devemos melhorar e atualizar ou descartar completamente é uma questão que os desenvolvedores de ETH precisam dedicar tempo para considerar e discutir.

Antes de se tirar quaisquer conclusões, a Keystone visa aprimorar a prevenção de riscos relacionados ao Permit em suas carteiras de hardware. Estamos iniciando uma votação para adicionar as seguintes funcionalidades:

  • Alertas de aviso forte para transações de Permit/Permit2
  • Um interruptor para desabilitar as funcionalidades Permit/Permit2

Aviso Legal:

  1. Este artigo é reproduzido de [KeystoneCN], e os direitos autorais pertencem ao autor original [KeystoneCN], se você tiver alguma objeção à reprodução, entre em contato Gate Aprender Equipe , a equipe irá lidar com isso o mais rápido possível de acordo com os procedimentos relevantes.
  2. Aviso legal: As opiniões expressas neste artigo representam apenas as opiniões pessoais do autor e não constituem qualquer conselho de investimento.
  3. As traduções do artigo para outros idiomas são feitas pela equipe do Gate Learn. A menos que mencionado, copiar, distribuir ou plagiar os artigos traduzidos é proibido.

Da Solução ao Risco: Como o Permissão Se Tornou uma Nova Vulnerabilidade?

intermediário10/22/2024, 6:32:20 AM
Este artigo explora os mecanismos de aprovação de Aprovar e Permitir no Ethereum, explorando suas diferenças práticas e impacto. Analisa como o mecanismo de Permitir ajuda a reduzir os custos do usuário em ambientes de taxas de gás altas, ao mesmo tempo em que discute os riscos potenciais de segurança e oferece dicas práticas de segurança.

1. Uma Visão Geral de Permit

Vamos começar com uma história simples sobre emprestar dinheiro:
Estou planejando pegar emprestado um milhão de meu bom amigo Jack Ma. Sem hesitar, Jack Ma pega o telefone, liga para o banco e, após verificar sua identidade, diz ao banco: 'Estou autorizando fulano a sacar um milhão'. O banco confirma e registra essa autorização.

O próximo passo é eu ir ao banco e dizer ao caixa que estou aqui para sacar o um milhão autorizado por Jack Ma. O banco verifica o registro de autorização e, após confirmar que sou a pessoa certa, entrega o um milhão.

Essa história é uma boa analogia de como a autorização de Aprovação funciona no Ethereum. Nesse processo, apenas Jack Ma (o proprietário do ativo) pode ligar para o banco para dar a autorização (na cadeia), e o banco (contrato de token) gerencia essas autorizações. Somente depois disso posso (a parte autorizada) sacar um valor que não exceda a autorização. Se o banco não encontrar nenhum registro de autorização, meu pedido de saque será, sem dúvida, rejeitado.

Agora, o que aconteceria se usássemos um método de autorização diferente - Permitir? Como funcionaria pedir dinheiro emprestado de Jack Ma então?

Desta vez, eu peço emprestado outro milhão. Generoso como sempre, Jack Ma nem se dá ao trabalho de ligar para o banco. Em vez disso, ele pega um talão de cheques, preenche o valor, assina e me entrega. Então eu levo este cheque para o banco. Mesmo que o banco não tenha nenhum registro de autorização, ele pode verificar a assinatura de Jack Ma no cheque e, com base nisso, me entrega o valor especificado.

Agora, você provavelmente pode ver a diferença nos processos. Aprovar, como uma função central do ERC-20, tem sido amplamente utilizado desde logo após o lançamento do Ethereum. Então, por que o método Permit foi introduzido no ERC-2612 para alcançar um resultado semelhante?

2. Por que é necessário um permit?

A proposta ERC-2612 foi introduzida em março de 2019 e concluiu sua revisão final em outubro de 2022. Sua implantação está intimamente ligada aos picos acentuados nos preços do gás que a Ethereum mainnet experimentou durante esse período.


Imagem: Preços de gás na rede principal do ETH permaneceram altos de 2020 a 2022

A combinação de um mercado de alta efeito touro e a criação de riqueza de novos projetos on-chain alimentou o entusiasmo dos usuários para transações on-chain. Eles estavam dispostos a pagar taxas mais altas para que suas transações fossem processadas mais rapidamente, porque às vezes ser confirmado apenas um bloco mais cedo poderia resultar em retornos significativamente mais altos.

No entanto, isso levou a um aspecto negativo: quando os usuários queriam negociar tokens on-chain, muitas vezes tinham que suportar taxas de gás exorbitantes. Com o método Approve, a conclusão de uma única troca de token exigia duas transações (TX). Para usuários com fundos menores, as taxas de transação poderiam ser um pesadelo.

A introdução do Permit do ERC-2612 mudou esse processo substituindo a aprovação on-chain por assinaturas offline, que não precisam ser enviadas imediatamente. Os usuários só precisam fornecer autorização ao transferir tokens, semelhante à história do empréstimo, em que eu só precisava mostrar o cheque de Jack Ma ao retirar o dinheiro do banco.

Jack Ma ocupado se salva de uma ligação telefônica, e parece que os usuários também economizam uma TX. Quando o preço do gás está alto, as economias em taxas podem ser substanciais, parecendo uma situação vantajosa para ambos. No entanto, poucos perceberam que a caixa de Pandora estava silenciosamente sendo aberta...

3. Crescimento explosivo como uma erupção vulcânica

Antes do surgimento do Permit, uma das táticas comuns que os hackers usavam para enganar os usuários de criptografia era enganá-los para que assinassem uma transação Aprovar. Como essas transações exigiam que os usuários gastassem gás, muitas vezes levantavam suspeitas, dificultando o sucesso dos hackers. Mesmo que os usuários clicassem acidentalmente na transação, o fato de que ela levou algum tempo para ser confirmada on-chain deu a eles a chance de enviar outra transação com o mesmo nonce para cancelá-la – tornando relativamente difícil para os hackers realizarem seus esquemas.

No entanto, a chegada do Permit foi como um sonho tornado realidade para os hackers. Ao contrário do Approve, o Permit não consome gás e só requer uma assinatura, o que diminui significativamente a guarda do usuário. Além disso, devido à natureza das assinaturas offline, o controle está nas mãos do hacker. Não só os usuários não têm chance de desfazer seus erros, mas os hackers também podem manter a autorização e atacar no momento mais vantajoso, maximizando seus ganhos.

Isso levou a um aumento notável no número de vítimas de phishing e na quantidade de fundos roubados. De acordo com estatísticas da @ScamSniffer"">@ScamSniffer:

  • Em 2023, as vítimas de phishing perderam um total de $295 milhões.
  • Na primeira metade de 2024, essa cifra já havia ultrapassado os $314 milhões.
  • Até o final do terceiro trimestre de 2024, ocorreu um incidente importante: o endereço da carteira de uma figura proeminente, suspeita de ser Shenyu, foi vítima de um ataque de phishing de Permissão, resultando na perda de 12.000 spWETH, no valor de cerca de 200 milhões de RMB.


Imagem: Relatório de Ataque de Phishing do ScamSniffer para o Primeiro Semestre de 2024

Uma situação como essa provavelmente estava além do que os desenvolvedores originais previam. O objetivo de introduzir o Permit era reduzir os custos de gás, melhorar a experiência do usuário e aumentar a eficiência. O que se pensava ser uma espada de dois gumes, com ganhos e perdas, acabou sendo uma lâmina de um lado só, afiada como uma navalha, abrindo um buraco enorme no escudo que deveria proteger os ativos dos usuários.

Permit não é o único método de autorização baseado em assinaturas. Por exemplo, a Uniswap posteriormente introduziu a Permit2, permitindo que todos os tokens ERC-20 suportem assinaturas offline. Como a No. 1 DEX, a ação da Uniswap aumentou ainda mais a dependência dos usuários em assinaturas offline, o que, por sua vez, aumentou o risco de ataques de phishing.

4. Como evitar os riscos?

Como usuários comuns, que medidas podemos tomar para evitar perdas e nos proteger dessa espada de Dâmocles - uma lâmina afiada - que paira sobre nós?

1⃣ Aumentar a conscientização

  • Mantenha a calma quando tentado por airdrops.
    Airdrops de projetos de criptomoedas podem parecer atraentes, mas na maioria das vezes, são ataques de phishing disfarçados de airdrops. Ao se deparar com tais informações, não se apresse em reivindicá-las. Em vez disso, verifique a legitimidade do airdrop e de seu site oficial em várias fontes para evitar cair em armadilhas de phishing.

  • Evite Assinatura Cega
    Se você acidentalmente cair em um site de phishing e não perceber, reserve um momento para analisar cuidadosamente a transação quando sua carteira solicitar que você assine. Se termos como Permit, Permit2, Approve ou IncreaseAllowance aparecerem, significa que a transação está solicitando autorização de token. Neste ponto, você deve ser cauteloso, porque airdrops legítimos não exigem esse processo. As carteiras de hardware Keystone implementaram recursos de análise e exibição de transações, permitindo que os usuários entendam melhor os detalhes da transação e evitem assinaturas cegas, o que poderia levar a consequências graves de decisões precipitadas.


Imagem: Keystone Hardware Wallet, Rabby Wallet Analisando e Exibindo Transações de Assinatura Permit2

2⃣ Faça bom uso das ferramentas

  • ScamSniffer
    Para o usuário médio, identificar com precisão os sites de phishing pode ser altamente desafiador e é fácil que alguns passem despercebidos. Ao usar o plugin do navegador ScamSniffer, você receberá alertas ao tentar acessar sites potenciais de phishing, dando a você a chance de parar de interagir antes que seja tarde demais.

  • Revogar
    Revoke.cashpermite que você visualize as autorizações de token em sua carteira. Recomendamos revogar quaisquer autorizações suspeitas ou ilimitadas. É uma boa prática limpar regularmente suas autorizações e limitá-las apenas às quantidades necessárias.

3⃣ Segregação de ativos e Multi-Sig
Como diz o ditado, não coloque todos os seus ovos em uma cesta - esse princípio também se aplica aos ativos criptográficos. Por exemplo, você pode armazenar grandes quantidades de ativos em uma carteira fria como a Keystone, enquanto usa uma carteira quente para transações diárias. Mesmo se você for vítima de um ataque, seu saldo inteiro não será comprometido.

Para aqueles com demandas de segurança mais elevadas, o uso de carteiras multi-assinatura (multi-sig) pode aprimorar ainda mais a proteção. Ativos sob multi-sig só podem ser movidos quando um determinado limite de aprovações de carteira é alcançado. Se uma carteira for comprometida mas o limite não for atingido, os hackers não terão acesso aos seus ativos.

5. Conclusão

Embora não possamos negar o valor que o Gate trouxe, o crescente número de roubos também mostra que os riscos que ele apresenta podem superar seus benefícios. Assim como o antigo método de ethsign, que era preferido pelos hackers devido à sua baixa legibilidade e falhas significativas de segurança, o Gate agora foi desativado pela maioria dos softwares de carteira, com suas funcionalidades substituídas por alternativas mais seguras.

Ao nos concentrarmos no Permit, não estamos também em uma encruzilhada semelhante à enfrentada pelo ethsign? Se devemos melhorar e atualizar ou descartar completamente é uma questão que os desenvolvedores de ETH precisam dedicar tempo para considerar e discutir.

Antes de se tirar quaisquer conclusões, a Keystone visa aprimorar a prevenção de riscos relacionados ao Permit em suas carteiras de hardware. Estamos iniciando uma votação para adicionar as seguintes funcionalidades:

  • Alertas de aviso forte para transações de Permit/Permit2
  • Um interruptor para desabilitar as funcionalidades Permit/Permit2

Aviso Legal:

  1. Este artigo é reproduzido de [KeystoneCN], e os direitos autorais pertencem ao autor original [KeystoneCN], se você tiver alguma objeção à reprodução, entre em contato Gate Aprender Equipe , a equipe irá lidar com isso o mais rápido possível de acordo com os procedimentos relevantes.
  2. Aviso legal: As opiniões expressas neste artigo representam apenas as opiniões pessoais do autor e não constituem qualquer conselho de investimento.
  3. As traduções do artigo para outros idiomas são feitas pela equipe do Gate Learn. A menos que mencionado, copiar, distribuir ou plagiar os artigos traduzidos é proibido.
Розпочати зараз
Зареєструйтеся та отримайте ваучер на
$100
!