"Nunca es demasiado tarde para arreglarlo" es un dicho que se cumple la mayor parte del tiempo en la vida. Sin embargo, de cara a la seguridad de la red, una brecha puede causar pérdidas irreparables.
Ser descubierto antes de que los problemas de seguridad causen pérdidas irreparables, o estar completamente preparado desde el principio, es la primera prioridad de la seguridad como practicante de blockchain.
En la tarde del 14 de agosto, hora de Beijing, el equipo de tecnología de seguridad de CertiK descubrió que el proyecto de agricultura anónima de DeFi, Based, anunció oficialmente que un atacante había congelado el Pool 1 llamando a una función en el contrato inteligente de Based, y anunció que volvería a implementar su Pool. Uno.
El tweet oficial indicó que los piratas informáticos intentaron congelar "Pool1" de forma permanente, pero el intento fracasó. Y "Pool1" continuará según lo planeado.
Al analizar el contrato inteligente, CertiK cree que la congelación del grupo n. ° 1 del proyecto Basado fue un accidente causado por una laguna en el contrato inteligente.
El equipo de la base implementó el contrato inteligente de grupo n.º 1 y la dirección de implementación es 0x77caF750cC58C148D47fD52DdDe43575AA179d1f.
Basado declara oficialmente al propietario del contrato inteligente llamando a la función renunciar a la propiedad en el contrato inteligente, pero no inicializa el contrato inteligente.
Debido a que la función de inicialización en el contrato inteligente Basado está configurada incorrectamente para llamarse externamente, durante el proceso de inicialización del contrato inteligente, un atacante externo inicializa el contrato inteligente del grupo No. 1 con un valor incorrecto.
La inicialización incorrecta hizo que el oficial de base no pudiera reiniciar el contrato inteligente del grupo n. ° 1, por lo que el grupo n. ° 1 se congeló y no se pudo completar ninguna promesa.
Basado oficialmente decidió abandonar el contrato inteligente y volver a implementar el contrato inteligente de grupo n. ° 1.
1. Después de implementar el contrato inteligente, el equipo basado no llamó a la función de inicialización en la siguiente figura a tiempo para inicializar la configuración del contrato inteligente:
2. La persona que llama externa aprovechó la diferencia de tiempo entre la implementación y la inicialización del contrato inteligente por parte del equipo basado, y aprovechó la oportunidad para llamar a la función de inicialización en la línea 671 en la figura a continuación, cuyo rango de llamada se configuró incorrectamente para inicializar el contrato inteligente del grupo No. 1 primero:
3. Las dos funciones de inicialización de la figura anterior se modifican con el modificador del inicializador. Según el código, si se llama a una de las funciones de inicialización, no se puede llamar a la otra función de inicialización. El código modificador del inicializador se muestra en la siguiente figura, lo que hizo que la Base oficial perdiera la oportunidad de inicializar la función:
4. Según los factores anteriores, el contrato inteligente basado no se puede inicializar oficialmente correctamente, por lo que no se puede realizar ningún compromiso.
Registro de transacción de compromiso fallido:
El incidente fue causado esencialmente por una vulnerabilidad en el contrato inteligente, pero si el equipo de la base notó esta vulnerabilidad temprano e inicializó el contrato inteligente con anticipación, el peligro podría evitarse por completo y el grupo número 1 se congelaría. Por ello, el equipo de tecnología de seguridad de CertiK hace las siguientes recomendaciones:
Al implementar contratos inteligentes, se deben preparar herramientas como los scripts de comando necesarios para inicializar los contratos inteligentes, y los contratos inteligentes se deben inicializar de manera oportuna para evitar que los atacantes inicialicen de forma preventiva o manipulen de manera maliciosa los contratos inteligentes aprovechando la diferencia horaria entre las operaciones de implementación. y operaciones de inicialización.
Los desarrolladores deben dominar los principios operativos y los detalles técnicos de los contratos inteligentes, y no deben adoptar ciegamente otros códigos de contratos inteligentes.
Se puede invitar a un equipo de seguridad externo profesional o expertos en seguridad interna a auditar su contrato inteligente para garantizar la seguridad y confiabilidad del contrato inteligente.
Tags:
Nadie puede replicar el compromiso de la comunidad, un gran producto, integraciones y confianza.Si ha estado activo en los círculos de blockchain durante la manía de ICO, la exageración de IEO o la manía de STO.
Se puede decir que el desarrollo actual de las finanzas digitales en los Estados Unidos va a la zaga de algunos otros países líderes en el mundo.Por ejemplo, en términos de activos digitales.
La "Ley de seguridad de datos" de mi país (borrador), que acaba de publicarse hace unos días, ha establecido mecanismos nacionales de evaluación de riesgos de seguridad de datos, informes, intercambio de información.
"Nunca es demasiado tarde para arreglarlo" es un dicho que se cumple la mayor parte del tiempo en la vida. Sin embargo, de cara a la seguridad de la red.
Golden Weekly es una columna de resumen semanal de la industria de blockchain lanzada por Golden Finance, que cubre noticias clave, datos de mercado y contratos, información minera, dinámica de proyectos.
Los datos del mercado de criptoderivados muestran que el precio de ethereum, la segunda criptomoneda más grande por capitalización de mercado.
YAM, esta batata, llegará al clímax cuando esté en línea. Después del orgasmo, hay un vacío.El precio de YAM cayó de un máximo de $166 a $0,44, una caída del 99,7%. En YAM.