Precio de Bitcoin Precio de Bitcoin
Ctrl+D Precio de Bitcoin
ads

Niebla lenta: análisis pirateado de Furucombo

Author:

Time:

El conocido proyecto DeFi Furucombo fue pirateado y perdió más de 15 millones de dólares estadounidenses. El equipo de seguridad de SlowMist intervino de inmediato en el análisis y compartió los detalles del ataque con todos.

El contrato problemático esta vez está en el propio contrato de poder de Furucombo. Todo el proceso de ataque es muy simple. Al establecer la dirección lógica del proxy AaveV2 de Furucombo, el atacante hace que todas las llamadas lógicas posteriores a través del contrato de proxy de Furucombo se reenvíen al propio contrato malicioso del atacante, lo que resulta en el robo de fondos arbitrarios.

Pero si las cosas fueran así de simples, no valdría la pena mencionar este análisis. El problema es mucho más complicado de lo imaginado.

Como se muestra en la figura anterior, la entrada del atacante está en la función batchExec de Furucombo. Analicemos primero la función batchExec:

Yat Siu: Animoca Brands no votará sobre su propuesta ApeCoin DAO: el 25 de marzo, el cofundador y director ejecutivo de Animoca Brands, Yat Siu, publicó en su sitio de redes sociales que votaría sobre la propuesta ApeCoin DAO iniciada por Animoca Brands AIP4 y 5 hacen propuestas complementarias para aclarar cuestiones relacionadas con los titulares de NFT ecológicos de BAYC que obtienen ingresos prometidos.

Al mismo tiempo, Yat Siu aseguró que Animoca Brands no votaría sobre ninguna propuesta que iniciara. [2022/3/25 14:17:30]

Lo anterior es la implementación específica de la función batchExec del contrato de proxy de Furucombo. Los contratos _preProcess y _postProcess, respectivamente, procesan algunos datos antes y después de la llamada, y no involucran una lógica de llamada específica, que puede ignorarse aquí. Principalmente observamos la función core _execs:

A través del análisis del código execs, no es difícil encontrar que la lógica principal de la función es verificar los datos en la matriz de configuraciones y realizar algún procesamiento en los datos de acuerdo con los datos en la matriz de configuraciones. Sin embargo, mirando hacia atrás en los datos de llamadas del atacante anteriores, no es difícil encontrar que en los datos de llamadas del atacante, los datos de configuración son una dirección 0:

El oro al contado llegó a $1.760/oz, un 0,56% menos en el día: según el mercado, el oro al contado bajó a $1.760/oz, un 0,56% menos en el día. [2021/10/5 17:25:02]

Aquí hay un truco, dado que la dirección 0 es una dirección EOA, todas las llamadas de función a la dirección EOA tendrán éxito, pero no arrojarán ningún resultado. Combinado con este truco, la parte sobre los datos de configuración en la función execs puede ignorarse temporalmente. Vea la función core _exec final directamente:

La lógica de la función _exec también es muy simple: después de verificar la dirección _to, los datos se reenvían directamente a la dirección _to especificada. Y a través del análisis de la transacción de ataque, podemos encontrar que esta dirección _to es de hecho una dirección legal oficial.

Los tres principales índices bursátiles de EE. UU. abrieron colectivamente al alza y el índice S&P 500 subió un 0,24 %. [2021/6/8 23:22:00]

El último paso es llamar a la dirección _to, que es la función de inicialización designada oficialmente del contrato de AaveV2 Proxy, y establecer la propia dirección maliciosa del atacante como la dirección lógica del contrato de AaveV2 Proxy. A través del análisis del contrato de Furucombo, se puede encontrar que no existen puntos serios de seguridad en todo el proceso de llamada, y también se realiza la verificación de la lista blanca en la dirección de la llamada. Entonces el problema solo puede estar en la lógica de proxy correspondiente a llamar, es decir, el contrato de proxy AaveV2.

Analizamos directamente la lógica de la función de inicialización del contrato Proxy AaveV2:

Se puede ver que la función de inicialización es una función pública y verifica si _implementation es la dirección 0 al principio, y si es la dirección 0, se genera un error. El propósito de esta verificación es verificar si _implementation está configurado y, si lo está, no se puede configurar nuevamente. De acuerdo con esta configuración, no es difícil darse cuenta de que la función de inicialización solo se puede llamar una vez. A menos que el Proxy AaveV2 nunca haya configurado _implementation, esta llamada no tendrá éxito. ¿Es cierto que Furucombo no ha fijado la _implementación correspondiente? Con esto en mente, examinamos los cambios de estado dentro de la transacción. como sigue:

Se puede ver que el contenido almacenado en 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc se modificó en la transacción, y el contenido escrito es la propia dirección de contrato malicioso del atacante  0x86765dde9304bea32f65330d266fa.

Y  0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc es la dirección de almacenamiento de los datos de implementación.

En otras palabras, el funcionario nunca ha establecido la dirección de implementación del contrato de Proxy de  AaveV2, lo que hace que el atacante se aproveche de esta laguna, lo que resulta en la pérdida de los activos de Furucombo.

A través del análisis de todo el incidente, el accidente de Furucombo no está dentro del alcance de las vulnerabilidades de seguridad. La razón principal es que el funcionario agregó el contrato de proxy AaveV2 no habilitado a su propia lista blanca y no verificó el contrato de proxy AaveV2. Inicialización, lo que llevó a una oportunidad para los atacantes.

Actualmente, debido al ataque Furucombo, cualquier usuario que haya autorizado tokens al contrato Furucombo (0x17e8ca1b4798b97602895f63206afcd1fc90ca5f) corre el riesgo de perder fondos.

El equipo de seguridad de SlowMist recomienda que los usuarios que hayan interactuado con Furucombo verifiquen si los tokens relevantes han sido autorizados para el contrato de Furucombo. Si se autoriza, la autorización pertinente debe revocarse a tiempo para evitar pérdidas adicionales.

Tags:

Binance App Download
Golden Hardcore | a16z Socio: NFT y mil fans

Jinse Finance lanzó la columna Hardcore para brindar a los lectores introducciones o interpretaciones detalladas de proyectos populares. Se dice que NFT cambiará muchas industrias.

Asproex Apollo se une a Tweebaa para crear un ecosistema social de valor donde todos puedan innovar y monetizar

Cómo reflejar mejor el valor, cómo garantizar el valor y cómo intercambiar mejor el valor son proposiciones eternas y la base de los sistemas comerciales modernos. Según Adam Smith.

Niebla lenta: análisis pirateado de Furucombo

El conocido proyecto DeFi Furucombo fue pirateado y perdió más de 15 millones de dólares estadounidenses.

Buscar nuevo | Playcent: una plataforma de creación de contenido interactivo para DApps, juegos y NFT

"Find New" es un proyecto de observación de proyectos de blockchain lanzado por Jinse Finance. Cubre el desarrollo de proyectos en varios campos de la industria.

DeFi+Contrato inteligente: cómo la tercera ola de Blockchain afecta las finanzas

Después de pasar por el año de Gengzi ("Geng" significa "Geng" y "Zi" significa "Zi"), que simboliza el cambio, originalmente era solo un río subterráneo. o "finanzas distribuidas".

En 2012, ¿cómo atrajo Coinbase a los primeros inversores?

El unicornio Coinbase, que fue valorado en $ 8 mil millones en 2018.

ads