
Fuente: Tecnología Shenzhen Zero Time
fondo
El 25 de febrero de 2024, monitoreamos un evento de ataque contra Ethereum: https://etherscan.io/tx/0xf0464 lueberryprotocol, la pérdida de aproximadamente 455 ETH 1.4M USD.Afortunadamente, el ataque fue interceptado por una ID de un sombrero blanco C0ffeebabe (0xc0ffeebababe5D496B2DDE509F9FA189C25CF29671 [C0ffeebabe.eth]), y finalmente devolvió 366.5 Eth 1.2 M USD.
BlueberryProtocol es un proyecto Defi basado en la horquilla compuesta, que proporciona préstamos, hipotecas y otros servicios.El modo de operación específico se muestra a continuación:
Análisis de ataque
El atacante primero tomó prestado 1 a través del préstamo de rayos de Balancer.
Posteriormente, el atacante hipotecó 1 Weth a BlueberryProtocol y Mint hizo 1 BWETH.Luego, el atacante usó 1 BWeth hipotecado como hipoteca y usó préstamo para pedir prestado 8616 ohm (decimal = 9), 913262 USDC (decimal = 6) y 6.86 WBTC (decimal = 8).
Finalmente, el atacante reemplazó el Ohm, USDC y WBTC a 457 ETH a través de Uniswap.
Análisis de vulnerabilidad
La causa raíz del problema es que cuando el código procesa diferentes activos, se procesa el número de cola.El decimal de Weth tiene 18 años, el decimal de Ohm es 9, el decimal de USDC es 6 y el decimal de WBTC es 8.
Sin embargo, el oráculo del precio del propotocol de Blueberry, al procesar el precio del token, es escala en el decimal = 18.
Como resultado, el valor de Ohm se reduce en 1E9, el valor de USDC se reduce en 1E12 y el valor WBTC se reduce en 1E10.Como resultado, el atacante recogió activos por valor de 460 ETH a solo 1 hipoteca ETH.
Resumir
La vulnerabilidad es que la parte del proyecto usa el mismo código para manejar diferentes tokens, y no tiene en cuenta el decimal diferente de diferentes token.El activo causó una gran cantidad de activos de decimal, y el atacante fue prestado a un precio muy bajo como hipoteca.Se recomienda que la parte del proyecto realice una auditoría completa y auditoría cruzada por contratos inteligentes antes de que se lance el contrato para evitar tales problemas de seguridad.