Precio de Bitcoin Precio de Bitcoin
Ctrl+D Precio de Bitcoin
ads
Casa > BTC > Info

Primer lanzamiento | Opyn ETH Put logic análisis técnico de vulnerabilidad

Author:

Time:

A las cuatro de la mañana del 5 de agosto, algunos usuarios informaron en el foro de opyn que los saldos de sus cuentas desaparecieron sin ningún motivo, y algunos usuarios encontraron información de transacciones sospechosas, como se muestra en la siguiente figura:

El partido del proyecto Opyn respondió después de un análisis preliminar de la situación y dijo: los fondos han sido transferidos y se está buscando la causa del problema.

Al cierre de esta edición, el funcionario emitió una respuesta al incidente: fue pirateado y los activos que pueden ser atacados han sido transferidos, pero esta vulnerabilidad solo involucra el contrato ETH y no afecta a otros contratos. Como se muestra abajo:

Chengdu Lianan-Security Lab rastreó y analizó este incidente por primera vez. La siguiente es la dirección del contrato del atacante que el sistema de conocimiento de la situación detectó el robo:

0xe7870231992ab4b1a01814fa0a599115fe94203f

0xb837531bf4eb8ebfa3e20948bd14be067c18cbd3

0xb72e60ea1d0c04605f406c158dce9ac6ae6d224c

Restauración del método de ataque del atacante:

1. El atacante llama al contrato para enviar n USDC al contrato para aumentar la hipoteca y obtener la moneda del contrato oETH

El total actual de posiciones de contrato de red de BTC es de 3568 millones de dólares estadounidenses, un aumento de 64 millones de dólares estadounidenses en 24 horas: según el informe de posición de contrato, el total actual de posiciones de contrato de red es de 3568 millones de dólares estadounidenses, un aumento de 64 millones de dólares estadounidenses. dólares en 24 horas. Entre ellos, el contrato de Huobi fue de US$707 millones, un aumento de 0,18% en 24 horas; el contrato de OKEx fue de US$899 millones, una disminución de 0,84% en 24 horas; el contrato de BitMEX fue de US$496 millones, un aumento de 4,16% en 24 horas; el contrato de Binance fue de US$770 millones, un aumento de 2,68% en 24 horas; los contratos de Bybit ascendieron a US$694 millones, un aumento de 6,14% en 24 horas. [2020/12/8 14:35:52]

2. El atacante llama al contrato para enviar ETH por hipoteca y destruye oETH para canjear su propio USDC

3. El atacante rescata su ETH hipotecado.

En el paso 2, el atacante llama a la función de ejercicio y le pasa dos direcciones A (la dirección propia del atacante), B (la dirección donde otros no han canjeado el USDC) y el doble del USDC que merecen, y el programa se ejecuta normalmente. los fondos de la dirección B se verán comprometidos.

Comercio

0x56de6c4bd906ee0c067a332e64966db8b1e866c7965c044163a503de6ee6552a

Como ejemplo, el atacante pasa el contrato

0xe7870231992ab4b1a01814fa0a599115fe94203f contrato de pareja 0x951D51bAeFb72319d9FBE941E1615938d89ABfe2

Se lanzó el ataque y la ganancia total de esta transacción fue de $9907. Como se muestra abajo:

El atacante llamó primero a la función addERC20CollateralOption y envió 9900 USDC al contrato, como se muestra en la siguiente figura:

addERC20Collateral(msg.sender, amtCollateral); en esta función es responsable de la transferencia de agencia de USDC; emitOTokens(amtToCreate, receptor); en la función es responsable de acuñar oETH. Esta transacción acuña 30 oETH y los envía al atacante, como se muestra en la siguiente figura:

Una vez hecho esto, se modifican los parámetros de la bóveda del atacante. bóveda.oTokensIssued y bóveda.collateral se actualizan a 300000000 y 9900000000 respectivamente, como se muestra en la siguiente figura:

Luego, el atacante procedió a intercambiar oETH.

Llame a exercise, el parámetro de construcción oTokensToExercise es 60, y vaultsToExerciseFrom son dos direcciones, una de las cuales es la dirección de otra persona que también cumple las condiciones. Como se muestra abajo:

La función Exercise ejecuta la rama _exercise(vault.oTokensIssued, vaultOwner); y envía el USDC correspondiente a 30oETH a la persona que llama, como se muestra en la siguiente figura:

Podemos notar que en la transferencia final, _exercise transfiere USDC a msg.sender, que es el atacante.

Volvamos a ver el bucle for del ejercicio: la entrada del atacante de oTokensToExercise es 60, por lo que cuando el contrato verifique que la segunda dirección cumple las condiciones, seguirá transfiriendo el saldo a msg.sender, que es el atacante. Esto le permite al atacante obtener USDC dos veces, obteniendo así una ganancia.

En este incidente, el atacante aprovechó la falla lógica de la función de ejercicio. Esta función no verifica si la persona que llama tiene derecho a canjear el USDC de esta dirección antes de realizar la transferencia final, sino que simplemente verifica si la dirección puede canjearse. Es una vulnerabilidad lógica en la capa de código y, según la respuesta oficial, este contrato ha sido objeto de una auditoría de seguridad. Chengdu Lianan recuerda por la presente a todas las partes del proyecto:

1. Se deben realizar auditorías de seguridad suficientes y efectivas antes de que el proyecto entre en línea, preferiblemente auditorías de múltiples partes.

2. Para el contrato, se deben establecer funciones como la suspensión de las transacciones del contrato para garantizar la seguridad de los fondos en caso de un incidente de seguridad.

3. La seguridad es un proceso continuo y no es suficiente garantizar la seguridad con una sola auditoría. Es muy importante establecer una cooperación a largo plazo con empresas de seguridad de terceros.

Tags:

BTC
Primer lanzamiento | La lógica del mercado alcista: teoría de la propulsión de cohetes de tres etapas

Este artículo es una contribución de Standard Blockchain y está autorizado por Jinse Finance para su publicación.Recientemente, debido al gratificante auge de Bitcoin y Ethereum.

Lanzamiento final de la red de prueba ETH2.0 Es muy probable que la Fase 0 se lance a finales de año

La red de prueba multicliente de Ethereum, Medalla, se lanzará el 4 de agosto, según el coordinador de lanzamiento de Ethereum.

Tendencia del oro: conociendo la historia y aprendiendo del presente, se espera que el oro impulse la tendencia de BTC nuevamente

La imagen de arriba es un gráfico comparativo de la tendencia mensual a largo plazo del oro al contado desde 1980 hasta 2009 y la tendencia actual a largo plazo desde 2011 hasta 2020.

Primer lanzamiento | Opyn ETH Put logic análisis técnico de vulnerabilidad

A las cuatro de la mañana del 5 de agosto, algunos usuarios informaron en el foro de opyn que los saldos de sus cuentas desaparecieron sin ningún motivo.

Golden Observation|Oracle tokens han logrado un efecto de bola de nieve

El interés compuesto de los activos es un proceso de bola de nieve.

La gran subida detonó el mercado, pero esta especie de "toros muertos" inesperadamente echó agua fría

El 1 de agosto, la CFTC publicó el último informe semanal de futuros de Bitcoin de CME (del 22 de julio al 28 de julio).Durante el último período estadístico.

Technology Weekly|La red de prueba Medalla de Ethereum 2.0 cumplió con los requisitos de lanzamiento

El Technology Weekly de esta semana contiene noticias técnicas sobre las cuatro redes de Bitcoin, Ethereum, Polkadot y Filecoin.Bitcoin Core 0.20.1 ya está disponibleSegún el equipo de desarrollo de Bitcoin Core.

ads