Publicado em 01/01/2009 às 22:02 | 18866 leituras
Ao final do quarto dia da 25ª edição do Chaos Communication Congress (25c3) — ocorrido em Berlim, na Alemanha, de 27 a 30 de dezembro de 2008 — causaram sensação as apresentações de dois palestrantes a respeito de falhas de segurança em dois dos mais importantes protocolos utilizados na Internet quando a questão é segurança: SSH e SSL.
A palestra de Luciano Bello e Maximiliano Bertacchini discorreu especificamente sobre a falha de segurança no gerador de números pseudo-aleatórios que se abateu sobre o projeto Debian em meados de 2008 (publicamos este artigo a respeito, na 46ª edição da Linux Magazine). Os dois pesquisadores argentinos, membros do Laboratorio de Investigación y Desarrollo en Seguridad Informática — diretamente ligado ao Ministério da Defesa da Argentina —, analisaram a brecha de segurança mais a fundo e alertaram para o fato de que o problema não afeta somente servidores Debian, mas todos aqueles para os quais foram gerados certificados de acesso utilizando Debian. Além disso, o problema não afeta somente o SSH, mas também arquivos assinados via GPG ou certificados SSL gerados com a biblioteca libssl.
Para coroar o final do evento, entretanto, foi apresentada uma palestra cercada de uma aura de misticismo, sobre como seria possível — de modo bastante prático — se aproveitar de uma falha de segurança no mecanismo de geração de chaves MD5. Uma equipe internacional, encabeçada por Jacob Appelbaum, demonstrou como um certificado raiz completo que é aceito por qualquer navegador de Internet pode ser criado a partir dessa brecha de segurança.
Com um cluster de 200 Playstation 3, a equipe internacional de pesquisadores e desenvolvedores calculou colisões para o algoritmo de criação de chaves MD5.
O truque foi encontrar um provedor de certificados SSL listado por padrão nos navegadores de Internet que ainda usasse o algoritmo MD5 para geração de chaves — apesar das brechas de seguranças que foram reportadas para esse algoritmo em 2004 e 2007. A função de geração de chaves do algoritmo MD5 permite criar uma réplica de arquivo com a mesma identificação digital (hash fingerprint) do arquivo original. Essa réplica é conhecida por especialistas pelo nome de "colisão". Dispondo-se de potência computacional adequada, pode-se manipular uma quantidade limitada de bytes do arquivo de colisão. A equipe envolvida nesse projeto utilizou-se para essa finalidade de um cluster composto por 200 unidades da Sony Playstation 3, cada uma delas equipada com um processador do tipo Cell, que usaram o arquivo de colisão em seus cálculos por três dias. Alternativamente, o cálculo poderia ter sido realizado através do aluguel de um cluster como o EC2 da Amazon, pela bagatela de 2.000 dólares.
Os pesquisadores e desenvolvedores registraram então um domínio, para o qual foi criado um certificado SSL legítimo, por uma Autoridade Certificadora que ainda utiliza o algoritmo MD5. A partir desse certificado, foi preparado um arquivo de colisão, cujo resultado foi um certificado de Autoridade de Registro (Sub-CA certificate) "válido" — apesar de falso. Com alguns scripts — e um pouco de sorte — foi obtido um certificado com um número de série e data de criação arbitrários, o que é pré-requisito para o ataque. Isso tudo foi possível em apenas quatro finais de semana e com um custo de menos de 1.000 dólares em certificados SSL.
Se um agressor pudesse — na condição de intermediário (man in the middle) — desviar conexões criptografadas via SSL, e apresentar em seguida, ao invés do certificado do servidor ao qual se solicitou uma conexão, um certificado falso assinado pela Autoridade de Registro, conforme descrito acima, o navegador não teria praticamente nenhuma chance de reconhecer essa manipulação. A segurança de aplicativos bancários via Internet, de conexões criptografadas via SSL a servidores IMAP, bem como o uso de conexões VPN usando SSL, estariam total e irremediavelmente comprometidas nesse caso. Entretanto, como os descobridores da falha de segurança não pretendem divulgar o certificado falso, os desenvolvedores de navegadores de Internet e as Autoridades de Certificação ainda têm algum tempo para atualizar seus aplicativos.