El 10 de junio de 2024, UwU Lend fue atacado y el proyecto perdió aproximadamente US$$19,3 millones.
SharkTeam realizó un análisis técnico del incidente y resumió las precauciones de seguridad a la primera oportunidad. Esperamos que los proyectos posteriores puedan aprender de este incidente y construir conjuntamente una línea de defensa de seguridad para la industria blockchain.
1. Análisis de transacciones de ataque
Atacante: 0x841dDf093f5188989fA1524e7B893de64B421f47
El atacante inició un total de 3 transacciones de ataque:
Transacción de ataque 1:
0x242a0fb4fde9de0dc2fd42e8db743cbc197ffa2bf6a036ba0bba303df296408b
Transacción de ataque 2:
0xb3f067618ce54bc26a960b660cfc28f9ea0315e2e9a1a855ede1508eb4017376
Transacción de ataque 3:
0xca1bbf3b320662c89232006f1ec6624b56242850f07e0f1dadbe4f69ba0d6ac3
Tomemos como ejemplo de análisis la transacción de ataque 1:
Contrato de ataque: 0x21c58d8f816578b1193aef4683e8c64405a4312e
Contrato objetivo: contrato de Tesorería de UwU Lend, que incluye:
USUSD: 0xf1293141fc6ab23b2a0143acc196e3429e0b67a6
uDAI: 0xb95bd0793bcc5524af358ffaae3e38c3903c7626
USDT: 0x24959f75d7bda1884f1ec9861f644821ce233c7d
El proceso de ataque es el siguiente:
1. Préstamo flash de múltiples tokens de diferentes plataformas, incluidos WETH, WBTC, sUSDe, USDe, DAI, FRAX, USDC, GHO
La dirección de recepción del token es 0x4fea76b66db8b548842349dc01c85278da3925da
Los tokens y cantidades de préstamos flash son los siguientes:
Préstamo flash 159.053,16 WETH y 14.800 WBTC de Aave V3
Préstamo flash de 40 000 WETH de Aave V2
Préstamo flash 91,075.70 WETH y 4,979.79 WBTC de Spark
Préstamo flash 301,738,880.01 sUSDe, 236,934,023.17 USDe y 100,786,052.15 DAI de Morpho
Préstamo flash de 60 000 000 FRAX y 15 000 000 USDC de Uniswap V3: FRAX-USDC
Préstamo flash de 4.627.557,47 GHO y 38.413,34 WETH de Balancer
Préstamo flash de 500.000.000 DAI de Maker
Un total de aproximadamente 328.542,2 WETH, 19.779,79 WBTC, 6.00786.052,15 DAI, 301.738.880,01 sUSDe, 236.934.023,17 USDe, 4.627.557,47 GHO, 60.000.000 FRAX, 15.000.000 USDC
2. Transfiera el token de préstamo flash al contrato 0xf19d66e82ffe8e203b30df9e81359f8a201517ad (abreviado como 0xf19d) en preparación para lanzar el ataque.
3. Controlar el precio de sUSDe (reducir el precio) intercambiando tokens
(1) Cambio de USDecrvUSD
Convierte 8.676.504,84 USDe en 8.730.453,49 crvUSD. La cantidad de USDe en USDecrvUSD aumenta, el precio disminuye, y la cantidad de crvUSD disminuye, el precio aumenta.
(2) Cambio de USDeDAI
Convierte 46.452.158,05 USDe en 14.389.460,59 DAI. La cantidad de USDe en USDeDAI aumenta, el precio disminuye, y la cantidad de DAI disminuye, el precio aumenta.
(3) Cambio de FRAXUSDe
Convierta 14 477 791,69 USDe en 46 309 490,86 FRAX. La cantidad de USDe en USDDeDAI aumenta, el precio disminuye, y la cantidad de FRAX disminuye, el precio aumenta.
(4) Cambio de GHOUSDe
Convierta 4.925.427,20 USDe a 4.825.479,07 GHO. La cantidad de USDe en USDDeDAI aumenta, el precio disminuye, y la cantidad de GHO disminuye, el precio aumenta.
(5) Cambio USDeUSDC
Convierta 14.886.912,83 USDe en 14.711.447,94 USDC. La cantidad de USDe en USDDeDAI aumenta, el precio disminuye, y la cantidad de USDC disminuye, el precio aumenta.
Después del intercambio mencionado anteriormente, los precios del USDe en los cinco fondos de financiación disminuyeron, lo que finalmente provocó una fuerte caída en el precio del sUSDe.
4. Continuar creando posiciones de préstamo, es decir, depositar otros activos (WETH, WBTC y DAI) en el contrato LendingPool y luego tomar prestado sUSDe. Debido a que el precio de sUSDe se ha desplomado, la cantidad de sUSDe prestada es mucho mayor que antes de que el precio se desplomara.
5. De manera similar al paso 3, la operación inversa aumenta el precio de sUSDe.
Cuando se levantó el sUSDe, el valor de la posición del préstamo en el paso 4 superó el valor de la garantía y alcanzó el estándar de liquidación.
6. Liquidar posiciones de préstamos en lotes y recibir recompensas de liquidación uWETH
7. Pagar el préstamo y retirar los activos subyacentes WETH, WBTC, DAI y sUSDe.
8. Vuelva a depositar sUSDe en LendingPool. En este momento, el precio de sUSDe aumenta, por lo que se pueden tomar prestados más activos, incluidos DAI y USDT.
9. Intercambio de tokens y devolución de préstamos flash. Beneficio final: 1.946,89 ETH
2. Análisis de vulnerabilidad
A través del análisis anterior, se descubre que hay una gran cantidad de préstamos flash y múltiples manipulaciones del precio de sUSDe durante todo el proceso de ataque. Cuando se compromete sUSDe, la cantidad de activos prestados se verá afectada; cuando se toma prestado sUSDe, la tasa de endeudamiento se verá afectada y luego se verá afectado el coeficiente de liquidación (factor de salud).
El atacante aprovechó esta situación y utilizó préstamos relámpago para reducir el precio de sUSDe, hipotecó otros activos, tomó prestada una gran cantidad de sUSDe y luego aumentó el precio de sUSDe, liquidó los activos hipotecados para obtener ganancias e hipotecó el sUSDe restante para tomar prestados otros activos. Finalmente, devolvió el préstamo relámpago y el ataque se completó.
A partir del paso 3 anterior, descubrimos que el atacante manipuló el precio de sUSDe controlando el precio de USDe en los pools de negociación USDe/rvUSD, USDe/AI, FRAX/SDe, GHO/SDe y USDe/SDC de Curve Finances. La función de lectura de precios es la siguiente:
Entre ellos, el precio de sUSDe se calcula a partir de 11 precios, los primeros 10 de los cuales se leen desde CurveFinance y el último lo proporciona Uniswap V3.
Los precios leídos de CurveFinance son proporcionados por cinco grupos comerciales: USDe/rvUSD, USDe/AI, FRAX/SDe, GHO/SDe y USD/SDC, que también son los cinco grupos comerciales manipulados por el atacante en la transacción de ataque.
El precio devuelto se calcula a partir del precio leído por uwuOracle, price_oracle(0) y get_p(0) en el contrato del grupo de negociación de CurveFinance.
(1) El precio lo proporciona Chainlink y no puede manipularse;
(2) Parámetros del pool de negociación
El atacante manipula el valor de retorno de get_p(0) manipulando la cantidad de tokens en el grupo de transacciones, manipulando así el precio.
3. Recomendaciones de seguridad
En respuesta a este ataque, se deben seguir las siguientes precauciones durante el desarrollo:
(1) Para abordar la vulnerabilidad de manipulación de precios, se puede utilizar un oráculo de precios fuera de la cadena para evitar la manipulación de precios.
(2) Antes de que el proyecto entre en funcionamiento, una empresa de auditoría profesional externa debe realizar una auditoría de contrato inteligente.
Sobre nosotros
La visión de SharkTeams es proteger la seguridad del mundo Web3. El equipo está compuesto por profesionales de seguridad experimentados e investigadores de alto nivel de todo el mundo, que son expertos en las teorías subyacentes de blockchain y contratos inteligentes. Proporciona servicios que incluyen identificación y bloqueo de riesgos, auditoría de contratos inteligentes, KYT/AML, análisis en cadena y ha creado una plataforma de identificación y bloqueo de riesgos inteligente en cadena, ChainAegis, que puede combatir eficazmente las amenazas persistentes avanzadas (APT) en el mundo Web3. Ha establecido relaciones de cooperación a largo plazo con actores clave en varios campos del ecosistema Web3, como Polkadot, Moonbeam, Polygon, Sui, OKX, imToken, Collab.Land, TinTinLand, etc.
Sitio web oficial: https://www.sharkteam.org
Twitter: https://twitter.com/sharkteamorg
Telegrama: https://t.me/sharkteamorg
Discord: https://discord.gg/jGH9xXCjDZ
Este artículo proviene de Internet: SharkTeam: Análisis del ataque a UwU Lend
En las últimas 24 horas, han aparecido en el mercado muchas monedas y temas nuevos y de moda, y es muy probable que sean la próxima oportunidad para ganar dinero. El Banco Central Europeo recortó las tasas de interés en 25 puntos básicos, lo que puede iniciar un ciclo de recortes de las tasas de interés por parte de los bancos centrales mundiales. Los ETF spot de BTC han seguido viendo entradas netas durante 18 días consecutivos. El mercado de altcoin ha tenido un rendimiento plano. La actividad comercial de memes del ecosistema Solana sigue siendo alta. io.net (IO) estará abierto para operar el 11 de junio. Los sectores con el efecto de creación de riqueza más fuerte son: GameStop concept meme El sector que merece atención en el futuro: TON Ecosystem Los tokens y temas más buscados por los usuarios son: Glacier Network, Ultiverse, io.net Las posibles oportunidades de airdrop incluyen:…