Adobe breach 2013: 153 milhões de senhas e o erro de cripto

Adobe breach 2013: 153 milhões de senhas e o erro de cripto

Em 3 de outubro de 2013, a Adobe publicou um comunicado curto: atacantes tinham invadido sua rede, copiado quase 3 milhões de registros de cartão de clientes e levado código-fonte de produtos como o ColdFusion. O número parecia administrável. Semanas depois, um arquivo de mais de 150 milhões de pares usuário/senha apareceu num fórum, e o caso virou aula de como não proteger senhas. Treze anos depois, o erro continua sendo repetido por aí.

O que a Adobe disse e o que realmente vazou

A primeira notícia saiu pelo KrebsOnSecurity. O jornalista Brian Krebs e o pesquisador Alex Holden, da Hold Security, tinham achado cerca de 40 GB de código-fonte num servidor controlado pelos invasores cerca de uma semana antes do anúncio. A Adobe confirmou o incidente e falou em registros de cartão (criptografados) e em credenciais de um número ainda indefinido de contas.

O número cresceu. Em 29 de outubro, a própria Adobe admitiu que o ataque atingiu cerca de 38 milhões de usuários ativos, e que parte do código do Photoshop também foi acessada, além de Acrobat, Reader e ColdFusion. Pouco depois, um arquivo com mais de 150 milhões de pares de usuário e senha foi publicado no AnonNews.org. O Have I Been Pwned indexou 152,4 milhões de contas, cada uma com e-mail, nome de usuário, senha cifrada e dica de senha em texto puro.

A diferença entre 38 milhões de ativos e 150 milhões no dump vem de contas antigas e inativas que a Adobe mantinha no banco. Quem nem lembrava de ter cadastro estava lá.

Por que a criptografia das senhas foi o verdadeiro desastre

Vazar um banco de senhas é ruim, mas o impacto depende de como elas foram guardadas. O padrão correto é guardar um hash com sal, como bcrypt, scrypt ou Argon2: uma função de mão única, lenta de propósito, em que cada senha ganha um valor aleatório próprio. A Adobe fez outra coisa.

Como a Adobe guardava as senhas?

Com criptografia simétrica reversível, 3DES em modo ECB, usando uma única chave para todos os usuários. Não era hash. Quem obtivesse a chave desfazia tudo, e mesmo sem ela o desenho já entregava muita informação.

O modo ECB cifra cada bloco de 8 bytes de forma independente, sem sal e sem aleatoriedade. Consequência direta: senhas iguais geram textos cifrados iguais. Bastava ordenar o dump por frequência. O valor que aparecia mais vezes era, quase sempre, a senha mais popular. A análise publicada pela Sophos mostrou exatamente isso, e 123456 liderou o ranking.

O que as dicas de senha em texto puro causaram?

Elas funcionaram como gabarito. Com milhares de contas compartilhando o mesmo valor cifrado, bastava ler as dicas dessas contas para deduzir a senha de todas. Dicas como "os seis primeiros números" ou "teclado, linha de cima" resolviam o enigma sem quebrar nada. Parte dos usuários ainda usava a dica para citar o nome de empresa ou de sistema onde trabalhava, o que virou combustível para engenharia social.

O caso virou piada técnica. O quadrinho Encryptic, do xkcd, saiu em novembro de 2013 brincando com a dedução de senhas a partir de dicas e blocos repetidos.

O efeito dominó: reaproveitamento de senha

O dano maior não ficou na Adobe. Quem usava a mesma senha em e-mail, banco ou rede social virou alvo de testes automáticos em outros sites, técnica que hoje se chama credential stuffing. Um vazamento antigo continua útil para o atacante enquanto a vítima não trocar a senha em todo lugar.

A Adobe forçou o reset das contas afetadas e avisou os usuários, mas notificações de clientes fora dos EUA demoraram semanas, segundo a cobertura da época. Em escala parecida, o vazamento do Yahoo em 2013 mostrou o outro lado: a empresa demorou anos para dimensionar o estrago.

O que você pode fazer hoje

  • Consulte seu e-mail no Have I Been Pwned. Se aparecer no breach da Adobe, trate qualquer senha antiga como queimada.
  • Uma senha por serviço. Um gerenciador de senhas como o Bitwarden gera e guarda tudo, sem você decorar nada.
  • Nunca escreva dica que revele a senha. Se o serviço pedir dica, escreva algo que só faça sentido para você, ou nada.
  • Ative 2FA onde for possível. Se puder, migre para passkeys, que não dependem de senha reaproveitável.
  • Se você desenvolve: use bcrypt, scrypt ou Argon2 com sal individual. Nunca cifre senha com chave reversível, e nunca use ECB para nada que importe.

A lição maior

Criptografia e hash resolvem problemas diferentes, e confundir os dois foi o erro central da Adobe. Cifrar significa que existe um caminho de volta, e quem rouba a chave junto com o banco leva tudo. Hash lento com sal significa que o atacante precisa adivinhar senha por senha, e cada uma custa tempo. O incidente de 2013 virou referência obrigatória em curso de segurança por isso: foi o erro mais didático possível, com 153 milhões de exemplos.

Se quiser seguir pelo mesmo trilho, leia sobre o breach da Equifax em 2017, que mostra outro tipo de falha básica com consequências enormes.

Comentários