Segurança de Aplicação

Nova falha crítica no OpenSSL – Entenda um pouco mais.

Quando nos referimos ao OpenSSL, falamos de um kit de ferramentas completas para o uso dos protocolos Transport Layer Security (TLS) e Secure Sockets Layer (SSL), além de ser uma biblioteca criptográfica. Seu código é Open Source e amplamente utilizado para segurança nas comunicações em aplicações web.

Infelizmente nenhum software está livre de problemas, por isso é muito importante que sejam feitas revisões periódicas de códigos, a fim de buscar e corrigir a maioria das falhas, essas revisões ajudam na busca constante dos problemas. Ultimamente o OpenSSL vem sofrendo com muitas dessas falhas, como por exemplo o caso dos ataques Heartbleed e do Poodle, que exploram algumas das vulnerabilidades que foram encontradas. O melhor de se encontrar falhas é que podemos ter certeza de que elas serão corrigidas e implementadas, porém, há o risco de serem graves e nem sempre as empresas atualizam seus sistemas de imediato, com isso ficam expostos a ataques de usuários maliciosos.

A nova falha, categorizada com o CVE-2016-0701, afeta as versões 1.0.2e, 1.0.2d, 1.0.2c, 1.0.2b, 1.0.2a e 1.0.2. De acordo com o próprio site do OpenSSL, o problema foi corrigido na versão 1.0.2f. O bug foi identificado na implementação de troca de chaves Diffie-Hellman.

 Exemplo de troca de chaves por: https://en.wikipedia.org/wiki/Diffie–Hellman_key_exchange
Exemplo de troca de chaves por: https://en.wikipedia.org/wiki/Diffie–Hellman_key_exchange

Em resumo, o algoritmo de Diffie-Hellman é usado para a trocar chaves secretas através de canais não confiáveis, criando uma conexão segura entre os dois lados. A falha acontece porque o algoritmo não usa números primos “seguros”, deixando vulnerável a um ataque de recuperação de chave. Servidores que habilitaram a opção SSL_OP_SINGLE_DH_USE estão seguros ao ataque e essa opção força o servidor a não usar o mesmo expoente. Infelizmente, essa opção veio desabilitada por padrão nas versões citadas acima, exceto a versão 1.0.2f, onde o OpenSSL optou por deixar habilitado por padrão. 

Digamos que você esteja desenvolvendo um software e está utilizando a biblioteca antiga do OpenSSL, caso não queira atualizar para a versão mais atual, utilize a função SSL_CTX_set_options() para ativar o SSL_OP_SINGLE_DH_USE.

Foi disponibilizado no git um código simples para verificar se seu sistema está trabalhando com uma versão vulnerável do OpenSSL: https://github.com/luanjampa/cve-2016-0701

Referências:

About author

Articles

Uma equipe de profissionais, altamente conectados com as notícias, técnicas e informações sobre a segurança de aplicações.
Related posts
Segurança de Aplicação

Como Desenvolver Aplicações Com Segurança? Um guia inicial

Por que desenvolver com segurança? Seria muito bom se não precisássemos ter antivírus, que…
Read more
Code FightersMobileSegurança de Aplicação

Pré-testes Android: Conceitos básicos e uma introdução ao tema

Fazer um bom laboratório para testes de segurança em aplicações android pode ser uma tarefa…
Read more
NotíciasSegurança de Aplicação

Treinamento online e gratuito sobre Segurança de Aplicações: Conheça o AppSec Starter

A Conviso disponibilizou em seu canal de YouTube o treinamento AppSec Starter – um treinamento…
Read more

Deixe um comentário