Ataques potenciais ao HTTPS e como se proteger deles

Metade dos sites usa HTTPS, e esse número continua a crescer. O protocolo reduz o risco de interceptação de tráfego, mas não elimina as tentativas de ataques. Sobre alguns deles — POODLE, BEAST, DROWN e outros — e as formas de proteção, falaremos no nosso material.

Ataques potenciais ao HTTPS e como se proteger deles
/ Flickr / Sven Graeme / CC BY-SA

POODLE

A primeira menção ao ataque POODLE foi em 2014. A vulnerabilidade no protocolo SSL 3.0 foi descoberta pelo especialista em segurança da informação Bodo Möller e seus colegas do Google.

A essência do ataque é a seguinte: um hacker força o cliente a estabelecer uma conexão via SSL 3.0 emulando quedas de conexão. Em seguida, ele procura mensagens marcadoras especiais no tráfego cifrado em CBC-modo. Com uma série de requisições falsas, o criminoso obtém a capacidade de reconstruir o conteúdo das informações que lhe interessam, como cookies.

SSL 3.0 é um protocolo desatualizado. Mas a questão de sua segurança ainda é relevante. Os clientes o utilizam para evitar problemas de compatibilidade com servidores. Segundo alguns dados, quase 7% dos 100 mil sites mais populares ainda suportam SSL 3.0. Além disso existem modificações do POODLE, cujo alvo são os mais modernos TLS 1.0 e TLS 1.1. Neste ano ganhou novos ataques Zombie POODLE e GOLDENDOODLE, que contornam a proteção do TLS 1.2 (eles ainda estão relacionados à criptografia CBC).

Como se proteger. No caso do POODLE original, é necessário desativar o suporte ao SSL 3.0. No entanto, isso pode causar problemas de compatibilidade. Uma solução alternativa pode ser o mecanismo TLS_FALLBACK_SCSV — ele garante que a troca de dados via SSL 3.0 ocorrerá apenas com sistemas antigos. Os criminosos não poderão mais iniciar o downgrade do protocolo. A forma de proteção contra Zombie POODLE e GOLDENDOODLE é desativar o suporte a CBC em aplicativos baseados em TLS 1.2. Uma solução radical será a migração para o TLS 1.3 — na nova versão do protocolo, não é utilizada a criptografia CBC. Em seu lugar, são aplicados métodos mais seguros, como AES e ChaCha20.

BEAST

Um dos primeiros ataques ao SSL e TLS 1.0, descoberto em 2011. Assim como o POODLE, o BEAST usa Caraterísticas da criptografia CBC. Os invasores inserem um agente JavaScript ou um applet Java na máquina do cliente, que substitui mensagens durante a transmissão de dados via TLS ou SSL. Como os invasores conhecem o conteúdo dos pacotes 'falsificados', eles podem usar isso para decifrar o vetor de inicialização e ler as outras mensagens ao servidor, como cookies de autenticação.

Atualmente, as vulnerabilidades BEAST ainda afetam uma série de ferramentas de rede: servidores proxy e aplicativos de proteção de gateways de internet locais.

Como se proteger. O atacante precisa enviar requisições regularmente para decifrar os dados. No VMware recomendam reduza a duração do SSLSessionCacheTimeout — de cinco minutos (recomendação padrão) para 30 segundos. Essa abordagem complicará a implementação dos planos dos invasores, embora tenha algum efeito negativo na performance. Além disso, é importante entender que em breve a vulnerabilidade BEAST pode se tornar obsoleta por conta própria — a partir de 2020, os principais navegadores cessam o suporte ao TLS 1.0 e 1.1. De qualquer forma, menos de 1,5% de todos os usuários de navegadores ainda utilizam esses protocolos.

DROWN

É um ataque cross-protocol que explora falhas na implementação do SSLv2 com chaves RSA de 40 bits. O invasor escuta centenas de conexões TLS do alvo e envia pacotes especiais ao servidor com SSLv2, que usa a mesma chave privada. Usando o ataque Bleichenbacher, um hacker pode decifrar uma dessas aproximadamente mil sessões TLS do cliente.

O DROWN foi conhecido pela primeira vez em 2016 — e, na época, afetou um terço dos servidores no mundo. Hoje, ainda é relevante. De 150 mil sites mais populares, 2% ainda suportam SSLv2 e mecanismos de criptografia vulneráveis.

Como se proteger. É necessário aplicar patches fornecidos pelos desenvolvedores de bibliotecas criptográficas, desativando o suporte ao SSLv2. Por exemplo, duas dessas correções foram apresentadas para o OpenSSL (em 2016, eram as atualizações 1.0.1s e 1.0.2g). Atualizações e instruções para desativar o protocolo vulnerável também foram publicadas na Red Hat, Apache, Debian.

"Um recurso pode ser vulnerável ao DROWN se suas chaves forem usadas por um servidor externo com SSLv2, como um servidor de correio," observa o chefe do departamento de desenvolvimento do provedor de IaaS 1cloud.ru Sergey Belkin. — Essa situação ocorre quando vários servidores usam um certificado SSL comum. Nesse caso, é necessário desativar o suporte SSLv2 em todas as máquinas.

Para verificar se é necessário atualizar seu sistema, você pode usar uma ferramenta — desenvolvida por especialistas em segurança da informação que descobriram o DROWN. Mais sobre as recomendações relacionadas à proteção contra esse tipo de ataque pode ser lido no post no site OpenSSL..

Heartbleed

Uma das maiores vulnerabilidades em software — Heartbleed. Foi descoberta 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 — cerca de 17% dos recursos protegidos na rede.

O ataque é realizado através de um pequeno módulo de extensão TLS chamado Heartbeat. O protocolo TLS exige que os dados sejam transmitidos continuamente. Em caso de inatividade prolongada, a conexão é interrompida e precisa ser restabelecida. Para lidar com o problema, servidores e clientes 'ruidosamente' artificialmente o canal (RFC 6520, p. 5), transmitindo pacotes de comprimento aleatório. Se o pacote fosse maior que o pacote original, as versões vulneráveis do OpenSSL liam a memória além do buffer atribuído. Nesta área poderiam estar quaisquer dados, incluindo chaves de criptografia 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árias distribuições de sistemas operacionais — Ubuntu até 12.04.4, CentOS após 6.5, OpenBSD 5.3 e outros. Uma lista completa está disponível no site dedicado ao Heartbleed.. Embora patches contra essa vulnerabilidade tenham sido lançados praticamente imediatamente após sua descoberta, o problema ainda persiste. Em 2017, quase 200 mil sites, ainda estavam vulneráveis ao Heartbleed.

Como se proteger. É necessário atualizar o OpenSSL para a versão 1.0.1g ou superior. Também é possível desativar as solicitações de Heartbeat manualmente usando a opção DOPENSSL_NO_HEARTBEATS. Após a atualização, os especialistas em segurança da informação recomendam devem reemitir os certificados SSL. A substituição é necessária caso os dados sobre as chaves de criptografia tenham sido comprometidos.

Substituição de certificado

Um nó gerenciado é estabelecido entre o usuário e o servidor com um certificado SSL legítimo, interceptando ativamente o tráfego. Esse nó se apresenta como um servidor legítimo, apresentando um certificado válido, permitindo a realização de um ataque MITM.

De acordo com pesquisa De acordo com especialistas da Mozilla, Google e várias universidades, cerca de 11% das conexões protegidas na rede são 'ouvidas'. Isso é resultado da instalação de certificados raiz suspeitos nos computadores dos usuários.

Como se proteger. Usar os serviços de provedores SSL confiáveis. Você pode verificar a 'qualidade' dos certificados por meio do serviço Certificate Transparency (CT). Provedores de nuvem também podem ajudar na detecção de 'escuta' — hoje, algumas grandes empresas já oferecem ferramentas especializadas para monitoramento de conexões via TLS.

Outra forma de proteção será o novo especificação ACME, que automatiza a obtenção de certificados SSL. Ao mesmo tempo, ele adicionará mecanismos adicionais para verificar a propriedade do site. Saiba mais sobre ele em um dos nossos materiais anteriores.

Ataques potenciais ao HTTPS e como se proteger deles
/ Flickr / Yuri Samoilov / CC BY

Perspectivas do HTTPS

Apesar de várias vulnerabilidades, gigantes da TI e especialistas em segurança cibernética acreditam no futuro do protocolo. Pelo uso ativo do HTTPS é o criador da WWW, Tim Berners-Lee. Segundo ele, ao longo do tempo, o TLS se tornará mais seguro, o que aumentará significativamente a segurança das conexões. Berners-Lee até sugeriu que no futuro surgirão certificados de cliente para autenticação de identidade. Eles ajudarão a melhorar a proteção dos servidores contra invasores.

O desenvolvimento da tecnologia SSL/TLS também está previsto com o uso de aprendizado de máquina — algoritmos inteligentes serão responsáveis pela filtragem do tráfego malicioso. Em conexões HTTPS, os administradores não têm como saber o conteúdo das mensagens criptografadas — incluindo detectar solicitações de malware. Já hoje, redes neurais podem filtrar pacotes potencialmente perigosos com uma precisão de 90%. (slide 23 da apresentação).

Como resultado, obtemos um serviço de "monitoramento como serviço", automatizado na linha de produção de integração contínua. O desenvolvedor ou testador precisa apenas definir a lista de métricas em um arquivo JSON, e tudo o mais acontece automaticamente. Obtemos um controle de qualidade transparente dos lançamentos: todas as notificações sobre desempenho, consumo de recursos ou regressões arquitetônicas.

Ataques ao HTTPS estão, em sua maioria, relacionados não a problemas no próprio protocolo, mas ao suporte de mecanismos de criptografia desatualizados. A indústria de TI começa a abandonar gradualmente os protocolos de geração anterior e oferece novas ferramentas para encontrar vulnerabilidades. No futuro, essas ferramentas se tornarão cada vez mais inteligentes.

Links adicionais sobre o tema:

Fonte: habr.com

Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS 🔥 Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS | ProHoster