Intercambio de bitcoins Intercambio de bitcoins
Ctrl+D Intercambio de bitcoins
ads
Casa > XLM > Info

Primera versión | Análisis de vulnerabilidad de riesgo centralizado del proyecto Keep3r

Author:

Time:

El 20 de noviembre de 2020, hora de Beijing, aparecieron algunas capturas de pantalla en la comunidad de Telegram que afirmaban que Keep3rLink aceptaba el servicio de auditoría de CertiK.

El mismo día, el equipo de investigación de seguridad de CertiK descubrió que el proyecto Keep3r tenía riesgos de seguridad centralizados.

El propietario del proyecto tiene demasiada autoridad para aumentar el límite de recompensas permitidas, por lo que se puede enviar cualquier cantidad de recompensas a cualquier participante y se puede acuñar cualquier cantidad de tokens a cualquier dirección.  

Guardar3rV1:

● Código Dirección:

https://github.com/keep3r-network/keep3r.network/blob/master/contracts/Keep3r.sol

● Dirección de implementación:

https://etherscan.io/address/0x1cEB5cB57C4D4E2b2433641b95Dd330A33185A44

Ayudante de Keep3rV1:

● Código de dirección:

https://github.com/keep3r-network/keep3r.network/blob/master/contracts/Keep3rV1Helper.sol

https://etherscan.io/address/0x93747c4260e64507a213b4016e1d435c9928617f

Como se muestra en la Figura 1 a continuación, el contrato inteligente Keep3rV1 del proyecto Keep3r define dos roles: gobierno y gobierno pendiente.

La función setGovernance() en la línea 1178 permite que el rol de gobierno actual establezca el rol de gobierno pendiente en cualquier dirección dada _governance.

Al mismo tiempo, en la función acceptGovernance() en la línea 1186, la función de gobierno pendiente actual puede autorizarse a sí misma como el rol de gobierno.

Bitmain deja de financiar a los desarrolladores de Bitcoin Core: Bitmain ha dejado de financiar a algunos de los principales desarrolladores que mantuvieron el software relacionado con Bitcoin en los primeros días. El colaborador y mantenedor de Bitcoin Core, Jonas Schnelli, dijo que perdió fondos de Bitmain junto con Joao Barbosa (otro colaborador de Bitcoin Core). El fundador de HEX, Richard Heart, comentó sobre esto y dijo que a medida que Bitcoin alcance un récord, otras compañías estarán dispuestas a proporcionar fondos para el proyecto Bitcoin Core. (Cointelegraph) [2020/12/2 22:54:06]

Por lo tanto, lógicamente, el rol de gobierno y el rol de gobierno pendiente se pueden autorizar de forma cíclica, y no hay ningún evento para recordar a los inversores el cambio del rol de gobierno y el rol de gobierno pendiente.

En este punto, el propietario del proyecto puede configurar libremente la dirección con dos funciones.

Figura 1: gobernanza, función de dirección pendiente y función de configuración de KPRH setKeep3rHelper()

Una vez que tenga el rol de gobierno, puede usar la función setKeep3rHelper() en la línea 1169 en la Figura 1 para modificar el contrato inteligente Keep3rHelper al que apunta el KPRH actual.

Después de la modificación, es muy probable que se modifique la implementación específica de KPRH.getQuoteLimit() en la línea 1076 de la Figura 2, y luego se devolverán diferentes valores de retorno al contrato Keep3rV1 que llamó a la función.

Figura 2: La función workReceipt() que recompensa a un guardián del usuario

Si el propietario del proyecto considera lanzar un ataque, dado que tiene el rol de gobierno, primero puede llamar a la función addKPRCredit() en la Figura 3.

En la línea 916, asigne cualquier cantidad de créditos a la dirección de un determinado trabajo (suponiendo que la dirección del trabajo es ADDR_A, que está controlada por el propietario del proyecto) (suponiendo que la cantidad de créditos otorgada es CREDIT_A, que está asociada con DIRECCIÓN_A).

Luego puede implementar un nuevo contrato inteligente Keep3rHelper y luego definir el método getQuoteLimit en el contrato inteligente para devolver el valor máximo de la variable de tipo uint.

Luego, el propietario del proyecto puede usar la dirección de ADDR_A para llamar a la función setKeep3rHelper() en la Figura 1 y apuntar el valor KPRH al contrato inteligente Keep3rHelper dado.

Finalmente llame a la función workReceipt() en la Figura 2, porque las 1076 líneas de código deben pasar porque la función KPRH.getQuoteLimit() está especificada para devolver el valor máximo.

En la línea 1077, dado que el propietario del proyecto usa la dirección de ADDR_A para realizar una llamada, la cantidad de créditos que posee en el contrato inteligente es CRÉDITO_A, por lo que la cantidad puede ser cualquier valor ligeramente menor que CREDIT_A.

Después de pasar la línea 1077, el monto de la recompensa se entrega a la dirección del guardián.

Finalmente, el guardián puede llamar a la función de transferencia ERC20 dentro del contrato para transferir las recompensas obtenidas a la dirección proporcionada por él mismo para completar el ataque.

Figura 3: La función addKPRCredit() para aumentar la cantidad de créditos para un trabajo

Además de las lagunas de riesgo de centralización descritas anteriormente, mint() en la Figura 4 permite acuñar una cantidad arbitraria de tokens para la dirección del rol de gobierno.

La dirección del rol de gobierno se puede establecer a través de la función setGovernance() y acceptGovernance() en la Figura 1.

También significa que mientras el administrador del proyecto tenga el rol de gobierno, puede acuñar cualquier cantidad de tokens en cualquier dirección restableciendo la dirección del rol de gobierno.

Figura 4: La función mint() que permite que el rol de gobierno acuñe tokens a voluntad

Al consultar los datos del contrato inteligente Keep3rV1 en etherscan, la Figura 5 muestra que la dirección del propietario de Keep3rV1 es 0x2d407ddb06311396fe14d4b49da5f0471447d45c.

Al mismo tiempo, como se muestra en la Figura 6, la dirección del rol de gobierno a las 11 a. m., hora de Beijing, el 20 de noviembre también es 0x2d407ddb06311396fe14d4b49da5f0471447d45c.

Se puede saber que el propietario del proyecto tiene la autoridad de la función de gobierno, por lo que tiene la autoridad para atacar y beneficiarse a través de las vulnerabilidades centralizadas mencionadas anteriormente.

Figura 5: Propietario del contrato inteligente Keep3rV1 y otra información relacionada

Figura 6: Dirección del rol de gobierno

Como la tecnología central disruptiva de la era, blockchain se ha utilizado ampliamente en varios campos, y los riesgos de seguridad ocultos bajo los beneficios y beneficios no deben ignorarse.

Las auditorías de seguridad ahora son estándar para proyectos de alta calidad.

Si el proyecto no ha sido auditado, para el usuario, el comportamiento de inversión debe ser extremadamente cauteloso; para la parte del proyecto, es necesario preparar materiales relevantes y encontrar una empresa auditora profesional y de buena reputación para auditar.

Si el proyecto ha sido auditado, es necesario tratar de comprender los antecedentes de la empresa auditora y los indicadores en su informe de auditoría.

CertiK utiliza herramientas de verificación formal para demostrar la confiabilidad de los contratos inteligentes. Los expertos en auditoría interna de la compañía utilizarán una variedad de métodos de prueba de software, incluida la verificación formal, combinados con un equipo de hackers de sombrero blanco de primera clase para proporcionar pruebas de penetración profesionales, a fin de garantizar que el proyecto desde el front-end hasta la seguridad general de los contratos inteligentes.

Recientemente, algunas partes del proyecto emitieron informes de auditoría falsos bajo la apariencia de CertiK.

Tags:

XLM
Continuando con el rejuvenecimiento, el sitio web oficial de la versión global de CyberVein se lanza hoy

Para los usuarios globales de CVT y los miembros de la comunidad:¡Gracias por su atención y apoyo a CyberVein! Con el fin de satisfacer las necesidades del desarrollo global.

11.Mercado de la mañana del 25: Bitcoin supera los $19 000 y puede esperar un máximo histórico

El nivel de $19 000 se ha superado oficialmente. Anoche, superó los $19 400 en un punto, por lo que muchas personas se quedaron despiertas toda la noche.

Primera versión | Análisis de vulnerabilidad de riesgo centralizado del proyecto Keep3r

El 20 de noviembre de 2020, hora de Beijing, aparecieron algunas capturas de pantalla en la comunidad de Telegram que afirmaban que Keep3rLink aceptaba el servicio de auditoría de CertiK.El mismo día.

El país más amigable con las criptomonedas: ¿Estados Unidos vs Puerto Rico?

Como una industria incipiente de menos de 13 años, las criptomonedas han pasado por muchas represiones y cambios regulatorios, especialmente en los Estados Unidos. Sin embargo, según el cofundador de Decred.

Tres minutos para comprender el mayor mito de Bitcoin: la escala de grises

En los últimos años, Grayscale ha estado aumentando sus tenencias en la parte inferior de Bitcoin.Después de que entró en vigor la reducción a la mitad del bloque de este año.

¿Es mejor el nuevo esquema de pérdida temporal para los titulares de BNT?

Los activos gestionados por los protocolos DeFi, también conocidos como valor total bloqueado (TVL), se han disparado al proporcionar a los usuarios servicios financieros abiertos y sin censura. DeFiPulse Uniswap.

ads