Pular para o conteúdo
Registro de incidente · · 2 min de leitura · 292 palavras ·Descoberto ·Divulgado Resolvido

Injeção no front-end da BadgerDAO, dezembro de 2021: o que aconteceu e o que verificar

Uma chave de API da Cloudflare comprometida permitiu que atacantes injetassem no front-end da BadgerDAO um script que colhia aprovações. Os contratos nunca foram tocados.

Compartilhar
Esquema do incidente da BadgerDAO mostrando a etapa de comprometimento do front-end como o ponto de falha.
Schematic of the BadgerDAO incident showing the front-end compromise stage as the failure point.

Visão geral

ENTIDADE AFETADA
BadgerDAO
BLOCKCHAIN(S)
Ethereum
PERDA RELATADA
aprox. US$ 120 milhões(BadgerDAO, 2 dez 2021)
RESPOSTA OFICIAL
badger.com

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.

  1. Segundo a análise pós-incidente da BadgerDAO, a injeção de script malicioso começa de forma intermitente, atingindo subconjuntos de usuários. BadgerDAO
  2. Grandes transferências não autorizadas são detectadas. A BadgerDAO pausa seus cofres e confirma publicamente o incidente. BadgerDAO

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

  1. 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.

Continue explorando