Riscos, Controles e Segurança em Sistemas de Autenticação 2FA e MFA

A autenticação multifator (MFA) e a autenticação de dois fatores (2FA) são cruciais para a proteção e segurança de contas, ativos, dados/informações e dos próprios usuários, principalmente devido a ataques de reutilização de credenciais (credential stuffing) e outros ataques cibernéticos que buscam romper as barreiras de segurança de fator único.

Respondendo ao título desse artigo: 2FA e MFA não são a mesma coisa, existem semelhanças e diferenças que precisam estar claras, inclusive que todo 2FA é um MFA, mas nem todo MFA é um 2FA. Calma que vamos explorar mais essas informações.

De acordo com a agência de segurança da infraestrutura e cibersegurança do governo americano (CISA), a autenticação multifator é uma abordagem em camadas para proteger dados e aplicativos em que um sistema exige que um usuário apresente uma combinação de duas ou mais credenciais para verificar a identidade de um usuário para login. A MFA aumenta a segurança porque, mesmo que uma credencial seja comprometida, os usuários não autorizados não poderão atender ao segundo requisito de autenticação e não poderão acessar o espaço físico, dispositivo de computação, rede ou banco de dados de destino.

Sistemas de autenticação

Um sistema de autenticação é um mecanismo usado para identificar um usuário por meio da associação de uma solicitação de entrada a um conjunto de credenciais de identificação. As credenciais fornecidas são comparadas às de um arquivo em um banco de dados de informações do usuário autorizado em um sistema operacional local, serviço de diretório de usuário ou em um servidor de autenticação.

Exemplos de sistemas de autenticação incluem, mas não se limitam ao active directory (AD), autenticação multifator (MFA), autenticação de dois fatores (2FA), biometria e tokens.

Abordagem comum (e simples) para comprometimento de um sistema ou aplicação

Uma abordagem comum para um indivíduo mal intencionado comprometer um sistema é explorar fatores de autenticação fracos ou inexistentes (por exemplo, senhas/frases secretas). Quando se passa a exigir fatores de autenticação fortes, se ajuda a proteger contra esse ataque. Aliás, usar um fator duas vezes (por exemplo, usar duas senhas separadas) não é considerado autenticação multifator.

Sabemos dos variados riscos que permeiam o mundo hoje em dia quando pensamos no ambiente virtual, que não há qualquer limitação de fronteiras físicas ou geográficas. Já vimos casos reais de comprometimento de usinas nucleares por ataques cibernéticos em variados países movidos por interesses escusos, de hóspedes que ficaram presos em quartos de hotéis devido a ataques de ransomware entre muitos outros. Para colocar mais uma pitada de provocação, considere a tudo isso os seguintes argumentos:

  • A quantidade de vazamentos que ocorrem a todo momento e que, muitas das vezes, sequer tomamos conhecimento;
  • Muitas pessoas que utilizam uma senha única para tudo, ou aquelas que possuem poucas senhas com algumas suaves variações e as utilizam em inúmeros serviços;
  • Os leaks (vazamentos) de bases/bancos de dados que são comercializados em fóruns (não só na deep web, mas na internet aberta também) e, inclusive, disponibilizados gratuitamente em links http ou torrent;
  • Soma-se, ainda, ao pavoroso cenário:
    • Os leaks que são disponibilizados internet afora e facilmente localizados com google dorks + ghostbin e pastebin, por exemplo, por si só, já provocam um estrago considerável);
    • Checagem no Have I Been Pwned da presença de determinado endereço de e-mail em serviços;
    • Uma pessoa que usa a mesma senha para tudo;
    • Já ouviu falar de um tipo de ataque chamado credential stuffing?
      • Esse é o famoso ataque de reutilização de credenciais, que consiste na injeção automatizada de pares de usuários e senhas quebrados para obter acesso fraudulento a contas de usuários.
      • Para quem conhece ataques de força bruta, esse é uma espécie de subconjunto desse tipo de ataque: um grande número de credenciais vazadas são automaticamente inseridas em sites até que sejam potencialmente correspondidas a uma conta existente e, assim, o atacante pode sequestrar para seus próprios fins.
    • Logo, se está na disponível na internet o acesso a enormes bancos de dados com credenciais vazadas dos mais variados serviços possíveis, o atacante poderia, por exemplo:
      • Verificar se o e-mail do alvo consta em vazamentos e usar a senha vazada para verificar os sites;
      • Verificar se as credenciais do alvo encontradas são reutilizadas em outros sites ou serviços;
      • Verificar, a partir da senha obtida, possíveis pequenas variáveis dela usadas pelo alvo;
      • Verificar se a senha antiga obtida ainda é usada pelo alvo em outros sites ou serviços.
    • Agora, para aumentar ainda mais o impacto e a “facilidade” desse tipo de ataque, sabia que existem ferramentas gratuitas que você apenas informa um endereço de e-mail e ela faz duas coisas:
      • Procura por vazamentos (leaks) públicos que contenha tal e-mail e, se houver, retorna com todos os detalhes disponíveis sobre o vazamento e tenta obter as senhas de texto simples a partir dos vazamentos encontrados; e
      • Você informa uma senha ou uma senha vazada, então ele tenta utilizar essas credenciais contra alguns sites conhecidos, como Facebook, Instagram, Twitter, Google etc. e se o login foi bem sucedido.

Obviamente as possibilidades são muito grandes, e não é meu objetivo tentar listar o máximo possível, mas apenas informar as principais (e até fáceis) que podem ser usadas por um agente malicioso. Consegue imaginar como o impacto pode ser enorme?

Por isso, a exigência de mais de um tipo de fator de autenticação reduz a probabilidade de um invasor obter acesso a um sistema se mascarando como um usuário legítimo, afinal, o invasor precisaria comprometer vários fatores de autenticação. Isso é especialmente verdadeiro em ambientes onde tradicionalmente o único fator de autenticação empregado era algo que o usuário conhece, como uma senha ou frase secreta.

Diferenças entre 2FA e MFA?

  • Autenticação de fator único é baseada na autenticação dos usuários por meio de apenas um tipo de evidência. Geralmente, a solicitação de uma senha a partir de um nome de usuário fornecido.
  • Autenticação multifator (MFA) é baseada em uma abordagem em camadas, com dois ou mais tipos de autenticação. Um dos principais objetivos da MFA é a adição de fatores de autenticação para uma maior segurança no processo. A MFA oferece vários benefícios para as empresas que optam por essa estratégia de autenticação. Os três fatores de autenticação de usuários mais comumente utilizados são:
    • Tipo 1: Conhecimentoalgo que você sabe, como uma senha ou frase de senha. Este método envolve a verificação de informações que um usuário fornece, como uma senha/frase de senha, PIN ou as respostas para perguntas secretas (resposta a um desafio).
    • Tipo 2: Possealgo que você tem, como um dispositivo de token ou um smartcard ou uma chave de segurança. Este método envolve a verificação de um item específico que um usuário tem em sua posse, como um token de segurança física ou lógico, um token de senha única (one-time password – OTP), um alarme remoto (keyfob), um cartão de acesso de funcionário ou um cartão SIM de telefone. Para autenticação móvel, um smartphone frequentemente fornece o fator de posse em conjunto com um aplicativo de OTP ou um material criptográfico (ou seja, certificado ou uma chave) que se encontra no dispositivo.
    • Tipo 3: Inerênciaalgo que você é, que é inerente a você, como um elemento biométrico. Este método envolve a verificação de características inerentes ao indivíduo, como a realizada por meio de exames de retina, da leitura da íris, da impressão digital ou da veia dos dedos, do reconhecimento facial ou de voz, da geometria da mão e até da geometria do lóbulo da orelha.
  • Autenticação de dois fatores (2FA), também conhecida como verificação em duas etapas, é uma abordagem de segurança que exige dos usuários dois fatores de autenticação para o acesso a uma conta.

Outros tipos de informações, como geolocalização e hora, podem ser inclusos em um processo de autenticação. Por exemplo, dados de geolocalização e de hora podem ser usados para restringir o acesso remoto à uma rede de uma organização.

Embora o uso desses critérios adicionais possa reduzir ainda mais o risco de sequestro da conta ou de atividade mal-intencionado, o método de acesso remoto ainda precisa exigir autenticação através de pelo menos dois dos seguintes fatores: algo que você sabe, algo que você tem ou algo que você é.

MFA vs 2FA

Como já vimos, a autenticação de dois fatores (2FA) requer dos usuários dois métodos de autenticação, enquanto a autenticação multifator (MFA) requer pelo menos dois (se não mais) métodos de autenticação.

Assim, podemos concluir que todo 2FA é um MFA, mas que nem todo MFA é um 2FA.

Riscos e recomendações de segurança

Como exemplos de riscos e de boas práticas ligadas ao uso de autenticação multifatores, podemos extrair informações valiosas de variados frameworks e de requisitos de certos mercados, usando-os como insights para nossas práticas.

Para fins de conhecimento e extração de insights, de acordo com o requisito 8.5.1 do PCI DSS 4.0, os sistemas MFA devem ser implementados da seguinte forma, de forma que sejam resistentes a ataques e controlam estritamente qualquer anulação administrativa.

  • O sistema MFA não deve ser suscetível a ataques de repetição.
  • Os sistemas MFA não podem ser contornados por nenhum usuário, incluindo usuários administrativos, a menos que especificamente documentado e autorizado pela gerência de forma excepcional, por um período de tempo limitado.
  • Devem ser usados pelo menos dois tipos diferentes de fatores de autenticação.
  • O sucesso de todos os fatores de autenticação é necessário antes que um acesso seja concedido.

Além disso, vale citar que os mecanismos de autenticação usados para a MFA devem ser independentes uns dos outros, de tal forma que o acesso a um fator não conceda acesso a nenhum outro, e o comprometimento de qualquer fator não afete a integridade ou a confidencialidade de qualquer outro fator.

Por exemplo, se o mesmo conjunto de credenciais (como o nome de usuário/senha) for usado como um fator de autenticação e também para obter acesso a uma conta de e-mail onde um fator secundário (por exemplo, senha única) é enviado, esses fatores não são independentes. Da mesma forma, um certificado de software armazenado em um laptop (algo que você tem) que é protegido pelo mesmo conjunto de credenciais usadas para efetuar login no laptop (algo que você sabe) pode não oferecer independência.

O problema com credenciais de autenticação incorporadas no dispositivo é uma possível perda de independência entre fatores, ou seja, a posse física do dispositivo pode conceder acesso a um segredo (algo que você sabe), bem como um token (algo que você tem), como o próprio dispositivo, ou um certificado ou token de software armazenado ou gerado no dispositivo.

Dessa forma, a independência dos fatores de autenticação é frequentemente realizada através da separação física dos fatores, todavia, ambientes de execução altamente robustos e isolados (como um TEE, SE e TPM) também podem ser capazes de atender e manter a independência dos fatores.

Proteção dos fatores de autenticação

Para prevenir o uso indevido, a integridade dos mecanismos de autenticação e a confidencialidade dos dados de autenticação precisam ser protegidas. Para tal, deve-se considerar:

  • Senhas e outros dados referentes a algo que você sabe (tipo 1 – conhecimento) devem ser difíceis de adivinhar ou resistentes a ataques de força bruta, devendo ser protegidos contra divulgação para partes não autorizadas.
  • Cartões inteligentes, certificados de software e outros dados referentes a algo que você tem (tipo 2 – posse) não devem ser compartilhados e devem ser protegidos contra replicação ou posse por partes não autorizadas.
  • Dados biométricos e outros dados referentes a algo que você é (tipo 3 – inerência) devem ser protegidos contra replicação não autorizada ou uso por terceiros com acesso ao dispositivo no qual os dados estão presentes.

Quando quaisquer elementos de autenticação dependerem de um dispositivo de consumo multiuso, como smartphones, computadores e tablets, controles também devem estar em vigor para mitigar o risco do dispositivo sendo comprometido.

Controles do CIS para endereçar riscos relacionados à autenticação

O CIS (Center of Internet Security) é uma organização sem fins lucrativos, voltada para a comunidade de segurança. É responsável pelo CIS Controls, que são um conjunto prioritário e prescritivo de práticas recomendadas de segurança cibernética e ações defensivas que podem ajudar a prevenir os ataques mais generalizados e perigosos, dando suporte à conformidade em uma era de múltiplas estruturas.

Os Controles CIS são desenvolvidos por uma organização extremamente respeitada e conceituada no setor de segurança da informação, por fazer recomendações atuais e concretas para ajudar as organizações a melhorar sua postura de segurança por meio de determinados controles de segurança, críticos para uma defesa cibernética eficaz.

O verdadeiro poder dos Controles CIS não é criar “a melhor lista”, mas sim aproveitar a experiência de uma comunidade de pessoas e empresas para realmente fazer melhorias na segurança por meio do compartilhamento de ideias, ferramentas, lições e ações coletivas. A versão atual do framework (v8) combina e consolida os controles CIS por atividades.

Caso queira conhecer mais a fundo a estrutura do CIS Controls, saiba que ela está estruturada pelos seguintes elementos:

  • Visão geral: Uma breve descrição da intenção do controle e sua utilidade como ação defensiva.
  • Por que este controle é crítico? Uma descrição da importância deste controle no bloqueio, mitigação ou identificação de ataques, e uma explicação de como os invasores exploram ativamente a ausência deste controle.
  • Procedimentos e ferramentas: Uma descrição mais técnica dos processos e tecnologias que permitem a implementação e automação deste controle.
  • Medidas de Segurança: uma tabela das ações específicas que as empresas devem realizar para implementar o controle.

Agora, considerando especificamente controles que podem ser utilizados para endereçar riscos e preocupações ligados a mecanismos de segurança para autenticação de contas/credenciais/serviços, apresento alguns controles e medidas de segurança apresentados pelo CIS Controls que você pode explorar.

  • Controle 05 – Gestão de contas: Use processos e ferramentas para atribuir e gerenciar autorização de credenciais para contas de usuário, incluindo contas de administrador, bem como contas de serviço, de ativos corporativos e software.

    • Medida de Segurança 5.2 – Usar senhas exclusivas: Use senhas exclusivas para todos os ativos corporativos. As melhores práticas de implementação incluem, no mínimo, uma senha de 8 caracteres para contas que usam MFA e uma senha de 14 caracteres para contas que não usam MFA.
  • Controle 06 – Gestão do controle de acesso: Use processos e ferramentas para criar, atribuir, gerenciar e revogar credenciais de acesso e privilégios para contas de usuário, administrador e serviço para ativos e software corporativos.

    • Medida de Segurança 6.3 – Exigir MFA para aplicações expostas externamente: Exija que todas as aplicações corporativas ou de terceiros expostas externamente apliquem o MFA, onde houver suporte. Impor o MFA por meio de um serviço de diretório ou provedor de SSO é uma implementação satisfatória desta medida de segurança
    • Medida de Segurança 6.4 – Exigir MFA para acesso remoto à rede: Exija MFA para acesso remoto à rede
    • Medida de Segurança 6.5 – Exigir MFA para acesso administrativo: Exija MFA para todas as contas de acesso administrativo, onde houver suporte, em todos os ativos corporativos, sejam gerenciados no site local ou por meio de um provedor terceirizado
  • Controle 12 – Gestão da infraestrutura de rede: Estabeleça, implemente e gerencie ativamente (rastreie, reporte, corrija) os dispositivos de rede, a fim de evitar que atacantes explorem serviços de rede e pontos de acesso vulneráveis.
  • Controle 14 – Conscientização sobre segurança e treinamento de competências: Estabelecer e manter um programa de conscientização de segurança para influenciar o comportamento da força de trabalho para ser consciente em segurança e devidamente qualificada para reduzir os riscos de segurança cibernética para a empresa.

    • Medida de Segurança 14.3 – Treinar membros da força de trabalho nas melhores práticas de autenticação: Treine os membros da força de trabalho nas melhores práticas de autenticação. Exemplos de tópicos incluem MFA, composição de senha e gestão de credenciais.

Obviamente, essa não é uma relação exaustiva, e deve ser avaliado conjuntamente com outras práticas apresentadas pelo framework, bem como estudar a aplicabilidade em seu contexto e organização.

Como recomendação, considere os grupos IG1, depois os IG2 e, por fim, os IG3 das práticas do CIS.

A propósito, e não menos importante: controle a ansiedade e não pule etapas 🙂

Referências e indicações adicionais:

Considerações finais

Seja qual for a estratégia de MFA a ser realizada, deve contar com a mais alta segurança e os métodos de menor fricção possíveis, sempre com o objetivo de equilibrar experiência do usuário e segurança digital.

Por aqui no site, temos inúmeras publicações relacionadas à segurança cibernética e segurança da informação, não deixe de conferir e explorar os conteúdos publicados.

.

.

Com informações de CIS Controls v8, Incognia e PCI DSS.

Imagem do post por rawpixel (via freepik – banco de imagens gratuito)

 

* * * * *

 

Deixe uma resposta:

Seu endereço de e-mail não será publicado.

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.