Profundidad aún más 7702 principio del ataque de pesca, Billetera y usuarios ¿cómo deberían prevenir?

EIP-7702 otorga a la DIRECCIÓN capacidades y flexibilidad similares a los contratos inteligentes, y cada vez se están creando más aplicaciones 7702, lo cual es crucial para permitir que más personas ingresen a Web3 y mejorar la experiencia del usuario.

Sin embargo, la flexibilidad de 7702 y la falta de familiaridad de la mayoría de los usuarios con 7702 están siendo explotadas por bandas de fraude. Recientemente, hemos observado que algunos usuarios han sido víctimas de robo debido a la capacidad de ejecución masiva de Metamask 7702, que permitió a la banda de phishing #InfernoDrainer combinar lo que originalmente requería más de diez autorizaciones en una sola transacción, lo que llevó al robo de activos.

Nota: Metamask en sí no tiene problemas de seguridad, Metamask prioriza la seguridad del usuario al proporcionar a los usuarios capacidades relacionadas con 7702 y ha tomado muchas medidas de seguridad. Los usuarios necesitan saber más sobre las capacidades y los riesgos asociados de 7702 para evitar que estos incidentes de seguridad vuelvan a ocurrir.

Uno, principio de autorización de firma y diseño de seguridad de Metamask 7702 Delagator

  1. Análisis técnico

Autorizado por el usuario, el contrato Delegador desplegado apunta el campo code de la cuenta del usuario a dicho contrato. La dirección actual del contrato Delegador oficial de MetaMask es: 0x63c0c19a282a1B52b07dD5a65b58948A07DAE32B

Estructura de autorización: (chainId, delegatorAddress, nonce, signature)escribir en authorization_list

Método de firma: Metamask utiliza una lógica de firma unificada para las transacciones de autorización relacionadas con EIP-7702, es decir, el método signEIP7702Authorization y digest7702 = keccak256(0x05 ‖ RLP(chainId, delegador, nonce)) firma ECDSA, genere (v, r s) estructura de firma y adjúntela a las transacciones posteriores de tipo 4 para realizar la autorización y actualización de la cuenta, como se describe en:

Método de verificación: la capa de consenso verifica mediante ecrecover(digest7702, sig) == tx.from.

Diseño de seguridad: la interfaz web no puede inducir a los usuarios a autorizar a ningún Delegador, ya que el método signEIP7702Authorization solo se implementa dentro de la billetera MetaMask y no se abre a la llamada desde window.ethereum en la interfaz web.** Los métodos de firma accesibles desde la web, como eth_signTypedData_v4, no son aplicables para la firma de autorización EIP-7702, y su formato de resumen de firma es el siguiente:

y el formato de firma requerido por la especificación EIP-7702 es:

Debido a que eth_signTypedData_v4 incluye de forma fija el prefijo 0x1901 y el proceso de cálculo de resumen es completamente diferente al de 7702, es casi imposible que, incluso construyendo hábilmente domainSeparator, primaryType y message, digest712 sea igual a digest7702.

Por lo tanto, la web no puede falsificar una firma de autorización 7702 legítima a través de este método. Además, MetaMask también implementa un mecanismo de lista blanca para las direcciones del Delegador, que es el predeterminado y solo permite el Delegador oficial autorizado (0x63c0... 32B), que prohíbe que las DApps inyecten direcciones por sí mismas, lo que evita aún más que los usuarios sean inducidos a firmar datos de autorización de Delegator maliciosos.

  1. Método de uso

Actualmente, en Metamask, la forma principal de actualizar una EOA existente a una cuenta inteligente 7702 (Smart Account) se divide en dos categorías: actualización activa y actualización pasiva.

La actualización activa se refiere a que el usuario hace clic en el botón "cambiar" en la interfaz de la billetera, autorizando un contrato de delegador específico.

La actualización pasiva ocurre cuando los usuarios interactúan con ciertas DApp que soportan 7702; Metamask detecta la operación relacionada y mostrará automáticamente un aviso, sugiriendo al usuario que complete la actualización.

2.1 Actualización activa:

Contenido de la transacción: solo incluye la acción de actualizar la cuenta, es decir, autorizar un contrato de delegador específico.

Proceso de actualización: ingrese a la interfaz de detalles de la cuenta en la billetera, haga clic en el botón de conmutación en la imagen de abajo, para actualizar la cuenta del usuario en Ethereum Mainnet a una DIRECCIÓN inteligente. Después de hacer clic en conmutar, aparecerá la ventana de firma del usuario para la transacción de actualización actual:

Registros de autorización: Después de confirmar, espere a que la transacción se registre en la cadena. El registro exitoso en la cadena significa que el usuario ha actualizado con éxito a una cuenta inteligente, y puede ver la información específica de la transacción de autorización en la página de la dirección de la billetera actual en etherscan en **Autorizaciones (EIP-7702)**.

2.2 Actualización pasiva

Contenido de la transacción: incluye la acción de actualizar la cuenta y las acciones en lote que interactúan con los contratos inteligentes en la cadena.

Proceso de actualización: Cuando los usuarios interactúan con ciertas DApp en la cadena, Metamask notificará proactivamente a los usuarios que la transacción actual se puede completar utilizando el método de envío por lotes al actualizar a una cuenta inteligente. Por ejemplo, al realizar un intercambio de ciertos tokens en Uniswap, haga clic en el botón Usar cuenta inteligente, actualice a una cuenta inteligente, y después la autorización de tokens y el intercambio se llevarán a cabo en una sola transacción.

2.3 Volver a EOA normal

Independientemente de si se utiliza un enfoque de actualización activa o pasiva para convertir la cuenta actual en una cuenta inteligente, la DIRECCIÓN del contrato Delegator asociado se almacenará de forma permanente en la cadena, como la lógica de ejecución actual de la cuenta.

Si el usuario desea restaurar la cuenta a un EOA normal, debe iniciar manualmente una operación de "cambiar a EOA". La esencia de esta operación es: a través de una autorización EIP-7702, se debe presentar la dirección ( como la nueva dirección del contrato Delegator. Una vez que esta transacción se confirme en la cadena, el campo code de la cuenta se vaciará, y la lógica de ejecución volverá al código vacío predeterminado, y la cuenta volverá al estado de EOA normal.

Acceda a la interfaz de detalles de la cuenta en la billetera, haga clic en el botón de cambio para cambiar la cuenta de usuario de Ethereum Mainnet de nuevo a una cuenta EOA normal.

Haga clic en confirmar y espere a que la transacción se registre en la cadena, el éxito del registro en la cadena significa que el usuario ha cambiado de una cuenta inteligente a una cuenta EOA normal, la información específica de la transacción también se puede encontrar en la página de la dirección de la billetera actual en etherscan.

Dos, 7702 ejemplos de ataques de phishing

El 24 de mayo, el grupo de phishing #InfernoDrainer utilizó la función de ejecución masiva del contrato Metamask 7702-Delagator para engañar a los usuarios (0xc6D2…06DC) y obtener autorización de tokens en masa, llevando a cabo un ataque de phishing, con pérdidas de más de 146,000 dólares en $HashAI $HUMANS $ParallelAI $NeuralAI $DSync $Zero1 $NodeAI $Sensay $Virtual.

DIRECCIÓN de fraude

0x0000db5c8B030ae20308ac975898E09741e70000 0x00008C22F9F6f3101533f520e229BbB54Be90000 0xa85d90B8Febc092E11E75Bf8F93a7090E2ed04DE 0xC83De81A2aa92640D8d68ddf3Fc6b4B853D77359 0x33dAD2bbb03Dca73a3d92FC2413A1F8D09c34181

Ejemplo de transacción de pesca

Razón del phishing

El usuario (0xc6D2…06DC) ejecutó una transacción de autorización masiva maliciosa:

Hash de Transacción de Ethereum: 0x1ddc8cecbc... | Etherscan

Llamar al método 0xe9ae5c53 por 0xc6D289d5...0d2E606DC en 0xc6D289d5...0d2E606DC | Éxito | 23-may-2025 02:31:35 PM )UTC(

etherscan.io

)PinkDrainer está experimentando una cadena de industria negra de phishing más encubierta y de mayor impacto utilizando 7702.

Según nuestra investigación, actualmente el grupo criminal de phishing #InfernoDrainer 和 #PinkDrainer está investigando y experimentando con una cadena de producción negra de phishing utilizando 7702 que es más oculta y tiene un mayor impacto. Las direcciones relacionadas son las siguientes, y también publicaremos un informe más detallado en el futuro:

Inferno Drainer:

0x0000db5c8B030ae20308ac975898E09741e70000

Pink Drainer:

0xe49e04F40C272F405eCB9a668a73EEAD4b3B5624

Tres, Sugerencias de seguridad

Proveedor de billetera:

Referente a la implementación y gestión de seguridad de 7702 Delegator en Metamask, se prohíbe a los usuarios otorgar autorización a cualquier Delegator y solo se permiten operaciones dentro de la aplicación. Se recuerda a los usuarios que cualquier acción que les pida firmar autorización a través de una página web es un ataque de phishing.

Verifique si la cadena coincide con la red actual y avise al usuario sobre el riesgo de repetición al firmar con chainID igual a 0.

Mostrar el contrato objetivo al autorizar la firma del usuario, y mostrar el contenido de la llamada a la función específica cuando el usuario ejecute en masa a través de Delegator, reduciendo el riesgo de ataques de phishing.

Usuario:

La protección de la clave privada siempre es lo más importante. Not your keys, not your coins.

No autorices a un Delegador basándote en ninguna página web independiente; la autorización segura generalmente solo se realiza dentro de la aplicación, como en Metamask.

Al utilizar cualquier billetera para firmar, asegúrese de leer cuidadosamente el contenido de la firma para evitar firmar ciegamente o por error.

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
Opere con criptomonedas en cualquier momento y lugar
qrCode
Escanee para descargar la aplicación Gate
Comunidad
Español
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)