¿Firma robada? Tenga cuidado con el phishing de firmas Uniswap Permit2

**Este artículo está escrito por; Beosin; investigador independiente invitado especial Spinach Spinach! (twitter@wzxznl) Publicación en coautoría con Beosin, investigador de seguridad, Sivan; *

Hackers, esta es una existencia que asusta a todos en el ecosistema Web 3. Por el lado del proyecto, cuando los hackers de todo el mundo pueden mirarlo fijamente, la naturaleza de código abierto del código hace que el lado del proyecto tenga miedo de escribir una línea de código incorrecta cuando en desarrollo Dejando lagunas, una vez que ocurre un incidente de seguridad, las consecuencias serán difíciles de soportar.

**Para las personas, si no entiende lo que está haciendo, cada interacción en cadena o firma que realice tiene el potencial de que le roben sus activos. ** Por lo tanto, los problemas de seguridad siempre han sido uno de los más problemáticos en el mundo del cifrado, y debido a las características de la cadena de bloques, una vez que se roban los activos, casi no hay forma de recuperarlos, por lo que es especialmente importante tener conocimientos de seguridad en el mundo del cifrado.

Recientemente, el buen amigo de **Beosin;, Spinach, descubrió un nuevo método de phishing que ha estado activo en los últimos dos meses, mientras se robe la firma, el método está extremadamente oculto y es difícil de prevenir, y used;Uniswap; Todas las direcciones interactivas pueden estar expuestas a riesgos. Este artículo; Beosin; y el investigador independiente Pincai realizan conjuntamente ciencia popular sobre esta técnica de phishing característica y tratan de evitar más pérdidas de activos para todos. **

El siguiente es un recuento de la experiencia personal de Spinach:

proceso

Recientemente, un amigo (tentativamente llamado Xiao;A) encontró a Spinach después de que le robaran los activos en su billetera. A diferencia de la forma habitual de robo, Xiao;A; no reveló la clave privada ni interactuó con el contrato del sitio web de phishing. Entonces Spinach comenzó a investigar el robo de activos.

¿Firma robada? Tenga cuidado con el phishing de firmas Uniswap Permit2

En el navegador de la cadena de bloques, puede ver que la pequeña ;A; billetera robada; USDT; se transfiere a través de ;Transferir desde; Token; Cuando se transfieren fondos, en realidad se llama a la función "Transferir" del contrato inteligente "Token". ;Transferir desde; significa que un tercero transfiere el ;Token; en una dirección a otra dirección. **Esto también significa que el activo robado se transfirió desde otra dirección, Token, en lugar de filtrar la clave privada de la billetera.

¿Firma robada? Tenga cuidado con el phishing de firmas Uniswap Permit2

Al consultar los detalles de la transacción, podemos encontrar algunas pistas clave:

El domicilio con número de cola;f;d5;1; transfiere los bienes del pequeño;A; al domicilio con número de cola;a;0;c;8;

Esta operación interactúa con el;Permiso;2;contrato de;Uniswap;

Entonces aquí viene la duda, ¿cómo la dirección que termina en ;f;d5;1; obtuvo el permiso de este activo? ¿Por qué se relaciona con "Uniswap"? ¿Firma robada? Tenga cuidado con el phishing de firmas Uniswap Permit2

En primer lugar, debemos saber que para llamar con éxito a la función "Transferir desde;", la premisa es que la persona que llama debe tener la autoridad de cuota "Token", es decir, "aprobar". Creo que todos los que tienen operado en la cadena debe estar familiarizado con él Cuando usamos algún "Dapp", una vez que se trata de la transferencia de activos, primero debemos realizar una operación de autorización (aprobar), de modo que el contrato "Dapp" tenga derecho a transferir nuestros bienes.

Para resolver este acertijo, necesitamos seguir investigando, y la respuesta está en el registro de interacción de la dirección que termina en ;f;d5;1;, en esta dirección, ;Transfer From;transfer small;A; Before el activo, puede ver que la dirección también ha realizado una operación de "Permiso", y los objetos de interacción de estas dos operaciones son el contrato "Permiso; 2" de "Uniswap", luego esta función "Permiso" y "Permiso de Uniswap" ;2;¿Cuál es la situación?

![¿Firma robada? Tenga cuidado con el phishing de firma Uniswap Permit2] (https://img.gateio.im/social/moments-7f230462a9-e1a4e655fc-dd1a6f-62a40f)

El Uniswap Permit;2; el contrato es; Uniswap; a fines de; 2022; se lanzó el nuevo contrato inteligente, según el comunicado oficial, este es un contrato de aprobación de token que permite compartir y administrar la autorización de token en diferentes aplicaciones, Create una experiencia de usuario más unificada, rentable y segura.

Y en el futuro, a medida que más y más proyectos se integren con Permit; 2, Permit; 2; se puede estandarizar en todas las aplicaciones; Token; aprobado. Permit;2 mejorará la experiencia del usuario al reducir los costos de transacción al tiempo que aumenta la seguridad de los contratos inteligentes.

¿Firma robada? Tenga cuidado con el phishing de firmas Uniswap Permit2

Entendamos primero por qué "Uniswap" quiere lanzar "Permit;2;, supongamos un escenario, cuando queremos "Swap" en un determinado "Dex", el método de interacción tradicional es que necesitamos autorizar (aprobar) Dar esto "Dex", y luego "Swap", que generalmente nos cuesta dos tarifas de "gasolina", y el costo de fricción es demasiado alto para los usuarios. Creo que todos han tenido esa experiencia. ¿Firma robada? Tenga cuidado con el phishing de firmas Uniswap Permit2

Fuente de imagen:

El lanzamiento de "Permit; 2" puede cambiar todas las reglas del juego ecológico "Dapp". En pocas palabras, el método tradicional es que debe autorizar cada vez que interactúa con un "Dapp" para la transferencia de activos, y; Permit; 2; Este paso se puede omitir, lo que puede reducir efectivamente el costo de interacción del usuario y brindar una mejor experiencia de usuario.

La solución es;Permit;2;como intermediario entre el usuario y el;Dapp;, el usuario solo necesita autorizar el permiso del;Token;al;Permit;2;contrato, todo integrado;Permit;2;contrato ;Dapp; Esta cantidad autorizada se puede compartir. Para los usuarios, reduce los costos de interacción y mejora la experiencia del usuario. Para "Dapp", la mejora de la experiencia del usuario trae más usuarios y fondos. Esta es una situación en la que todos ganan, pero al mismo tiempo tiempo, esto también puede ser un arma de doble filo, y el problema radica en la forma en que ;Permit;2; interactúa.

En el modo de interacción tradicional, ya sea autorización o transferencia de fondos, es una interacción en la cadena para el usuario de la operación. Y ;Permit;2; convierte la operación del usuario en una firma fuera de la cadena, y todas las operaciones en la cadena se completan con un rol intermedio (como;Permit;2;contrato e integrado;Permit;2; parte del proyecto, etc. ), el beneficio que trae este esquema es que debido a que el rol de interacción en la cadena se transfiere del usuario al rol intermedio, incluso si el usuario no tiene "ETH" en la billetera, puede usar otros "Token" para pagar la tarifa de "Gas" o ser reembolsado completamente por el rol intermedio Depende de la elección de los roles intermedios. ¿Firma robada? Tenga cuidado con el phishing de firmas Uniswap Permit2

Fuente de imagen:

Aunque la aparición de "Permit;2" puede cambiar las futuras reglas del juego "Dapp", se puede ver que esta es una fuerte espada de doble filo. Para los usuarios, las firmas fuera de la cadena son la forma más fácil de bajar la guardia. Enlaces , como cuando iniciamos sesión en algún "Dapp" con una billetera, necesitamos una firma para conectarnos, y la mayoría de las personas no verifican el contenido de la firma con cuidado y no entienden el contenido de la firma, y esto es el lugar más aterrador.

Entendido;Permiso;2;Contrato, de vuelta al pequeño;A;evento, entendemos por qué los activos son robados e interactúan con;Permiso;2;Contrato, luego dejemos que Spinach reproduzca esto;Permiso; 2. Método de phishing de firma, en primer lugar , un requisito previo crucial es que la billetera que se está phishing debe tener el "Token" autorizado para "Uniswap"; el "Permit;2; ;Dapp; o ;Swap; en Uniswap; todos deben estar autorizados para el ;Permit; 2; contrato (la espinaca en la imagen de abajo usa un complemento de seguridad). ¿Firma robada? Tenga cuidado con el phishing de firmas Uniswap Permit2

Otro punto aterrador es que no importa la cantidad que quieras "Swap", el contrato "Permit;2" de Uniswap; te permitirá autorizar el "Token" por defecto, aunque el "MetaMask" te permitirá definir la entrada. cantidad, pero creo que la mayoría de la gente hará clic directamente en el valor máximo o predeterminado, y el valor predeterminado de ;Permit;2; es una cantidad ilimitada...

¿Firma robada? Tenga cuidado con el phishing de firmas Uniswap Permit2

Esto también significa que siempre que haya interactuado con "Uniswap" y haya autorizado el monto del contrato "Permiso; 2" después de 2023, estará expuesto al riesgo de esta estafa de phishing.

Debido a que el foco está en la función ;Permit; que interactuó con el contrato ;Permit;2; en la dirección que termina en ;f;d5;1;, esta función simplemente usa su billetera para autorizarle a ;Permit; 2; El " Token" del contrato se transfiere a otra dirección, es decir, siempre que obtenga su firma, el pirata informático puede obtener la autoridad de "Token" en su billetera y transferir sus activos.

Análisis detallado del evento

permiso; Función:

¿Firma robada? Tenga cuidado con el phishing de firmas Uniswap Permit2 Puede pensar en la función "Permiso" como una forma de firmar contratos en línea. Esta función le permite (PermitSingle) firmar previamente un "contrato" que le permite a otra persona (gastador) gastar algunos de sus tokens en algún momento en el futuro.

Al mismo tiempo, también debe proporcionar una firma (firma), al igual que firmar un contrato en papel, para demostrar que este "contrato" realmente está firmado por usted.

Entonces, ¿cómo funciona esta función?

  1. Primero, verificará si la hora actual excede el período de validez de su firma (sigDeadline). Al igual que el contrato que firmó tiene una fecha de vencimiento, si el tiempo actual supera la fecha de vencimiento, este "contrato" ya no se puede usar y el programa se detendrá directamente.
  2. A continuación, comprueba que tu firma es realmente tuya. El programa utilizará un método especial (signature.verify) para verificar la firma y garantizar que la firma realmente esté firmada por usted y no haya sido falsificada por otros.
  3. Finalmente, si se aprueban las comprobaciones, el programa actualizará el registro para señalar que ha permitido que otros usen algunos de sus tokens.

El foco está principalmente en la función ;verify; y la función _updateApproval;.

verificar; función:

¿Firma robada? Tenga cuidado con el phishing de firmas Uniswap Permit2

Se puede ver que la función verificar; obtendrá los tres datos; v, r, s; del parámetro de información de firma, v, r, s; es el valor de la firma de la transacción, y se pueden usar para restaurar la dirección de la firma de la transacción, como se muestra en la figura anterior Se puede ver en el código que después de que el contrato restaura la dirección de la firma de la transacción, la compara con la dirección del propietario del token entrante. Si son iguales, la verificación pasa, y continúa la llamada a la función _updateApproval;, si son diferentes, se revierte la transacción.

_updateApproval; Función:

¿Firma robada? ¡Cuidado con el phishing de firmas Uniswap Permit2¿Firma robada? Tenga cuidado con el phishing de firmas Uniswap Permit2

Cuando se pasa la verificación de la firma, se llamará a la función _updateApproval; para actualizar el valor de la autorización, lo que significa que sus permisos han sido transferidos. En este momento, es conveniente llamar a la función ;transferfrom; para transferir el token a la dirección especificada después de ser autorizado, como se muestra en el código a continuación.

¿Firma robada? ¡Cuidado con el phishing de firmas Uniswap Permit2¿Firma robada? Tenga cuidado con el phishing de firmas Uniswap Permit2

Bien, después de explicar la función "permiso", echemos un vistazo a la transacción real en la cadena. Podemos averiguar los detalles de esta interacción:

propietario; es pequeño; dirección de la billetera de A; (número de cola; 308; a)

Detalles; puede ver el autorizado; Token; dirección del contrato (USDT) y cantidad y otra información

Spender; es la dirección del hacker con número de cola; f; d5; 1;

sigDeadline; es el momento efectivo de la firma, y;signature; es la información de la firma de small;A;

¿Firma robada? Tenga cuidado con el phishing de firmas Uniswap Permit2

Y mirando hacia atrás en los registros de interacción de xiao;A; encontraremos que **xiao;A; usó "Uniswap" antes e hizo clic en la cantidad de autorización predeterminada, que es casi ilimitada. **

¿Firma robada? Tenga cuidado con el phishing de firmas Uniswap Permit2

Una revisión simple es que ** es pequeño; A; fue autorizado a "Uniswap Permit" en el proceso de uso de "Uniswap" antes; 2; ilimitado; USDT; monto, pero pequeño; A; accidentalmente al realizar operaciones de billetera Cayendo en el ;Permit;2; trampa de phishing de firma diseñada por piratas informáticos, el pirata informático obtuvo la firma de small;A; y usó la firma de small;A; en el;Permit;2;contrato;Permit;y;Transfer From; Las dos operaciones transfirió los activos de la pequeña;A;** y lo que Spinach ha observado es que el;permiso;2;contrato de "Uniswap" solo se activó hace unos meses.

¿Firma robada? Tenga cuidado con el phishing de firmas Uniswap Permit2

fuente:

Y en los registros de interacción, se puede encontrar que casi la mayoría de ellos están marcados como direcciones de phishing (Fake_Phishing), y las personas son engañadas constantemente.

¿Firma robada? Tenga cuidado con el phishing de firmas Uniswap Permit2

fuente:;

¿Como prevenir?

Teniendo en cuenta que el contrato "Permiso de Uniswap; 2" puede volverse más popular en el futuro, y habrá más contratos de integración de proyectos "Permiso; 2;" para autorización y uso compartido, podemos pensar en métodos de prevención efectivos de la siguiente manera:

1 Comprender y reconocer el contenido de la firma:

El formato de la firma del permiso generalmente incluye: propietario, gastador, valor, nonce y formato. (Descargar un complemento de seguridad es una buena opción)

¿Firma robada? Tenga cuidado con el phishing de firmas Uniswap Permit2

Recomendamos el siguiente complemento antiphishing "Beosin" a todos los lectores y amigos, que puede identificar la mayoría de los sitios web de phishing en el campo Web3 y proteger la billetera y la seguridad de los activos de todos.

¿Firma robada? Tenga cuidado con el phishing de firmas Uniswap Permit2

Descarga del complemento antiphishing:

2 La billetera de activos y la billetera interactiva se usan por separado:

Si tiene una gran cantidad de activos, se recomienda colocar todos los activos en una billetera fría y colocar una pequeña cantidad de fondos en la billetera interactiva en la cadena, lo que puede reducir en gran medida la pérdida en caso de estafas de phishing.

3 No autorizar monto excesivo para;Permitir;2;Contratar o cancelar autorización:

Cuando haces "Swap" en "Uniswap", solo autorizas la cantidad con la que deseas interactuar, por lo que aunque cada interacción requiere una reautorización, habrá algunos costos de interacción, pero puedes evitar sufrir "Permiso; 2; Firma Pesca. Si ya ha autorizado la cuota, puede encontrar el complemento de seguridad correspondiente para cancelar la autorización.

**4 Identifique la naturaleza del token, si admite, permite, función: **

En el futuro, más y más tokens "ERC;20" pueden usar este protocolo de extensión para realizar la función de "permiso". Para usted, debe prestar atención a si el token que posee es compatible con esta función. Si es así, entonces para el token Tenga mucho cuidado en las transacciones o manipulaciones, y verifique estrictamente si cada firma desconocida es la firma de la función "permiso".

5 Si hay tokens almacenados en otras plataformas después de haber sido engañados, es necesario formular un plan de rescate integral:

Cuando descubre que ha sido estafado y que los piratas informáticos han transferido sus tokens, pero aún tiene tokens almacenados en otras plataformas a través de métodos como compromiso, etc., debe retirarlos y transferirlos a una dirección segura. esta vez, debe saber que los piratas informáticos pueden monitorearlo todo el tiempo El saldo del token de la dirección, porque tiene su firma, siempre que el token aparezca en su dirección robada, el pirata informático puede transferirlo directamente. En este momento, es necesario formular un proceso completo de rescate de tokens. Los dos procesos de extracción de tokens y transferencia de tokens deben ejecutarse juntos. Las transacciones de piratas informáticos no se pueden insertar en él. Puede usar la transferencia "MEV", que requiere algo de blockchain conocimiento y habilidades de código. También puede buscar una empresa de seguridad profesional como; Beosin; equipo para usar el script preventivo de transacción para lograrlo.

Creo que habrá cada vez más phishing basado en "Permit;2;" en el futuro, **este método de phishing de firmas está extremadamente oculto y es difícil de prevenir, y con la aplicación más amplia de "Permit;2; Habrá más y más direcciones debajo de él. Espero que usted frente a la pantalla pueda difundirlo a más personas después de leer este artículo, para evitar que más personas sean robadas. **

Referencia:

Ver originales
El contenido es solo de referencia, no una solicitud u oferta. No se proporciona asesoramiento fiscal, legal ni de inversión. Consulte el Descargo de responsabilidad para obtener más información sobre los riesgos.
  • Recompensa
  • Comentar
  • Compartir
Comentar
0/400
Sin comentarios
  • Anclado
Comercie con criptomonedas en cualquier lugar y en cualquier momento
qrCode
Escanee para descargar la aplicación Gate.io
Comunidad
Español
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)