O SSL inspection é uma técnica de firewall, criada há poucos anos, utilizada para verificar o conteúdo de tráfego de rede criptografado.
Em uma conexão criptografada, apenas o usuário envolvido e o servidor de rede final conseguem visualizar o conteúdo do tráfego. Esse é o fator que propicia a segurança desejada pelo usuário ao acessar sites que requeiram a utilização de dados pessoais ou a visualização de informações sigilosas. Um exemplo é o acesso a um sistema de Internet banking, onde o usuário disponibiliza sua senha pessoal e acessa dados pessoais e sigilosos. Outra situação correlata é uma compra pela Internet, na qual todos os dados de cartão de crédito serão digitados. Esses são casos clássicos de utilização de criptografia na conexão para proteger os usuários. No acesso via página, por exemplo, quando se quer segurança, é utilizado o protocolo HTTPS em vez de HTTP. O “S” se refere a “secure”. Em resumo, o uso de criptografia provê segurança ao usuário; no entanto, isso cega o sistema de firewall, fato que ocorre, naturalmente, em todas as redes em prol da segurança pessoal de quem as utiliza.
A técnica de SSL inspection foi desenvolvida para uso em casos específicos, pois da mesma forma que uma conexão criptografada pode ser utilizada em prol da segurança dos usuários, ela também pode ser empregada para o tráfego de arquivos maliciosos, que afetariam sistemas externos à instituição que detém o firewall. Assim, tal instituição poderá, em casos específicos e mais raros, adotar o SSL inspection para verificar determinadas conexões, oriundas de uma máquina da rede suspeita de ações incompatíveis. Para tanto, com o SSL inspection, o administrador da rede poderá “quebrar” a criptografia entre o usuário e o servidor de destino e analisar tudo que estiver trafegando entre os dois.
Vários sistemas de firewall comerciais modernos disponibilizam a técnica de SSL inspection. No entanto, o uso indiscriminado de tal técnica consiste em violação de privacidade, configurando crime, de acordo com a lei do país onde ocorra e que trate tal assunto como irregular. Geralmente, o uso do SSL inspection está vinculado a determinações judiciais ou testes em ambientes de pesquisa de malwares, como empresas de produção de antivírus. É necessário lembrar que existem alguns entendimentos errôneos sobre o que se pode ou não fazer dentro de uma empresa. Um desses entendimentos criou uma “lenda” que diz que “tudo o que circula dentro de uma empresa pertence à mesma”. No entanto, a lei, geralmente, aplica ao mundo virtual o mesmo que aplica ao mundo real, uma vez que o virtual sempre segue o que o real pratica. Em outras palavras, tudo no mundo virtual é feito da mesma forma como ocorre no mundo real. Então, no caso de um telefone funcional, provido a um empregado da empresa, poderia tal empresa grampear o aparelho e escutar todas as conversas telefônicas? É sabido que não. Então, dentro da mesma analogia, ninguém pode praticar SSL inspection sem prévia e competente autorização, ou seja, uma ordem judicial. Uma exceção conhecida é a dos e-mails corporativos, desde que haja uma cláusula expressa nos contratos de trabalho, informando que tal e-mail não deverá ser utilizado para fins pessoais e que poderá ser monitorado. Mesmo assim, há diversos casos na história jurídica de monitoramentos inadequados e por motivos irrelevantes, que geraram decisões a favor de empregados de empresas em processos judiciais. É algo análogo a um policial que, sem motivo, algema uma pessoa na rua porque ela possui braços e pode cometer um crime. Assim, uma empresa que monitore o e-mail funcional de um empregado sem um motivo aparente, poderá ser processada pelo mesmo e perder a causa, vindo a ter que indenizá-lo.
Em uma conexão criptografada é utilizado um certificado digital instalado no servidor de rede que contém os dados a serem protegidos durante a sessão. Esse certificado deverá ser homologado por uma autoridade certificadora, como Verisign[1], Certsign[2] ou a ICP-Brasil[3], que é reconhecida por todos os navegadores de páginas e, em consequência, tem poder para atestar a veracidade do servidor e o sigilo da comunicação. No caso do SSL inspection, o certificado da autoridade certificadora é trocado por um certificado do firewall durante o tráfego, e com isso, como uma espécie de “grampo telefônico”, esse firewall da rede passa a entender tudo o que trafega, uma vez que está violando o sigilo da conexão. Neste ponto, por exemplo, todas a senhas, incluindo as bancárias, poderão ser vistas pelo administrador de rede. O problema é que os navegadores relatarão que a conexão não parece ser íntegra, uma vez que o certificado do firewall não será reconhecido. Há duas soluções para isso: instalar o certificado do firewall em cada navegador da rede ou instalar um programa “agente” do firewall, que burle as regras. Qualquer uma das duas condições propiciará a violação do sigilo da conexão sem um alerta ao usuário envolvido.
Um indício de uso de SSL inspection é a alteração de certificados digitais. A figura a seguir mostrará o certificado digital obtido via conexão 3G.
É possível observar os campos “Issued To” e “Issued By”. No Issued To há os dados do certificado instalado no servidor de páginas do site GitHub. Já no campo “Issued By”, é possível ver os dados providos pela autoridade certificadora DigiCert[4].
Na próxima figura há o mesmo site, acessado logo em seguida, mas utilizando uma rede que pratica o SSL inspection.
Além do site desfigurado, vários dados do certificado foram removidos ou alterados. O navegador Internet Chromium, que estava sendo utilizado, é um dos programas que mostra claramente esse tipo de ocorrência. Nota-se, inclusive, o protocolo HTTPS riscado, indicando que o mesmo foi violado. Outros navegadores, como o Firefox, permitirão “adicionar uma exceção de segurança”, fazendo com que o site possa ser acessado sem a homologação de certificado, criando a possibilidade de captura de todos os dados que trafegam. É importante relembrar que, caso um agente do firewall estivesse instalado na máquina do usuário, o site apareceria normalmente, sem qualquer anomalia, apesar de haver grande a possibilidade do certificado mostrar dados não originais.
É importante ressaltar que o SSL inspection foi desenvolvido para “vasculhar” conexões de usuários internos e somente em casos especiais. Com outras técnicas mais adequadas, as conexões de usuários externos com os servidores internos poderão ser analisadas de forma mais profissional e menos intrusiva, via proxies reversos.
Conclui-se que é extremamente importante haver um cuidado com excessos no uso do SSL inspection. O simples fato de o recurso existir em um equipamento de firewall adquirido não permite o seu uso indiscriminado. Além disso, em qualquer caso, todos os funcionários e alunos de uma instituição deverão ser alertados, se for o caso, da possibilidade de tal ação na rede interna. Mesmo assim, ordens judiciais ou motivos de força maior não corriqueiros deveriam existir antes do acionamento do recurso contra uma máquina específica, por tempo determinado. Assim sendo, o uso ininterrupto de SSL inspection em toda a rede sempre será considerado como abusivo, podendo constituir crime.
[1] http://www.verisign.com.br
[2] http://www.certisign.com.br
[3] http://www.iti.gov.br/icp-brasil
[4] http://http://www.digicert.com
No caso específico de SonicWALL a inspeção SLL está disponível como opcional. Desta forma cada cliente, em cada pais é livre para adquirir ou não esta funcionalidade.