Ataque de Reentrancia
O que é Ataque de Reentrancia?
Ataque de ReentranciaExploit de contrato inteligente em que uma chamada externa permite ao atacante reentrar na funcao antes da atualizacao de estado, drenando fundos em loop.
A reentrancia ocorre quando um contrato envia ETH ou tokens para um endereco externo (via call, transfer ou hook ERC-777) antes de atualizar a propria contabilidade. O atacante controla esse endereco e, no callback, invoca novamente a funcao de retirada, repetindo o ciclo ate esvaziar o contrato. Existem variantes mono-funcao, entre funcoes, entre contratos e somente leitura. Mitigacoes incluem o padrao checks-effects-interactions, o ReentrancyGuard da OpenZeppelin, pagamentos pull e evitar chamadas de baixo nivel a contratos nao confiaveis. O ataque a The DAO em 2016 e o exemplo canonico e motivou o hard fork que separou Ethereum e Ethereum Classic.
● Exemplos
- 01
O hack a The DAO (junho de 2016) drenou cerca de 3,6 milhoes de ETH com chamadas recursivas a splitDAO.
- 02
O incidente da Cream Finance em 2021 explorou reentrancia entre funcoes via callbacks ERC-777.
● Perguntas frequentes
O que é Ataque de Reentrancia?
Exploit de contrato inteligente em que uma chamada externa permite ao atacante reentrar na funcao antes da atualizacao de estado, drenando fundos em loop. Pertence à categoria Web3 e blockchain da cibersegurança.
O que significa Ataque de Reentrancia?
Exploit de contrato inteligente em que uma chamada externa permite ao atacante reentrar na funcao antes da atualizacao de estado, drenando fundos em loop.
Como funciona Ataque de Reentrancia?
A reentrancia ocorre quando um contrato envia ETH ou tokens para um endereco externo (via call, transfer ou hook ERC-777) antes de atualizar a propria contabilidade. O atacante controla esse endereco e, no callback, invoca novamente a funcao de retirada, repetindo o ciclo ate esvaziar o contrato. Existem variantes mono-funcao, entre funcoes, entre contratos e somente leitura. Mitigacoes incluem o padrao checks-effects-interactions, o ReentrancyGuard da OpenZeppelin, pagamentos pull e evitar chamadas de baixo nivel a contratos nao confiaveis. O ataque a The DAO em 2016 e o exemplo canonico e motivou o hard fork que separou Ethereum e Ethereum Classic.
Como se defender contra Ataque de Reentrancia?
As defesas contra Ataque de Reentrancia costumam combinar controles técnicos e práticas operacionais, conforme detalhado na definição acima.
Quais são outros nomes para Ataque de Reentrancia?
Nomes alternativos comuns: Chamada recursiva maliciosa.
● Termos relacionados
- web3№ 1056
Seguranca de Contratos Inteligentes
Pratica de projetar, revisar e operar programas on-chain para que nao possam ser explorados para roubar fundos, congelar a logica ou violar regras de negocio.
- web3№ 1055
Auditoria de Contratos Inteligentes
Revisao de seguranca independente do codigo-fonte, da configuracao de deploy e do desenho economico de um contrato inteligente antes do lancamento ou de uma atualizacao.
- web3№ 424
Ataque com Flash Loan
Exploit DeFi que toma um enorme emprestimo flash sem garantia numa unica transacao para manipular precos ou governanca e roubar fundos antes do reembolso.
- web3№ 106
Seguranca em Blockchain
Disciplina que protege livros-razao distribuidos, seus mecanismos de consenso, contratos inteligentes e infraestrutura associada contra comprometimento, fraude e roubo.
- vulnerabilities№ 895
Condição de corrida
Defeito em que a segurança ou correção de um sistema depende do timing ou ordem de operações concorrentes, permitindo ao atacante intercalar ações e contornar verificações.
- web3№ 765
Manipulacao de Oraculo
Ataque que distorce o preco ou o feed de dados usado por um contrato inteligente, levando-o a tomar decisoes muito erradas em emprestimos, liquidacoes ou liquidacao final.