Os contratos estavam corretos
Não havia nada de errado com os contratos inteligentes da BadgerDAO. Eles foram auditados, se comportaram como escritos e nunca foram explorados. O ataque foi contra o site, usando uma chave de API da Cloudflare comprometida para injetar um script que pedia aos usuários aprovações de token para um endereço controlado pelo atacante.
Do lado do usuário, isso era indistinguível do uso normal. Você visita o site que sempre visita, no domínio correto, com um certificado válido, e ele pede que você aprove um token — que é exatamente o que ele pede toda vez que você deposita.
Aprovações ilimitadas
A razão pela qual um comprometimento de front-end se converte em uma perda de nove dígitos é o modelo de aprovação de token. Aprovar um gastador para um valor ilimitado é o padrão na maioria das interfaces porque economiza gás e evita solicitações repetidas. Também significa que uma única aprovação concedida ao endereço errado é uma autorização permanente sobre todo o seu saldo daquele token, enquanto ela continuar em vigor.
As aprovações são públicas. Qualquer explorador de blocos mostra o que o seu endereço aprovou e para quem. Revisá-las periodicamente é uma verificação que qualquer pessoa consegue fazer, e é a razão pela qual vale ler sobre este incidente mesmo anos depois.
Onde a Conisec para
Não vamos dizer para você revogar nada, e não linkamos ferramentas de revogação. Depois de incidentes desse tipo, sites falsos de “revogação” e “recuperação” aparecem rapidamente e se posicionam bem nas buscas, e uma publicação que rotineiramente envia leitores a interfaces de gerenciamento de aprovações está treinando exatamente o hábito que os atacantes exploram. A lista de aprovações está visível no explorador de blocos em que você já confia. Comece por aí.
Linha do tempo
Somente de acréscimo. As correções são adicionadas como entrada datada própria; as entradas anteriores nunca são reescritas.
O que verificar
A BadgerDAO publicou uma análise pós-incidente técnica, com link abaixo. As aprovações de token são visíveis on-chain e podem ser inspecionadas pela visão de aprovações de qualquer explorador de blocos para o seu próprio endereço.
A Conisec não hospeda nem linka ferramentas de recuperação, de revogação ou de “verificação”. Depois de um incidente público, atacantes rotineiramente semeiam exatamente esses links usando o nome de publicações que cobrem o caso. Use o canal oficial do próprio projeto afetado, linkado acima, e nada além disso.
Fontes
- BadgerDAO, Technical post-mortem (2 dez 2021)
Não é aconselhamento. Este é um resumo de fatos publicados, não orientação jurídica, tributária ou de segurança. Confira nas fontes primárias linkadas acima.
Última verificação por Conisec Staff.