La razón es que en el nuevo mercado de USDC, el problema de redondeo matemático en la función “quemar” se amplifica y explota, lo que permite a los piratas informáticos extraer USDC adicionales.
Compilado por Daniel Tan
El 3 de enero de 2024, hora de Beijing, el protocolo Radiant de Arbitrum fue atacado por préstamos flash. Los piratas informáticos realizaron 3 ataques al protocolo #Radiant, lo que resultó en una pérdida total de 1.902 ETH (por un valor de 4,5 millones de dólares). La causa fundamental es que en el nuevo mercado de $USDC, se amplificó y aprovechó un problema de redondeo matemático en la función “burn”, lo que permitió a los piratas informáticos retirar $USDC adicionales.
MetaTrust Labs llevó a cabo una investigación y un análisis en profundidad de este ataque, revelando cómo los piratas informáticos explotaron la vulnerabilidad.
Protocolo de préstamo Protocolo radiante
Radiant es un protocolo de préstamos descentralizado y sin custodia que se ejecuta en múltiples cadenas, incluidas Arbitrum, BNBChain y Ethereum.
Después del ataque, el valor total bloqueado en el protocolo Radiant seguía siendo de 313 millones de dólares, debido a que el equipo del proyecto suspendió rápidamente el protocolo después de ser atacado para evitar mayores pérdidas.
Las tres transacciones de ataque resultaron en una pérdida total de más de 1.902 ETH, por un valor de más de 4,5 millones de dólares estadounidenses. En el momento de escribir este artículo, todavía se almacenaban 1.902 $ETH en la billetera del hacker (0x826d5f4d8084980366f975e10db6c4cf1f9dde6d).
agresor
0x826d5f4d8084980366f975e10db6c4cf1f9dde6d
Contrato de ataque
0x39519c027b503f40867548fb0c890b11728faa8f
Contrato bajo ataque
Radiante: Fondo de préstamos:
0xf4b1486dd74d07706052a33d31d7c0aafd0659e1
USDCn:
0x3a2d44e354f2d88ef6da7a5a4646fd70182a7f55
Qué pasó antes del ataque
Quince segundos antes del ataque, el grupo del proyecto acababa de crear un nuevo mercado USDC en Arbitrum, y el hacker fue la primera persona en interactuar con el nuevo mercado USDC.
Pasos de ataque
Tomemos como ejemplo la primera transacción de ataque 0x1ce7e9a9e3b6dd3293c9067221ac3260858ce119ecb7ca860eac28b2474c7c9b.
Tomar prestados USD 3 millones de AAVE a través de la función de préstamo rápido;
Deposite 2 millones de dólares en Radiant Pool. En este momento, el índice de liquidez es 1e27.
Otorgue un préstamo rápido de $ 2 millones en Radiant Lending Pool y amplíe el índice de liquidez a 1,8e36.
Repita el paso 3, 151 veces, para ampliar liauidityIndex a 2.7e38, que es 270000000000 veces el valor inicial.
Pida prestados 90,6 $ETH de Radiant Pool, por un valor de $215 000. Esta es la ganancia de este ataque;
Cree un nuevo contrato (0xd8b591);
Apruebe el USDC ilimitado para el nuevo contrato, transfiera 543K $USDC al nuevo contrato y use el nuevo contrato para realizar los siguientes pasos; transfiera 543K $USDC al nuevo contrato y use el nuevo contrato para realizar los siguientes pasos ;
Deposite 543K $USDC en el grupo Radiant y acuñe 2 tokens wei. Debido a que la cantidad escalada es 2 tokens, 543600000002*1e27/271800000000999999999999998631966035920=2;
Retirar 407K $USDC del grupo Radiant, quemar solo 1 wei de tokens porque cantidadScaled es 1, 407700000000*1e27/27180000000099999999999999998631966035920=1.5 y problemas de redondeo matemático. Tenga en cuenta que cantidadScaled es una variable de tipo uint256, que convertirá 1,5 en 1.
Deposite 271K $USDC en el grupo Radiant y acuñe tokens con una cantidad escalada en 1 porque 271800000001*1e27/271800000000999999999999998631966035920=1
Retira 407K $USDC del fondo Radiant y solo destruye tokens con una cantidad escalada de 1.
Repita los pasos 10 y 11 hasta 18 veces y drene los $USDC del nuevo mercado que el hacker depositó previamente en el nuevo mercado.
Convierta 2 $WETH en 4,73K $USDC y 3,23K $USDC en 1,36 $WETH.
Utilice USD 3,5 millones de USDC como capital y USD 15 000 USDC como tarifa para reembolsar el préstamo rápido de AAVE.
Ganancia de $90 ETH.
causa principal
La razón fundamental es que el hacker fue el primero en interactuar con el mercado nativo USDC recién creado, aprovechó la función de préstamo rápido del protocolo Radiant para amplificar el índice de liquidez y aprovechó los problemas de redondeo matemático para robar activos del grupo de préstamos.
Clave
Ver originales
Esta página puede contener contenido de terceros, que se proporciona únicamente con fines informativos (sin garantías ni declaraciones) y no debe considerarse como un respaldo por parte de Gate a las opiniones expresadas ni como asesoramiento financiero o profesional. Consulte el Descargo de responsabilidad para obtener más detalles.
Radiant Protocol fue pirateado y perdió 4,5 millones de dólares a los pocos segundos de su lanzamiento.
Compilado por Daniel Tan
El 3 de enero de 2024, hora de Beijing, el protocolo Radiant de Arbitrum fue atacado por préstamos flash. Los piratas informáticos realizaron 3 ataques al protocolo #Radiant, lo que resultó en una pérdida total de 1.902 ETH (por un valor de 4,5 millones de dólares). La causa fundamental es que en el nuevo mercado de $USDC, se amplificó y aprovechó un problema de redondeo matemático en la función “burn”, lo que permitió a los piratas informáticos retirar $USDC adicionales.
MetaTrust Labs llevó a cabo una investigación y un análisis en profundidad de este ataque, revelando cómo los piratas informáticos explotaron la vulnerabilidad.
Protocolo de préstamo Protocolo radiante
Radiant es un protocolo de préstamos descentralizado y sin custodia que se ejecuta en múltiples cadenas, incluidas Arbitrum, BNBChain y Ethereum.
Después del ataque, el valor total bloqueado en el protocolo Radiant seguía siendo de 313 millones de dólares, debido a que el equipo del proyecto suspendió rápidamente el protocolo después de ser atacado para evitar mayores pérdidas.
cronología
comercio
0xc5c4bbddec70edb58efba60c1f27bce6515a45ffcab4236026a5eeb3e877fc6d
0x2af556386c023f7ebe7c662fd5d1c6cc5ed7fba4723cbd75e00faaa98cd14243
0x1ce7e9a9e3b6dd3293c9067221ac3260858ce119ecb7ca860eac28b2474c7c9b
Pérdida de activos
Las tres transacciones de ataque resultaron en una pérdida total de más de 1.902 ETH, por un valor de más de 4,5 millones de dólares estadounidenses. En el momento de escribir este artículo, todavía se almacenaban 1.902 $ETH en la billetera del hacker (0x826d5f4d8084980366f975e10db6c4cf1f9dde6d).
agresor
0x826d5f4d8084980366f975e10db6c4cf1f9dde6d
Contrato de ataque
0x39519c027b503f40867548fb0c890b11728faa8f
Contrato bajo ataque
Radiante: Fondo de préstamos:
0xf4b1486dd74d07706052a33d31d7c0aafd0659e1
USDCn:
0x3a2d44e354f2d88ef6da7a5a4646fd70182a7f55
Qué pasó antes del ataque
Quince segundos antes del ataque, el grupo del proyecto acababa de crear un nuevo mercado USDC en Arbitrum, y el hacker fue la primera persona en interactuar con el nuevo mercado USDC.
Pasos de ataque
Tomemos como ejemplo la primera transacción de ataque 0x1ce7e9a9e3b6dd3293c9067221ac3260858ce119ecb7ca860eac28b2474c7c9b.
Tomar prestados USD 3 millones de AAVE a través de la función de préstamo rápido;
Deposite 2 millones de dólares en Radiant Pool. En este momento, el índice de liquidez es 1e27.
Otorgue un préstamo rápido de $ 2 millones en Radiant Lending Pool y amplíe el índice de liquidez a 1,8e36.
Repita el paso 3, 151 veces, para ampliar liauidityIndex a 2.7e38, que es 270000000000 veces el valor inicial.
Pida prestados 90,6 $ETH de Radiant Pool, por un valor de $215 000. Esta es la ganancia de este ataque;
Cree un nuevo contrato (0xd8b591);
Apruebe el USDC ilimitado para el nuevo contrato, transfiera 543K $USDC al nuevo contrato y use el nuevo contrato para realizar los siguientes pasos; transfiera 543K $USDC al nuevo contrato y use el nuevo contrato para realizar los siguientes pasos ;
Deposite 543K $USDC en el grupo Radiant y acuñe 2 tokens wei. Debido a que la cantidad escalada es 2 tokens, 543600000002*1e27/271800000000999999999999998631966035920=2;
Deposite 271K $USDC en el grupo Radiant y acuñe tokens con una cantidad escalada en 1 porque 271800000001*1e27/271800000000999999999999998631966035920=1
Retira 407K $USDC del fondo Radiant y solo destruye tokens con una cantidad escalada de 1.
Repita los pasos 10 y 11 hasta 18 veces y drene los $USDC del nuevo mercado que el hacker depositó previamente en el nuevo mercado.
Convierta 2 $WETH en 4,73K $USDC y 3,23K $USDC en 1,36 $WETH.
Utilice USD 3,5 millones de USDC como capital y USD 15 000 USDC como tarifa para reembolsar el préstamo rápido de AAVE.
Ganancia de $90 ETH.
causa principal
La razón fundamental es que el hacker fue el primero en interactuar con el mercado nativo USDC recién creado, aprovechó la función de préstamo rápido del protocolo Radiant para amplificar el índice de liquidez y aprovechó los problemas de redondeo matemático para robar activos del grupo de préstamos.
Clave