Null prefix attack – Mais dicas para frustar o uso de SSL

By Rodrigo Montoro on August 7, 2009

Após alguns dias em Vegas para Defcon 17 aqui estamos para comentar sobre a conferência nos assuntos relacionados a web. Nesse primeiro post comentarei a que considero a melhor palestra e como citaram ele literalmente “quebrou a segurança da internet” . A palestra foi “More Tricks for defeating SSL” https://www.defcon.org/html/defcon-17/dc-17-speakers.html#Marlinspike .

Para quem não conhece o Moxie, na Blackhat Europa ele lançou uma ferramenta chamada  SSLStrip no qual ele explorava a caracteristica básica de requisições http para https que geralmente era oriundas de um redirect. Basicamente o sslstrip juntamente com um arpspoof (ataque de Man In The Middle – MITM) redirecionava todo tráfego da porta 80 para analise da mesma e quando detectava o redirect para o https, ela simplesmente intermediava o processo retornando para o cliente um favicon de cadeado, deixando a conexão entre o cliente e sslstrip em modo texto puro e a conexão https era estabelecida entre sslstrip e servidor dominio.

Você podera ter mais informações no post que colocamos em http://community.nstalker.com/new-techniques-for-defeating-ssl-in-practice-sslstrip

Na palestra More Tricks defeating SSL ele demonstra ataques de MITM contra SSL/TLS emulando certificados (certificate signing request – CSR) devido a falhas no modo de funcionamento da NSS, Crypto API da Microsoft e no GnuTLS. Isso engloba como possiveis alvos para MITM ferramentas como firefox, Internet Explorer, Chrome, Outlook, Evolution e qualquer ferramenta que faça uso nas libs/api citadas anteriormente.

O ataque chamado por ele de Null prefix Atacck se deve a falha de interpretação do prefixo nulo “\0” .

Como funciona:

O cliente procura no subject (CN – common name ) do certificado o dominio  ou seja, quando se tem o dominio www.paypal.com no certificado ele seria algo www.paypal.com\0 , onde o cliente aceitaria como o certificado valido.

O problema é que os clientes não verificam se a certificadora é da mesma origem do dominio ou seja, com um prefixo nulo consigo emular qualquer dominio abaixo do meu próprio. Vamos pensar no nstalker.net .  Se criarmos um certificado para www.paypal.com.nstalker.net o browser detectara que é um subdominio da nstalker.net e não aceitara isso como certificado valido da N-Stalker . Porém se criarmos um certificado  abaixo do nstalker.net para www.paypal.com\0.nstalker.net o \0 enganara o cliente em si e causara a possibilidade de MITM emulando certificados (CSR). Para facilitar mais ainda, se seu alvo utilizar aplicações NSS como firefox por exemplo , você poderá simplesmente criar uma wildcard e fazer MITM para QUALQUER domínio que queira simplementes criando um certificado para *\0.nstalker.net

Para facilitar ainda mais ele fez o release do SSLsniff v0.6 onde  você de forma automática pode fazer o processo citado acima, juntamente com um arpspoofing .

A gama de ataques são imensas, como ele mesmo citou updates automáticos do firefox por exemplo são um grande problema pois a confiança está no certificado, ou seja, você emulando que é o domínio dos updates você simplesmente fará o browser atualizar o que quiser e para piorar os updates vem habilitados para rodarem automaticamente.

Realmente podemos dizer que SSL é algo crítico para se acessar em locais em que você não tenha pleno conhecimento da segurança (mais ainda do que no passado visto esse problema) . Estamos realizando testes e logo teremos mais detalhes práticos .

Links sobre o asunto
Video apresentação Blackhat – http://www.thoughtcrime.org/software/sslsniff/video/null-prefix-attack.mov

Paper Null Prefix Attacks – http://www.thoughtcrime.org/papers/null-prefix-attacks.pdf

Como gerar CSR – http://www.verisign.com/support/ssl-certificates-support/page_dev019431.html

SSLsniff v0.6 – http://www.thoughtcrime.org/software/sslsniff/

N-Stalker Research Team

This entry was posted in Community Blog. Bookmark the permalink.