El 5 de agosto de 2020, hora de Beijing, el contrato inteligente Opyn ETH Put de la plataforma de opciones DeFi Opyn fue pirateado, lo que resultó en una pérdida de aproximadamente US $ 370,000.
Opyn es un acuerdo de opciones generales, que se transformó en una plataforma de seguros en febrero de este año. Proporciona a las plataformas DeFi opciones de venta de ETH negociables a través de oTokens, a fin de anclar el precio de mercado de ETH y proporcionar una estabilidad relativa para el mercado DeFi altamente volátil.
Después de enterarse de que la plataforma Opyn fue atacada, el equipo de seguridad de PeckShield localizó rápidamente los puntos clave del problema:
El atacante descubrió que la interfaz de ejercicio (ejercicio) del contrato inteligente de Opyn tiene algunas fallas de procesamiento para el ETH recibido, y su contrato no verifica el monto de la transacción en tiempo real del comerciante, de modo que el atacante puede iniciar una transacción real en sí mismo Después eso, insertar una transacción falsa para engañar a los activos digitales hipotecados del vendedor, y luego darse cuenta de las manos vacías.
WWF Alemania vende NFT para recaudar fondos para especies en peligro de extinción: Jinse Finance informó que el Fondo Mundial para la Naturaleza (WWF) alemán anunció ayer que lanzará colecciones de NFT para recaudar fondos para la protección de animales en peligro de extinción y sus hábitats. Los artistas de NFT crearon obras de arte para la serie, que contará con animales en peligro de extinción apodados "Animales irreemplazables", incluidos Bosslogic, Freehand Profit, Eric Peters, Vinzent Britz, Lea Fricke, Romulo Kuranyi, Andres Ribon, Rocket & Wink, Etienne Kiefer y Anna Ruprecht. El número de NFT para cada artista estará vinculado al número actual de ciertas especies en peligro de extinción. Por ejemplo, habrá 290 NFT que representan los únicos 290 ibis gigantes que quedan en el mundo. (theblockcrypto) [2021/10/22 20:48:15]
En pocas palabras, porque la función de ejercicio exercise() en el contrato inteligente Opyn ETH Put no realiza una verificación en tiempo real del ETH del comerciante. Según la lógica de negocio de la plataforma Opyn, el comprador de la opción de venta transfiere el valor correspondiente de ETH al vendedor para obtener los activos digitales hipotecados por el vendedor. El atacante astuto primero inicia una transacción encubierta para sí mismo y utiliza la característica reutilizable de este ETH para iniciar una transferencia al usuario vendedor nuevamente, defraudando así al vendedor de los activos digitales hipotecados.
Autofarm: la tesorería BTCB-tBTC en PancakeSwap ha quedado obsoleta y los retiros han estado abiertos durante 2 semanas: según las noticias oficiales, autofarm.network, un agregador de ingresos de cadena cruzada DeFi, declaró que la tesorería BTCB-tBTC en PancakeSwap ha sido obsoleto, y los usuarios que se retiren recibirán un airdrop de tokens CAKE que están destinados a interés compuesto y son proporcionales al porcentaje que estaba en la tesorería la semana anterior al retiro. Los retiros están abiertos durante 2 semanas. [2021/7/11 0:43:09]
El siguiente es un análisis detallado de la causa de la vulnerabilidad y el proceso de ataque.
Análisis detallado del proceso de vulnerabilidades
Permítanme hablar primero sobre la lógica comercial de la plataforma Opyn: cuando un usuario usa el contrato Opyn para ejercer, es decir, para comprar y vender futuros (ejercicio), el comprador debe transferir una cantidad correspondiente de ETH o ERC20 Token al vendedor, y luego el contrato destruirá el correspondiente oToken del comprador, y luego El comprador obtendrá la propiedad que el vendedor ha hipotecado.
Por ejemplo: Xiao Wang cree que el mercado ha entrado en una tendencia a la baja y ve una opción de venta de los $330 de Xiao Li en ETH pendiente de Opyn, por lo que ingresa al sistema de comercio, transfiere un ETH a Xiao Li y obtiene la cantidad equivalente de activos digitales hipotecados por Xiao Li. Si el mercado ha bajado a 300 dólares estadounidenses en este momento, Xiao Wang puede obtener la diferencia de precio.
Cofundador de Gemini: Buffett invertirá en Bitcoin en diez años: el cofundador de Gemini, Cameron Winklevoss, tuiteó que cuando Buffett compró acciones en compañías mineras de oro, sabía que algo se avecinaba... la inflación se avecinaba. Encontrará Bitcoin en diez años. No fue hasta 2016 que encontró Apple (ticker: APPL), pero ahora es su inversión más grande, con un valor de $ 95 mil millones y el 44 por ciento de la cartera de Barrick Gold Corp. (ticker: BRK).
Según noticias anteriores, el 14 de agosto, Berkshire Hathaway de Buffett vendió su participación del 26% en Wells Fargo y ciertas acciones de JPMorgan Chase, y compró casi 21 millones de acciones de Barrick Gold. [2020/8/30]
Figura 1. La lista de direcciones de bóvedas pasadas se repite en la función de ejercicio()
Como se muestra en el fragmento de código de contrato anterior, la función de ejercicio exercise() es internamente un bucle, y la función de lógica de ejercicio real _exercise() se llama secuencialmente de acuerdo con la cantidad de direcciones en vaultsToExerciseFrom pasadas en el parámetro.
Figura 2. Reutilización del ETH transferido al contrato para obtener activos colaterales
Cuando la función maneja el token ERC20, usa transferFrom() como lo hacen la mayoría de los proyectos DeFi, como se muestra en la línea 1882 del código, para transferir dinero de msg.sender a address(this).
Pero cuando el activo procesado por la función es ETH, el método de procesamiento es completamente diferente. Porque en Solidity, msg.value significa la cantidad de ETH transferida al contrato por la persona que llama al contrato al llamar a la interfaz de pago, que es solo un valor, por lo que en la línea 1879 del código del contrato, verifique msg.value == amtUnderlyingToPay solo garantiza que el contrato haya recibido el monto amtUnderlyingToPay de ETH y no tendrá ningún impacto en el valor de msg.value.
Pero como se mencionó anteriormente, la función _ejercicio() se llamará cíclicamente en ejercicio(), lo que lleva al hecho de que, aunque el contrato en realidad solo recibe ETH una vez, se puede reutilizar durante el ciclo.
El punto de ataque está aquí. Dado que el contrato carece de un paso para verificar la cantidad de ETH en tiempo real, el atacante puede primero falsificar una transacción que apunta a sí mismo y luego usar el capital gastado nuevamente para completar una transacción con otros usuarios de la red. plataforma transacción normal.
Figura 3. Análisis de transacciones de ataques
En la Figura 3, mostramos el proceso de ataque a través del proceso de llamada que muestra el navegador Bloxy. Dado que el atacante ha consumido muchos pedidos, tomaremos una de las transacciones como ejemplo para mostrarle la lógica del ataque:
1. El atacante primero compró 75 oETH de Uniswap para prepararse para un mayor ejercicio de la función de llamada 2. El atacante creó una dirección de Vault como vendedor de opciones cortas e hipotecó 24 750 USDC para acuñar 75 oETH, pero no vendió estas opciones es equivalente a comprando el derecho a vender 75 ETH a un precio de 330 al mismo tiempo; 3. El atacante llama a exercise() en el contrato de Opyn. Transfirí 75 ETH a mi dirección de Vault, obtuve 24,750 USDC que hipotequé por adelantado, y luego reutilizó los 75 ETH para consumir con éxito 24 750 USDC de otro usuario, obteniendo así ganancias ilegales.
Soluciones sugeridas
El equipo de seguridad de PeckShield sugiere que en Solidity, los contratos pueden usar una variable local msgValue para almacenar ETH recibido (el valor de msg.value). De esta manera, al operar msgValue en los pasos posteriores, es posible marcar con precisión cuánto ETH se ha gastado, evitando así que los activos se reutilicen. Además, también podemos usar address(this).balance para verificar el saldo del contrato y evitar el riesgo de que se reutilice msg.value.
Tags:
La extraordinaria popularidad de DeFi es inseparable del modelo AMM DEX representado por Uniswap Balancer.En el caso de transacciones CEX lentas, el volumen de operaciones de los intercambios DEX ha ido en aumento.
El Ministerio de Finanzas (tesorería, también conocido como la tesorería) está a través de tarifas de transacción, penalizaciones de corte y participación ineficiente (es decir.
Hoy, el mercado de criptomonedas se ha convertido en un ecosistema diverso de intercambios, inversores y proyectos. Entre ellos, el intercambio es la infraestructura central del mercado de criptomonedas.
El 5 de agosto de 2020, hora de Beijing, el contrato inteligente Opyn ETH Put de la plataforma de opciones DeFi Opyn fue pirateado, lo que resultó en una pérdida de aproximadamente US $ 370.
La imagen de arriba muestra la tendencia actual a largo plazo de Bitcoin desde 2013 hasta 2020. La investigación encontró que las dos tendencias siguen siendo algo similares.
La moda de DeFi, que alcanzó su punto máximo en julio, le ha dado a DeFi una capitalización de mercado de $ 4.4 mil millones en la industria de las criptomonedas.
La Federación Rusa prohibió los depósitos anónimos en monederos en línea, una medida que afectará a 10 millones de usuarios en todo el país. Según los legisladores.