Certificate Pinning

certificate-pinning-blog-post-xlabs

Com a constante utilização de smartphones e dispositivos em redes wireless, surgiu uma grande preocupação relacionada à segurança dos dados que estão trafegando na rede, uma vez que estas informações podem ser interceptadas e analisadas por um possível atacante.

Torna-se ainda mais preocupante, pelo fato de que estas informações podem estar sendo interceptadas, mesmo elas sendo enviadas através de uma conexão criptografada utilizando certificados digitais SSL.

A técnica utilizada para realizar essa interceptação chama-se MITM (Man in the middle), onde o atacante só precisa estar posicionado em um ambiente wireless, e utilizar de ferramentas para fazer a interceptação de tráfego. Desta forma, o atacante recebe todas as solicitações por parte do cliente e no momento em que é solicitado uma conexão ao servidor de aplicação, esse equipamento intercepta essa solicitação e estabelece essa conexão com o servidor, passando a encaminhar todos os pedidos do cliente a esse servidor e recebendo todas as respostas.

O propósito deste post, não é somente mostrar o ataque MITM e suas consequências, mas também informar uma forma de combater esta técnica, através do Certificate Pinning.

Primeiramente precisamos entender como o ataque MITM funciona na prática:1 – A vítima e o atacante estão conectados na mesma rede;
2 – A vítima se autentica em uma aplicação insegura (não faz uso de SSL/TLS);
3 – O atacante realiza o arp-spoof  (técnica usada para enviar o tráfego para o IP do atacante, associando o endereço MAC do atacante ao endereço de outro host, neste caso o gateway da rede).
4 – O tráfego da vitima é direcionado para uma ferramenta de proxy;
5 – O atacante captura todas as informações enviadas e recebidas pela vítima.

Figura 1 – Representação gráfica de um ataque MITM.

Solução: A utilização do protocolo SSL/TLS  é indicada para proteger os dados trafegados entre o cliente e o servidor, impedindo em parte que atacantes interceptem a conexão capturando textos puros.

Porém, há uma forma de interceptar esse tráfego através de uma técnica mais aprimorada do MITM. Está técnica consiste em incluir/instalar certificados  maliciosos nos dispositivos das vítimas, fazendo com que todo tráfego SSL possa ser visto em texto puro, como visto acima.

Figura 2 – Representação gráfica de um ataque MITM com a instalação de certificados maliciosos.

O ataque se baseia da seguinte forma:

1 – A vítima e o atacante estão conectados na mesma rede;

2 – O atacante induz a vítima a instalar o certificado malicioso no dispositivo;

3 – O atacante realiza o arp-spoof (técnica apresentada anteriormente);

4 – A vítima se autentica em uma aplicação;

5 – O tráfego da vitima é direcionado para uma ferramenta de proxy;

6 – O atacante captura todas as informações enviadas e recebidas pela vítima em texto puro.

Certificate Pinning

O propósito do Certificate Pinning é combater essas técnicas de MITM através da identificação da mudança da chave pública existente em um certificado emitido para determinado domínio. Com a adoção do pinning, o cliente, além de verificar as informações do certificado digital enviado pelo serviço, também verifica se a chave pública existente no certificado confere com a esperada para esse domínio e se não conferir, uma mensagem de alerta sobre os riscos pode ser exibida ao usuário e a comunicação não é estabelecida.

Ambientes compatíveis com o Certificate Pinning, segundo a RFC-­7469, possuem localmente armazenados a URL do serviço e o SPKI fingerprint, que é o resultado SHA‐256 da chave pública existente em cada certificado digital da cadeia de confiança, iniciando pelo certificado do serviço e indo até o certificado raiz ou âncora de confiança.

Desta forma, em um acesso a determinado serviço web, o ambiente do cliente pode validar esse hash contra cada certificado da cadeia e se um deles falhar, uma mensagem é exibida ao cliente e o acesso é imediatamente interrompido.

pinning pode ser realizado de pelo menos duas formas:

  • Adicionando seu certificado na aplicação;
  • Utilizando apenas a chave pública dele fixa no código em formato hexadecimal.

 

Conclusão

Visto o meio cibernético atual, temos que levar em conta que ataques MITM devem ser barrados, levando em consideração a proteção de dados pessoais e confidenciais. O Certificate Pinning é uma técnica que consegue solucionar esta vulnerabilidade explorada, sendo um método adotado por várias empresas como o Google e Mozilla.

Os clientes que possuem a proteção do Web Application Firewall da XLabs Security possuem por padrão a comunicação estabelecida aos usuários de seus websites certificada e autenticada por Certificate-Pinning.

 

Gostou do artigo? Compartilhe.

LinkedIn
Facebook
WhatsApp

Faça parte da nossa lista de emails!