Ataque de Reentrada
¿Qué es Ataque de Reentrada?
Ataque de ReentradaExplotacion de un contrato inteligente en la que una llamada externa permite al atacante volver a entrar en la funcion antes de actualizar el estado, drenando los fondos en bucle.
La reentrada ocurre cuando un contrato envia ETH o tokens a una direccion externa (mediante call, transfer o un hook ERC-777) antes de actualizar su contabilidad interna. El atacante controla esa direccion y, en el callback, invoca de nuevo la funcion de retirada, repitiendo el ciclo hasta vaciar el contrato. Existen variantes mono-funcion, entre funciones, entre contratos y de solo lectura. Las mitigaciones incluyen el patron checks-effects-interactions, el ReentrancyGuard de OpenZeppelin, los disenos pull-payment y evitar llamadas de bajo nivel a contratos no confiables. El ataque de 2016 a The DAO es el ejemplo canonico y motivo el hard fork que separo Ethereum y Ethereum Classic.
● Ejemplos
- 01
El hackeo de The DAO (junio de 2016) drenó unos 3,6 millones de ETH mediante llamadas recursivas a splitDAO.
- 02
El incidente de Cream Finance en 2021 explotó reentrada cruzada a través de callbacks ERC-777.
● Preguntas frecuentes
¿Qué es Ataque de Reentrada?
Explotacion de un contrato inteligente en la que una llamada externa permite al atacante volver a entrar en la funcion antes de actualizar el estado, drenando los fondos en bucle. Pertenece a la categoría de Web3 y blockchain en ciberseguridad.
¿Qué significa Ataque de Reentrada?
Explotacion de un contrato inteligente en la que una llamada externa permite al atacante volver a entrar en la funcion antes de actualizar el estado, drenando los fondos en bucle.
¿Cómo funciona Ataque de Reentrada?
La reentrada ocurre cuando un contrato envia ETH o tokens a una direccion externa (mediante call, transfer o un hook ERC-777) antes de actualizar su contabilidad interna. El atacante controla esa direccion y, en el callback, invoca de nuevo la funcion de retirada, repitiendo el ciclo hasta vaciar el contrato. Existen variantes mono-funcion, entre funciones, entre contratos y de solo lectura. Las mitigaciones incluyen el patron checks-effects-interactions, el ReentrancyGuard de OpenZeppelin, los disenos pull-payment y evitar llamadas de bajo nivel a contratos no confiables. El ataque de 2016 a The DAO es el ejemplo canonico y motivo el hard fork que separo Ethereum y Ethereum Classic.
¿Cómo defenderse de Ataque de Reentrada?
Las defensas contra Ataque de Reentrada combinan habitualmente controles técnicos y prácticas operativas, como se detalla en la definición.
¿Cuáles son otros nombres para Ataque de Reentrada?
Nombres alternativos comunes: Llamada recursiva maliciosa.
● Términos relacionados
- web3№ 1056
Seguridad de Contratos Inteligentes
Practica de disenar, revisar y operar programas en cadena de modo que no puedan ser explotados para robar fondos, congelar la logica o violar las reglas de negocio.
- web3№ 1055
Auditoria de Contratos Inteligentes
Revision de seguridad independiente del codigo, la configuracion de despliegue y el diseno economico de un contrato inteligente antes del lanzamiento o de una actualizacion.
- web3№ 424
Ataque con Prestamo Relampago
Exploit DeFi que toma un prestamo relampago enorme sin colateral en una unica transaccion para manipular precios o gobernanza y robar fondos antes de devolverlo.
- web3№ 106
Seguridad Blockchain
Disciplina que protege los libros distribuidos, sus mecanismos de consenso, los contratos inteligentes y la infraestructura asociada frente al fraude, el robo y la manipulacion.
- vulnerabilities№ 895
Condición de carrera
Defecto en el que la seguridad o corrección del sistema depende del momento u orden de operaciones concurrentes, permitiendo a un atacante intercalar acciones y eludir comprobaciones.
- web3№ 765
Manipulacion de Oraculo
Ataque que distorsiona el precio o el feed de datos consumido por un contrato inteligente para que tome decisiones erroneas en prestamos, liquidaciones o liquidacion final.