**Este artigo foi escrito por; Beosin; pesquisador independente convidado especial Espinafre Espinafre! (twitter@wzxznl) Postagem em coautoria com; Beosin; pesquisador de segurança; Sivan; *
Hackers, esta é uma existência que assusta a todos no ecossistema Web3. Para o lado do projeto, quando hackers de todo o mundo podem olhar para você, a natureza de código aberto do código faz com que o lado do projeto tenha medo de escrever uma linha de código errada quando desenvolvimento Deixando brechas, uma vez ocorrido um incidente de segurança, as consequências serão difíceis de suportar.
**Para indivíduos, se você não entender o que está fazendo, toda interação ou assinatura on-chain que você fizer tem o potencial de ter seus ativos roubados. ** Portanto, os problemas de segurança sempre foram um dos problemas mais problemáticos no mundo da criptografia e, devido às características do blockchain, uma vez que os ativos são roubados, quase não há como recuperá-los, por isso é especialmente importante ter conhecimento de segurança no mundo da criptografia.
Recentemente, o bom amigo de **Beosin;, Espinafre, descobriu um novo método de phishing que está ativo nos últimos dois meses, desde que a assinatura seja roubada, o método é extremamente oculto e difícil de evitar e usado;Uniswap; Todos os endereços interativos podem estar expostos a riscos. Este artigo; Beosin; e o pesquisador independente Pincai conduzem conjuntamente a ciência popular sobre esta técnica de phishing de assinatura e tentam evitar mais perdas de ativos para todos. **
O que se segue é uma releitura da experiência pessoal do espinafre:
processo
Recentemente, um amigo (provisoriamente chamado Xiao;A) encontrou Spinach depois que os ativos em sua carteira foram roubados. Ao contrário da forma usual de roubo, Xiao;A; não divulgou a chave privada ou interagiu com o contrato do site de phishing. Então Espinafre começou a investigar o roubo de ativos.
No navegador da cadeia de blocos, você pode ver que a pequena ;A; carteira roubada; USDT; é transferida através do ;Transferir de; Token; Ao transferir fundos, a função "Transferir" do contrato inteligente "Token" é realmente chamada. ;Transferir de; significa que um terceiro transfere o ;Token; de um endereço para outro endereço. **Isso também significa que o ativo roubado foi transferido de outro endereço; Token; em vez de vazar a chave privada da carteira.
Ao consultar os detalhes da transação, podemos encontrar algumas pistas importantes:
O endereço com número de cauda;f;d5;1; transfere os bens do pequeno;A; para o endereço com número de cauda;a;0;c;8;
Esta operação interage com o;Permit;2;contrato de;Uniswap;
Então aí vem a dúvida, como o endereço que termina em ;f;d5;1; conseguiu a permissão desse ativo? Por que está relacionado com "Uniswap"?
Antes de mais nada, precisamos saber que para chamar com sucesso a função "Transfer From;", a premissa é que o chamador precisa ter a autoridade de cota "Token", ou seja, "aprovar". operados na cadeia devem estar familiarizados com isso. Ao usar algum "Dapp", uma vez que a transferência de ativos está envolvida, precisamos primeiro realizar uma operação de autorização (aprovar), para que o contrato "Dapp" tenha o direito de transferir nossos ativos.
Para resolver este quebra-cabeça, precisamos continuar cavando, e a resposta está no registro de interação do endereço que termina em ;f;d5;1;, neste endereço, ;Transfer From;transfer small;A; Before o ativo, você pode ver que o endereço também executou uma operação "Permitir" e o objeto de interação dessas duas operações é o contrato "Permit;2" de "Uniswap;, então esta função "Permit" e "Uniswap Permit" ;2;Qual é a situação?
The Uniswap Permit;2; contrato é; Uniswap; no final de; 2022; o novo contrato inteligente lançado, de acordo com o comunicado oficial, este é um contrato de aprovação de token que permite que a autorização de token seja compartilhada e gerenciada em diferentes aplicativos, Criar uma experiência de usuário mais unificada, econômica e segura.
E no futuro, à medida que mais e mais projetos se integram ao Permit; 2, Permit; 2; pode ser padronizado em todos os aplicativos; Token; aprovado. O Permit;2 melhorará a experiência do usuário, reduzindo os custos de transação e aumentando a segurança dos contratos inteligentes.
Vamos primeiro entender por que "Uniswap" quer lançar "Permit;2;, vamos supor um cenário, quando queremos "Swap" em um determinado "Dex", o método de interação tradicional é que precisamos autorizar (aprovar) Dê isso "Dex e depois "Swap", que geralmente nos custa duas taxas de "Gas", e o custo de fricção é muito alto para os usuários. Acredito que todos já tiveram essa experiência.
Fonte da imagem:
O lançamento de "Permit; 2" provavelmente mudará todas as regras do jogo ecológico "Dapp". Simplificando, o método tradicional é que você precisa autorizar toda vez que interagir com um "Dapp" para transferência de ativos e; Permit; 2 ; Esta etapa pode ser omitida, o que pode efetivamente reduzir o custo de interação do usuário e proporcionar uma melhor experiência do usuário.
A solução é;Permit;2;como intermediário entre o usuário e o;Dapp;, o usuário só precisa autorizar a permissão do;Token;para o;Permit;2;contrato, tudo integrado;Permit;2;contrato ;Dapp; Este valor autorizado pode ser compartilhado. Para os usuários, reduz os custos de interação e melhora a experiência do usuário. Para "Dapp", a melhoria da experiência do usuário traz mais usuários e fundos. Esta é uma situação em que todos saem ganhando, mas ao mesmo tempo tempo, isso também pode ser uma faca de dois gumes, e o problema está na forma como ;Permit;2; interage.
No modo de interação tradicional, seja autorização ou transferência de fundos, é uma interação na cadeia para o usuário da operação. E ;Permit;2; transforma a operação do usuário em uma assinatura off-chain, e todas as operações na cadeia são concluídas por uma função intermediária (como;Permit;2;contrato e integrado;Permit;2; parte do projeto, etc. ), o benefício trazido por esse esquema é que, como o papel de interação na cadeia é transferido do usuário para o papel intermediário, mesmo que o usuário não tenha "ETH" na carteira, ele pode usar outro "Token" para pagar a taxa de "Gás" ou ser totalmente reembolsado pela função intermediária. Depende da escolha das funções intermediárias.
Fonte da imagem:
Embora o surgimento de "Permit;2" possa mudar as futuras regras do jogo "Dapp", pode-se ver que esta é uma forte faca de dois gumes. Para os usuários, as assinaturas fora da cadeia são a maneira mais fácil de derrubar suas defesas. , como quando fazemos login em algum "Dapp" com uma carteira, precisamos de uma assinatura para conectar, e a maioria das pessoas não verifica o conteúdo da assinatura com cuidado e não entende o conteúdo da assinatura, e isso é o lugar mais assustador.
Entendido;Permitir;2;Contrato, de volta ao pequeno;A; evento, entendemos por que os ativos são roubados e interagem com;Permitir;2;Contratar, então deixe o Espinafre reproduzir isso;Permitir; 2. Método de phishing de assinatura, antes de mais nada , um pré-requisito crucial é que a carteira que está sendo phishing precisa ter o "Token" autorizado para "Uniswap"; o "Permit;2; ;Dapp; ou ;Swap; no Uniswap;, todos precisam ser autorizados para o ;Permit; 2; contract (o espinafre na foto abaixo usa um plug-in de segurança).
Outro ponto assustador é que não importa o valor que você deseja "Swap", o contrato "Permit;2" do Uniswap; permitirá que você autorize o "Token" por padrão, embora o "MetaMask" permita que você defina a entrada quantidade, mas acredito que a maioria das pessoas clicará diretamente no valor máximo ou padrão, e o valor padrão de ;Permitir;2; é uma quantidade ilimitada....
Isso também significa que, desde que você tenha interagido com "Uniswap" e autorizado o valor do contrato "Permit; 2" após 2023, você estará exposto ao risco desse golpe de phishing.
Como o foco está na função ;Permit; que interagiu com o contrato ;Permit;2; no endereço que termina em ;f;d5;1;, essa função simplesmente usa sua carteira para autorizá-lo a ;Permit; 2; O " Token" do contrato é transferido para outro endereço, ou seja, desde que você obtenha sua assinatura, o hacker pode obter a autoridade "Token" em sua carteira e transferir seus ativos.
Análise detalhada do evento
permissão; Função:
Você pode pensar na função "Permit" como uma forma de assinar contratos online. Esta função permite que você (PermitSingle) pré-assine um "contrato" que permite que outra pessoa (spender) gaste alguns de seus tokens em algum momento no futuro.
Ao mesmo tempo, você também precisa fornecer uma assinatura (assinatura), assim como assinar um contrato de papel, para provar que esse "contrato" é realmente assinado por você.
Então, como essa função funciona?
Primeiro, ele verificará se o horário atual excede o período de validade da sua assinatura (sigDeadline). Assim como o contrato que você assinou tem uma data de vencimento, se o tempo atual exceder a data de vencimento, esse "contrato" não poderá mais ser usado e o programa será interrompido diretamente.
Em seguida, ele verifica se sua assinatura é realmente sua. O programa usará um método especial (signature.verify) para verificar a assinatura para garantir que a assinatura foi realmente assinada por você e não foi falsificada por outros.
Por fim, se as verificações forem aprovadas, o programa atualizará o registro para observar que você permitiu que outras pessoas usassem alguns de seus tokens.
O foco está principalmente na função ;verify; e na função _updateApproval;.
verificar; função:
Pode-se ver que a função de verificação obterá os três dados; v, r, s; do parâmetro de informações da assinatura, v, r, s; é o valor da assinatura da transação e podem ser usados para restaurar o endereço da assinatura da transação, conforme mostrado na figura acima Pode ser visto no código que após o contrato restaurar o endereço da assinatura da transação, ele o compara com o endereço do proprietário do token de entrada. Se forem iguais, a verificação passa, e a chamada para a função _updateApproval; continua.Se forem diferentes, a transação é revertida.
_updateApproval; Função:
Quando a verificação da assinatura for aprovada, a função _updateApproval; será chamada para atualizar o valor da autorização, o que significa que suas permissões foram transferidas. Neste momento, é conveniente chamar a função ;transferfrom; para transferir o token para o endereço especificado após ser autorizado, conforme o código abaixo.
Ok, depois de explicar a função "permitir", vamos dar uma olhada na transação real da cadeia. Podemos descobrir os detalhes dessa interação:
proprietário; é pequeno; endereço da carteira de A; (número da cauda; 308; a)
Detalhes; você pode ver o autorizado; Token; endereço do contrato (USDT) e valor e outras informações
Spender; é o endereço do hacker com o número da cauda;f;d5;1;
sigDeadline;é o tempo efetivo da assinatura, e;assinatura;é a informação da assinatura do pequeno;A;
E olhando para os registros de interação de xiao;A; veremos que **xiao;A; usou o "Uniswap" antes e clicou no valor de autorização padrão, que é quase ilimitado. **
Uma revisão simples é que ** é pequeno; A; foi autorizado a "Uniswap Permit" no processo de uso de "Uniswap" antes; 2; ilimitado; USDT; valor, mas pequeno; A; acidentalmente ao realizar operações de carteira Caindo no ;Permitir;2; armadilha de phishing de assinatura projetada por hackers, o hacker obteve a assinatura de pequeno;A; e usou a assinatura de pequeno;A; no;Permitir;2;contrato;Permitir;e;Transferir de; As duas operações transferiu os bens do pequeno;A; para longe,** e o que Spinach observou é que o;Permit;2;contrato de "Uniswap; Only tornou-se ativo há alguns meses.
fonte:
E nos registros de interação, pode-se descobrir que quase a maioria deles são endereços de phishing marcados (Fake_Phishing) e as pessoas são constantemente enganadas.
fonte:;
Como prevenir?
Considerando que o contrato "Uniswap Permit; 2" pode se tornar mais popular no futuro, e haverá mais integração de projetos "Permit; 2;" contratos para autorização e compartilhamento, podemos pensar em métodos eficazes de prevenção da seguinte forma:
1 Entenda e reconheça o conteúdo da assinatura:
O formato de assinatura de Permit; geralmente inclui: Owner, Spender, value, nonce; e; Format. (Baixar um plugin de segurança é uma boa opção)
Recomendamos o seguinte plug-in anti-phishing "Beosin" a todos os leitores e amigos, que pode identificar a maioria dos sites de phishing no campo Web3 e proteger a carteira e a segurança dos ativos de todos.
Download do plug-in anti-phishing:
2 A carteira de ativos e a carteira interativa são usadas separadamente:
Se você tiver uma grande quantidade de ativos, é recomendável colocar todos os ativos em uma carteira fria e colocar uma pequena quantia de fundos na carteira que interage na cadeia, o que pode reduzir muito a perda em caso de golpes de phishing.
3 Não autorizar muito para;Permitir;2;Contratar ou cancelar autorização:
Ao "Swap" no "Uniswap", você autoriza apenas o valor com o qual deseja interagir, de modo que, embora cada interação exija uma reautorização, haverá alguns custos de interação, mas você pode evitar sofrer com "Permit;2; Sign Pescaria. Se você já autorizou a cota, pode encontrar o plug-in de segurança correspondente para cancelar a autorização.
**4 Identifique a natureza do token, se ele suporta; permite; função: **
No futuro, mais e mais tokens "ERC;20" podem usar este protocolo de extensão para realizar a função "permitir". Para você, você precisa prestar atenção se o token que você possui suporta esta função. token Seja extremamente cuidadoso em transações ou manipulações e verifique rigorosamente se cada assinatura desconhecida é a assinatura da função "permitir".
5 Se houver tokens armazenados em outras plataformas após serem enganados, é necessário formular um plano de resgate abrangente:
Quando você descobre que foi fraudado e que seus tokens foram transferidos por hackers, mas ainda possui tokens armazenados em outras plataformas por meio de métodos como penhor, etc., você precisa retirá-los e transferi-los para um endereço seguro. desta vez, você precisa saber que os hackers podem monitorar você o tempo todo O saldo do token do endereço, porque ele tem sua assinatura, desde que o token apareça no seu endereço roubado, o hacker pode transferi-lo diretamente. Neste momento, é necessário formular um processo de resgate de token completo. Os dois processos de extração de tokens e transferência de tokens precisam ser executados juntos. Transações de hackers não podem ser inseridas nele. Você pode usar a transferência "MEV", que requer algum blockchain conhecimento e habilidades de código. , Você também pode procurar uma empresa de segurança profissional, como; Beosin; equipe para usar o script de transação preventiva para alcançar.
Acredito que haverá cada vez mais phishing baseado em "Permit;2;" no futuro, **este método de assinatura de phishing é extremamente oculto e difícil de prevenir, e com a aplicação mais ampla de "Permit;2; Haverá mais e mais endereços abaixo dele. Espero que você na frente da tela possa espalhá-lo para mais pessoas depois de ler este artigo, para evitar que mais pessoas sejam roubadas. **
Referência:
Ver original
O conteúdo é apenas para referência, não uma solicitação ou oferta. Nenhum aconselhamento fiscal, de investimento ou jurídico é fornecido. Consulte a isenção de responsabilidade para obter mais informações sobre riscos.
Assinatura roubada? Desconfie do phishing da assinatura Uniswap Permit2
**Este artigo foi escrito por; Beosin; pesquisador independente convidado especial Espinafre Espinafre! (twitter@wzxznl) Postagem em coautoria com; Beosin; pesquisador de segurança; Sivan; *
Hackers, esta é uma existência que assusta a todos no ecossistema Web3. Para o lado do projeto, quando hackers de todo o mundo podem olhar para você, a natureza de código aberto do código faz com que o lado do projeto tenha medo de escrever uma linha de código errada quando desenvolvimento Deixando brechas, uma vez ocorrido um incidente de segurança, as consequências serão difíceis de suportar.
**Para indivíduos, se você não entender o que está fazendo, toda interação ou assinatura on-chain que você fizer tem o potencial de ter seus ativos roubados. ** Portanto, os problemas de segurança sempre foram um dos problemas mais problemáticos no mundo da criptografia e, devido às características do blockchain, uma vez que os ativos são roubados, quase não há como recuperá-los, por isso é especialmente importante ter conhecimento de segurança no mundo da criptografia.
Recentemente, o bom amigo de **Beosin;, Espinafre, descobriu um novo método de phishing que está ativo nos últimos dois meses, desde que a assinatura seja roubada, o método é extremamente oculto e difícil de evitar e usado;Uniswap; Todos os endereços interativos podem estar expostos a riscos. Este artigo; Beosin; e o pesquisador independente Pincai conduzem conjuntamente a ciência popular sobre esta técnica de phishing de assinatura e tentam evitar mais perdas de ativos para todos. **
O que se segue é uma releitura da experiência pessoal do espinafre:
processo
Recentemente, um amigo (provisoriamente chamado Xiao;A) encontrou Spinach depois que os ativos em sua carteira foram roubados. Ao contrário da forma usual de roubo, Xiao;A; não divulgou a chave privada ou interagiu com o contrato do site de phishing. Então Espinafre começou a investigar o roubo de ativos.
No navegador da cadeia de blocos, você pode ver que a pequena ;A; carteira roubada; USDT; é transferida através do ;Transferir de; Token; Ao transferir fundos, a função "Transferir" do contrato inteligente "Token" é realmente chamada. ;Transferir de; significa que um terceiro transfere o ;Token; de um endereço para outro endereço. **Isso também significa que o ativo roubado foi transferido de outro endereço; Token; em vez de vazar a chave privada da carteira.
Ao consultar os detalhes da transação, podemos encontrar algumas pistas importantes:
O endereço com número de cauda;f;d5;1; transfere os bens do pequeno;A; para o endereço com número de cauda;a;0;c;8;
Esta operação interage com o;Permit;2;contrato de;Uniswap;
Então aí vem a dúvida, como o endereço que termina em ;f;d5;1; conseguiu a permissão desse ativo? Por que está relacionado com "Uniswap"?
Antes de mais nada, precisamos saber que para chamar com sucesso a função "Transfer From;", a premissa é que o chamador precisa ter a autoridade de cota "Token", ou seja, "aprovar". operados na cadeia devem estar familiarizados com isso. Ao usar algum "Dapp", uma vez que a transferência de ativos está envolvida, precisamos primeiro realizar uma operação de autorização (aprovar), para que o contrato "Dapp" tenha o direito de transferir nossos ativos.
Para resolver este quebra-cabeça, precisamos continuar cavando, e a resposta está no registro de interação do endereço que termina em ;f;d5;1;, neste endereço, ;Transfer From;transfer small;A; Before o ativo, você pode ver que o endereço também executou uma operação "Permitir" e o objeto de interação dessas duas operações é o contrato "Permit;2" de "Uniswap;, então esta função "Permit" e "Uniswap Permit" ;2;Qual é a situação?
The Uniswap Permit;2; contrato é; Uniswap; no final de; 2022; o novo contrato inteligente lançado, de acordo com o comunicado oficial, este é um contrato de aprovação de token que permite que a autorização de token seja compartilhada e gerenciada em diferentes aplicativos, Criar uma experiência de usuário mais unificada, econômica e segura.
E no futuro, à medida que mais e mais projetos se integram ao Permit; 2, Permit; 2; pode ser padronizado em todos os aplicativos; Token; aprovado. O Permit;2 melhorará a experiência do usuário, reduzindo os custos de transação e aumentando a segurança dos contratos inteligentes.
Vamos primeiro entender por que "Uniswap" quer lançar "Permit;2;, vamos supor um cenário, quando queremos "Swap" em um determinado "Dex", o método de interação tradicional é que precisamos autorizar (aprovar) Dê isso "Dex e depois "Swap", que geralmente nos custa duas taxas de "Gas", e o custo de fricção é muito alto para os usuários. Acredito que todos já tiveram essa experiência.
Fonte da imagem:
O lançamento de "Permit; 2" provavelmente mudará todas as regras do jogo ecológico "Dapp". Simplificando, o método tradicional é que você precisa autorizar toda vez que interagir com um "Dapp" para transferência de ativos e; Permit; 2 ; Esta etapa pode ser omitida, o que pode efetivamente reduzir o custo de interação do usuário e proporcionar uma melhor experiência do usuário.
A solução é;Permit;2;como intermediário entre o usuário e o;Dapp;, o usuário só precisa autorizar a permissão do;Token;para o;Permit;2;contrato, tudo integrado;Permit;2;contrato ;Dapp; Este valor autorizado pode ser compartilhado. Para os usuários, reduz os custos de interação e melhora a experiência do usuário. Para "Dapp", a melhoria da experiência do usuário traz mais usuários e fundos. Esta é uma situação em que todos saem ganhando, mas ao mesmo tempo tempo, isso também pode ser uma faca de dois gumes, e o problema está na forma como ;Permit;2; interage.
No modo de interação tradicional, seja autorização ou transferência de fundos, é uma interação na cadeia para o usuário da operação. E ;Permit;2; transforma a operação do usuário em uma assinatura off-chain, e todas as operações na cadeia são concluídas por uma função intermediária (como;Permit;2;contrato e integrado;Permit;2; parte do projeto, etc. ), o benefício trazido por esse esquema é que, como o papel de interação na cadeia é transferido do usuário para o papel intermediário, mesmo que o usuário não tenha "ETH" na carteira, ele pode usar outro "Token" para pagar a taxa de "Gás" ou ser totalmente reembolsado pela função intermediária. Depende da escolha das funções intermediárias.
Fonte da imagem:
Embora o surgimento de "Permit;2" possa mudar as futuras regras do jogo "Dapp", pode-se ver que esta é uma forte faca de dois gumes. Para os usuários, as assinaturas fora da cadeia são a maneira mais fácil de derrubar suas defesas. , como quando fazemos login em algum "Dapp" com uma carteira, precisamos de uma assinatura para conectar, e a maioria das pessoas não verifica o conteúdo da assinatura com cuidado e não entende o conteúdo da assinatura, e isso é o lugar mais assustador.
Entendido;Permitir;2;Contrato, de volta ao pequeno;A; evento, entendemos por que os ativos são roubados e interagem com;Permitir;2;Contratar, então deixe o Espinafre reproduzir isso;Permitir; 2. Método de phishing de assinatura, antes de mais nada , um pré-requisito crucial é que a carteira que está sendo phishing precisa ter o "Token" autorizado para "Uniswap"; o "Permit;2; ;Dapp; ou ;Swap; no Uniswap;, todos precisam ser autorizados para o ;Permit; 2; contract (o espinafre na foto abaixo usa um plug-in de segurança).
Outro ponto assustador é que não importa o valor que você deseja "Swap", o contrato "Permit;2" do Uniswap; permitirá que você autorize o "Token" por padrão, embora o "MetaMask" permita que você defina a entrada quantidade, mas acredito que a maioria das pessoas clicará diretamente no valor máximo ou padrão, e o valor padrão de ;Permitir;2; é uma quantidade ilimitada....
Isso também significa que, desde que você tenha interagido com "Uniswap" e autorizado o valor do contrato "Permit; 2" após 2023, você estará exposto ao risco desse golpe de phishing.
Como o foco está na função ;Permit; que interagiu com o contrato ;Permit;2; no endereço que termina em ;f;d5;1;, essa função simplesmente usa sua carteira para autorizá-lo a ;Permit; 2; O " Token" do contrato é transferido para outro endereço, ou seja, desde que você obtenha sua assinatura, o hacker pode obter a autoridade "Token" em sua carteira e transferir seus ativos.
Análise detalhada do evento
permissão; Função:
Ao mesmo tempo, você também precisa fornecer uma assinatura (assinatura), assim como assinar um contrato de papel, para provar que esse "contrato" é realmente assinado por você.
Então, como essa função funciona?
O foco está principalmente na função ;verify; e na função _updateApproval;.
verificar; função:
Pode-se ver que a função de verificação obterá os três dados; v, r, s; do parâmetro de informações da assinatura, v, r, s; é o valor da assinatura da transação e podem ser usados para restaurar o endereço da assinatura da transação, conforme mostrado na figura acima Pode ser visto no código que após o contrato restaurar o endereço da assinatura da transação, ele o compara com o endereço do proprietário do token de entrada. Se forem iguais, a verificação passa, e a chamada para a função _updateApproval; continua.Se forem diferentes, a transação é revertida.
_updateApproval; Função:
Quando a verificação da assinatura for aprovada, a função _updateApproval; será chamada para atualizar o valor da autorização, o que significa que suas permissões foram transferidas. Neste momento, é conveniente chamar a função ;transferfrom; para transferir o token para o endereço especificado após ser autorizado, conforme o código abaixo.
Ok, depois de explicar a função "permitir", vamos dar uma olhada na transação real da cadeia. Podemos descobrir os detalhes dessa interação:
proprietário; é pequeno; endereço da carteira de A; (número da cauda; 308; a)
Detalhes; você pode ver o autorizado; Token; endereço do contrato (USDT) e valor e outras informações
Spender; é o endereço do hacker com o número da cauda;f;d5;1;
sigDeadline;é o tempo efetivo da assinatura, e;assinatura;é a informação da assinatura do pequeno;A;
E olhando para os registros de interação de xiao;A; veremos que **xiao;A; usou o "Uniswap" antes e clicou no valor de autorização padrão, que é quase ilimitado. **
Uma revisão simples é que ** é pequeno; A; foi autorizado a "Uniswap Permit" no processo de uso de "Uniswap" antes; 2; ilimitado; USDT; valor, mas pequeno; A; acidentalmente ao realizar operações de carteira Caindo no ;Permitir;2; armadilha de phishing de assinatura projetada por hackers, o hacker obteve a assinatura de pequeno;A; e usou a assinatura de pequeno;A; no;Permitir;2;contrato;Permitir;e;Transferir de; As duas operações transferiu os bens do pequeno;A; para longe,** e o que Spinach observou é que o;Permit;2;contrato de "Uniswap; Only tornou-se ativo há alguns meses.
fonte:
E nos registros de interação, pode-se descobrir que quase a maioria deles são endereços de phishing marcados (Fake_Phishing) e as pessoas são constantemente enganadas.
fonte:;
Como prevenir?
Considerando que o contrato "Uniswap Permit; 2" pode se tornar mais popular no futuro, e haverá mais integração de projetos "Permit; 2;" contratos para autorização e compartilhamento, podemos pensar em métodos eficazes de prevenção da seguinte forma:
1 Entenda e reconheça o conteúdo da assinatura:
O formato de assinatura de Permit; geralmente inclui: Owner, Spender, value, nonce; e; Format. (Baixar um plugin de segurança é uma boa opção)
Recomendamos o seguinte plug-in anti-phishing "Beosin" a todos os leitores e amigos, que pode identificar a maioria dos sites de phishing no campo Web3 e proteger a carteira e a segurança dos ativos de todos.
Download do plug-in anti-phishing:
2 A carteira de ativos e a carteira interativa são usadas separadamente:
Se você tiver uma grande quantidade de ativos, é recomendável colocar todos os ativos em uma carteira fria e colocar uma pequena quantia de fundos na carteira que interage na cadeia, o que pode reduzir muito a perda em caso de golpes de phishing.
3 Não autorizar muito para;Permitir;2;Contratar ou cancelar autorização:
Ao "Swap" no "Uniswap", você autoriza apenas o valor com o qual deseja interagir, de modo que, embora cada interação exija uma reautorização, haverá alguns custos de interação, mas você pode evitar sofrer com "Permit;2; Sign Pescaria. Se você já autorizou a cota, pode encontrar o plug-in de segurança correspondente para cancelar a autorização.
**4 Identifique a natureza do token, se ele suporta; permite; função: **
No futuro, mais e mais tokens "ERC;20" podem usar este protocolo de extensão para realizar a função "permitir". Para você, você precisa prestar atenção se o token que você possui suporta esta função. token Seja extremamente cuidadoso em transações ou manipulações e verifique rigorosamente se cada assinatura desconhecida é a assinatura da função "permitir".
5 Se houver tokens armazenados em outras plataformas após serem enganados, é necessário formular um plano de resgate abrangente:
Quando você descobre que foi fraudado e que seus tokens foram transferidos por hackers, mas ainda possui tokens armazenados em outras plataformas por meio de métodos como penhor, etc., você precisa retirá-los e transferi-los para um endereço seguro. desta vez, você precisa saber que os hackers podem monitorar você o tempo todo O saldo do token do endereço, porque ele tem sua assinatura, desde que o token apareça no seu endereço roubado, o hacker pode transferi-lo diretamente. Neste momento, é necessário formular um processo de resgate de token completo. Os dois processos de extração de tokens e transferência de tokens precisam ser executados juntos. Transações de hackers não podem ser inseridas nele. Você pode usar a transferência "MEV", que requer algum blockchain conhecimento e habilidades de código. , Você também pode procurar uma empresa de segurança profissional, como; Beosin; equipe para usar o script de transação preventiva para alcançar.
Acredito que haverá cada vez mais phishing baseado em "Permit;2;" no futuro, **este método de assinatura de phishing é extremamente oculto e difícil de prevenir, e com a aplicação mais ampla de "Permit;2; Haverá mais e mais endereços abaixo dele. Espero que você na frente da tela possa espalhá-lo para mais pessoas depois de ler este artigo, para evitar que mais pessoas sejam roubadas. **
Referência: