Ataques potenciais ao HTTPS e como se defender contra eles

Metade dos sites usa HTTPS , e seu número está aumentando constantemente. O protocolo reduz o risco de interceptação de tráfego, mas não impede tentativas de ataque por si só. Sobre alguns deles - POODLE, BEAST, DROWN e outros - e métodos de proteção, contaremos em nosso material.


/ Flickr / Sven Graeme / CC BY-SA

POODLE


Pela primeira vez, o ataque ao POODLE ficou conhecido em 2014. A vulnerabilidade no protocolo SSL 3.0 foi descoberta pelo especialista em segurança Bodo Möller com colegas do Google.

Sua essência é a seguinte: um hacker força o cliente a fazer uma conexão SSL 3.0, simulando comunicações desconectadas. Em seguida, ele procura por tags de mensagem especiais no tráfego criptografado no modo CBC . Usando uma série de consultas falsas, um invasor pode reconstruir o conteúdo de dados que lhe interessam, como cookies.

O SSL 3.0 é um protocolo obsoleto. Mas a questão de sua segurança ainda é relevante. Os clientes o usam para evitar problemas de compatibilidade do servidor. Segundo alguns relatos, quase 7% dos 100 mil sites mais populares ainda oferecem suporte ao SSL 3.0 . Também modificações no POODLE, cujo objetivo é o TLS 1.0 e o TLS 1.1 mais modernos. Este ano , surgiram novos ataques do Zombie POODLE e GOLDENDOODLE que ignoram a proteção do TLS 1.2 (eles ainda estão associados à criptografia CBC).

Como se proteger. No caso do POODLE original, você precisa desativar o suporte ao SSL 3.0. No entanto, nesse caso, há um risco de problemas de compatibilidade. Uma solução alternativa pode ser o mecanismo TLS_FALLBACK_SCSV - ele garante que a troca de dados pelo SSL 3.0 seja realizada apenas com sistemas mais antigos. Os invasores não poderão mais iniciar um downgrade do protocolo. Uma maneira de se proteger do Zombie POODLE e GOLDENDOODLE é desativar o suporte ao CBC em aplicativos baseados no TLS 1.2. A decisão principal será a transição para o TLS 1.3 - a nova versão do protocolo não usa criptografia CBC.

BEAST


Um dos primeiros ataques ao SSL e TLS 1.0, descoberto em 2011. Como o POODLE, o BEAST usa recursos de criptografia CBC. Os invasores implantam um agente JavaScript ou applet Java na máquina cliente que falsifica mensagens ao transmitir dados via TLS ou SSL. Como os invasores conhecem o conteúdo dos pacotes "falsos", eles podem usá-los para descriptografar o vetor de inicialização e ler outras mensagens no servidor, como cookies para autenticação.

Até o momento, várias ferramentas de rede ainda estão vulneráveis ​​às vulnerabilidades do BEAST: proxies e aplicativos para proteger os gateways da Internet locais.

Como se proteger. O invasor precisa enviar solicitações regularmente para descriptografar os dados. A VMware recomenda reduzir a duração do SSLSessionCacheTimeout de cinco minutos (a recomendação padrão) para 30 segundos. Essa abordagem complicará a implementação de planos para invasores, embora tenha algum efeito negativo na produtividade. Além disso, você precisa entender que em breve a vulnerabilidade do BEAST poderá se tornar uma coisa por conta própria - desde 2020, os maiores navegadores deixaram de oferecer suporte ao TLS 1.0 e 1.1. De qualquer forma, menos de 1,5% de todos os usuários do navegador trabalham com esses protocolos.

Afogar


Este é um ataque de protocolo cruzado usando erros na implementação do SSLv2 com chaves RSA de 40 bits. Um invasor ouve centenas de conexões TLS de um destino e envia pacotes especiais para um servidor com SSLv2 usando a mesma chave privada. Usando o ataque Bleichenbacher , um hacker pode descriptografar uma das cerca de mil sessões de cliente TLS.

O DROWN ficou conhecido em 2016 - então um terço dos servidores do mundo foram expostos a ele. Até o momento, ele não perdeu relevância. Dos 150.000 sites mais populares, 2% ainda oferecem suporte a SSLv2 e mecanismos de criptografia vulneráveis.

Como se proteger. É necessário instalar patches propostos por desenvolvedores de bibliotecas criptográficas que desativam o suporte a SSLv2. Por exemplo, dois desses patches foram introduzidos para o OpenSSL (em 2016, foram as atualizações 1.0.1s e 1.0.2g). Além disso, atualizações e instruções para desativar o protocolo vulnerável foram publicadas no Red Hat , Apache , Debian .

"Um recurso pode ficar vulnerável ao DROWN se suas chaves forem usadas por um servidor de terceiros com SSLv2, por exemplo, um servidor de correio", disse Sergey Belkin, chefe do departamento de desenvolvimento do provedor de IaaS 1cloud.ru . - Essa situação ocorre se vários servidores usarem um certificado SSL comum. Nesse caso, desative o suporte SSLv2 em todas as máquinas ".

Você pode verificar se precisa atualizar seu sistema usando um utilitário especial - ele foi desenvolvido por especialistas em segurança da informação que descobriram o DROWN. Você pode ler mais sobre recomendações relacionadas à proteção contra esse tipo de ataque em uma publicação no site do OpenSSL .

Heartbleed


Uma das maiores vulnerabilidades em software é Heartbleed . Foi descoberto em 2014 na biblioteca OpenSSL. No momento do anúncio do erro, o número de sites vulneráveis era estimado em meio milhão - aproximadamente 17% dos recursos protegidos na rede.

O ataque é implementado através do pequeno módulo de extensão Heartbeat TLS. O protocolo TLS exige que os dados sejam transmitidos continuamente. Em caso de inatividade prolongada, ocorre uma interrupção e a conexão deve ser restabelecida. Para lidar com o problema, servidores e clientes “barulham” artificialmente o canal ( RFC 6520, p. 5 ) transmitindo um pacote de tamanho aleatório. Se este for o maior pacote, as versões vulneráveis ​​do OpenSSL lerão a memória fora do buffer alocado. Qualquer dado pode estar nessa área, incluindo chaves de criptografia privadas e informações sobre outras conexões.

A vulnerabilidade estava presente em todas as versões da biblioteca entre 1.0.1 e 1.0.1f, inclusive, e em vários sistemas operacionais - Ubuntu até 12.04.4, CentOS anterior a 6.5, OpenBSD 5.3 e outros. Uma lista completa está no site da Heartbleed . Embora os patches contra essa vulnerabilidade tenham sido liberados quase imediatamente após sua descoberta, o problema permanece relevante até agora. Em 2017, quase 200 mil sites foram afetados pelo Heartbleed.

Como se proteger. Você precisa atualizar o OpenSSL para a versão 1.0.1g ou superior. Você também pode desativar as solicitações de pulsação manualmente usando a opção DOPENSSL_NO_HEARTBEATS. Após a atualização, os especialistas em segurança da informação recomendam a reemissão de certificados SSL. É necessária a substituição caso os dados nas chaves de criptografia ainda cheguem aos hackers.

Falsificação de certificado


Um nó gerenciado é instalado entre o usuário e o servidor com um certificado SSL legítimo que intercepta ativamente o tráfego. Este nó finge ser um servidor legítimo, apresentando um certificado válido, e torna-se possível realizar um ataque MITM.

De acordo com um estudo realizado por equipes da Mozilla, Google e várias universidades, aproximadamente 11% das conexões seguras na rede são “aproveitadas”. Esse é o resultado da instalação de certificados raiz suspeitos nos computadores dos usuários.

Como se proteger. Use os serviços de provedores SSL confiáveis. Você pode verificar a "qualidade" dos certificados usando o serviço de transparência do certificado (CT). Os provedores de nuvem também podem ajudar na detecção de escutas telefônicas - já hoje algumas grandes empresas oferecem ferramentas especializadas para monitorar conexões TLS.

Outro método de proteção será o novo padrão ACME, que automatiza o recebimento de certificados SSL. Ao mesmo tempo, ele adicionará mecanismos adicionais para verificar o proprietário do site. Escrevemos mais sobre ele em um de nossos materiais anteriores .


/ Flickr / Yuri Samoilov / CC BY

Perspectivas HTTPS


Apesar de várias vulnerabilidades, gigantes de TI e especialistas em segurança da informação estão confiantes no futuro do protocolo. O criador da WWW Tim Berners-Lee representa a implementação ativa do HTTPS. Segundo ele, com o tempo, o TLS se tornará mais seguro, o que aumentará significativamente a segurança das conexões. Berners-Lee até sugeriu que, no futuro, haverá certificados de cliente para autenticação. Eles ajudarão a melhorar a proteção do servidor contra intrusos.

Também está planejado desenvolver a tecnologia SSL / TLS com a ajuda do aprendizado de máquina - algoritmos inteligentes serão responsáveis ​​por filtrar o tráfego malicioso. Nas conexões HTTPS, os administradores não têm como descobrir o conteúdo das mensagens criptografadas, incluindo a detecção de solicitações de malware. As redes neurais já são capazes de filtrar pacotes potencialmente perigosos com uma precisão de 90%. ( slide 23 apresentações ).

Conclusões


Os ataques ao HTTPS geralmente não estão relacionados a problemas no próprio protocolo, mas para oferecer suporte a mecanismos de criptografia desatualizados. O setor de TI está começando a eliminar gradualmente os protocolos da geração anterior e oferece novas ferramentas para encontrar vulnerabilidades. No futuro, essas ferramentas se tornarão mais inteligentes.

Links relacionados adicionais:

Source: https://habr.com/ru/post/pt449866/


All Articles