Já falamos aqui no blog, em uma outra publicação, que o tráfego criptografado SSL/TLS está se tornando cada vez mais utilizado por toda a internet. Segundo a NSS Labs, 75% da internet será criptografada até 2019.
Alguns aplicativos, no entanto, utilizam Certificate and Public Key Pinning, o que impede atualmente a inspeção do tráfego cifrado, ou seja, não é possível verificar se o conteúdo desta transmissão é ou não malicioso.
Um exemplo bem prático é o aplicativo Dropbox. Se forçarmos a inspeção da aplicação, nenhum arquivo será sincronizado, uma vez que o aplicativo irá acusar falha na conexão com o servidor.
O que fazer, então, quanto a isso?
Temos que levar em consideração a análise do risco em liberar o Dropbox para utilização dos usuários.
Muitas ameaças estão hospedadas no Dropbox, sendo que a própria companhia alerta, em sua central de ajuda, sobre ameaças e vírus. Liberando o Dropbox estaremos, de forma indireta, abrindo uma brecha de segurança e assumindo o risco de ameaças entrarem sem serem inspecionadas.
Como contornar o problema e permitir o uso do Dropbox?
Apenas as aplicações instaladas nos computadores utilizam Certificate and Public Key Pinning, logo, o acesso à página do Dropbox pelo navegador é totalmente inspecionado. Ou seja, podemos permitir o acesso ao Dropbox pela página web, inspecionando todo o conteúdo e analisando o tráfego em busca de ameaças.
O importante é sempre analisar a questão “Segurança x Disponibilidade” (Comodidade).
Minha recomendação é: inspecione todo o tráfego de rede e bloqueie tudo aquilo que não for inspecionável. Uma analogia que gosto de fazer é: Devo permitir algo/alguém entrar em minha casa sem saber o que/quem é? A resposta é bem evidente: NÃO!
Devemos ter muito cuidado ao optar por não inspecionar ou liberar acessos na internet. Exceções se tornam necessárias quando realmente não há outra maneira, mas sempre assumindo o risco.
Algumas exclusões podem ser feitas para aliviar a carga ou disponibilizar mais recursos de inspeção para outras aplicações, como o Windows Update, por exemplo. Esta é uma fonte confiável, e inspecionar este tráfego iria apenas utilizar recursos de inspeção que poderiam ser utilizadas para inspecionar outras aplicações.
Outros exemplos de aplicações que utilizam Cert Pinning:
- Windows Update
- Dropbox Client App
- Apple App Store
- LogMeIn Client
- Google Drive Client App
Visitantes/terceiros em minha rede: o que fazer?
O próprio nome já diz, usuários externos devem ser mantidos fora da rede interna. Afinal de contas, não sabemos o que está vindo de “bônus” em seus dispositivos. A recomendação neste caso é segregar toda a rede corporativa, criando redes isoladas para visitantes ou terceiros, controlando e inspecionando todos os recursos acessados na rede corporativa.
Conclusão: é fortemente recomendado inspecionar sempre tudo o que irá entrar em sua rede, e sempre fazer uma análise de risco antes de criar exclusões. Ao criar exclusões, você deve estar ciente de que assume o risco de receber algum “visitante indesejado”.