Reenviar el título original '大白话讲解Web3签名钓鱼底层逻辑“授权钓鱼、Permit与Permit2的区别’
"¿Por qué perdí mi dinero solo con firmar mi nombre?" El "phishing de firmas" se está convirtiendo actualmente en el método de phishing favorito para los hackers en Web3. Recientemente, he visto a muchos expertos como Cosine, varias billeteras y empresas de seguridad promocionando y educando continuamente sobre el conocimiento de las firmas de phishing. A pesar de ello, aún hay muchas personas que caen en el phishing a diario.
Una razón por la que Spinach cree es que la mayoría de las personas no entienden la lógica subyacente de los intercambios de billeteras, y para aquellos que no son expertos en tecnología, la curva de aprendizaje es demasiado alta. Entonces, Spinach decidió crear una versión ilustrada para educar a las personas sobre la lógica subyacente del phishing de firma e intentar que sea comprensible incluso para personas no expertas en tecnología.
Primero, necesitamos entender que solo hay dos tipos de operaciones al usar una billetera: "firmar" e "intercambiar". La comprensión más simple y directa es: firmar ocurre fuera de la cadena de bloques (fuera de la cadena) y no requiere gastar tarifas de Gas; intercambiar ocurre en la cadena de bloques (en la cadena) y requiere gastar tarifas de Gas.
El escenario común para firmar es verificar que eres tú, como al iniciar sesión en una billetera. Por ejemplo, si quieres intercambiar tokens en Uniswap, primero necesitas conectar tu billetera. En este punto, necesitas firmar un mensaje para decirle al sitio web “Soy el propietario de esta billetera”, y luego puedes usar Uniswap. Este paso no causa cambios de datos ni de estado en la cadena de bloques, por lo que no requiere gastar dinero.
En cuanto al intercambio, cuando realmente desea intercambiar tokens en Uniswap, necesita gastar algo de dinero para decirle al contrato inteligente de Uniswap: "Quiero intercambiar 100 USDT por la moneda Spinach, y te autorizo a mover mis 100 USDT". Este paso se llama aprobación. Luego, necesita gastar otra cantidad de dinero para decirle al contrato inteligente de Uniswap: "Ahora estoy listo para intercambiar 100 USDT por la moneda Spinach, puedes proceder con la operación ahora". Después de eso, ha completado la operación de intercambiar 100 USDT por la moneda Spinach.
Después de comprender de forma sencilla la diferencia entre firmas e intercambios, introducimos el principio del phishing. El phishing generalmente implica tres métodos diferentes: Phishing de Autorización, Phishing de Firma de Permiso y Phishing de Firma de Permiso2. Estos tres métodos son muy comunes en el phishing.
Comencemos con el Phishing de Autorización, que es una de las técnicas clásicas de phishing en Web3. Como su nombre indica, explota el mecanismo de autorización (aprobar). Como se ve en el ejemplo de Uniswap, la autorización permite que un contrato inteligente "te apruebe para mover xxx cantidad de mis Tokens." Un hacker puede crear un sitio web falso de phishing, disfrazado como un proyecto de NFT con un atractivo frontend. En medio del sitio web, hay un hermoso botón grande que dice "Reclama tu Airdrop." Al hacer clic, la billetera muestra una pantalla pidiéndote que autorices tus Tokens a la dirección del hacker. Si confirmas esto, felicidades, el hacker ha completado con éxito un KPI.
Pero la suplantación de identidad tiene un problema: debido a que requiere tarifas de Gas, muchas personas son cautelosas a la hora de gastar dinero. Después de hacer clic en un sitio web sospechoso, la gente a menudo se da cuenta rápidamente de que algo está mal, lo que hace que sea relativamente fácil de prevenir.
Ahora pasemos al enfoque de hoy: el phishing de firma de Permiso y Permiso2, que son puntos calientes en el campo de la seguridad de activos Web3. ¿Por qué son tan difíciles de defender? Es porque cada vez que quieres usar una Dapp, debes iniciar sesión en tu billetera. Muchas personas han desarrollado una inercia en su pensamiento: 'Esta operación es segura'. Además, no requiere gastar dinero y la mayoría de las personas no entienden las implicaciones detrás de cada firma.
Primero, veamos el mecanismo de Permiso. El Permiso es una característica de extensión para la autorización bajo el estándar ERC-20. Por ejemplo, USDT, que comúnmente usamos, es un token ERC-20. En términos simples, el Permiso te permite firmar y aprobar a otras personas para que muevan tus Tokens. Sabemos que la autorización (Aprobar) es cuando gastas dinero diciéndole al contrato inteligente: "Puedes mover xxx cantidad de mis Tokens". Entonces, el Permiso es como firmar una "nota" a alguien, diciendo: "Permito que alguien mueva xxx cantidad de mis Tokens". Entonces, esa persona presenta esta "nota" al contrato inteligente y paga una tarifa de Gas, diciéndole al contrato inteligente: "Él me permite mover xxx cantidad de sus Tokens". Entonces, tus Tokens pueden ser transferidos por otra persona. En este proceso, simplemente firmas un nombre, pero detrás de eso, significa que permites que otros llamen a la autorización (Aprobar) y transfieran tus Tokens. Un hacker puede crear un sitio web de phishing, reemplazando el botón de inicio de sesión de la billetera con un botón de phishing de Permiso, lo que facilita el robo de tus activos.
Entonces, ¿qué es Permit2? Permit2 en realidad no es una función de ERC-20, sino una función lanzada por Uniswap para la conveniencia de los usuarios. El ejemplo anterior dijo que si quieres intercambiar USDT por monedas de espinacas en Uniswap, necesitas autorizar (Aprobar) una vez y luego intercambiarlo, lo que requiere dos tarifas de gas, así que Uniswap ideó una forma: “Me autorizas todo el cupo de una vez, y firmas tu nombre cada vez que lo canjees y yo me encargaré de ello por ti.” Esta función ayuda a los usuarios de Uniswap. Solo necesitas pagar la tarifa de Gas una vez al usarlo, y este paso es firmar, por lo que la tarifa de Gas en realidad no la pagas tú, sino que la paga el contrato de Permit2, pero se deducirá del Token que finalmente canjees.
Sin embargo, la condición para el phishing de Permit2 es que debes haber usado previamente Uniswap y autorizado una asignación ilimitada al contrato inteligente de Permit2. Dado que la operación predeterminada de Uniswap es actualmente otorgar una asignación ilimitada, el número de usuarios que cumplen con esta condición es bastante grande. Del mismo modo, siempre que un hacker te engañe para firmar el Permit2, podrá transferir tus Tokens (limitados a los que hayas autorizado previamente).
En resumen, la esencia del phishing de autorización es que gastas dinero para decirle al contrato inteligente: “Te apruebo para mover mis Tokens al hacker.” La esencia del phishing de firma es que firmas una “nota” que permite a otros mover tus activos al hacker, y el hacker gasta dinero para decirle al contrato inteligente: “Quiero mover sus Tokens hacia mí.” Permit y Permit2 son actualmente puntos calientes para las firmas de phishing. Permit es una característica de extensión de autorización de ERC-20, mientras que Permit2 es una nueva característica introducida por Uniswap.
Entonces, ¿cómo puedes prevenir estos ataques de phishing una vez que entiendes los principios?
Desarrollar conciencia de seguridad:Es crucial verificar siempre qué operación estás realizando cada vez que interactúas con tu billetera.
Separar grandes fondos y monederos para actividades en cadena:** Al separar grandes fondos de los monederos utilizados para actividades en cadena, puedes minimizar las pérdidas si caes víctima de phishing.
Aprenda a identificar los formatos de firma de Permiso y Permiso2: ** Esté atento siempre que encuentre los siguientes formatos de firma:
Interactivo: URL del intercambio
Propietario: Dirección del autorizador
Spender: Dirección de la parte autorizada
Valor: Cantidad autorizada
Nonce: Número aleatorio
Plazo: Hora de vencimiento
Пригласить больше голосов
Содержание
Reenviar el título original '大白话讲解Web3签名钓鱼底层逻辑“授权钓鱼、Permit与Permit2的区别’
"¿Por qué perdí mi dinero solo con firmar mi nombre?" El "phishing de firmas" se está convirtiendo actualmente en el método de phishing favorito para los hackers en Web3. Recientemente, he visto a muchos expertos como Cosine, varias billeteras y empresas de seguridad promocionando y educando continuamente sobre el conocimiento de las firmas de phishing. A pesar de ello, aún hay muchas personas que caen en el phishing a diario.
Una razón por la que Spinach cree es que la mayoría de las personas no entienden la lógica subyacente de los intercambios de billeteras, y para aquellos que no son expertos en tecnología, la curva de aprendizaje es demasiado alta. Entonces, Spinach decidió crear una versión ilustrada para educar a las personas sobre la lógica subyacente del phishing de firma e intentar que sea comprensible incluso para personas no expertas en tecnología.
Primero, necesitamos entender que solo hay dos tipos de operaciones al usar una billetera: "firmar" e "intercambiar". La comprensión más simple y directa es: firmar ocurre fuera de la cadena de bloques (fuera de la cadena) y no requiere gastar tarifas de Gas; intercambiar ocurre en la cadena de bloques (en la cadena) y requiere gastar tarifas de Gas.
El escenario común para firmar es verificar que eres tú, como al iniciar sesión en una billetera. Por ejemplo, si quieres intercambiar tokens en Uniswap, primero necesitas conectar tu billetera. En este punto, necesitas firmar un mensaje para decirle al sitio web “Soy el propietario de esta billetera”, y luego puedes usar Uniswap. Este paso no causa cambios de datos ni de estado en la cadena de bloques, por lo que no requiere gastar dinero.
En cuanto al intercambio, cuando realmente desea intercambiar tokens en Uniswap, necesita gastar algo de dinero para decirle al contrato inteligente de Uniswap: "Quiero intercambiar 100 USDT por la moneda Spinach, y te autorizo a mover mis 100 USDT". Este paso se llama aprobación. Luego, necesita gastar otra cantidad de dinero para decirle al contrato inteligente de Uniswap: "Ahora estoy listo para intercambiar 100 USDT por la moneda Spinach, puedes proceder con la operación ahora". Después de eso, ha completado la operación de intercambiar 100 USDT por la moneda Spinach.
Después de comprender de forma sencilla la diferencia entre firmas e intercambios, introducimos el principio del phishing. El phishing generalmente implica tres métodos diferentes: Phishing de Autorización, Phishing de Firma de Permiso y Phishing de Firma de Permiso2. Estos tres métodos son muy comunes en el phishing.
Comencemos con el Phishing de Autorización, que es una de las técnicas clásicas de phishing en Web3. Como su nombre indica, explota el mecanismo de autorización (aprobar). Como se ve en el ejemplo de Uniswap, la autorización permite que un contrato inteligente "te apruebe para mover xxx cantidad de mis Tokens." Un hacker puede crear un sitio web falso de phishing, disfrazado como un proyecto de NFT con un atractivo frontend. En medio del sitio web, hay un hermoso botón grande que dice "Reclama tu Airdrop." Al hacer clic, la billetera muestra una pantalla pidiéndote que autorices tus Tokens a la dirección del hacker. Si confirmas esto, felicidades, el hacker ha completado con éxito un KPI.
Pero la suplantación de identidad tiene un problema: debido a que requiere tarifas de Gas, muchas personas son cautelosas a la hora de gastar dinero. Después de hacer clic en un sitio web sospechoso, la gente a menudo se da cuenta rápidamente de que algo está mal, lo que hace que sea relativamente fácil de prevenir.
Ahora pasemos al enfoque de hoy: el phishing de firma de Permiso y Permiso2, que son puntos calientes en el campo de la seguridad de activos Web3. ¿Por qué son tan difíciles de defender? Es porque cada vez que quieres usar una Dapp, debes iniciar sesión en tu billetera. Muchas personas han desarrollado una inercia en su pensamiento: 'Esta operación es segura'. Además, no requiere gastar dinero y la mayoría de las personas no entienden las implicaciones detrás de cada firma.
Primero, veamos el mecanismo de Permiso. El Permiso es una característica de extensión para la autorización bajo el estándar ERC-20. Por ejemplo, USDT, que comúnmente usamos, es un token ERC-20. En términos simples, el Permiso te permite firmar y aprobar a otras personas para que muevan tus Tokens. Sabemos que la autorización (Aprobar) es cuando gastas dinero diciéndole al contrato inteligente: "Puedes mover xxx cantidad de mis Tokens". Entonces, el Permiso es como firmar una "nota" a alguien, diciendo: "Permito que alguien mueva xxx cantidad de mis Tokens". Entonces, esa persona presenta esta "nota" al contrato inteligente y paga una tarifa de Gas, diciéndole al contrato inteligente: "Él me permite mover xxx cantidad de sus Tokens". Entonces, tus Tokens pueden ser transferidos por otra persona. En este proceso, simplemente firmas un nombre, pero detrás de eso, significa que permites que otros llamen a la autorización (Aprobar) y transfieran tus Tokens. Un hacker puede crear un sitio web de phishing, reemplazando el botón de inicio de sesión de la billetera con un botón de phishing de Permiso, lo que facilita el robo de tus activos.
Entonces, ¿qué es Permit2? Permit2 en realidad no es una función de ERC-20, sino una función lanzada por Uniswap para la conveniencia de los usuarios. El ejemplo anterior dijo que si quieres intercambiar USDT por monedas de espinacas en Uniswap, necesitas autorizar (Aprobar) una vez y luego intercambiarlo, lo que requiere dos tarifas de gas, así que Uniswap ideó una forma: “Me autorizas todo el cupo de una vez, y firmas tu nombre cada vez que lo canjees y yo me encargaré de ello por ti.” Esta función ayuda a los usuarios de Uniswap. Solo necesitas pagar la tarifa de Gas una vez al usarlo, y este paso es firmar, por lo que la tarifa de Gas en realidad no la pagas tú, sino que la paga el contrato de Permit2, pero se deducirá del Token que finalmente canjees.
Sin embargo, la condición para el phishing de Permit2 es que debes haber usado previamente Uniswap y autorizado una asignación ilimitada al contrato inteligente de Permit2. Dado que la operación predeterminada de Uniswap es actualmente otorgar una asignación ilimitada, el número de usuarios que cumplen con esta condición es bastante grande. Del mismo modo, siempre que un hacker te engañe para firmar el Permit2, podrá transferir tus Tokens (limitados a los que hayas autorizado previamente).
En resumen, la esencia del phishing de autorización es que gastas dinero para decirle al contrato inteligente: “Te apruebo para mover mis Tokens al hacker.” La esencia del phishing de firma es que firmas una “nota” que permite a otros mover tus activos al hacker, y el hacker gasta dinero para decirle al contrato inteligente: “Quiero mover sus Tokens hacia mí.” Permit y Permit2 son actualmente puntos calientes para las firmas de phishing. Permit es una característica de extensión de autorización de ERC-20, mientras que Permit2 es una nueva característica introducida por Uniswap.
Entonces, ¿cómo puedes prevenir estos ataques de phishing una vez que entiendes los principios?
Desarrollar conciencia de seguridad:Es crucial verificar siempre qué operación estás realizando cada vez que interactúas con tu billetera.
Separar grandes fondos y monederos para actividades en cadena:** Al separar grandes fondos de los monederos utilizados para actividades en cadena, puedes minimizar las pérdidas si caes víctima de phishing.
Aprenda a identificar los formatos de firma de Permiso y Permiso2: ** Esté atento siempre que encuentre los siguientes formatos de firma:
Interactivo: URL del intercambio
Propietario: Dirección del autorizador
Spender: Dirección de la parte autorizada
Valor: Cantidad autorizada
Nonce: Número aleatorio
Plazo: Hora de vencimiento