Identidade de Máquinas Parte 2 – Certificados

Se fosse possível viajar no tempo, para mais ou menos dez anos atrás, e contar sobre a quantidade de dispositivos que temos atualmente, muitos não acreditariam como a Internet funciona hoje para nos servir, tornando o dia a dia mais fácil, até dependente dessas tecnologias.
Entre tantas perguntas que pessoas dessa época (até mesmo nós, hoje) se fariam sobre esse cenário, possivelmente, a mais difícil de responder seria: com toda essa tecnologia, as conexões são seguras e livres de acesso não autorizado?
Para esta pergunta ainda não temos uma resposta definitiva. Ao mesmo tempo em que possuímos uma infinidade de tecnologias capazes de nos prover segurança, ainda falhamos em saber como aplicá-las e gerenciá-las, como é o caso dos certificados.
Certificados
No primeiro artigo, explicamos o que são certificados e a importância da identidade de máquinas. Certificados são um ponto essencial no controle de acessos e comunicação entre máquinas, pois são as “credenciais” eletrônicas que permitem que a troca de informações seja realizada de forma segura.
Essas “credenciais” eletrônicas garantem autenticidade do acesso quando os dispositivos precisam transferir dados para outros dispositivos, acessar a rede, manipular dados e muito mais.
Mesmo com uma função tão importante, estes certificados, muitas vezes, não são gerenciados da forma correta, eles são compartilhados entre dispositivos e aplicações e as respectivas responsabilidades não são definidas, além de, geralmente, estarem presentes no sistema mesmo quando já estão vencidos.
Certificados – também chamados de identidade digital ou certificado de chave pública (public key certificate) – equivalem aos “usernames” e senhas utilizadas por usuários e funcionários, porém utilizados pelas máquinas para acessar o sistema e, por conta disso, devem ser tratados da mesma maneira. Senhas não podem ser compartilhadas, são pessoais e intransferíveis, além de ter um responsável definido ou dono que se encarrega de trocá-las quando necessário ou desativá-las quando não são mais necessárias.
Podemos comparar certificados com um passaporte ou um RG. A relevância e importância desses documentos é tanta que em certos lugares não se pode entrar sem apresentá-los ou se eles estiverem vencidos, pois são a forma de atestar a autenticidade da identidade de uma pessoa. Os dados contidos ali são verificados, a foto é comparada com a aparência que a pessoa apresenta no momento. Tudo isso são etapas realizadas para autenticar o documento e a pessoa para então autorizar o acesso.
Estes documentos são gerados e produzidos por órgãos confiáveis, então, quando alguém se apresenta e diz que seu nome é um, porém em seu passaporte ou RG está declarado outro, naturalmente, a confiança que estes documentos dispõem desacredita a fala da pessoa. Máquinas são semelhantes neste sentindo, quando se conectam ou estabelecem uma conexão com uma outra pela primeira vez, se baseiam nas informações do certificado que possuem para se conhecerem e estabelecerem uma “relação” de confiança.
Essas identidades de máquina são tão importantes na infraestrutura organizacional e para segurança na interação das máquinas, atualmente, que até o cibercrime já as explora para acessar ambientes e roubar informações.
Tanto que na dark web são vendidos e compartilhados certificados roubados ou falsificados por preços que variam de $260 a $1,600 dólares – mais valioso do que informações de cartão de crédito ou ataques DDoS, de acordo com pesquisas realizadas pela Venafi em 2018 e 2019.
Em 2014, o grupo chinês “APT 18”, também conhecido como Wekby, foi responsável por roubar centenas de arquivos médicos de um sistema de saúde americano através da exploração de um bug (Heartbleed) que permite o roubo de chaves e certificados para dar um bypass nos controles de segurança.
Em posse de credenciais, mesmo que de máquinas, os atacantes conseguiram acesso à rede e obtiveram as informações que buscavam da mesma maneira que se obtém as credenciais de usuário comum.
Overview
Por se tratar de assunto ainda pouco explorado e discutido, é necessário conhecer alguns termos relacionados que podem ajudar no entendimento sobre os conceitos aplicados a identidades digitais e certificados e, assim, conseguir adicioná-los de fato na infraestrutura da organização e gerenciá-los da forma correta.
Alguns dos principais aspectos ligados a certificados utilizados em uma organização incluem:
- Autoridade certificadora (CA – Certificate Authority): é uma autoridade confiável e reconhecida, pública ou privada, que emite certificados.
- Certificados A1: certificados baseados em software e armazenados no sistema ou na própria estação.
- Certificados A3: certificados gravados em um hardware (token ou cartão).
- Certificado raiz (Root Certificate): basicamente são certificados que legitimam outros certificados. Os certificados possuem um caminho de certificação que leva até a CA (Autoridade Certificadora), desta forma, é possível verificar se o certificado vem de uma fonte confiável. Se um dos certificados deste caminho não for localizado, o certificado é considerado inseguro, pois sua autoridade certificadora foi impossibilitada de ser alcançada. Simplificando, o certificado disponível para o usuário possui um ou mais certificados intermediários que levam ao certificado raiz (root) autoassinado pela CA, que comprova que o certificado foi gerado por uma instituição confiável e é autêntico.
- Chave privada: uma das chaves do par de chaves de criptografia assimétrica, que descriptografa dados ou informações criptografadas pela chave pública correspondente.
- Chave pública: uma das chaves do par de chaves de criptografia assimétrica, que consiste em criptografar um dado ou informação.
- Expiração: certificados têm prazo de validade, do contrário, seriam autênticos e seguros para sempre, o que é impossível. Certificados expirados podem ser um grande problema quando não são renovados ou trocados a tempo, pois uma máquina com certificado expirado pode ser impossibilitada de criar conexões, impedindo também a execução de certos serviços e tarefas.
- Infraestrutura de chave pública (PKI – Public Key Infraestructure): é uma série de métodos e processo para administrar certificados e seus pares de chave, além de emitir, revogar e manter certificados.
- Renovação: um pouco diferente da ideia do nome, a renovação de um certificado não estende a data de validade, mas troca o certificado que está prestes a expirar por um novo exatamente igual ao anterior.
- Revogação: quando não se deseja mais utilizar certo certificado, este pode ser revogado, o que o torna inválido e não confiável, antes mesmo de sua expiração.
- S/MIME: este tipo de certificado é comumente usado para criptografar e autenticar o envio de e-mails. Aplica uma assinatura digital nas mensagens enviadas, a chave pública do remetente é utilizada para verificar a autenticidade da assinatura, garantindo que a mensagem veio de fato da fonte apontada.
- TLS/SSL: é um tipo de certificado que basicamente cria sessões seguras em conexões via browser, ou seja, criptografa todo o tráfego entre o servidor web e o navegador. É visualmente identificado quando o navegador exibe a barra de endereço na cor verde ou apenas um cadeado na mesma cor. Entretanto, é importante que nem todas as sessões que apresentam essas características podem ser consideradas autênticas, cabe ao cliente que se conectou validar os dados apresentados pelo certificado e atestar se, por exemplo, o site acessado é de fato verdadeiro ou uma página falsa.
Entender estes conceitos é fundamental para conseguir aplicar o uso de certificados nas organizações. No próximo artigo, a parte 3, e última, desta série de textos, abordaremos como gerenciar o uso desses certificados e como mitigar ameaças baseadas em ataques que exploram a confiança de certificados e chaves.
Referências
MIMOSO, Michael. APT Group Exploiting Hacking Team Flash Zero Day. 2015. Disponível em: https://threatpost.com/apt-group-exploiting-hacking-team-flash-zero-day/113715/.