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.
SlowMist: algunos piratas informáticos de BitKeep han congelado los fondos transferidos: el 26 de diciembre, el equipo de seguridad de SlowMist publicó en las redes sociales que está realizando una investigación exhaustiva de la billetera BitKeep y ha congelado algunos fondos transferidos por piratas informáticos. [2022/12/26 22:08:58]
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:
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:
SlowMist: Se produjo un robo de monedas a gran escala en la cadena pública Solana. Se recomienda a los usuarios que primero transfieran tokens de billetera caliente a billeteras de hardware o intercambios conocidos: noticias del 3 de agosto, según información del distrito de SlowMist, se produjo un robo a gran escala el el incidente Coin de la cadena pública de Solana, a un gran número de usuarios se les transfirieron tokens SOL y SPL sin saberlo, y el equipo de seguridad de SlowMist rastreó y analizó este incidente:
Direcciones de atacantes conocidos:
Htp9MGP8Tig923ZFY7Qf2zzbMUmYneFRAhSp7vSg4wxV、CEzN7mqP9xoxn2HdyW6fjEJ73t7qaX9Rp2zyS6hb3iEu、5WwBYgQG6BdErM2nNNyUmQXfcUnB68b6kesxBywh1J3n、GeEccGJ9BEzVbVor1njkBCCiqXJbXVeDHaXDCrBDbmuy
El ataque aún continúa. A juzgar por las características de la transacción, el atacante firmó y transfirió la cuenta sin utilizar el contrato de ataque. El juicio preliminar es que la clave privada se filtró. Muchas víctimas informaron que han usado una variedad de billeteras diferentes, principalmente billeteras móviles. Especulamos que el problema puede estar en la cadena de suministro del software. Antes de que se descubra nueva evidencia, recomendamos que los usuarios transfieran los tokens de la billetera caliente a un lugar relativamente seguro, como una billetera de hardware o un intercambio conocido, y esperen los resultados del análisis de eventos. [2022/8/3 2:55:22]
Niebla lenta: las vulnerabilidades relacionadas con el contrato de anidamiento de Moonbirds solo pueden causar daño en escenarios específicos: según los comentarios de inteligencia del distrito de niebla lenta, los pájaros lunares emitieron un anuncio de seguridad y el contrato de anidamiento tiene problemas de seguridad. Cuando los usuarios colocan órdenes pendientes en los mercados comerciales de NFT como OpenSea o LooksRare. Los vendedores no pueden prohibir las ventas de NFT solo mediante la implementación de anidamiento (nesting), sino que deben eliminar las órdenes de venta de NFT relevantes en el mercado comercial. De lo contrario, en un escenario determinado, los compradores eludirán la restricción de que los pájaros lunares no se pueden intercambiar cuando anidan. Después de la investigación, el equipo de seguridad de SlowMist descubrió que la vulnerabilidad debe estar en un escenario específico para causar daño, lo cual es un riesgo bajo. Se recomienda que los usuarios de Moonbirds verifiquen si el NFT de anidamiento (anidamiento) todavía se encuentra en el mercado de NTF y, si se ha incluido, debe eliminarse a tiempo. Espere la divulgación oficial de Moonbirds para obtener más detalles sobre la vulnerabilidad. [2022/5/30 3:50:23]
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:
SlowMist: tenga cuidado con la nueva recarga falsa de ETH, y se han encontrado ataques de recarga falsa de ETH en la naturaleza: después de monitorear por el equipo de seguridad de SlowMist, se descubrió que hay ataques de recarga falsa de ETH en la naturaleza. decidió divulgar el plan de reparación, intercambie O la billetera verifica la lógica de entrada de ETH de manera oportuna y, si es necesario, comuníquese con el equipo de seguridad de SlowMist para detectar y evitar la pérdida de fondos. Se recomienda que si no está seguro de la reparación exitosa, puede suspender temporalmente la solicitud de recarga desde la dirección del contrato. Luego realice las siguientes operaciones de reparación: 1. Al recargar el ETH del contrato, es necesario determinar si hay una transacción de reversión en la transacción en línea, y si hay una transacción de reversión, negarse a ingresar a la cuenta. 2. Use la entrada manual para procesar la entrada del contrato e ingrese manualmente la cuenta después de confirmar que ha llegado la dirección de recarga. Al mismo tiempo, se debe tener en cuenta que pueden existir riesgos similares en las monedas de cadena pública similares a Ethereum. [2020/5/23]
Análisis | SlowMist: El atacante tomó la mayor cantidad de permisos posibles de DragonEx y el ataque duró al menos 1 día: según el análisis de la inteligencia en cadena del equipo de seguridad de SlowMist, y del análisis de la "dirección del atacante" anunciada por DragonEx, 20 monedas Se han robado todo tipo de monedas (pero todavía hay algunas monedas conocidas que DragonEx puede intercambiar que no se han anunciado). A juzgar por el comportamiento en la cadena, los métodos de ataque para atacar estas monedas no son exactamente lo mismo, y el ataque dura al menos el día 1. Sin embargo, lo que puede causar resultados de robo a gran escala al menos se puede deducir: el atacante ha tomado tantos permisos como sea posible de DragonEx, preste atención a las divulgaciones posteriores para obtener más detalles. [2019/3/26]
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.
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:
Resumen de puntos calientes: 1. El amigo cercano de "Stock God" Buffett, Charlie, cree que la especulación excesiva es peligrosa y no comprará Bitcoin.2. La batalla de Ethereum Layer 2.
"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.
Decir que el tema más controvertido en el campo de la cadena de bloques recientemente es probablemente la propuesta de reforma de la tarifa de transacción EIP-1559 de Ethereum Después de mover los ladrillos a mano.
El conocido proyecto DeFi Furucombo fue pirateado y perdió más de 15 millones de dólares estadounidenses.
El fundador de Stakefish y cofundador de F2Pool, Chun, pronunció recientemente un importante discurso sobre "Por qué los mineros adoptan EIP-1559" en ETHDenver. En esa charla.
Nota del editor: este artículo es la traducción al chino del ensayo “Sobre los orígenes del dinero” publicado en 1892 por Carl Menger, el patriarca de la Escuela Austriaca.
¿Cómo irá la industria de la cadena de bloques en 2021? Para las industrias emergentes, la dirección del desarrollo debe definirse claramente.Con la conclusión gradual de las dos sesiones en varios lugares.