O tema da virada do ano foi o ataque demonstrado por Alexander Sotirov et al que mostra a necessidade de se deixar de utilizar o algorítimo de hashes criptográficos MD5 em mais uma aplicação: PKI, ou Public Key Infrastructure (slides PDF) / (site SSL prova de conceito)
A implicação mais óbvia é a utilização desta vulnerabilidade em ataques de phishing/pharming mais sofisticados (combinados com ataques de DNS possibilitariam a um atacante a falsificação quase perfeita (e talvez o tunelamento do acesso do cliente através de um site forjado) de instituições de comércio eletrônico e personal banking (https://)
Há quem argumente que não é de grande impacto a notícia, porque o usuário comum simplesmente clicaria em "Add Exception" no Browser quando um ataque similar é feito com um certificado SSL não forjado, mas as implicações são ainda mais sérias neste caso, tanto é que a Verisign estará substituindo gratuitamente para seus clientes os certificados que ainda utilizam o MD5...
Segundo os pesquisadores, além da aplicação da colisão de hashes MD5, o ataque foi possível porque a Verisign e outras (RapidSSL, FreeSSL, TrustCenter, RSA Data Security, Thawte, verisign.co.jp):
- ainda utilizavam (até dias atrás) certificados com assinaturas criadas utilizando MD5 (caso você seja responsável por certificados SSL em uma PKI interna, verifique também... )
- automatizam as solicitações de certificados
- não verificam solicitações anômalas
- permitem a previsão da combinação entre número de série e validade do certificado
- não limitam o tamanho da cadeia de certificados
Vale lembrar que o MD5 tem um crescente histórico de identificações de vulnerabilidades que possibilitaram esta prova de conceito.
Segundo a Netcraft, 14% dos sites que usam SSL utilizam o MD5 como algoritimo de hash.
Estas duas extensões para Firefox podem auxiliá-lo a detectar se o site HTTPS que você está acessando usa certificados que utilizam MD5:
Além disto, recentemente foi disponibilizado um módulo para o metasploit framework que pode varrer o endereçamente interno da sua empresa e identificar se existem certificados que precisam ser trocados:
Uma lista de referências sobre o assunto segue abaixo:
- http://www.win.tue.nl/hashclash/rogue-ca/
- http://www.phreedom.org/research/rogue-ca/
- http://www.rsa.com/blog/blog_entry.aspx?id=1411
- http://blog.mozilla.com/security/2008/12/30/md5-weaknesses-could-lead-to-certificate-forgery/
- http://www.microsoft.com/technet/security/advisory/961509.mspx
- http://doggdot.us/security/Free_SSL_Certificates_?FC=PRCK0
- http://feeds.feedburner.com/~r/SecuritySoapbox/~3/501614128/broken-md5-cracked-ssl-and-end-of-all.html
Um outro detalhe interessante é que para parte da computação necessária para o sucesso do ataque, foram utilizados os cores SPU do processador "Cell" de um cluster de mais de 200 videogames Playstation 3.
Aproveitando o assunto, ainda é viável a utilização do MD5 em análises forenses?
ReplyDeleteQuais as alternativas temos além do SHA1, que também parece estar com os dias contados?
Olá Felipe! Todas as melhores referências não condenam o uso de MD5 para verificação de hashes conhecidos, já que os ataques divulgados dependem que o atacante consiga "fabricar" o arquivo original. Veja:
ReplyDeleteReferências:
http://sansforensics.wordpress.com/2009/01/07/law-is-not-a-science-admissibility-of-computer-evidence-and-md5-hashes/
http://www.forensicmag.com/articles.asp?pid=238
http://www.nsrl.nist.gov/Documents/analysis/draft-060530.pdf
"None of the attacks are pre-image attacks. In a pre-image attack, an attacker must manufacture a file with a previously known hash. All of the current attacks are only able to produce two files with the same hash, but it is a random hash."
Ate pouco tempo atras a Microsoft nao suportava sha-256. Se nao me engano o SP3 do XP incluiu o suporte. Isso limitava muito a geracao de certificados fortes com suporte no Windows. Achei muito interessante o artigo.
ReplyDeleteOoops! Saiu "anonimo". O post acima foi meu. []s
ReplyDeleteA versão mais atual do openssl suporta SHA512, inclusive já faço uso dele.
ReplyDelete