Duas âncoras, um ano
Toda arquitetura de segurança se apoia num punhado de coisas que se supõe não falharem. Duas das maiores são o autenticador que prova que uma pessoa é quem diz ser, e a autoridade certificadora que prova que um servidor é o que diz ser. Em 2011 uma de cada foi comprometida, com quatro meses de intervalo, e a sequência vale ser ensinada porque nenhuma das duas falhou do jeito que um profissional esperaria.
Nenhuma foi quebrada criptograficamente. Uma caiu por um e-mail; a outra, por uma rede com uma senha só.
Março de 2011: a RSA e o SecurID
Em 3 de março de 2011 um funcionário da EMC, empresa-mãe da , recebeu uma mensagem dizendo, em substância, que um arquivo estava sendo encaminhado para revisão. O anexo era uma planilha chamada "2011 Recruitment plan.xls". Abri-la disparou um exploit de dia zero no Adobe Flash, que instalou uma porta dos fundos de acesso remoto. Os atacantes então fizeram o que atacantes fazem: tiraram credenciais da memória, usaram-nas para alcançar outras máquinas, colheram mais credenciais, inclusive privilegiadas, e chegaram ao que tinham vindo buscar - dados relativos ao SecurID, o token de hardware então usado por uns 40 milhões de pessoas em 25 mil organizações clientes para provar identidade ao entrar em sistemas.
A RSA chamou a intrusão de ameaça persistente avançada. Críticos chamaram de phishing. A avaliação mais cuidadosa veio de Mikko Hyppönen, da F-Secure, cuja equipe recuperou o e-mail original: a mensagem não era avançada e a porta dos fundos também não, mas o exploit era, e como era um dia zero, a RSA não poderia tê-lo evitado corrigindo sistemas. Essa distinção é a útil, e é desconfortável nas duas direções - recusa o conforto do "deviam ter aplicado o patch" e igualmente o conforto de chamar toda intrusão de sofisticada.
A consequência chegou em maio. A Lockheed Martin - a maior fornecedora de tecnologia da informação ao governo dos Estados Unidos - detectou um ataque ao seu acesso remoto usando informação derivada da brecha na RSA. A L-3 Communications relatou tentativa semelhante; a Northrop Grumman desligou temporariamente o acesso remoto. Em 6 de junho a RSA confirmou o que se suspeitava havia meses e se ofereceu para substituir os tokens de sua base de clientes, a um custo estimado em uns 66 milhões de dólares. Os alvos reais nunca tinham sido a RSA nem as empreiteiras; eram os programas em que as empreiteiras trabalhavam.
A crítica da época que melhor envelheceu não era sobre a intrusão. escreveu em maio, antes da confirmação, que o incidente revelava o perigo de as empresas não serem abertas sobre incidentes de segurança: os clientes que dependiam do SecurID não sabiam dizer se deviam trocar tokens, mudar PINs ou isolar seus servidores administrativos, porque não lhes tinham dito o que fora levado. Esse, disse ele, era o problema de verdade. É o mesmo achado que o verbete da Microsoft registra sobre um deixado errado por seis meses, e o da Fujitsu sobre um registro retido por uma década.
De junho a setembro de 2011: a DigiNotar
A DigiNotar era uma autoridade certificadora holandesa. Sua raiz era confiada por todo navegador de peso, e uma de suas intermediárias emitia certificados para o PKIoverheid, a infraestrutura de chaves públicas do governo holandês - os certificados por trás dos serviços eletrônicos do país.
Os intrusos estavam dentro desde meados de junho. A partir de 10 de julho usaram esse acesso para emitir certificados: 531 certificados fraudulentos para 344 domínios, entre eles Google, Skype, o site de complementos da Mozilla e o Microsoft Update. A DigiNotar começou a revogar em 19 de julho. Não tornou público.
Foi descoberta por um cidadão comum. Em 27 de agosto um usuário iraniano do Gmail postou num fórum de suporte do Google perguntando se o que via era um ataque de intermediário sobre o certificado. Era. Um certificado curinga fraudulento do Google estava sendo usado, no Irã, para ler correio.
O que a Fox-IT então achou, num relatório publicado em 5 de setembro e arquivado como anexo de um registro público de valores mobiliários, é um catálogo de falhas que qualquer auditor deveria ter pegado. Todos os servidores da autoridade certificadora estavam num único domínio Windows, então um usuário e uma senha alcançavam todos - e a senha era fraca o bastante para força bruta. Os servidores mais críticos carregavam malware que um antivírus comum teria detectado. A separação de componentes críticos estava ausente ou não funcionava. Os servidores estavam fisicamente numa sala segura e alcançáveis pela rede. E o número de série do certificado fraudulento do Google não constava dos registros da própria empresa, o que significava que ninguém sabia dizer quantos certificados tinham sido emitidos: o único jeito de estimar o estrago era observar as consultas de revogação que os navegadores fazem - as do Online Certificate Status Protocol (). Essas consultas mostraram cerca de 300 mil endereços únicos, noventa e nove por cento deles no Irã, checando o estado do certificado fraudulento do Google - ou seja, aproximadamente 300 mil pessoas cujo correio estava sendo interceptado, por quase dois meses.
A DigiNotar era auditada anualmente contra a norma europeia para autoridades certificadoras.
Os navegadores removeram a raiz. A Mozilla foi além e acrescentou desconfiança explícita, porque uma raiz removida ainda pode ser honrada se houver assinatura cruzada, e incluiu as intermediárias do PKIoverheid que não encadeavam na raiz da DigiNotar. O governo holandês teve de assumir o controle operacional do negócio de certificados de uma empresa privada para manter os serviços do Estado funcionando, e dizer a dezessete milhões de cidadãos que os certificados por trás de seu governo eletrônico não podiam ser confiados. Promotores abriram inquérito sobre se a demora na divulgação configurava negligência criminosa. Em 19 de setembro de 2011 a DigiNotar pediu falência. Impressões digitais deixadas de propósito nos scripts do ataque batiam com as da invasão à Comodo, outra autoridade certificadora, em março do mesmo ano.
O que o par ensina
A falha nunca foi a criptografia. Os algoritmos da RSA estavam bem; o projeto do SecurID estava bem. Os certificados da DigiNotar eram matematicamente válidos - esse era o problema. Os dois foram derrotados por fraquezas comuns de tecnologia da informação: um e-mail, um domínio plano, uma senha fraca, segmentação ausente. Os ataques nomeados ao TLS tratam de falhas em protocolos; este par trata de tudo em volta deles, e a segunda categoria produziu mais estrago que a primeira.
O comprometimento de uma âncora de confiança é silencioso por construção. Um certificado fraudulento não produz erro. Um token clonado produz um login bem-sucedido. Nenhum gera alerta, porque os dois são o sistema funcionando. É por isso que os registros da própria DigiNotar não podiam responder à pergunta mais básica - quantos certificados você emitiu - e por que a estimativa teve de ser reconstruída do tráfego de revogação. Se a maquinaria de revogação de certificados não existisse, ninguém teria conseguido contar as vítimas.
A detecção veio de fora, nos dois casos. A brecha da RSA ficou visível quando as defesas da Lockheed pegaram o ataque seguinte. A da DigiNotar ficou visível quando um usuário em Teerã fez uma pergunta num fórum. Nenhuma das organizações achou a própria intrusão, e as duas demoraram a falar depois de saber - a DigiNotar mais de um mês depois de começar a revogar.
O momento da divulgação é um controle de segurança. Esta é a parte que os profissionais subestimam. As duas organizações tinham clientes que poderiam ter agido - reemitir tokens, fixar certificados, olhar os próprios registros - e que não puderam, porque não sabiam. A engenharia já estava perdida a essa altura; o que restava decidir era quanto a perda custaria a todo mundo rio abaixo, e isso foi decidido por uma escolha de comunicação.
E as auditorias passaram. A DigiNotar era avaliada periodicamente contra a norma reconhecida do seu setor enquanto os servidores da sua autoridade certificadora dividiam uma senha. A conformidade media o que podia ser documentado, e a coisa que importava - uma credencial alcança todo servidor de assinatura? - não estava na lista. Essa distância entre uma auditoria aprovada e uma rede defensável é a coisa mais útil a levar de 2011 para qualquer conversa sobre um regime de conformidade.
Fontes
- SecurityWeek, lições da DigiNotar, da Comodo e da RSA: a RSA descreveu a brecha como ameaça persistente avançada enquanto críticos a chamavam de phishing comum; os atacantes usaram engenharia social para pesquisar funcionários e enviaram spear phishing com o arquivo Excel "2011 Recruitment plan.xls", carregando um exploit de dia zero que instalou uma porta dos fundos por uma vulnerabilidade do Adobe Flash
- NBC News, sobre a F-Secure ter recuperado o e-mail original: enviado à caixa de um funcionário da EMC em 3 de março de 2011; a avaliação de Mikko Hyppönen de que o e-mail não era avançado e a porta dos fundos não era avançada, mas o exploit era, e por ser dia zero a RSA não poderia ter se protegido com correções
- NBC News, junho de 2011: a RSA confirmou em 6 de junho que o SecurID fora comprometido na brecha de março e que a informação roubada fora usada numa tentativa de ataque à Lockheed Martin; o presidente executivo Arthur Coviello ofereceu substituir tokens na maior parte das 25 mil organizações clientes
- Steven Bellovin, 28 de maio de 2011: o incidente revela o perigo de as empresas não serem abertas sobre incidentes de segurança; quem dependia do SecurID não sabia se devia trocar tokens, mudar PINs ou isolar servidores administrativos, e esse é o problema de verdade
- Relatório interino da Fox-IT, "Operation Black Tulip", 5 de setembro de 2011, arquivado como anexo público: o certificado fraudulento achado pelo Google fora emitido pela DigiNotar Public CA 2025, mas seu número de série não estava nos registros do sistema da CA, então não se sabe quantos certificados foram emitidos sem registro; as consultas ao respondedor OCSP foram monitoradas para identificá-los
- ENISA, Operation Black Tulip: os registros da DigiNotar mostraram 300 mil consultas OCSP de endereços no Irã, sugerindo cerca de 300 mil usuários iranianos vítimas de ataques de intermediário; o ataque começou em meados de junho e os certificados falsos foram usados por quase dois meses; a DigiNotar não relatou imediatamente o ataque a clientes nem a autoridades; era auditada anualmente contra a norma ETSI
- IEEE Spectrum: 531 certificados fraudulentos para 344 nomes de domínio; vestígios do ataque já em 17 de junho, ou seja, mais de um mês sem detecção; a Fox-IT achou nos servidores mais críticos malware detectável por antivírus comum, separação de componentes críticos ausente e servidores da CA alcançáveis pela rede apesar do ambiente físico seguro; promotores holandeses investigaram possível negligência criminosa pela demora na divulgação
- Journal of Strategic Security: a primeira indicação foi um usuário do Gmail no Irã postando num fórum do Google em 27 de agosto de 2011; todos os servidores da CA estavam num único domínio Windows alcançável com um usuário e uma senha, e essa senha não resistia a força bruta; a DigiNotar pediu falência em 20 de setembro de 2011
- The Register, 6 de setembro de 2011: certificados fraudulentos emitidos entre 10 e 20 de julho para Google, Skype, complementos da Mozilla e Microsoft Update; a DigiNotar começou a revogar em 19 de julho e esperou mais de um mês para tornar público; impressões deixadas de propósito num script batiam com as da invasão à Comodo de março de 2011; uma intermediária da DigiNotar emitia certificados para o PKIoverheid do governo holandês
- Aviso de segurança 2011-35 da Mozilla: desconfiança explícita acrescentada à raiz e às intermediárias da DigiNotar, porque remover só a raiz deixaria os certificados válidos se houvesse assinatura cruzada por outra autoridade; a lista inclui as intermediárias do PKIoverheid que não encadeavam na raiz da DigiNotar