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

O mercado de segurança de aplicações no Brasil

Quando a Conviso foi fundada, em 2008, desenvolvimento seguro de software era então um tema…
Read more
Segurança de Aplicação

Por que APIs podem ser um alto risco para as empresas

Quando olhamos para o mundo de desenvolvimento e sua evolução nos últimos anos, podemos dizer que…
Read more
MobileSegurança de AplicaçãoSem categoria

3 serviços de AppSec que não podem ser negligenciados no fim de ano

2020 tem sido um ano atípico, mas mesmo em anos incomuns, algo é certeiro: na correria de fim de…
Read more

Deixe um comentário